Compare commits

..

No commits in common. "e3c6a8f29c4b297c3556c78861d1fe4b5baa48c4" and "2f9adec8ff0c9ede01384497c41bd6f2212f3708" have entirely different histories.

4 changed files with 0 additions and 598 deletions

View file

@ -1,2 +0,0 @@
642125
1235164413198198

View file

@ -1,420 +0,0 @@
on x=-31..15,y=-40..12,z=-21..27
on x=-11..41,y=-15..37,z=-2..45
on x=-9..43,y=-19..30,z=-23..27
on x=-36..11,y=0..47,z=-38..16
on x=-36..18,y=-43..8,z=-4..47
on x=-2..48,y=-5..39,z=-15..32
on x=-25..24,y=-1..45,z=-38..15
on x=-15..38,y=-49..-4,z=-29..23
on x=-29..18,y=-20..31,z=-6..47
on x=-37..15,y=0..47,z=-17..32
off x=-23..-9,y=-7..9,z=5..18
on x=-9..40,y=4..49,z=-41..13
off x=14..23,y=25..37,z=-20..-9
on x=-34..16,y=-44..9,z=-5..42
off x=-25..-10,y=-37..-22,z=4..18
on x=-48..6,y=-37..9,z=-40..7
off x=5..17,y=14..30,z=-6..4
on x=-19..30,y=-49..3,z=-10..41
off x=-22..-9,y=22..37,z=-31..-14
on x=-42..7,y=-29..21,z=-13..37
on x=-16268..-2761,y=73412..85556,z=-24609..-14482
on x=33763..42040,y=-61278..-43675,z=21918..43169
on x=-25200..-2112,y=-51420..-47840,z=47019..59882
on x=37923..50058,y=31838..54160,z=-57601..-34479
on x=-30620..-24353,y=-79285..-68074,z=-2977..19356
on x=-30609..1452,y=-36514..-15009,z=66859..79332
on x=-24742..-5853,y=-43809..-14427,z=-90382..-58759
on x=-13668..16445,y=-22841..10989,z=73406..93540
on x=28389..52072,y=-26968..-2267,z=-79598..-66367
on x=27980..54406,y=38341..66509,z=32093..36649
on x=59985..65276,y=-66708..-27188,z=-19249..-2151
on x=41844..68956,y=-63008..-37128,z=520..24655
on x=71804..95178,y=-15814..14606,z=-7097..17816
on x=17765..28889,y=-15081..18428,z=74594..86403
on x=27379..42566,y=-27124..-9082,z=-80345..-63942
on x=-81191..-59873,y=37629..56626,z=-33772..-13190
on x=26251..50978,y=61655..81765,z=5174..41787
on x=3545..20418,y=76124..91387,z=10429..18016
on x=-56569..-43421,y=43007..48697,z=-39789..-16431
on x=-8898..20972,y=-75311..-68277,z=26037..31459
on x=-82974..-55962,y=-31904..-12744,z=-19880..-177
on x=21759..46201,y=4896..27986,z=-79014..-52022
on x=-72845..-54454,y=-46732..-31354,z=-3518..9682
on x=48077..69306,y=48471..78577,z=-24376..10791
on x=-89235..-75432,y=-23559..-11282,z=2849..29606
on x=-19648..5187,y=-28801..1547,z=67705..87729
on x=-36677..-11208,y=-52582..-29826,z=-75754..-54460
on x=52967..71480,y=-32156..-13028,z=40031..57490
on x=-9670..14112,y=-86845..-72969,z=21041..37167
on x=-23506..-2008,y=14436..39569,z=-74893..-62468
on x=60265..81466,y=-9195..22677,z=-31963..-24825
on x=62518..78007,y=-28080..803,z=18055..36364
on x=-67871..-58556,y=-17100..7434,z=-53150..-44051
on x=-21869..-7545,y=56607..78795,z=42300..59289
on x=8133..26370,y=59453..76378,z=24987..46061
on x=-78155..-54530,y=40318..64112,z=-11319..19884
on x=-49937..-29803,y=-73977..-61214,z=-11264..11122
on x=-84215..-59040,y=-24340..-8768,z=22605..36340
on x=-72333..-46667,y=-20261..-1550,z=33007..49989
on x=-87051..-55751,y=-39773..-27347,z=-28982..-4905
on x=-53210..-37633,y=-57897..-36246,z=-34954..-20198
on x=59340..84949,y=33575..44982,z=-28334..-9464
on x=49948..66289,y=693..18345,z=56235..63720
on x=-26265..-11787,y=-75180..-61895,z=-51729..-26447
on x=46656..68506,y=17462..39678,z=28004..35033
on x=-5095..20428,y=-65178..-43905,z=-76055..-52443
on x=-6031..4325,y=-29275..-8056,z=-84181..-59830
on x=57442..76188,y=-22259..8793,z=-55480..-45690
on x=26301..43633,y=-49717..-38698,z=48660..65868
on x=-20883..3324,y=30657..66848,z=57545..79329
on x=-94467..-58613,y=-26697..762,z=16196..39574
on x=8005..42105,y=-45637..-22315,z=-74968..-51548
on x=-48966..-25366,y=32223..45945,z=32542..62201
on x=-69017..-46223,y=21802..42755,z=-52315..-45517
on x=14071..21029,y=-27684..-3889,z=-82302..-69903
on x=-35310..-14611,y=-69343..-52273,z=29582..57259
on x=-47733..-43614,y=41650..76018,z=-43518..-5378
on x=36045..54586,y=-63874..-55437,z=27809..45401
on x=-23706..-7340,y=37745..58874,z=-74869..-50604
on x=-34375..-8490,y=-24045..-7424,z=-90288..-67864
on x=71187..79617,y=8420..18536,z=16022..39405
on x=-28965..-8258,y=43254..58521,z=-50330..-35686
on x=-29861..-22121,y=-62714..-58881,z=41404..55839
on x=36839..51186,y=-72064..-50522,z=-40820..-12348
on x=-80940..-56434,y=-36366..-6238,z=-25989..-1570
on x=16090..44431,y=-70714..-53053,z=-48187..-24318
on x=-57784..-35812,y=-55762..-21328,z=-61669..-40202
on x=-1153..27210,y=-72257..-57105,z=-52729..-43034
on x=36045..52956,y=40739..63305,z=-40612..-35470
on x=-37386..-27602,y=-73787..-66457,z=5859..16937
on x=22605..24957,y=-35007..374,z=-88037..-74742
on x=69972..91356,y=-21820..1332,z=-33615..-20343
on x=3152..34491,y=8121..32288,z=-92170..-58629
on x=-68865..-45677,y=-44049..-16100,z=-48316..-43901
on x=54057..68453,y=-47451..-23433,z=-45583..-29267
on x=56843..78547,y=10609..34067,z=1987..32520
on x=588..27816,y=46724..64149,z=-67994..-30736
on x=39268..59592,y=-75776..-42781,z=10976..37943
on x=-4319..20271,y=-85842..-61203,z=-28175..1591
on x=-20482..8670,y=-85390..-59726,z=-23552..-7304
on x=20197..35773,y=-33819..-21770,z=54097..85103
on x=-70270..-59947,y=-49234..-26582,z=-11572..7062
on x=-88326..-54246,y=-41068..-25234,z=-22529..1368
on x=-21643..-18556,y=-29486..-7870,z=56613..83150
on x=-57648..-53221,y=24878..37305,z=28112..47953
on x=50871..57090,y=-50882..-28901,z=-47823..-41828
on x=3603..33598,y=50068..62701,z=-68639..-46682
on x=37694..58917,y=-81338..-55339,z=-6294..11393
on x=-1419..9336,y=-75338..-64874,z=43272..59331
on x=62900..95797,y=10309..30061,z=-17622..5010
on x=20359..33467,y=-80058..-55327,z=-44618..-17466
on x=73162..85481,y=-18674..9179,z=27632..30040
on x=-12072..7247,y=-68569..-44935,z=38996..69461
on x=-14910..2438,y=-66748..-59496,z=-62451..-43733
on x=-55491..-33270,y=-80513..-50398,z=-5725..27700
on x=-43858..-25913,y=-33078..-20894,z=-75887..-49681
on x=-39184..-11369,y=-77771..-38776,z=-60846..-42774
on x=-43965..-25005,y=52823..70376,z=29934..48535
on x=11832..27831,y=38503..62279,z=-67375..-46855
on x=-86659..-58572,y=-52574..-20758,z=-5049..-1380
on x=-20079..-971,y=-88952..-66624,z=-790..16273
on x=9364..33049,y=70116..96061,z=-666..28174
on x=24090..54224,y=-31038..-8920,z=-62258..-49312
on x=-4796..22630,y=59190..90127,z=-27512..4087
on x=58927..78681,y=25203..57439,z=12551..35835
on x=43802..62336,y=-10602..-563,z=-65831..-50707
on x=49802..62635,y=-35757..-12707,z=38263..62005
on x=14375..27850,y=36589..73868,z=46321..51160
on x=30926..56823,y=64082..85345,z=8399..26595
on x=26138..34222,y=-74916..-64576,z=12585..20349
on x=49268..64536,y=55554..56931,z=8266..30603
on x=63783..70255,y=-43725..-37221,z=-5402..21946
on x=-25851..-10388,y=-44145..-23573,z=70787..81764
on x=-2308..30385,y=-77664..-65487,z=10624..27974
on x=30629..51160,y=-67708..-48630,z=-11628..-5521
on x=-28371..2765,y=47468..62783,z=37378..63850
on x=-54181..-47351,y=41114..72671,z=-12142..22919
on x=232..29443,y=38022..65125,z=-70975..-51690
on x=-89818..-61775,y=9402..22079,z=11379..27812
on x=-46655..-36075,y=-73368..-46204,z=-55433..-32265
on x=59126..83817,y=39122..61516,z=-17994..1532
on x=26714..58440,y=11528..27094,z=48759..75861
on x=-35914..-20622,y=59856..73765,z=4589..24238
on x=18259..28451,y=-80578..-53971,z=-33788..-10461
on x=-47217..-34327,y=70275..79914,z=-8079..24768
on x=-76192..-60391,y=35036..63981,z=-15347..380
on x=-63732..-48024,y=-54229..-26661,z=-42450..-31348
on x=-23519..-7950,y=-75513..-50765,z=-63008..-35282
on x=19475..32136,y=-21295..-15326,z=53823..77193
on x=-25139..-22008,y=-19696..13946,z=-92401..-59350
on x=-95951..-61878,y=-26133..-1879,z=-33703..-9810
on x=68912..89523,y=-23734..-8320,z=-16650..4655
on x=-65750..-56515,y=20184..33335,z=-45037..-33283
on x=7158..15863,y=-41827..-7665,z=-75732..-73496
on x=-60484..-42124,y=-51494..-23379,z=-57680..-35254
on x=55653..83430,y=23940..45283,z=-15684..-14212
on x=-10251..13694,y=-33345..-12875,z=67504..86459
on x=21776..31354,y=-37486..-19956,z=46923..77653
on x=75980..83400,y=-1819..19149,z=-21085..-2030
on x=-61751..-41543,y=-5188..6299,z=-83815..-58294
on x=-7338..6665,y=36157..44741,z=52925..81174
on x=52861..67716,y=-7373..30136,z=39315..71237
on x=13050..29744,y=66525..87545,z=1771..37491
on x=-64733..-39640,y=25254..52987,z=-50910..-32439
on x=63635..81414,y=-22871..-4335,z=7646..28763
on x=40134..58126,y=-11172..9476,z=-66912..-54215
on x=-86522..-66364,y=-33752..-15969,z=-23363..-13273
on x=35479..45095,y=69971..73604,z=8910..26850
on x=-43268..-15119,y=-66053..-38869,z=39592..46963
on x=-21710..8680,y=40705..71234,z=41360..73209
on x=13940..22553,y=36324..58196,z=-77382..-53080
on x=23434..50783,y=-39817..-28342,z=-69110..-48877
on x=73507..85343,y=-11561..15539,z=-14495..-4774
on x=-54941..-37724,y=-13576..1478,z=40440..68801
on x=43643..68451,y=-10135..662,z=-59531..-39039
on x=-24211..-6108,y=50759..72990,z=-62513..-37860
on x=26879..61822,y=35613..67902,z=38756..61459
on x=-89359..-75327,y=-18589..-6663,z=-29014..7966
on x=17380..33566,y=-58827..-49271,z=48108..66133
on x=-2444..15010,y=-77969..-63710,z=29136..46467
on x=-10818..6229,y=-29611..49,z=-81262..-75622
on x=-6180..20035,y=74194..90454,z=-13495..1440
on x=-35911..-13227,y=-57034..-29632,z=-69180..-52647
on x=30009..49730,y=-64899..-52104,z=-61162..-27263
on x=-78257..-48942,y=39217..54751,z=-29567..-20398
on x=37168..46885,y=-80577..-52776,z=1014..37078
on x=6944..29897,y=11577..21593,z=-82020..-59481
on x=-31931..-238,y=-59356..-38875,z=-80342..-57991
on x=-38801..-36538,y=2975..20673,z=65274..82670
on x=63409..76122,y=132..19103,z=23941..40408
on x=7732..23852,y=-19027..6940,z=75488..96064
on x=-64444..-45808,y=11443..29434,z=35964..59523
on x=18285..35633,y=49509..72903,z=12689..35798
on x=-2949..17519,y=-53956..-31139,z=55058..81542
on x=-32888..-12204,y=-63545..-52688,z=43909..52128
on x=-1703..19447,y=-84815..-69925,z=-32435..-19742
on x=-69069..-40979,y=37136..49391,z=-47586..-29945
on x=59756..80566,y=-42821..-20427,z=25880..40675
on x=6051..36400,y=-86187..-61812,z=-47296..-31890
on x=59071..84052,y=-14966..16336,z=17686..36159
on x=-38604..-32778,y=2520..36999,z=-81989..-67215
on x=66925..78543,y=2308..22047,z=-39005..-19664
on x=-34989..-8703,y=57308..62622,z=40005..48549
on x=-52811..-31203,y=55877..66260,z=14153..36886
on x=-45389..-12954,y=-3730..12116,z=-79157..-69961
on x=-23789..-13770,y=-66812..-61018,z=-52957..-23785
on x=13853..39791,y=60431..80042,z=28663..46404
on x=-24898..-4124,y=15057..34896,z=-86489..-68066
on x=-95271..-73643,y=-8281..-2302,z=5269..33970
on x=-22180..1312,y=-32828..-22422,z=-80345..-65642
on x=-49902..-20843,y=-11615..-5264,z=67929..77434
on x=-54310..-39323,y=-32495..-6462,z=39239..66258
on x=-20031..4022,y=50563..64702,z=44178..65613
on x=-5460..17220,y=69479..82968,z=-93..26732
on x=51905..72078,y=11383..28169,z=-49180..-26809
on x=59045..74424,y=-49404..-32586,z=2822..38387
on x=16110..37775,y=-15152..-5485,z=66144..82152
on x=16153..31577,y=64109..79966,z=7957..34548
on x=-73616..-46114,y=-41730..-10806,z=-42377..-34184
on x=-21820..-2194,y=-82802..-47511,z=-61692..-29261
on x=30857..38250,y=13048..40418,z=62640..79760
on x=-4023..5491,y=23358..43076,z=-81952..-57807
off x=-11417..16910,y=-6421..9542,z=-87766..-68468
off x=-80140..-59258,y=-44626..-28936,z=12903..45896
off x=31942..46811,y=-29583..-24759,z=-67482..-49237
off x=18831..43507,y=34731..49397,z=-66558..-57490
on x=-83682..-74692,y=-19795..-8370,z=4365..8081
on x=-73723..-48408,y=-41872..-17170,z=25850..39928
off x=-17905..-13154,y=-54510..-44611,z=-79922..-50706
off x=43753..68220,y=37781..49568,z=35107..63486
on x=19144..48501,y=27352..55966,z=52211..71545
on x=-68916..-50993,y=23610..43473,z=-35659..-22034
off x=-68708..-41208,y=50547..59778,z=-27505..-3997
off x=7976..32867,y=-64128..-52351,z=43125..51405
on x=7398..44110,y=-77989..-55830,z=-44794..-10674
off x=31543..59409,y=-59240..-49161,z=5888..22465
on x=-60924..-35763,y=5263..31909,z=-67060..-38563
off x=-46172..-25986,y=9684..20405,z=-74193..-53096
off x=-45030..-31272,y=49282..85688,z=-2147..16292
on x=-38198..-30030,y=-18830..8264,z=-82459..-62924
on x=25881..50501,y=38243..41409,z=-74137..-53637
off x=-75825..-51662,y=-28841..-1241,z=46043..72226
off x=23071..31413,y=-66262..-31252,z=-58336..-46372
off x=-65459..-43357,y=-71892..-47149,z=-7491..9113
off x=-11687..1834,y=-96323..-70268,z=-8442..-5013
off x=-98284..-75029,y=-13336..-469,z=-19639..-6647
off x=-78119..-77515,y=-17038..2730,z=-20329..-12884
on x=-11010..-282,y=68385..78119,z=19107..32396
off x=-18969..8580,y=-41228..-16323,z=64960..92107
on x=-30756..-9890,y=-77149..-74431,z=-16951..5536
on x=-1351..23521,y=34166..54033,z=-77118..-56805
off x=-41422..-2879,y=-39662..-25879,z=59642..72173
on x=-15189..7542,y=-78696..-58288,z=-53881..-21661
on x=-49875..-36660,y=42475..71985,z=-60886..-29856
off x=-33364..-243,y=51633..74148,z=-65820..-47122
off x=-13052..-438,y=-50291..-20306,z=64409..89480
off x=18797..30805,y=-61435..-29538,z=50927..72456
off x=-535..14954,y=-61772..-56234,z=42949..68543
off x=-61282..-28853,y=-79862..-64935,z=-5191..8964
on x=56833..82783,y=-5520..4690,z=-30238..-11759
off x=-48706..-29743,y=57961..88993,z=-26662..-13726
on x=-43753..-34836,y=45812..61088,z=-65900..-33088
on x=-34742..-12464,y=58565..88013,z=-10446..24279
off x=-728..28432,y=61668..80130,z=9951..13996
on x=-64953..-37238,y=8227..33992,z=-58763..-47419
on x=-60137..-37631,y=-62412..-46421,z=12784..25044
on x=39802..57534,y=46304..66897,z=9259..37972
on x=33582..38897,y=21300..32768,z=-69411..-63580
on x=54101..74684,y=-43691..-32515,z=-48214..-21217
on x=34443..47444,y=-38846..-17489,z=-79439..-44037
on x=26422..47943,y=-79544..-59532,z=-35194..-23693
on x=-27931..-4214,y=-41718..-37376,z=-71336..-56845
off x=-13025..12948,y=-9674..12098,z=61220..97279
off x=-71283..-56740,y=37883..60739,z=-32264..-4311
on x=-43113..-28486,y=-71249..-57817,z=-45405..-28013
off x=-32103..-9810,y=15842..24298,z=61423..87642
off x=-17927..-13972,y=-28844..-4847,z=-82475..-61095
off x=-5141..32816,y=-78393..-65416,z=-44689..-25883
on x=-14630..-226,y=-69465..-44081,z=-59199..-46219
on x=52453..72679,y=45237..64743,z=6061..39421
on x=-39673..-18265,y=-27573..-21807,z=68883..74631
off x=13079..24968,y=-48786..-26712,z=50948..66164
on x=41137..68193,y=20634..26236,z=-62237..-37673
off x=44473..74640,y=-41075..-29282,z=-48434..-34835
off x=2596..18042,y=-72490..-53937,z=43432..63623
off x=-79387..-46432,y=-59253..-35215,z=17915..21092
off x=-45378..-28774,y=-82320..-60579,z=-20033..5755
off x=-63078..-39995,y=56467..70582,z=-12429..7923
on x=56299..89046,y=16079..35370,z=1047..27734
off x=-73191..-62162,y=-10709..9255,z=31945..60769
on x=-92647..-73976,y=11508..44122,z=-10968..11288
on x=39283..50439,y=41452..75957,z=-44781..-17165
off x=-78580..-40455,y=-47032..-23251,z=35679..53864
off x=-35818..-15180,y=-60785..-44040,z=-56896..-32871
on x=-12403..19634,y=-37806..-28714,z=60466..92315
off x=-6584..14637,y=11601..32479,z=55981..82418
off x=3427..13895,y=62276..79635,z=-18569..-2036
off x=-75299..-55430,y=-56438..-42843,z=-40463..-20313
on x=-76382..-67609,y=-30159..-7158,z=-39763..-5641
off x=-78234..-66014,y=-4072..19725,z=-48675..-20237
off x=-17255..-1228,y=-79201..-62700,z=44411..52226
off x=41222..49220,y=-535..24648,z=50814..79651
on x=-17600..-2083,y=48656..69603,z=-72425..-53667
on x=-36970..-7303,y=-66857..-59482,z=37238..43473
on x=-35190..-15947,y=-8793..15350,z=67281..83539
off x=-33724..-28506,y=25447..42128,z=-76662..-56726
off x=-32909..-4673,y=70289..96002,z=-27988..-7725
off x=-35004..-10651,y=-46859..-21224,z=53920..66920
off x=48523..81631,y=6292..31267,z=-46628..-33235
on x=-81724..-60210,y=-33056..-19672,z=12796..29093
off x=14592..48270,y=514..16339,z=58375..85423
off x=841..26514,y=54248..80990,z=32342..54694
on x=962..22843,y=-74697..-48613,z=-43426..-33427
off x=-33279..-3222,y=15542..21113,z=-76837..-66803
off x=-70808..-46984,y=-26096..9606,z=-61364..-41726
off x=56234..91300,y=-46828..-25584,z=-31699..-5452
on x=7534..40696,y=39658..69911,z=-53349..-34492
off x=-86975..-78519,y=5399..12876,z=-11594..9440
on x=-37585..-14518,y=52841..72715,z=39495..59620
off x=-91693..-64961,y=-4273..14662,z=19646..33512
on x=29397..41835,y=-65015..-55284,z=-54315..-35308
off x=-56584..-41152,y=-70640..-58464,z=-16220..4708
on x=-34762..-16435,y=-45193..-41382,z=48897..72765
on x=-67677..-49516,y=18763..37669,z=12179..36798
on x=-55734..-36710,y=40109..63200,z=-4477..16097
on x=-36457..-26044,y=-2522..27516,z=56581..77833
on x=5866..29832,y=-88145..-59746,z=-8002..333
on x=57071..78433,y=10868..32933,z=-19783..-1923
off x=-20388..13468,y=-19002..-8309,z=69722..90287
off x=-73111..-66678,y=-51011..-14796,z=-26146..-18176
on x=-82713..-60890,y=-9594..16478,z=-43812..-16640
off x=25158..48301,y=-13762..4215,z=-75170..-73703
on x=-45132..-33935,y=50481..70678,z=12453..31598
on x=-61810..-35560,y=56241..69920,z=-18251..3076
on x=-57774..-49809,y=-34464..-16665,z=-54307..-38889
off x=57437..67902,y=-11426..2673,z=36182..51645
off x=-46056..-17171,y=15759..36036,z=56843..87869
off x=-537..20736,y=-78316..-40547,z=-71989..-47572
on x=-76615..-63688,y=-31204..-20452,z=-33164..-13158
off x=-81259..-63064,y=4310..30972,z=-44477..-13230
off x=1667..10220,y=-88640..-58969,z=21234..38278
off x=-82764..-61291,y=-12966..18053,z=-34401..-15913
on x=-830..23016,y=61029..84093,z=23471..32805
off x=45182..82533,y=31670..41676,z=5034..34474
on x=-79592..-60110,y=-28599..-10420,z=-15013..-13286
on x=41629..66177,y=7273..39832,z=-70911..-46964
on x=-24181..-2511,y=-14329..-8601,z=-87065..-71417
on x=68393..82452,y=-15645..7133,z=-25044..-4167
off x=-30452..5173,y=-90064..-64228,z=-33914..-16622
off x=-46198..-38849,y=30435..44046,z=-75515..-42056
on x=-3044..8360,y=-45702..-33159,z=48127..67169
on x=-19716..12232,y=-16974..-1798,z=62956..80159
off x=-8652..29525,y=50692..79736,z=-57953..-25988
on x=-67010..-50436,y=-39075..-16212,z=46626..72496
off x=-64360..-61888,y=35492..43270,z=-45633..-18851
off x=63654..91168,y=-627..9752,z=-45387..-13299
off x=-43687..-26223,y=47156..75205,z=-57949..-38000
on x=28170..64143,y=-71780..-50371,z=27285..45866
off x=75657..83623,y=7851..25102,z=5999..31863
off x=-2378..4668,y=1860..24150,z=-89080..-70158
off x=-28434..-20764,y=69532..82033,z=-18472..5260
on x=31597..50173,y=36277..68351,z=-54327..-25222
off x=-100..20288,y=-8018..18694,z=-81267..-61884
on x=54540..70105,y=13276..23659,z=-64495..-26166
off x=-65003..-37349,y=-50652..-32606,z=34817..43549
on x=11484..29883,y=-46774..-24790,z=-86030..-61340
off x=-16454..8894,y=32162..51804,z=-81832..-60183
off x=-87478..-72787,y=-27530..486,z=-6079..8294
on x=-15346..-1146,y=-81265..-52963,z=32335..51965
on x=66676..84372,y=-23588..-3704,z=15224..16541
on x=10118..32777,y=-27912..-10010,z=68364..93233
on x=13508..28471,y=-69894..-45072,z=39827..67714
on x=-16962..7480,y=62372..91811,z=-9568..19097
on x=49730..78835,y=-29714..-4555,z=-52455..-30159
off x=-41859..-23109,y=-19025..-85,z=73345..93699
off x=-64287..-43719,y=38786..51643,z=15814..50351
off x=-64017..-52686,y=-30352..-7910,z=-54269..-35636
on x=-48526..-28820,y=-29275..-21681,z=46865..61454
on x=-22984..3213,y=36151..57788,z=68972..81644
off x=24698..42651,y=42537..58033,z=45292..64070
on x=-60009..-43048,y=-19070..-6729,z=36715..57481
on x=-39419..-11957,y=57676..88023,z=-90..14383
on x=-69506..-45424,y=-12654..11191,z=-79962..-56241
off x=-84033..-48665,y=-21630..-9445,z=36751..42536
off x=33651..52330,y=21405..37083,z=61710..71195
on x=13392..35413,y=-91558..-60952,z=-17591..6695
on x=-30550..-21113,y=-85052..-50897,z=-35766..-32831
on x=22488..34701,y=60517..77966,z=-20244..4275
on x=12080..33217,y=-71597..-50737,z=-56565..-44719
off x=-29548..-15673,y=27877..41300,z=-79958..-48987
off x=-80390..-60613,y=20249..46361,z=19833..39996
on x=46966..84089,y=34806..47552,z=-18458..15199
off x=-9316..11741,y=68950..98330,z=-1520..13266
off x=-29925..-9889,y=-75732..-50199,z=34533..57412
on x=-7342..-2505,y=-85763..-59005,z=-35058..-25769
on x=29951..56079,y=-81275..-52573,z=11804..26280
on x=26737..50947,y=-64105..-53323,z=-55729..-21772
off x=-3718..18877,y=38035..41002,z=-79957..-63481
on x=-48088..-22962,y=42706..49143,z=52740..71769
off x=-71945..-57818,y=-11524..17450,z=37744..63978
on x=31524..44251,y=-4535..24563,z=58049..78765
on x=-53219..-32237,y=-72853..-53335,z=28182..54957
on x=-76635..-46440,y=23233..45049,z=16138..44117
off x=-38607..-19026,y=-37271..-25530,z=-81333..-55983
off x=-50145..-15369,y=16537..40806,z=-80796..-52898
on x=-43832..-19086,y=-45673..-37583,z=42936..71282
off x=-52699..-36375,y=20909..36727,z=32818..62015
off x=73367..82103,y=-38351..-19664,z=-2996..14667
on x=-30106..-16369,y=-57496..-36709,z=-62282..-40625
on x=-40612..-21586,y=29772..54286,z=-65210..-55574
on x=-21799..-6056,y=48843..67358,z=35525..59714
off x=6461..31862,y=-41077..-21034,z=-82019..-56743
off x=-16594..11056,y=-91484..-64770,z=11722..34592
on x=41693..49612,y=44598..61980,z=-39833..-12014
on x=67376..93098,y=23475..46194,z=3214..23673
off x=-81794..-62247,y=14498..29313,z=-30333..-3880
off x=31528..49103,y=63600..77967,z=21699..42370
on x=40818..63504,y=-43305..-29947,z=36934..49512
off x=-20193..-11713,y=35933..52262,z=-67731..-45077
on x=-674..27030,y=-78658..-58562,z=-33828..-15369

View file

@ -1,9 +0,0 @@
[package]
name = "day22_rs"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
nom = "7.1.0"

View file

@ -1,167 +0,0 @@
#![warn(clippy::pedantic)]
use std::{
cmp::{max, min},
io::{stdin, BufRead},
ops::RangeInclusive,
};
use nom::{
branch::alt,
bytes::complete::tag,
character::complete::i64,
combinator::map,
error::ParseError,
sequence::{pair, preceded, separated_pair, terminated, tuple},
};
#[derive(Clone, Debug, PartialEq, Eq)]
struct Cuboid {
x: RangeInclusive<i64>,
y: RangeInclusive<i64>,
z: RangeInclusive<i64>,
}
fn range_len(range: &RangeInclusive<i64>) -> u64 {
(range.end() - range.start() + 1).try_into().unwrap_or(0)
}
fn range_intersect(a: &RangeInclusive<i64>, b: &RangeInclusive<i64>) -> RangeInclusive<i64> {
max(*a.start(), *b.start())..=min(*a.end(), *b.end())
}
impl Cuboid {
pub fn cubes(&self) -> u64 {
range_len(&self.x) * range_len(&self.y) * range_len(&self.z)
}
pub fn intersect(&self, other: &Cuboid) -> Option<Cuboid> {
let x = range_intersect(&self.x, &other.x);
let y = range_intersect(&self.y, &other.y);
let z = range_intersect(&self.z, &other.z);
if x.is_empty() || y.is_empty() || z.is_empty() {
None
} else {
Some(Self { x, y, z })
}
}
pub fn in_small_range(&self) -> bool {
let check = |r: &RangeInclusive<i64>| -50 <= *r.start() && *r.end() <= 50;
check(&self.x) && check(&self.y) && check(&self.z)
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
enum CubeState {
Off,
On,
}
#[derive(Clone, Debug, PartialEq, Eq)]
struct CuboidSpec {
state: CubeState,
cuboid: Cuboid,
}
impl CuboidSpec {
fn parse<'input, E: ParseError<&'input str>>(
input: &'input str,
) -> nom::IResult<&'input str, Self, E> {
let dimension_range = |dim| {
map(
preceded(
pair(tag(dim), tag("=")),
separated_pair(i64, tag(".."), i64),
),
|(start, end)| start..=end,
)
};
map(
separated_pair(
alt((
map(tag("off"), |_| CubeState::Off),
map(tag("on"), |_| CubeState::On),
)),
tag(" "),
map(
tuple((
terminated(dimension_range("x"), tag(",")),
terminated(dimension_range("y"), tag(",")),
dimension_range("z"),
)),
|(x, y, z)| Cuboid { x, y, z },
),
),
|(state, cuboid)| Self { state, cuboid },
)(input)
}
}
fn count_intersecting(first: &Cuboid, rest: impl IntoIterator<Item = Cuboid>) -> u64 {
let intersections = rest.into_iter().filter_map(|c| c.intersect(first));
count_union(intersections, Entry::Use)
}
enum Entry {
Ignore(Cuboid),
Use(Cuboid),
}
fn count_union<T>(cuboids: impl IntoIterator<Item = T>, get_cuboid: impl Fn(T) -> Entry) -> u64 {
cuboids
.into_iter()
.scan(Vec::new(), |previous, x| match get_cuboid(x) {
Entry::Ignore(c) => {
previous.push(c);
Some(0)
}
Entry::Use(c) => {
let count = c.cubes() - count_intersecting(&c, previous.iter().cloned());
previous.push(c);
Some(count)
}
})
.sum()
}
fn main() {
let mut small_range = None;
let mut lit_cubes: u64 = 0;
let mut placed_cuboids: Vec<CuboidSpec> = Vec::new();
for line in stdin().lock().lines() {
let spec = CuboidSpec::parse::<()>(&line.unwrap()).unwrap().1;
if !spec.cuboid.in_small_range() {
small_range.get_or_insert(lit_cubes);
}
// all overlaps with previous cuboids
let intersections = placed_cuboids.iter().cloned().filter_map(|mut s| {
s.cuboid = s.cuboid.intersect(&spec.cuboid)?;
Some(s)
});
// count the cubes that overlap with currently-ON cubes
let overlap = count_union(intersections.rev(), |s| {
(if s.state == CubeState::On {
Entry::Use
} else {
Entry::Ignore
})(s.cuboid)
});
if let CubeState::On = spec.state {
let size = spec.cuboid.cubes();
lit_cubes += size;
};
lit_cubes -= overlap;
placed_cuboids.push(spec);
}
println!("{}", small_range.unwrap());
println!("{lit_cubes}");
}