commit 1890a2aa879fd5e82b4264668ef5ce358ec7ae9d
parent ded8054651350247d5dcb3e4a0f786d1d0dc4edd
Author: Jack Sangdahl <jack@pngu.org>
Date: Mon, 8 Dec 2025 17:01:39 +0100
Day 8 2025
Diffstat:
| A | 2025/8_2025.py | | | 45 | +++++++++++++++++++++++++++++++++++++++++++++ |
| A | data/8_2025.txt | | | 1000 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
2 files changed, 1045 insertions(+), 0 deletions(-)
diff --git a/2025/8_2025.py b/2025/8_2025.py
@@ -0,0 +1,45 @@
+from collections import defaultdict
+
+input = open("data/8_2025.txt")
+data = input.read().splitlines()
+p, d = [], []
+
+for i in data:
+ x, y, z = [int(x) for x in i.split(",")]
+ p.append((x, y, z))
+
+for i, (x1, y1, z1) in enumerate(p):
+ for j, (x2, y2, z2) in enumerate(p):
+ dist = (x1 - x2) ** 2 + (y1 - y2) ** 2 + (z1 - z2) ** 2
+ if i > j:
+ d.append((dist, i, j))
+
+d = sorted(d)
+uf = {i: i for i in range(len(p))}
+
+
+def find(x):
+ if x == uf[x]:
+ return x
+ uf[x] = find(uf[x])
+ return uf[x]
+
+
+def mix(x, y):
+ uf[find(x)] = find(y)
+
+
+connections = 0
+
+for t, (x, y, z) in enumerate(d):
+ if t == 1000:
+ sz = defaultdict(int)
+ for i in range(len(p)):
+ sz[find(i)] += 1
+ s = sorted(sz.values())
+ print(s[-1] * s[-2] * s[-3])
+ if find(y) != find(z):
+ connections += 1
+ if connections == len(p) - 1:
+ print(p[y][0] * p[z][0])
+ mix(y, z)
diff --git a/data/8_2025.txt b/data/8_2025.txt
@@ -0,0 +1,1000 @@
+93612,76992,69452
+4387,60049,8877
+43126,39737,84757
+30167,68987,19789
+92427,53000,95237
+38193,19273,23561
+54992,34511,43980
+11107,44787,52686
+35724,98740,19812
+28016,57751,86155
+93461,77703,78395
+94606,79586,97929
+67878,92289,42528
+38971,54378,98204
+66002,25958,89347
+40281,30990,67294
+25898,31190,14029
+85535,48773,26872
+10128,70597,46452
+68618,23612,85624
+79490,1682,569
+8828,51411,60251
+38583,16324,14091
+10437,63697,61596
+56370,26228,17029
+86199,8063,16493
+20471,66847,99889
+28748,63929,18749
+19248,83995,67615
+333,91140,79303
+59093,5932,49628
+65463,73678,60286
+87559,27061,41247
+424,28274,74202
+85572,19477,32761
+88116,2580,65047
+77302,37669,40015
+7664,30793,17676
+7152,87786,56278
+21754,53651,91511
+19205,97579,71254
+13841,24770,87922
+60676,26132,30482
+10161,34169,42397
+97588,95253,77422
+62674,99068,96065
+3701,85077,92763
+87646,99624,9786
+79480,48455,82469
+85485,88400,12789
+80002,63227,89969
+78922,68131,54845
+11326,3980,91289
+37613,85718,1487
+73551,87391,77749
+18494,53007,56937
+95754,20192,31376
+81009,94209,66866
+89029,86481,28533
+73124,31585,3562
+5647,86375,87389
+17667,62606,81057
+90251,13392,46704
+8922,53813,49554
+90818,72498,63116
+63706,12205,48645
+86075,45959,79136
+8533,98522,94830
+13261,87807,47571
+85512,34571,10686
+70830,45794,26572
+70838,85387,63507
+50514,2902,47654
+97257,76204,25909
+20663,49002,12395
+14787,22089,91493
+9519,20986,37182
+48407,1747,57434
+84550,61928,41891
+27065,7926,77657
+32551,75407,17933
+44728,48491,5096
+28667,99071,90157
+98892,74499,37947
+75619,55121,72752
+36135,20145,68562
+33258,19964,28963
+66217,41845,39708
+32152,82331,42510
+38241,71629,84071
+63645,42508,41998
+18010,23872,31891
+30919,69353,79552
+5249,74361,18723
+51253,57096,69531
+54551,72707,27442
+87816,89043,21120
+43115,24297,19479
+10017,68608,64216
+38916,98813,18429
+53460,96455,10528
+1528,25204,29747
+59806,11528,62206
+84940,6921,98186
+55,22445,44444
+48901,95321,2434
+36897,31163,71124
+733,10092,43971
+95769,23499,86894
+58488,65824,44700
+95535,95053,28430
+62042,11824,48380
+47371,59378,9083
+87851,59391,33276
+71416,91746,80466
+20986,14005,28560
+62877,91310,56300
+44999,12630,89580
+12814,17342,311
+75884,25052,43459
+17057,50968,25293
+8779,78959,17492
+37260,26515,88716
+93030,14321,95804
+51240,43987,47003
+19716,71779,92039
+38192,96721,59996
+3751,16201,26085
+23562,83044,98517
+21091,69932,70564
+17906,89206,87817
+15112,8697,39582
+50853,23583,25901
+4031,58523,46946
+29574,85339,94502
+2159,28840,67804
+64232,21352,6079
+69968,53511,19694
+64707,83228,92602
+68033,91486,5930
+88327,83351,44501
+48616,4913,23373
+64394,88985,96012
+7137,22829,95789
+61147,23131,27577
+9220,73362,24735
+77484,65386,87676
+19406,27628,27294
+36096,5448,80101
+41415,71615,96750
+49579,73718,75680
+51667,75635,2150
+58588,13959,21674
+3301,85861,9573
+39663,82812,63976
+77881,12060,64325
+32096,56047,49426
+87020,81590,63482
+11350,22612,68794
+34318,87015,28581
+88333,30415,72842
+14284,31669,98394
+91299,33003,98512
+50558,25664,87891
+45463,92120,88896
+78928,17342,53217
+85152,36483,90933
+32494,63948,13733
+79538,15123,59524
+13272,69237,88883
+71440,34646,36000
+70887,92196,70756
+86682,49869,59461
+87014,69218,96246
+85096,62446,58342
+47656,42067,94693
+76389,21187,19854
+98808,95119,66355
+56317,4067,58089
+62979,31016,54595
+95574,94910,44555
+92818,89957,30178
+88205,83421,11231
+98025,26158,67351
+34996,37782,12656
+7275,92020,69192
+61755,48578,74891
+91077,87591,13567
+47178,98753,67298
+24890,185,41055
+21656,10424,76098
+36907,5392,33161
+1196,87844,89911
+62084,33566,56665
+66936,13949,44242
+10287,7906,50612
+94242,25001,57410
+75412,1024,29512
+90851,87543,72388
+71747,19001,91980
+22967,72331,12208
+29687,34581,5318
+52323,58423,16852
+86287,3765,36953
+15503,61881,49607
+17730,83252,72329
+32791,46945,9909
+90377,15005,82108
+25088,43430,50889
+30937,67449,69570
+27055,70369,20047
+87796,33912,38981
+61308,25361,93385
+92140,77658,13928
+22619,38036,36441
+66615,58337,19579
+69481,81387,29719
+96348,68719,86050
+50514,639,29192
+75973,520,69761
+82361,79014,99108
+84447,68240,70851
+1603,1169,79818
+17505,5417,49001
+42348,26283,64808
+53052,35593,79353
+29059,44086,34246
+19705,32222,54841
+93505,73226,37229
+88280,88881,65243
+31982,61769,85501
+18942,69659,87848
+48747,77115,64412
+89986,59345,39585
+92036,77473,89017
+54927,93308,13866
+62414,96971,46218
+18054,44880,20543
+18191,85757,79281
+55277,56892,25137
+56722,15970,49886
+65888,61906,88954
+21214,43085,32786
+79619,24041,30679
+22962,60563,90448
+24703,43433,54346
+64964,61426,85237
+81713,50846,23776
+16354,44817,55696
+2131,92987,36071
+24669,58903,97840
+34050,79236,15174
+94757,87186,41770
+60958,81684,89389
+70618,56638,1431
+15922,77068,73670
+84295,36683,59806
+39229,8110,32311
+9957,37073,62331
+58126,91378,50095
+43938,84938,37934
+46924,27412,73996
+78529,43275,80069
+47252,68636,49729
+11419,1422,86133
+32065,82752,94710
+21983,2625,75459
+44369,40437,65291
+45830,99247,97279
+102,35695,58176
+31421,83303,74978
+58281,98901,45492
+106,49263,7938
+14420,24582,44323
+68568,24062,71612
+16050,65447,90641
+7423,8218,42238
+16769,75102,10654
+91505,32646,7194
+94158,35310,78925
+8512,2585,65102
+78362,24338,27827
+61073,96429,1483
+55466,2563,6915
+76849,20355,4244
+23720,88978,85697
+4881,40227,59389
+90297,3954,2223
+71850,58017,89245
+88343,36437,43379
+48699,55848,41462
+87085,80923,41276
+8190,65515,49515
+60930,91345,56495
+775,157,41546
+78449,37056,92044
+25226,37026,8384
+83556,2712,79328
+23265,52246,97851
+84479,51110,40981
+62886,35622,78961
+6523,92713,24122
+25314,54911,73916
+35030,4968,50659
+49041,83519,77623
+15167,26960,96355
+16247,64185,99408
+18474,61281,4969
+13926,31813,16094
+15725,68810,87796
+15464,46735,8813
+13805,10520,11814
+16255,71827,53917
+17481,74068,39973
+1780,6131,70717
+96873,33332,58634
+75700,9121,4357
+15100,24737,23182
+21595,73141,60112
+17623,46752,17930
+966,77550,1372
+23916,5486,61016
+58073,54435,99676
+63398,25454,22034
+11040,78676,89673
+72346,68534,60847
+86865,20480,28605
+10868,89008,17327
+9838,37312,78948
+9843,72664,46882
+25362,3537,55029
+25124,98455,46040
+67429,30617,65289
+50349,91411,86860
+88161,26971,2438
+55654,9333,21695
+21824,81354,24579
+74930,71845,25730
+31018,58510,74464
+63758,31045,74703
+66762,78487,4118
+51908,57077,1574
+36829,63414,74887
+70493,64836,64929
+67420,65219,8818
+67566,17153,99697
+31824,74123,30207
+56502,53943,35115
+17246,97907,98834
+68705,29666,71246
+27724,15999,56550
+60276,22366,14653
+46389,53387,87116
+3235,14486,91436
+49732,63892,87340
+87008,94331,58514
+32145,38609,71845
+64572,18666,90042
+12352,11171,65795
+50884,39309,7436
+72407,18819,32603
+37449,16014,50829
+50516,25437,245
+66137,40543,98203
+28102,29674,6025
+55921,37483,59917
+80575,24800,7675
+44559,17720,81000
+21868,4371,65769
+34785,60526,44642
+5726,52286,31034
+35566,72914,82787
+32070,85672,66017
+19110,93664,19934
+53538,56804,28502
+78852,78651,65871
+99691,96705,52190
+77702,9722,56604
+96505,53849,9751
+85655,28788,96526
+96697,6837,96685
+83162,25825,24329
+48579,28766,854
+88152,9279,65839
+83244,71777,64273
+67540,72397,45717
+33581,56860,73496
+41361,43101,43910
+77896,55800,6729
+11660,9790,41267
+97909,44466,33924
+75949,72557,25770
+2834,8126,65868
+9551,65106,23021
+16497,40985,62744
+2394,85493,15918
+13869,86996,34945
+7314,71681,76769
+8314,17091,51115
+21559,78084,38617
+23289,65563,77867
+56384,16752,25872
+73173,27198,18275
+14487,89322,53052
+43042,74199,19715
+79730,3967,66686
+49193,63676,8674
+75653,71020,71125
+76566,82061,60310
+62574,19011,34913
+7784,78818,4837
+96246,64285,64844
+28376,38429,5472
+29362,65551,35253
+86883,51698,98020
+24309,19686,76751
+79120,49475,86875
+21875,26909,80928
+26647,97704,47621
+81672,4744,85242
+1531,59200,59569
+32899,26845,37534
+44049,35082,85646
+76568,75911,25179
+8965,84562,95316
+84091,11217,36912
+75391,5840,53123
+65257,29963,25808
+37711,89932,64085
+58313,77455,73975
+50094,87928,18598
+5972,26111,44908
+18007,13342,78943
+76931,50984,47834
+21067,16782,67472
+15702,16241,74410
+87250,79827,72823
+39856,29885,87881
+63010,34722,55942
+66094,53196,60158
+66103,13376,41069
+50817,73301,75220
+92689,896,59366
+25127,93940,535
+26486,26180,69703
+30551,201,44121
+57951,59180,74903
+81875,39479,66376
+75608,64370,34924
+65874,46991,20843
+64546,80899,48722
+53139,81240,60912
+6408,95126,99539
+60382,32038,26842
+51897,69343,23769
+12903,64987,23678
+89816,57639,2794
+91943,17916,68132
+17058,47490,53424
+63508,59639,78981
+24149,76305,83221
+59786,97124,35477
+7654,4401,5943
+65324,87395,56976
+1254,59660,42700
+28520,51382,13607
+32395,72384,24714
+98919,51493,35815
+85861,23706,42361
+73727,19357,9192
+56244,61066,88568
+69022,93334,95441
+45135,78907,67376
+71905,21859,53682
+76240,18122,86744
+96451,36880,58724
+69809,81170,43323
+91766,30035,70211
+94430,93928,35098
+36019,86391,62142
+29610,48551,78565
+61687,61798,44674
+83243,280,87775
+12879,46004,26625
+35774,96599,27266
+54000,69437,46041
+53659,5289,64037
+74733,24414,37294
+97525,10350,59878
+27775,49801,65616
+1659,48519,9189
+4829,84196,28561
+60895,93831,21468
+61573,4274,9651
+98125,85369,35792
+52818,38024,65559
+84495,67225,93469
+32787,83707,84703
+62567,37936,64206
+94030,89183,13432
+13072,95484,27690
+23734,31846,65035
+92988,93579,66115
+78711,53315,59155
+54913,63455,29728
+62483,46401,60745
+20788,21695,50675
+42551,84909,54997
+852,73770,55668
+10942,89879,3343
+88911,85683,58125
+8888,4740,64248
+61357,52361,84989
+59211,31184,957
+68198,89759,1696
+66912,82567,26659
+63452,49304,14117
+55562,86015,61863
+96167,90245,35196
+83946,59012,8249
+83464,21575,9933
+20029,49554,45712
+45708,6745,4125
+33357,87835,35297
+86141,60426,87671
+48011,2841,34713
+70487,20646,44208
+52285,77621,30036
+59856,65624,60884
+92153,97045,59609
+77434,44541,28160
+99278,3474,2582
+44670,87341,16251
+16908,23106,9882
+3599,76235,82771
+55003,24153,14048
+31115,24573,17690
+93842,2483,76226
+19930,22308,31182
+97987,68482,5762
+97753,36572,53143
+56946,55429,42606
+4114,37864,84931
+20033,73108,2340
+63076,45812,25089
+68562,32600,71420
+60368,97785,65980
+5445,48961,97781
+58844,71797,9869
+77623,23298,19643
+68939,99057,77762
+47164,99255,46365
+17824,73903,89733
+44488,67436,26816
+10626,19619,37213
+78525,91601,18913
+87482,17097,99480
+89825,9580,23005
+81850,94513,95910
+58710,20827,82163
+84830,30431,42014
+19885,2222,91325
+29036,50455,10625
+14579,68427,88723
+46506,57905,65480
+25501,25015,65137
+34126,92382,12760
+42990,35933,69002
+76547,12396,70799
+27867,68712,54134
+58345,5062,87052
+51715,80934,28246
+74189,23723,30837
+98243,92321,40231
+42351,5969,15336
+29632,29612,22258
+31543,13513,60004
+51272,2995,7475
+96993,16572,7646
+8241,53230,7612
+20137,54640,20893
+59566,7551,18524
+40530,53994,15411
+6874,38747,96386
+60096,17731,1885
+21358,47158,57995
+48040,27043,44231
+90293,31220,5002
+87034,57231,1922
+47580,56506,51457
+21645,43851,33340
+50203,31461,99819
+29924,64669,80294
+48937,97069,87025
+56459,76682,90702
+39922,84072,64788
+56086,33603,60174
+57079,95782,95195
+93093,10317,85610
+4553,96124,53294
+70238,97923,20386
+76705,37902,51495
+18376,89053,50239
+43721,95653,31712
+97543,903,77076
+63809,98240,32449
+19598,27244,51311
+58861,93737,38995
+46246,70148,17082
+44972,2348,38868
+6647,2768,40251
+59453,62399,43434
+27211,23165,55801
+31210,4420,40809
+67954,89265,21307
+38157,58874,65993
+17047,12135,98851
+65082,3379,10087
+14995,71193,92046
+85554,218,47029
+52869,68400,61476
+15245,89469,36381
+1523,36104,35383
+81169,162,47941
+36480,61750,92719
+9137,30924,39406
+4656,6959,26256
+94128,50715,27623
+17165,55297,17490
+93520,76418,8404
+31533,5640,75764
+3115,47128,2667
+70908,20297,33409
+91667,83564,10987
+78738,79975,79614
+98601,79197,63374
+22489,6709,19769
+3661,48606,4034
+62587,69293,92052
+31430,11646,58643
+80493,23478,52020
+76806,36625,61325
+52254,77479,79176
+89958,48556,1961
+5928,19241,90408
+71968,16233,65908
+49587,3396,51724
+15836,73105,68814
+87142,20107,78921
+19987,26258,32877
+47137,5614,19848
+88710,50130,58513
+12385,24867,62286
+88852,6913,44817
+21656,66145,71816
+13390,54530,54277
+557,41725,27372
+30345,90380,49797
+95541,28277,63610
+15296,61358,32017
+96483,11065,83679
+31183,4570,40265
+69674,28710,2052
+21841,48430,57641
+20947,65038,17338
+39281,94409,83606
+53035,53090,82421
+22343,46641,9487
+37999,11874,10825
+28891,74850,94585
+87115,56628,33382
+14619,74286,45544
+39133,78470,91243
+42199,76781,37404
+64919,33295,42593
+37280,99390,75546
+99850,21071,86687
+12561,14737,51205
+82463,8628,46379
+66413,6177,22765
+64129,76197,71439
+42257,60362,76910
+88537,67489,68630
+38,59181,27553
+18122,55369,49886
+36309,97303,40682
+51847,12862,36119
+63247,24005,69216
+79104,66384,54736
+56017,25641,12457
+44064,88259,80773
+29737,522,94568
+45720,48619,8513
+32824,94363,98444
+66637,42496,26435
+2012,34374,99911
+63462,34544,82946
+60906,96191,27861
+889,8875,96367
+20701,850,32374
+48614,31194,51795
+81219,24377,57375
+80635,53805,27351
+73080,55463,50428
+63827,57808,55144
+51107,90419,84912
+18717,94186,31613
+49169,44719,10443
+39615,75279,12347
+11964,45685,47665
+30923,15472,65080
+5,94188,54596
+14379,13017,44646
+77743,60302,80107
+9067,49328,81390
+3402,88018,48284
+8590,94702,4002
+53713,46872,45856
+88918,2415,28532
+46287,21781,14851
+29324,9071,81874
+96983,92983,94390
+26328,6604,67828
+15607,19849,9427
+3777,80212,69260
+66785,89681,58809
+47599,81474,12698
+19680,28606,58721
+84565,96029,9266
+6807,28162,25245
+37858,37187,33146
+74215,20317,21602
+36577,27799,76382
+7377,35371,6580
+7134,79656,97584
+9214,10648,27402
+71686,59728,6298
+19675,43121,23335
+59814,19764,9046
+29503,20036,61270
+21728,78643,8960
+25275,32799,80768
+44283,98410,81536
+79332,8520,54150
+45424,1453,21479
+94250,78055,73228
+79489,63243,23534
+74398,21497,19692
+26191,34756,90513
+15902,65731,1896
+20962,19514,89850
+19048,85210,61442
+95612,27282,33774
+34539,17019,59356
+15886,4956,6561
+85554,43774,56068
+83399,44069,83268
+24967,47996,80688
+4261,39672,3487
+1927,90969,36407
+56341,31181,98469
+59463,4377,44429
+98081,89435,28196
+47337,146,41069
+34676,62991,93667
+40830,18095,3895
+33969,71800,98522
+55019,22833,33982
+18690,49810,11880
+49895,63070,57918
+65670,75982,47329
+86680,2893,7573
+5834,19741,15335
+84314,61210,54625
+38876,95177,55552
+93526,89293,47002
+17120,25610,64975
+86677,14247,90832
+22687,49968,65263
+33489,61528,47384
+24128,84568,80402
+32790,66977,67469
+31024,33923,53791
+70747,28366,81550
+50357,79826,64276
+19955,61357,45034
+76265,15144,70455
+33272,27568,76909
+84054,28474,14905
+81452,3560,64204
+2995,78946,98322
+56789,88645,28228
+55217,64868,79116
+53070,48551,745
+68657,22409,8500
+19161,61390,32918
+90698,82905,97853
+5723,32433,63684
+34840,90469,60825
+56921,24222,16744
+29618,35579,65053
+13778,57959,19521
+25635,79962,26765
+11711,67792,70774
+25724,32520,56341
+60970,2201,40013
+12431,49332,27831
+42375,12958,13514
+370,13074,49841
+91947,38771,98238
+26114,98967,4911
+36520,71551,49807
+12961,85927,32810
+41687,29135,297
+13647,65415,53114
+14884,74124,94717
+55608,71741,17940
+93046,29518,14342
+74408,38008,7480
+28472,49579,78045
+30644,35566,90190
+1309,18579,30254
+97408,9395,71712
+37963,73038,17907
+9746,1554,53649
+17312,72556,34581
+30416,98565,14025
+67271,28750,53687
+89089,94797,85638
+5584,98314,42396
+27573,12427,67217
+9685,20315,45779
+5783,89296,50119
+7395,30,59651
+59962,33958,16528
+86075,23394,31491
+63546,81157,1594
+79123,11575,47557
+18756,75540,70443
+72748,68961,58742
+81525,73484,89742
+21011,49906,40935
+73943,81252,41073
+70776,51604,32224
+80561,65802,5922
+51505,27172,13520
+26382,9698,48756
+2966,37811,41624
+64790,93568,62536
+11099,33411,14293
+82091,74600,4338
+65085,60858,10082
+10035,21650,50785
+63805,33377,24475
+21382,39590,34505
+97345,3372,97760
+70419,80414,3046
+69513,27185,34584
+45800,92516,45439
+35481,65400,79823
+29374,6114,11941
+14303,82901,68795
+41717,69307,75349
+56279,66633,83524
+1428,66470,56206
+12553,6733,20622
+86659,41648,61379
+52033,36683,50080
+86318,10074,13631
+45812,45986,76341
+15567,44527,88436
+8379,59777,5722
+32237,18036,35978
+93679,5115,61935
+29374,36888,40254
+40168,44291,77176
+35156,24957,90910
+41864,98051,46439
+55645,27893,16675
+59670,98073,46841
+22314,81305,24733
+61273,22761,81192
+11266,14830,95245
+22284,40607,66310
+64598,79802,15581
+28610,12550,19851
+91295,60386,36743
+49527,66039,86751
+88255,50623,11696
+36872,95176,1262
+16382,84203,28357
+62874,36513,89144
+80390,41087,3818
+28934,77608,84891
+50028,68867,41659
+97663,86772,45290
+17334,17423,10170
+86813,9459,20678
+7354,26123,3088
+34601,83872,75235
+82487,85716,87179
+74872,55822,94773
+67775,20758,74726
+1637,23257,96839
+70086,38606,11329
+37333,4381,74577
+96787,23125,65361
+16240,10806,28282
+45777,86620,58681
+36901,96007,61808
+59798,96493,52712
+14613,28066,56986
+22873,73388,8548
+83152,66623,6706
+89253,53707,70248
+63732,55857,79585
+33389,99411,36126
+30138,88565,73193
+33385,56862,9781
+79007,32407,2149
+20654,78581,52328
+45915,25675,21594
+7534,54164,58394
+33997,15513,56367
+84919,21671,57105
+64175,41950,67051
+24936,26061,83072
+35451,62404,35874
+88295,14526,66310
+51289,61271,70041
+67716,12185,49570
+93006,31081,47748
+48016,50057,50060
+6631,7960,36378
+78124,51652,45315
+84586,11610,77166
+59601,95521,21125
+38937,84911,35085
+39499,37095,46732
+93972,71312,67295
+8864,15288,17706
+23399,15100,53520
+72344,82783,41899
+45766,36673,75853
+19760,87756,29939
+25227,74446,3738
+14331,10331,24476
+76223,50493,23898
+18356,62271,85875
+53608,20015,32714
+83392,67440,55013
+68424,46958,45601
+19431,26823,16321
+38932,60197,69781
+40297,68548,88034
+2968,29193,15002
+92059,26056,54737
+54184,66310,1075
+95784,57910,81595
+75602,59936,8544
+72249,27430,48332
+55862,41522,43934
+414,95763,96341
+33017,8463,42855
+51476,85018,43369
+60252,91356,87437
+36938,80351,62343
+84358,62436,51394
+88131,91800,50091
+75336,70492,41687
+91456,89983,51215
+17937,73395,45724
+80843,13138,64230
+49657,60368,32741
+56682,33989,9564
+73621,44474,4935
+63853,84785,75892
+29391,81042,4538
+31349,63646,21745
+55645,20057,48322
+51551,58220,79615
+21562,48950,99930
+1841,5768,17379
+40557,47811,27557
+20849,49275,68348
+44177,45015,99771
+15266,88740,35835
+22445,30430,59975
+68881,21591,89341
+76719,38478,66227
+73301,82485,38111
+8828,57991,18536
+94665,49942,59110
+15225,58083,66890
+29518,68804,75755
+50130,82904,45313
+63183,52674,91427
+97487,63178,89472
+3968,12975,47549
+22818,54619,79778