summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornekineki <nekineki@nekineki.net>2025-12-08 18:57:46 +0100
committernekineki <nekineki@nekineki.net>2025-12-08 18:57:46 +0100
commit749a3aae2231aee5f30b8d0a1dd075b12a678593 (patch)
tree56aa968f6b8ef943640fb151c99edfe6f229fb27
parent11a4bbb72fc0eb9a9d54d1b2efc5abffb11b2c08 (diff)
day08
-rwxr-xr-x2025/day08.py64
-rw-r--r--2025/in/day08.pzl1000
-rw-r--r--2025/in/day08.ref20
3 files changed, 1084 insertions, 0 deletions
diff --git a/2025/day08.py b/2025/day08.py
new file mode 100755
index 0000000..4baa036
--- /dev/null
+++ b/2025/day08.py
@@ -0,0 +1,64 @@
+#!/usr/bin/env python3
+from functools import reduce
+from re import findall
+from copy import deepcopy
+import sys
+import numpy as np
+from collections import defaultdict
+from operator import mul
+
+filename = sys.argv[1] if len(sys.argv) == 2 \
+ else "in/" + sys.argv[0].split('/')[-1].rstrip(".py") + ".pzl"
+data = open(filename).read()
+lines = data.rstrip('\n').split('\n')
+
+counter = 0
+points = []
+for line in lines:
+ a = line.split(',')
+ x,y,z = [int(i) for i in a]
+ points.append((counter, x, y, z))
+ counter += 1
+
+def dist(p0, p1):
+ _, x0, y0, z0 = p0
+ _, x1, y1, z1 = p1
+ return np.sqrt((x1 - x0)**2 + (y1 - y0)**2 + (z1 - z0)**2)
+
+
+D = []
+for i, p0 in enumerate(points):
+ for p1 in points[i+1:]:
+ d = dist(p0, p1)
+ D.append((d, p0, p1))
+D.sort()
+
+groups = [i for i in range(len(points))]
+
+res1 = 0
+res2 = 0
+count = 0
+for d, p0, p1 in D:
+ g0 = groups[p0[0]]
+ g1 = groups[p1[0]]
+ m = min(g0, g1)
+ for i in range(len(groups)):
+ if groups[i] == g0 or groups[i] == g1:
+ groups[i] = m
+
+ hist = defaultdict(int)
+ for i in groups:
+ hist[i] += 1
+
+ count += 1
+ if count == 1000:
+ res1 = reduce(mul, sorted(hist.values(), reverse=True)[:3])
+ if len(hist) == 1:
+ res2 = p0[1] * p1[1]
+
+ if res1 != 0 and res2 != 0:
+ break
+
+print('res1:', res1)
+print('res2:', res2)
+
diff --git a/2025/in/day08.pzl b/2025/in/day08.pzl
new file mode 100644
index 0000000..9df6b93
--- /dev/null
+++ b/2025/in/day08.pzl
@@ -0,0 +1,1000 @@
+96616,810,75978
+47,21512,72240
+37204,32405,96978
+29869,39703,17245
+85469,86947,73441
+30718,17071,51096
+41362,30138,67009
+598,13948,14379
+76389,15190,48555
+49893,73440,15307
+29849,31150,65844
+43789,38501,72225
+1289,51970,81957
+94777,88446,92003
+67115,73782,47139
+34918,73782,76791
+10226,21601,9106
+25255,34515,55484
+15907,71527,29965
+81513,47000,15653
+80059,88130,47907
+38982,78390,65861
+52404,53380,32169
+57890,49601,15440
+124,21347,33712
+34031,15726,61115
+74713,70099,55008
+5651,21087,42325
+7646,22850,56910
+77521,99356,56389
+21748,86110,49763
+33638,70698,70272
+72192,16208,6392
+44081,77872,46151
+77812,33943,16761
+73761,81089,45679
+8774,27775,53496
+7575,13375,22609
+58036,91575,80779
+59110,66473,56545
+86077,10459,63254
+66197,87350,40327
+81411,92072,72676
+49748,9698,89965
+78439,17433,63349
+21784,15350,87174
+20127,8208,29553
+68687,89811,29134
+37359,84624,5746
+16185,94710,97793
+18231,95999,20306
+46807,93766,75186
+66175,64946,13827
+2379,85923,41962
+49923,83393,61215
+49402,16213,59895
+16578,1185,60394
+26992,44142,77991
+11815,61668,19454
+49157,21692,51961
+70475,72818,83517
+60133,50809,14515
+36769,65052,9338
+68358,29041,16515
+68765,91605,30936
+93634,60030,23295
+75141,909,75737
+77063,82141,8421
+29230,5618,66027
+60311,44944,84379
+6727,40525,76384
+60892,71273,13434
+99336,47605,54010
+4854,66583,83047
+41024,75773,25856
+61313,40857,75555
+92580,94652,34432
+66175,63087,68137
+862,46037,40611
+9364,61053,96965
+96197,97478,31849
+46012,78260,93076
+4284,3783,29454
+79377,111,81121
+36895,62273,40991
+28332,83678,6091
+124,6836,46015
+58191,32091,27558
+83664,90573,74440
+47684,52380,13614
+35120,46095,58900
+75844,70060,25294
+22872,85463,81740
+55383,79835,82127
+44744,64274,86800
+60852,70621,32428
+91516,39702,39626
+3688,20727,56814
+49311,23987,86560
+44548,2875,53676
+16841,24697,97455
+17788,80255,91151
+83290,1708,4577
+39021,78132,21442
+12009,82267,12399
+91035,14375,97595
+94085,31799,99374
+88944,58929,65104
+82345,84761,71280
+62780,13633,35806
+70571,95978,95108
+52888,93487,88078
+29130,16331,14409
+92304,65168,58557
+28472,46629,22552
+832,89716,12881
+8947,49372,18917
+53393,62848,85813
+14570,95609,71932
+34906,59313,55734
+37689,47610,81231
+48410,8422,91050
+43870,76541,8153
+5427,34304,38621
+76919,40838,49838
+89295,69748,69369
+50411,60493,56509
+26826,15701,77344
+24956,47561,88427
+56537,24378,40188
+84314,39970,40106
+13090,35301,17852
+60153,99913,7345
+21147,67767,86352
+94054,90953,58835
+81837,49253,53459
+64686,71238,47767
+74230,40836,81723
+86599,29209,24915
+94641,86178,95813
+45007,59187,71572
+33557,77915,37965
+10,26480,78523
+49998,17424,383
+72243,16533,32163
+96153,76105,53137
+67890,80555,76817
+58274,24705,50617
+90297,95948,32697
+44469,83877,56552
+15831,6265,94385
+55836,6873,75895
+90337,23678,21982
+35012,30025,70177
+42902,52640,67628
+51436,86883,38944
+72763,97457,11606
+50955,3969,92867
+91443,54845,20378
+2133,70178,55310
+17613,15558,96325
+62436,31322,23281
+53947,2865,94764
+40898,32429,56964
+53537,52879,22200
+42871,1669,76000
+63615,86744,87542
+93336,17798,45244
+56804,65416,20724
+49294,21904,85931
+45336,49650,26151
+38314,46233,85923
+64085,1875,33253
+6740,22204,3436
+94916,13931,65156
+65933,21535,26507
+45670,48945,7381
+88012,2945,38942
+8597,15275,7742
+37182,10617,88064
+44966,19938,98403
+52444,10373,45375
+2510,89230,59817
+41311,12069,30872
+42173,92528,45714
+81874,83719,21053
+66914,60637,68318
+9977,30378,74103
+77500,5036,80383
+14977,54324,58522
+64913,27528,28552
+79234,26215,79253
+65555,68595,19347
+48129,62152,56907
+55931,49134,27039
+81533,76718,78435
+27041,48960,99966
+12471,11450,99887
+44614,14647,11244
+7064,79634,40939
+47042,12530,41088
+2893,25877,88592
+93696,12076,1871
+46418,97089,52542
+67033,30021,91392
+80133,5826,11001
+10958,41254,28841
+31153,7589,15039
+17780,43539,49617
+76429,94380,46400
+15092,32751,31607
+34046,15838,20784
+75419,51308,44185
+47445,41839,7061
+91239,85946,6742
+2606,30107,86190
+57460,64139,20675
+47311,26384,38310
+75437,20187,60579
+45740,25222,35810
+89165,70723,56270
+83116,55684,54082
+18207,17844,67662
+9674,58573,66797
+44733,89585,51527
+83277,92121,15913
+4249,7080,93485
+92675,37985,23278
+68824,25339,15228
+98817,25303,50014
+79441,94633,94983
+3538,68284,7729
+90071,19613,80286
+35338,57531,87102
+13284,79098,7934
+52860,41073,17367
+63008,43331,63254
+78540,80209,43105
+8114,96893,96242
+33065,15885,38404
+93180,10260,1406
+49667,46625,92829
+33003,24911,14339
+38778,55485,59791
+72543,61880,87071
+85741,95244,22418
+85620,63879,96866
+67367,81893,85550
+50325,33325,35215
+39346,39396,46554
+68496,87768,76749
+25295,69389,65559
+95779,28875,6542
+95024,16913,1461
+54393,79624,66654
+22568,66655,17707
+42154,25195,2845
+94777,25624,50767
+29674,369,53974
+29667,70763,48673
+90169,60090,15118
+99124,57348,86302
+63913,1301,25716
+81174,63073,69642
+59620,25265,48206
+7818,69808,55040
+1176,94990,88053
+62167,61746,50297
+10710,51779,51561
+55335,99261,74317
+94526,24185,92724
+98776,71390,17390
+74558,87154,35918
+40211,49179,4540
+74967,488,56683
+76881,89746,20583
+83194,11163,55480
+58293,85409,68879
+22119,39436,26300
+33552,10044,448
+32230,13128,38117
+81887,5361,46790
+72993,66761,17603
+47638,80029,73438
+39481,64315,79268
+58135,18165,18841
+2042,62057,70204
+9114,12242,22985
+35882,13857,4096
+18964,762,17683
+38511,95699,6284
+73814,1119,60942
+83070,32272,95920
+84551,68696,99564
+62889,86971,44801
+30741,80485,10486
+7872,31662,84503
+65006,93089,15350
+72897,5321,3410
+84915,37773,941
+66303,31900,55969
+88175,91065,44552
+9797,71120,30801
+18859,592,52302
+48347,85770,56567
+2175,35684,92455
+39724,11001,65710
+61391,86663,37548
+45330,58198,7425
+70936,54231,13355
+42914,38762,66826
+1884,93081,23928
+70788,2959,68377
+31287,77424,53853
+49782,74150,12616
+22011,27058,19827
+35744,39142,141
+46698,44490,42526
+99503,65888,29700
+23109,2935,55599
+73873,86052,88730
+41705,73980,37236
+79535,44606,82017
+45461,52915,48898
+20403,23037,50390
+52469,52324,71746
+27849,17692,85574
+63316,98722,95925
+11186,46337,14356
+83076,32036,79529
+61105,8234,11086
+95435,83738,68003
+61421,61582,42741
+18857,40910,67067
+97733,90507,91159
+62126,69029,10771
+51588,89853,31246
+14402,45890,62651
+4576,99380,53771
+40711,89434,94430
+6203,98731,77355
+45700,46430,87272
+36822,67855,58488
+9902,41517,24442
+93293,91156,74863
+71444,13876,4077
+42980,68701,9986
+97660,73023,2494
+19956,5786,58572
+43631,25027,61813
+47487,71311,92859
+1627,86846,1636
+76397,34793,31510
+69137,69406,53854
+51824,63534,67604
+48669,7752,35759
+35347,91796,83425
+66421,72114,65991
+41769,65462,64707
+52154,83731,18679
+93093,80021,2843
+59961,87369,41338
+61774,67916,56576
+61238,83388,22624
+87301,35647,21220
+18563,40513,46270
+31431,89556,22191
+18400,15064,32441
+19586,56478,91982
+10018,46780,77058
+39406,7841,36230
+15191,12600,21150
+16792,47932,24378
+60440,92024,4940
+6052,10147,48120
+1230,94468,22896
+90393,69014,78693
+20778,6823,5014
+12785,38994,51536
+15309,27025,40538
+9455,93063,94175
+52963,63538,24640
+76876,99767,20424
+88675,70704,84876
+29837,572,89758
+24665,43287,4124
+19596,39044,22506
+23320,89139,12457
+16298,43802,18588
+13863,53279,86359
+65756,38823,39017
+87980,76503,68792
+29808,1133,5547
+65225,76422,23690
+97926,56995,73309
+52631,46378,86930
+9699,19378,79988
+50576,35602,76568
+10475,51282,28809
+10841,6595,69501
+68477,7514,78298
+80172,90885,77294
+794,74931,66380
+16579,66603,50677
+677,38561,19559
+3076,24613,17121
+48482,23484,4486
+96978,26894,96599
+29550,67389,6448
+59980,27451,80958
+60956,37227,24831
+40202,40948,35792
+25500,21049,18829
+95357,78024,61424
+66165,41073,67961
+3900,18562,90386
+5993,41426,12575
+55978,14534,4710
+62310,98833,3965
+36662,21431,3535
+1247,94520,16658
+56495,63277,82136
+60227,11533,3984
+55190,46612,75533
+55832,29751,10128
+60037,5341,11856
+88331,37751,9479
+12410,76462,51822
+50775,10467,22268
+31249,97861,29215
+51633,19235,43441
+26172,13202,69249
+20710,13243,16076
+72953,93560,87352
+16585,67087,56128
+78,97449,5581
+7850,39585,11593
+56185,25107,62693
+20769,86165,77245
+54030,10493,82291
+20323,16227,72965
+20539,97065,5529
+11191,69352,16214
+24808,74182,6714
+32750,7109,5245
+30078,95393,61862
+95086,84632,26437
+89669,27166,69617
+97663,85156,84583
+65200,24901,58281
+32476,59684,22183
+88333,75537,24786
+97754,39828,21801
+57090,90810,81819
+17456,68293,6317
+60663,86154,2830
+11207,37715,44558
+96412,78170,57495
+34637,65683,61943
+5630,25259,60799
+40213,29880,79917
+87800,58721,69438
+54801,54714,63846
+88524,99139,48762
+50727,68520,46641
+66039,79990,40004
+58332,89351,39201
+51305,50160,14617
+28711,75570,86916
+26603,6518,63794
+72342,6476,18513
+99389,15571,47630
+93384,1223,9329
+63826,83729,39849
+45497,91340,64174
+67149,76,31547
+44954,36510,44
+14335,56031,90974
+98817,18441,97055
+84815,20683,90130
+16029,52282,25647
+4673,72115,50859
+8478,9303,92507
+48363,95236,35571
+50476,39311,79493
+32214,61642,19903
+42575,26360,22095
+9005,97980,95725
+38370,19056,61572
+22433,32537,82787
+74722,90590,41988
+63986,47474,95387
+83201,90859,69588
+7211,61064,74448
+87248,6356,93720
+20158,17109,94009
+89712,24089,73478
+35006,76016,16268
+1824,84875,87901
+76893,26724,55166
+14099,98873,46158
+29978,52099,97563
+98961,36113,91465
+6965,37774,7694
+69426,38603,96398
+62390,58816,85791
+15607,4487,68388
+10489,3819,94356
+88826,63999,54207
+24275,72347,35567
+14595,36746,21829
+46424,34568,29156
+8091,71151,70584
+43115,66533,65697
+66238,19311,21142
+62809,94372,60354
+83256,94129,30351
+31516,1932,54914
+52641,9316,43683
+16236,46067,72858
+32497,42313,23951
+5145,30764,1848
+23996,9112,22069
+94277,56791,44035
+15141,99918,59303
+95687,11722,19938
+94496,21896,20355
+93225,72983,12458
+4839,68108,21219
+47380,48890,5259
+12663,60051,41363
+76954,60657,52851
+52305,41381,47981
+24778,91820,73082
+35675,9601,80940
+28456,92478,39358
+51958,60200,63049
+51650,52676,11650
+48081,33850,64276
+87064,1720,63296
+40433,12725,18266
+94348,43418,45799
+20470,21702,94090
+12004,23132,27411
+89986,31923,8502
+85648,47680,41230
+51972,45075,30931
+97869,98693,51228
+68981,64466,42538
+79201,4048,35804
+59814,65659,33387
+67253,20434,5822
+99162,32642,40954
+88951,94213,70431
+66956,10283,79203
+50472,19167,19814
+77595,34367,9152
+52200,30637,98911
+9572,56961,51688
+21728,42000,95581
+34644,82476,46113
+49920,7112,42564
+99372,53953,7932
+25640,30738,4419
+38390,14097,87763
+62913,35208,1032
+78886,46674,34610
+29481,84778,33270
+4136,12091,60037
+18100,71599,44697
+83013,56763,57956
+10506,43444,67437
+47624,60852,29131
+33347,1017,60890
+11269,30794,19962
+298,67872,64086
+28053,403,93977
+41764,80623,49348
+51190,6989,99367
+79404,16174,93582
+56124,67785,13804
+24384,50933,10733
+14984,83175,28379
+45916,48239,59985
+10967,99826,7620
+2997,51633,23639
+34753,71335,92675
+75660,39969,10715
+83824,72792,94541
+9061,46619,93357
+43832,99088,59806
+84001,38257,78243
+85568,33320,66853
+8783,8617,92299
+76061,39130,39721
+78880,16258,75417
+57278,21997,40354
+4559,60796,14693
+75173,78782,69586
+30588,47763,69657
+69813,51508,8619
+66973,39919,83925
+93116,65750,35214
+49428,75151,61072
+99304,453,24846
+64857,75563,81408
+99758,7054,93834
+60990,98648,73787
+4153,51510,43699
+30768,63940,92372
+44204,47525,71638
+58279,27840,69103
+87149,98184,8365
+20501,17223,72651
+27456,95880,46643
+27906,57479,1243
+8916,81885,58480
+34538,53272,46977
+31376,1084,39050
+36311,17922,51330
+79624,94586,41997
+70740,42495,24029
+24404,52571,61354
+93458,825,3
+21917,90222,28768
+67330,83159,6462
+40946,95176,96946
+12360,29184,83047
+94636,18556,71984
+86584,42247,40325
+30412,15684,94710
+59413,69110,34094
+43275,11397,32663
+38312,82394,71991
+50954,92538,77890
+53986,21917,62472
+96368,75398,45486
+70828,27018,1180
+60612,65119,56177
+28171,45411,45312
+80693,73816,54751
+39115,3128,11970
+78907,6226,32605
+26051,24623,12847
+43169,3632,81127
+72407,61325,65026
+80694,39461,55748
+28953,33984,16018
+17340,97547,32755
+298,28373,37454
+68428,19166,26358
+81883,45188,87649
+74802,44106,71842
+77704,1463,75014
+87334,7436,48879
+95479,14681,67734
+72300,12948,90266
+29920,88606,86139
+86951,52647,24937
+22086,36572,63814
+87668,86806,70369
+1200,97676,40547
+83998,79586,44813
+97007,10381,20433
+57917,74956,51309
+48901,72861,1907
+93789,81139,93024
+30414,75217,98870
+58580,95454,82328
+28177,84260,29178
+80996,2150,52258
+30211,259,23066
+96922,77069,96152
+36905,31544,67887
+24998,62122,12193
+45677,76513,54279
+27945,34130,83745
+49823,46546,13147
+7112,85252,26375
+26021,16210,84105
+53145,46690,86495
+3610,48225,81447
+23818,28027,76288
+15867,2347,37266
+6657,95764,89140
+484,34773,97330
+58783,86276,79156
+63051,15779,17616
+42935,68871,21255
+62612,76887,26788
+8593,56089,39178
+93484,3650,14149
+2940,47948,86899
+89602,80937,62602
+34040,33292,82330
+37219,99156,70790
+82351,1733,439
+79284,15436,52520
+86629,92093,16274
+41450,95994,62484
+53514,32949,25695
+61243,75842,22016
+54266,48744,20085
+25976,63680,69662
+92436,30860,89517
+42543,5132,65960
+51498,15404,36682
+68737,34406,98600
+40474,78936,67870
+66152,87039,2599
+98037,93472,24095
+21175,24538,12389
+36564,91001,51018
+60963,98829,7138
+39623,65980,22582
+61402,80958,58207
+6536,46233,67184
+5251,6313,77704
+51855,82850,32709
+87166,75005,54035
+99871,61178,43781
+6037,28496,63688
+69792,9256,36639
+18169,45582,20739
+47133,46218,79206
+99231,7619,83999
+22531,30483,60079
+30053,13538,63244
+41213,14032,83358
+19612,24452,32798
+46331,91809,86738
+40064,26655,52982
+57841,31154,72898
+56635,73059,63085
+55312,50346,39193
+40347,28418,89452
+52846,71841,9491
+68673,95159,28260
+73176,39675,10294
+60776,83560,4247
+50158,60720,81557
+52300,5490,70598
+60491,95648,15378
+94407,3440,59489
+52223,90064,18409
+68582,67041,69493
+2010,71946,77616
+38521,38306,13975
+17469,5414,10282
+89535,91811,95346
+69364,31928,13834
+70031,90204,24476
+3797,54613,88896
+5812,8985,75003
+22793,45011,55540
+61147,27621,93151
+36269,48287,5527
+2649,10723,27605
+17791,32979,86074
+48507,84122,1818
+26671,41278,61634
+72879,25592,15274
+99759,7284,58489
+44039,10648,13272
+25317,94599,90036
+61642,92926,9170
+92451,51251,55900
+39169,42097,2939
+86180,44776,21256
+81870,97141,59508
+59849,30747,84612
+25083,80413,80812
+57339,93998,73598
+67947,40278,88085
+71103,49165,35603
+73164,90129,5035
+94186,40896,79885
+48358,72402,76865
+53985,93911,89396
+82555,29679,91328
+24284,21738,66560
+78977,93294,88178
+43656,84564,67611
+70657,88671,14706
+53874,98002,69623
+34961,83067,26014
+34355,20976,88292
+20243,83630,45228
+97840,54203,48912
+70094,3728,87602
+15885,22135,65573
+90065,52616,82741
+80262,3897,19480
+12949,45545,86824
+22964,34014,3490
+79424,33014,67174
+2004,9673,83023
+35263,20547,81573
+71872,93083,82170
+19235,61149,62626
+41483,47173,54942
+88241,48949,77808
+49569,81928,2796
+23992,7742,2713
+42194,33740,82279
+4985,47773,18486
+66575,40452,60523
+57640,23071,63549
+77021,79670,33706
+97362,41882,71030
+58685,64389,69989
+33625,30256,65375
+94237,40730,83689
+20251,40207,11770
+55200,59388,1538
+95924,18294,1616
+10295,82720,18580
+72200,30002,30603
+59517,42844,17238
+9554,4993,90531
+63439,49409,94765
+15016,44792,35985
+26963,78156,51701
+85011,95060,76739
+46454,50866,89711
+96060,82846,91659
+83037,59319,94577
+8290,65634,79205
+43973,80688,10500
+6481,98859,30186
+7909,53917,69252
+81053,79295,78868
+496,85261,91125
+55593,87845,28416
+57944,1184,65874
+537,30202,23691
+89984,99697,91522
+95379,86410,29013
+52840,70782,10030
+45392,89876,41492
+65937,12179,84915
+44975,21436,11367
+91749,40933,81747
+4394,33870,72074
+30503,54402,41910
+90388,29049,99214
+73084,9468,2846
+43703,86295,80347
+66369,25581,37351
+68141,46918,95767
+80843,29490,95476
+55487,50085,90603
+6519,62962,64539
+11129,5495,18000
+79627,21265,69007
+47555,41141,56667
+35418,33436,32838
+92217,41311,18613
+87607,78095,7303
+12374,17570,64957
+59264,30016,93434
+82306,73860,63935
+19314,1277,72635
+98737,45817,73515
+599,82828,95784
+28168,33778,27577
+36334,23307,87450
+67557,75339,63636
+91325,21865,36016
+97705,59880,7858
+30360,12961,92047
+62707,80663,85148
+28282,23753,39358
+20484,28395,71223
+10840,9341,48297
+90035,3390,96894
+56994,93652,85405
+42510,99407,93703
+39446,36668,65599
+76602,58135,93364
+44819,19878,85464
+35839,26022,40879
+45179,57834,13928
+52043,98603,39397
+50845,68890,91754
+4333,30718,24748
+85718,44038,82496
+36811,84974,81632
+86975,15165,50972
+82208,84572,34824
+98514,15014,73770
+91731,46928,81094
+69747,92990,78259
+68183,42665,77481
+19611,75932,19865
+91689,10370,21722
+49668,40708,74950
+94405,93768,35688
+1023,458,13922
+53258,1329,35183
+89336,19276,61280
+99141,48439,642
+99347,35502,7385
+34396,61785,21270
+67865,33068,456
+77457,61399,46096
+74406,42306,31269
+36090,99467,76063
+7026,41996,80380
+85809,60651,59086
+64441,913,93940
+17508,79886,22233
+19798,163,74563
+65879,87452,9465
+87573,10666,29235
+19440,71454,64779
+80368,81746,42378
+37497,82571,6031
+17805,40743,51561
+99430,54794,72102
+71081,12906,49982
+29729,30666,30274
+57623,28424,80051
+58177,19137,2554
+96505,7588,34090
+71558,6884,85993
+73899,36484,70026
+94708,2893,89823
+97027,81418,7995
+61130,83329,25406
+18626,51289,69051
+1429,29676,69214
+88701,99619,69548
+13765,16487,43486
+12314,21972,37452
+35899,89588,30736
+72539,74685,45191
+58884,92790,49418
+63125,17196,26531
+60646,30082,6629
+42734,66619,99223
+45935,91192,51495
+63356,98654,60871
+88030,11109,17034
+95560,3923,57626
+89105,12290,13002
+92937,14797,41207
+53584,91001,6559
+274,18596,41925
+42345,94771,1754
+54611,9066,71752
+91105,96036,42456
+39235,30011,31715
+20747,12314,73330
+15122,61490,7637
+733,11696,42854
+35153,12422,94022
+70000,44092,48455
+81860,14081,58066
+9514,35503,3768
+72622,53367,19479
+68031,4916,31380
+767,42546,48127
+38350,69122,98407
+88119,35828,60076
+28315,60103,29161
+19170,68838,38067
+15589,56043,16922
+34957,94254,17877
+70527,77168,35752
+74229,34735,33462
+90067,82557,76853
+24472,47475,5789
+33669,84848,31096
+99008,47931,80792
+35028,37251,66246
+91743,14312,48414
+50456,18764,20102
+92576,36976,88684
+69341,84968,60432
+45576,58907,58240
+39931,5153,21603
+59648,98603,47109
+69689,59695,53475
+21397,51003,35263
+16441,91456,25256
+77545,95209,57368
+52314,53248,71775
+29646,20210,27412
+75484,27781,55025
+93626,7439,81898
+75820,78773,26176
+29572,40252,16137
+73749,38852,76768
+54913,22959,2008
+38918,43540,38659
+63895,14206,21558
+39549,83596,5315
+90015,38967,79682
+98057,39297,15666
diff --git a/2025/in/day08.ref b/2025/in/day08.ref
new file mode 100644
index 0000000..e98a3b6
--- /dev/null
+++ b/2025/in/day08.ref
@@ -0,0 +1,20 @@
+162,817,812
+57,618,57
+906,360,560
+592,479,940
+352,342,300
+466,668,158
+542,29,236
+431,825,988
+739,650,466
+52,470,668
+216,146,977
+819,987,18
+117,168,530
+805,96,715
+346,949,466
+970,615,88
+941,993,340
+862,61,35
+984,92,344
+425,690,689