summaryrefslogtreecommitdiff
path: root/inputs
diff options
context:
space:
mode:
Diffstat (limited to 'inputs')
-rw-r--r--inputs/day_012266
-rw-r--r--inputs/day_022500
-rw-r--r--inputs/day_03300
-rw-r--r--inputs/day_041000
-rw-r--r--inputs/day_05513
5 files changed, 6579 insertions, 0 deletions
diff --git a/inputs/day_01 b/inputs/day_01
new file mode 100644
index 0000000..6c1f923
--- /dev/null
+++ b/inputs/day_01
@@ -0,0 +1,2266 @@
+6669
+6434
+6564
+1032
+1098
+1829
+2608
+7322
+2690
+7061
+1664
+5769
+
+6160
+1082
+3958
+5272
+2188
+5618
+3418
+2302
+2926
+3338
+1082
+2024
+4195
+4083
+
+3276
+5581
+3421
+3403
+4356
+2989
+1278
+1868
+3630
+4702
+3409
+4887
+2383
+
+7104
+7496
+5265
+8078
+8788
+7402
+3601
+2641
+1252
+4994
+
+4074
+7524
+8889
+9290
+8892
+5785
+2163
+1074
+6747
+
+7452
+8006
+12427
+7919
+4012
+6850
+
+34591
+26861
+
+13028
+12695
+12762
+11006
+15937
+
+17218
+12408
+17554
+11415
+
+1118
+7240
+6400
+3431
+1032
+3283
+4667
+6100
+5076
+1101
+6952
+3527
+
+7633
+4385
+4510
+4073
+3052
+11738
+
+33554
+
+3448
+16054
+10839
+
+4496
+2697
+4731
+5150
+5327
+4039
+4004
+2148
+6150
+4001
+2882
+5780
+4327
+
+4095
+2064
+6701
+3828
+2427
+4775
+2583
+2000
+1390
+7391
+1701
+3796
+
+10355
+1262
+8781
+6350
+
+11053
+11527
+1389
+6007
+12383
+11033
+
+7951
+4258
+9815
+10061
+7579
+3769
+11431
+
+3597
+35622
+
+2129
+2994
+4260
+5269
+4179
+1612
+3509
+3581
+4544
+3713
+3202
+6458
+1203
+1095
+
+17196
+13475
+12666
+
+3549
+6432
+6593
+6723
+1272
+4023
+2112
+2844
+5135
+5103
+1585
+4773
+5635
+
+8731
+16378
+5076
+2999
+
+11136
+1525
+8684
+9731
+9753
+5366
+7399
+
+8996
+1483
+4922
+1191
+2761
+9333
+9247
+3797
+3940
+
+5876
+4139
+2158
+5905
+5445
+2438
+2814
+3853
+3432
+2289
+5783
+3839
+2811
+4361
+
+3260
+6058
+3620
+2171
+4387
+4011
+4552
+1646
+3400
+2941
+6776
+2793
+6702
+
+2318
+3118
+4920
+1293
+5593
+2308
+6819
+5949
+3819
+1742
+1074
+4565
+5891
+
+5260
+8430
+6832
+6248
+2162
+7770
+1692
+4345
+7140
+6748
+
+2921
+2075
+6039
+2875
+1479
+5835
+2350
+5981
+2684
+2560
+1608
+1495
+1358
+2047
+5003
+
+13864
+8452
+10716
+6642
+14875
+
+9704
+7477
+3664
+7751
+11616
+11067
+3496
+
+12744
+11268
+7987
+15133
+
+2859
+6255
+1302
+4053
+6133
+4181
+3008
+3450
+4421
+6065
+2732
+7142
+
+7502
+3436
+2987
+8648
+1103
+1477
+7647
+9669
+6285
+
+69741
+
+60977
+
+3987
+10933
+1170
+12375
+
+6773
+2923
+8707
+3434
+5872
+5793
+5573
+6338
+7182
+2158
+
+5522
+5345
+4425
+6178
+5236
+1397
+6165
+2173
+3547
+5225
+3949
+2238
+2594
+6032
+
+7998
+6850
+1552
+3087
+6978
+7829
+1957
+1432
+7504
+2382
+3534
+
+16000
+12845
+12638
+8250
+
+5712
+1853
+2986
+6472
+1543
+1147
+5670
+5085
+3519
+5847
+4603
+1394
+2353
+1668
+
+3542
+2995
+5413
+1108
+1783
+3902
+5173
+4228
+3997
+1759
+5652
+5896
+2109
+5697
+4198
+
+3625
+7049
+4471
+11613
+1668
+9077
+3143
+
+4473
+3397
+12107
+1364
+5698
+8030
+12081
+
+2337
+3212
+3567
+1115
+3963
+1753
+1769
+6966
+3093
+4758
+5271
+3635
+
+4387
+3770
+2931
+3029
+2657
+1109
+1592
+4884
+5784
+1911
+2938
+2501
+5851
+3793
+
+1438
+7877
+7911
+2781
+1486
+4302
+6924
+3930
+6489
+
+3794
+5964
+3072
+2292
+5199
+2157
+2357
+3649
+4888
+4522
+5408
+4743
+2753
+1717
+
+8856
+7753
+8504
+1696
+5469
+7135
+7838
+6572
+4414
+
+3860
+6400
+4018
+4506
+6979
+5493
+1950
+2544
+7426
+1405
+6440
+6253
+
+8397
+2488
+4483
+3346
+8035
+3996
+6236
+4951
+2849
+6277
+
+2113
+5149
+2409
+3971
+2762
+1704
+1799
+3929
+3224
+2149
+5804
+2026
+2269
+1107
+3140
+
+2851
+10610
+
+2901
+2215
+3138
+4848
+2612
+5624
+4878
+4137
+4093
+4660
+3369
+1970
+1176
+2141
+2298
+
+50004
+
+37286
+4713
+
+2844
+1432
+2303
+4938
+3770
+1589
+5731
+5173
+3512
+5820
+3910
+6687
+
+8039
+11639
+2325
+11278
+8313
+
+7488
+15716
+1889
+4665
+
+10258
+1862
+10452
+8650
+8039
+8984
+8778
+6486
+
+8827
+12823
+25875
+
+4658
+12284
+10171
+5966
+13525
+
+7011
+2322
+8908
+8383
+3992
+
+8965
+4198
+18224
+19587
+
+5325
+20017
+
+13271
+10542
+5223
+3178
+
+1563
+4352
+6234
+2095
+1565
+1904
+6494
+6102
+3930
+4529
+5226
+5391
+1159
+4928
+
+1588
+4779
+3001
+3698
+5784
+5327
+2149
+3020
+5362
+5751
+5704
+3296
+4746
+2595
+3169
+
+5627
+24442
+5459
+
+1867
+7808
+1287
+4179
+1395
+5759
+3916
+3549
+7235
+1740
+3753
+
+11451
+8529
+1874
+6475
+1205
+8217
+9286
+
+2929
+3725
+6071
+2336
+1725
+7049
+2041
+1694
+1231
+
+3587
+6327
+8078
+4723
+10069
+5008
+8537
+7827
+
+4148
+4758
+3453
+1189
+5086
+1045
+2429
+5157
+4454
+3198
+3080
+5980
+6011
+3575
+5044
+
+7858
+7552
+7965
+3623
+7309
+4740
+6151
+1926
+2370
+6310
+
+1734
+11654
+8498
+
+2099
+4433
+3831
+6238
+4152
+1749
+4146
+5282
+3683
+4976
+5297
+1710
+4181
+4213
+
+1981
+1318
+5839
+4815
+6083
+3841
+2842
+3246
+3884
+5193
+3451
+5147
+2518
+
+2960
+3167
+5279
+2233
+6509
+5722
+3576
+6488
+4366
+1564
+6941
+
+7515
+1502
+4892
+4008
+3196
+1730
+7263
+5971
+6213
+6673
+7824
+
+5835
+
+2444
+4473
+6654
+2285
+2184
+6397
+3411
+2602
+5380
+6952
+1234
+1474
+6842
+
+3876
+7019
+1240
+6349
+4016
+2340
+8085
+1932
+5186
+4549
+6375
+
+19405
+2299
+5583
+
+13376
+12685
+9717
+12221
+2883
+
+9537
+8867
+13398
+6781
+13954
+
+2874
+1486
+5232
+5947
+2140
+7588
+1404
+8295
+6127
+7705
+
+22842
+26153
+
+8396
+2626
+3725
+5917
+2949
+1524
+
+30131
+
+5851
+1366
+3574
+1450
+5377
+6713
+3783
+3281
+4981
+6910
+5229
+4359
+
+9099
+2211
+2814
+4583
+4690
+7122
+9334
+
+17546
+
+1378
+6567
+5300
+3819
+5604
+5316
+7159
+3564
+4302
+1442
+5763
+6610
+
+1891
+8030
+3579
+4977
+3620
+2421
+7637
+1481
+9177
+
+3298
+3865
+6812
+5409
+6482
+7245
+7049
+4319
+3040
+6027
+7195
+6023
+
+28329
+
+3409
+4600
+6903
+4511
+4341
+6742
+6967
+4247
+6802
+3453
+1515
+
+2517
+13539
+3030
+11819
+
+2974
+3749
+3971
+4509
+9599
+1036
+8176
+
+1000
+2863
+1029
+2452
+2286
+2891
+5244
+3929
+5734
+2075
+5107
+2622
+4680
+1847
+
+9653
+4720
+5078
+1589
+2431
+3149
+3261
+7308
+6953
+
+5916
+7409
+3773
+7286
+4552
+9685
+2114
+
+38289
+
+1591
+10416
+3921
+16121
+
+3217
+10969
+5198
+9305
+8671
+9606
+9759
+
+60758
+
+26875
+
+12555
+12735
+14656
+4437
+4307
+
+1528
+4259
+3310
+5563
+2281
+4305
+2573
+5733
+2725
+1519
+3299
+2055
+4674
+6146
+
+21988
+17405
+15500
+
+1775
+3126
+5002
+9407
+6048
+3346
+8368
+2185
+2825
+
+24510
+
+25200
+37377
+
+9852
+1000
+2688
+11027
+11129
+11742
+
+16298
+12093
+16906
+1567
+
+1677
+3068
+6035
+6271
+6344
+5794
+1933
+6032
+4308
+6874
+6225
+1046
+6712
+
+2194
+4404
+8838
+6737
+8595
+2478
+1033
+3489
+
+5439
+14385
+13397
+3570
+13810
+
+1726
+5761
+4318
+2813
+3351
+3168
+1539
+3847
+4422
+6071
+3376
+1093
+1979
+3206
+4011
+
+2491
+4041
+3106
+2550
+3206
+5553
+3473
+5805
+1934
+4179
+1963
+4113
+3996
+2351
+3437
+
+8747
+3481
+11813
+7672
+4711
+
+4393
+2158
+3121
+6931
+7801
+3706
+4801
+3971
+1195
+1553
+1058
+
+20051
+11463
+
+1299
+6007
+6845
+1866
+2461
+3548
+4175
+
+10323
+9098
+5566
+8553
+8768
+1022
+10088
+
+5388
+4289
+5067
+5871
+5451
+4891
+8796
+6506
+3323
+
+2652
+1923
+5235
+1539
+9256
+5794
+6153
+1379
+3568
+
+12764
+15021
+11371
+1577
+4189
+
+1960
+7462
+6862
+6710
+2350
+1689
+8322
+1575
+5367
+1074
+
+4411
+4588
+3164
+1456
+6084
+2628
+5635
+2845
+3593
+3027
+6316
+5661
+2890
+2470
+
+5592
+5071
+4290
+4402
+6091
+2907
+1531
+6229
+6159
+1791
+3833
+2435
+3919
+3160
+
+18373
+2699
+6711
+14268
+
+7693
+1264
+4217
+5299
+3786
+4555
+1112
+3392
+2535
+6768
+3618
+
+11723
+6939
+7761
+
+15672
+15601
+13101
+6229
+
+23344
+
+7787
+4343
+6661
+2629
+3189
+5155
+7999
+2351
+1308
+2726
+3177
+
+18631
+18125
+
+9177
+3897
+3655
+3449
+8336
+4366
+3363
+2145
+8594
+
+1820
+9067
+2171
+2487
+15998
+
+16221
+3430
+14946
+6869
+5305
+
+4483
+7157
+1588
+2629
+5109
+7299
+1688
+4386
+6960
+6538
+1525
+
+1289
+1340
+1520
+3601
+4316
+2653
+6140
+6219
+5044
+4306
+2573
+4028
+1828
+5844
+
+7277
+5775
+2893
+3958
+6228
+6786
+7203
+7119
+5786
+6477
+
+4367
+10361
+5973
+9197
+2832
+7900
+6711
+8279
+
+9606
+6118
+10025
+10242
+8279
+8938
+6688
+7905
+
+2478
+1918
+5575
+1840
+4897
+5871
+6309
+2778
+1937
+5396
+3249
+3456
+1002
+
+12936
+11011
+11487
+11919
+13937
+8622
+
+3853
+13287
+8285
+7842
+
+11250
+7923
+8049
+3931
+7625
+4918
+
+6516
+8209
+1752
+6258
+8501
+7426
+
+10432
+3916
+12055
+13687
+1774
+8053
+
+4682
+6779
+7258
+6929
+6899
+2643
+7021
+4960
+1732
+4065
+2854
+3593
+
+13273
+11558
+5225
+3607
+5637
+11317
+
+65129
+
+6830
+3890
+4718
+6376
+3029
+8343
+7250
+7484
+3379
+
+16188
+11694
+16583
+18745
+
+4379
+2764
+4045
+3392
+1546
+3255
+2029
+3239
+1565
+5060
+1208
+1340
+5419
+3466
+4620
+
+5408
+11519
+10387
+7305
+5770
+1733
+5462
+
+9975
+4492
+14939
+
+6365
+5846
+1825
+2851
+5483
+4801
+4109
+2581
+4729
+5149
+5573
+3345
+5426
+2060
+
+15826
+6853
+10422
+12615
+
+26180
+
+5520
+1816
+1983
+4838
+2454
+4060
+2788
+6199
+6235
+2288
+4959
+4117
+3684
+3781
+
+33317
+13949
+
+1439
+1401
+4390
+4539
+5877
+2857
+3622
+3524
+4414
+1908
+2148
+1941
+4218
+1323
+
+9364
+14727
+3282
+
+22309
+24789
+7850
+
+3434
+19391
+9665
+
+1420
+3456
+4714
+4667
+2824
+3442
+1875
+2679
+4123
+1089
+2733
+4700
+5369
+1177
+1161
+
+1710
+4521
+2164
+5986
+2485
+5614
+6494
+5043
+6334
+4947
+1423
+3351
+4010
+4360
+
+3366
+3591
+8590
+3852
+9035
+8474
+1698
+5448
+
+4560
+2248
+7197
+1821
+5411
+4522
+4914
+7806
+1387
+5702
+1780
+
+3156
+2143
+5586
+2022
+3913
+5090
+5977
+4643
+3195
+5785
+6892
+5048
+
+3839
+1261
+10477
+8350
+5769
+12750
+
+19348
+9824
+15316
+17581
+
+7925
+7634
+
+2947
+4578
+1499
+1778
+10217
+5597
+3943
+8172
+
+2012
+3917
+8065
+5627
+7562
+5489
+4334
+1648
+6666
+8287
+
+15138
+7610
+12478
+12309
+13290
+
+6296
+1234
+7587
+5783
+3061
+5613
+3283
+4447
+7188
+4577
+4102
+
+8355
+2352
+1164
+1204
+2809
+6145
+6475
+3972
+1539
+
+1805
+1214
+4153
+1685
+2472
+4620
+2784
+1859
+1390
+3591
+2560
+6291
+2805
+
+11842
+20590
+15179
+
+22669
+16927
+13861
+
+2691
+9308
+3682
+1107
+
+6906
+5502
+2120
+6862
+8843
+5379
+9651
+8263
+7238
+
+3026
+5505
+2220
+1215
+4409
+2544
+3819
+7524
+3042
+4252
+1241
+
+11244
+2129
+8844
+10557
+4463
+2319
+
+5365
+2200
+1589
+4451
+5736
+1895
+4986
+3211
+1235
+4028
+1707
+1051
+6037
+
+14311
+5746
+
+2013
+8567
+3579
+6440
+3637
+10568
+8596
+7767
+
+5653
+7015
+5853
+3670
+4265
+3003
+4139
+3132
+7538
+3629
+
+3173
+1436
+3076
+5275
+4686
+5149
+6179
+2238
+1339
+2123
+4221
+6509
+5150
+2728
+
+35818
+
+11419
+8083
+12069
+3666
+2300
+
+28844
+10855
+
+30505
+18426
+
+3369
+3085
+7409
+7308
+6556
+9671
+5416
+5981
+7558
+
+5259
+9105
+15313
+6050
+
+3203
+3414
+11117
+6231
+6049
+11632
+4816
+
+11686
+5815
+11464
+7186
+9842
+5953
+8553
+
+9330
+1817
+3529
+1761
+1823
+3942
+9471
+2207
+
+8304
+9429
+12445
+3950
+16005
+
+4809
+3869
+6968
+3204
+3621
+5925
+3967
+5180
+5238
+3013
+5291
+1371
+
+4656
+2372
+1950
+4696
+1060
+3802
+5178
+5875
+3804
+5357
+3257
+1949
+3892
+5813
+3996
+
+10281
+24432
+9867
+
+7152
+5979
+4947
+6123
+6631
+6929
+4675
+3974
+5293
+6265
+4023
+6536
+
+2200
+2917
+4479
+3671
+7268
+3545
+6762
+5921
+1814
+3704
+2767
+4692
+
+9984
+5140
+2532
+4146
+13613
+11710
+
+2027
+2367
+7666
+8617
+7563
+6593
+5060
+4431
+2666
+5080
+
+7837
+6223
+2698
+8080
+3586
+8054
+6153
+
+4364
+5979
+13237
+9841
+8704
+
+5197
+4477
+5255
+8748
+11477
+1361
+4220
+
+12430
+4451
+1038
+9999
+7577
+
+59250
+
+3857
+2158
+7069
+4813
+1980
+1636
+3646
+6760
+2842
+4217
+7578
+
+1360
+2241
+2170
+2623
+2647
+5193
+3950
+4758
+5644
+2097
+3768
+5600
+3042
+3976
+
+3905
+7116
+9941
+1927
+2265
+4489
+
+6072
+3192
+6263
+3496
+3332
+2584
+5862
+6093
+6069
+4497
+1483
+6109
+4352
+1235
+
+18487
+10619
+16127
+11370
+
+2449
+2250
+2025
+3522
+5687
+5202
+4474
+5911
+3270
+5929
+4208
+2694
+5863
+3789
+2120
+
+2591
+9936
+3145
+4471
+2234
+2250
+1547
+3760
+
+13060
+12425
+20060
+
+1786
+6317
+2087
+1998
+4111
+2185
+5446
+2732
+3731
+6082
+4513
+6370
+2494
+3197
+
+5581
+5685
+1428
+1539
+1704
+5007
+2207
+4835
+1700
+4340
+1818
+3276
+1724
+1555
+
+16085
+18634
+
+1834
+2654
+5257
+2329
+4180
+4424
+4947
+5484
+1141
+4607
+5401
+2856
+2045
+4916
+5992
+
+2925
+4945
+4969
+1400
+6410
+1093
+2398
+1949
+2701
+2763
+6314
+1105
+1580
+2804
+
+52492
+
+4181
+8013
+15867
+
+2465
+4182
+6901
+1949
+5107
+
+3078
+5461
+5477
+5344
+5974
+9751
+
+26600
+
+3943
+9282
+9655
+4304
+11368
+
+4386
+7039
+7871
+9075
+2279
+10752
+1240
+5754
+
+6914
+7359
+6766
+5693
+7719
+5043
+8665
+7241
+3498
+8771
+
+12438
+
+2288
+2764
+2633
+3416
+3396
+3172
+2004
+3583
+1862
+3027
+3928
+3165
+
+3265
+2973
+2084
+5073
+1835
+2803
+2420
+3924
+4277
+5862
+1330
+5599
+3553
+3640
+5041
+
+8709
+1629
+
+5938
+9575
+1789
+6720
+
+3623
+4874
+8500
+6566
+6965
+9388
+2106
+8552
+
+9147
+4821
+5991
+9194
+3138
+2877
+5089
+4677
+3841
+
+2865
+4858
+4642
+3755
+5958
+8076
+5599
+7931
+
+5112
+2846
+2713
+3603
+5395
+4539
+4324
+2518
+1850
+5995
+
+44743
+
+1052
+3226
+3355
+4357
+4745
+4324
+4606
+3155
+3877
+1188
+4762
+1587
+2101
+1792
+4723
+
+2071
+4440
+7135
+5825
+6083
+4034
+4572
+6942
+
+3345
+5000
+1167
+1951
+4713
+2062
+4786
+7635
+1304
+6163
+5063
+
+7060
+1738
+2658
+1217
+1388
+7416
+3719
+3903
+2305
+1051
+4437
+2496
+
+9603
+
+17966
+16434
+6253
+
+8045
+8593
+9128
+6057
+10943
+11143
+2626
+
+1961
+2742
+5305
+4780
+4307
+2465
+4472
+2946
+1404
+2195
+4822
+5607
+1027
+5697
+
+26688
+
+1004
+1382
+1194
+4638
+3773
+5037
+3731
+2676
+3567
+1159
+1136
+2883
diff --git a/inputs/day_02 b/inputs/day_02
new file mode 100644
index 0000000..e49a6c4
--- /dev/null
+++ b/inputs/day_02
@@ -0,0 +1,2500 @@
+A Z
+A Z
+C Y
+A X
+A X
+A Z
+C X
+A X
+C Y
+A Z
+B Y
+B Y
+C X
+C Y
+C X
+B Y
+A Y
+C Y
+B Y
+B Z
+B Y
+C X
+A Z
+C Y
+B Y
+B Y
+A Z
+B Y
+B Y
+B Y
+B Z
+B Y
+A Z
+B Y
+C Y
+B Y
+B Z
+C X
+B Z
+A X
+B Y
+B Z
+C Y
+A Z
+C Y
+A Z
+B Y
+C Y
+A Z
+A Z
+B Y
+C Y
+C X
+A Z
+B Z
+A Z
+B Y
+C X
+B Y
+B Y
+B Y
+A Y
+B Z
+C Y
+C X
+A Z
+B Y
+B Y
+B X
+A Z
+C X
+B Y
+B Y
+A Z
+A Z
+A X
+A X
+B Y
+C X
+A X
+A Z
+A Z
+B Y
+C Y
+B Z
+A X
+B Z
+A Z
+B Y
+A Z
+C Y
+A Z
+A X
+B Y
+C Y
+B Y
+A X
+B Z
+C Y
+B Y
+B Y
+A Z
+A X
+A X
+B Y
+C Y
+B X
+B Z
+C X
+B Y
+A Y
+B Y
+B Y
+B Y
+A X
+C Y
+A Z
+C Y
+C Y
+B Z
+B Y
+A Z
+A Z
+A Z
+B Y
+C Y
+B Z
+C X
+C Y
+B Z
+A X
+A Z
+C Y
+B Y
+C Y
+C Y
+C Y
+B Y
+B X
+B Y
+B Y
+C Y
+A X
+B Z
+B X
+C X
+B X
+C Y
+B Z
+B Y
+A X
+C Y
+C Y
+C X
+B Z
+B Y
+A Y
+B Z
+A Z
+B Y
+B Y
+B Z
+B Z
+C Y
+A Z
+A X
+A X
+C Y
+B Y
+A Z
+B Z
+A X
+A Z
+B Z
+C Y
+C Z
+A X
+A Y
+B Y
+C Y
+B Y
+C Y
+B Z
+B Y
+A Z
+C Y
+B Z
+B Y
+A Z
+A Y
+B Y
+B Y
+C Y
+A Z
+C Y
+B Y
+B Y
+A X
+A Z
+A Z
+B Y
+B Y
+B Z
+C Y
+C X
+B Z
+A Y
+B Z
+A X
+C X
+A Y
+B Z
+B Z
+A X
+C X
+C X
+A Z
+C Y
+A X
+A X
+C X
+A X
+B Z
+C Z
+B Z
+B Y
+B Y
+A Z
+A Z
+B Y
+A Z
+C Y
+C X
+B Y
+A X
+A X
+B Z
+C Y
+C Y
+A X
+B Z
+A X
+C X
+C X
+B Z
+C X
+B Z
+A X
+A Y
+A X
+A Z
+A X
+B Y
+C Y
+A X
+C Y
+A Z
+B Z
+A Z
+C Y
+A X
+A Z
+B Y
+A Z
+B Z
+B Z
+A Z
+B Z
+A X
+B Y
+B Z
+C X
+B Y
+B Y
+B Y
+B Y
+A X
+B Z
+B Z
+A Z
+A Z
+C Y
+B Y
+C X
+A X
+B Y
+B Y
+C X
+B Y
+A X
+C Y
+A Z
+B Y
+A Y
+B Z
+B Y
+A Z
+A X
+B Z
+C Y
+A Z
+C Y
+C X
+B Y
+B Z
+C X
+A Y
+B Z
+A Y
+B Z
+B Z
+B Y
+B Z
+C X
+B Y
+A X
+B Z
+A Z
+B Y
+A Z
+C Y
+C Y
+C X
+C X
+A X
+C X
+A X
+A X
+B Z
+B Y
+B Y
+B Y
+B Y
+C X
+C X
+A Z
+A Z
+C X
+C X
+C Y
+C Y
+C Y
+B Y
+A Z
+C Y
+B Z
+B Z
+B Y
+C X
+C X
+C Y
+C Y
+C X
+B Z
+B Z
+B Y
+C Y
+B Y
+A Z
+C Y
+A X
+B Y
+C Y
+C Y
+C Y
+B Y
+A Z
+B Y
+A X
+B Z
+C X
+A Z
+C X
+A Z
+B Z
+C Y
+C Y
+C Y
+C X
+B Z
+C X
+B Y
+B Z
+C X
+B X
+A Z
+B Z
+B Y
+C Y
+B Z
+C Y
+A X
+B Z
+C Y
+C Y
+B Z
+B Y
+C Y
+B Z
+C Y
+A Z
+C X
+C X
+C Y
+A Z
+C Z
+C Y
+B Y
+C Y
+B Y
+B Y
+B Z
+C X
+C X
+B Z
+B Z
+B Z
+A Z
+B Y
+B Y
+A X
+B Y
+C Y
+B Y
+C X
+C X
+B Y
+B Y
+A Y
+B Z
+B Y
+B Y
+C Y
+A Z
+C X
+A Y
+B Y
+B Z
+B Y
+A Y
+C Y
+A Y
+A Z
+B Y
+A Z
+C Y
+C Y
+B Y
+A Z
+B Y
+B Y
+A Z
+B Z
+B Y
+C X
+C Y
+B Z
+B Y
+B Y
+A Z
+C Z
+A Z
+A X
+C X
+B Z
+B Z
+C X
+C Y
+B Y
+B X
+A X
+C Y
+B Z
+B Y
+C X
+B Y
+A Z
+A Z
+A X
+C Y
+B Z
+B Y
+C X
+C X
+B Y
+A Z
+C Z
+B Y
+A Z
+C Y
+B Y
+C X
+A Z
+A Z
+A X
+C X
+A X
+C X
+C X
+A Z
+C X
+B Y
+A Z
+B Y
+B Y
+C Y
+C X
+A Z
+B Z
+B Y
+B Y
+A Y
+A Z
+B Y
+A Z
+B Z
+B Y
+C Y
+A Z
+B Y
+B Y
+B Y
+C Y
+C X
+A X
+A Z
+B Z
+B Y
+C Y
+B Z
+C X
+B Y
+C X
+A Z
+B Y
+B X
+B Y
+A Y
+A X
+A X
+C X
+C X
+B Y
+B X
+C Y
+A Z
+B Z
+C Y
+C Y
+B Y
+A Z
+C X
+A Z
+C Y
+B Z
+B X
+C X
+B X
+C X
+B Y
+C Y
+C Y
+B Z
+B Y
+B Z
+B Z
+A Z
+B Y
+A Y
+B Z
+C X
+C Y
+C X
+A Z
+B Z
+C Y
+B Y
+B Z
+C X
+B Y
+A Y
+A X
+A X
+C Y
+B X
+C X
+B Z
+A Z
+A Y
+B Z
+C X
+C X
+B Y
+A X
+B Z
+C Y
+B X
+B Z
+C Y
+B Y
+C Y
+B Z
+B Y
+B Z
+B Y
+C X
+B Y
+C X
+B Z
+B Z
+C X
+B Z
+A X
+B X
+B Y
+A X
+B Z
+C X
+B Z
+B Y
+B Y
+C X
+A Y
+B Z
+B Z
+B Y
+B Y
+B Z
+C Y
+B Z
+C Y
+C X
+A Z
+C X
+A X
+C Y
+B Y
+C X
+A Z
+B Y
+A Z
+A Z
+B X
+C Y
+B Z
+C Y
+B Y
+B Z
+A X
+B Z
+A X
+C X
+B Z
+B Y
+C X
+C Y
+C Y
+B X
+C X
+C X
+B Z
+C Y
+B Z
+B Y
+B Z
+C Y
+B Y
+C Y
+C X
+B Y
+B Y
+B Z
+A Z
+C X
+A Z
+B Y
+B Z
+A Z
+C Y
+A Z
+B Y
+A Z
+A Z
+C Y
+A Y
+B Y
+A Y
+C X
+B Y
+C X
+B Z
+C Y
+A Z
+C X
+C X
+B Z
+C Z
+C Z
+B Y
+B Y
+C Y
+C Y
+A Z
+C Y
+C Y
+C Y
+A Z
+B Z
+C Y
+B Y
+C Y
+C X
+C X
+B X
+B Y
+C Y
+A Y
+B Y
+B Z
+B Y
+A Y
+B Y
+B X
+C X
+C Z
+C Y
+C Y
+C Y
+B Z
+B X
+C Y
+B Z
+C X
+C Y
+A Z
+A Y
+B Y
+C X
+A Z
+B Y
+C Y
+B Z
+A Z
+A Z
+B Y
+A Z
+C Y
+A X
+C Y
+B Z
+B Z
+B Z
+B Y
+B Y
+A Z
+A Z
+B Y
+C X
+A Z
+C Y
+B Y
+A Z
+C Y
+A Z
+B Z
+B Z
+A Y
+B Y
+B Y
+B Z
+C Z
+B Y
+B X
+B Y
+C X
+B Z
+C Y
+B Z
+A Y
+B Z
+A Z
+A X
+A Z
+C X
+C X
+B Y
+C X
+C Y
+A Z
+B Z
+B Y
+A Z
+B Z
+B Z
+B Z
+C Y
+B Y
+A X
+C Y
+C Y
+C X
+A X
+C Y
+B Y
+C X
+B Z
+A Y
+B X
+B Y
+A Z
+B Y
+B Y
+B Y
+B Z
+C X
+B Z
+B Z
+C X
+B Y
+A Y
+B Y
+C Y
+A Z
+C Z
+B Y
+B Z
+B Z
+C Y
+A Z
+C Y
+C X
+C Y
+B Y
+A X
+A X
+B Z
+C Y
+B Z
+B Y
+A Y
+C X
+A Z
+B Z
+C Y
+C Z
+C X
+B Y
+C X
+A Y
+A Y
+B Z
+C X
+B X
+C X
+B Y
+B Z
+B Z
+B Y
+C Y
+B Y
+B Y
+A Z
+B Z
+B Y
+C X
+B Z
+B Y
+B Y
+C Y
+C Z
+C X
+B Y
+A X
+C Y
+C X
+B Z
+C Y
+A X
+B Y
+A Y
+B Y
+C X
+C Y
+C X
+A X
+B Z
+C X
+B Y
+A Z
+C X
+B Y
+A Z
+B Y
+B Y
+B Y
+A Z
+A X
+C X
+C Y
+C Y
+B Y
+B Y
+B Z
+A Y
+C X
+C X
+B Y
+B Y
+B Z
+A X
+C X
+C X
+B X
+A X
+B Z
+B Y
+C X
+A X
+B Y
+C Y
+A X
+B Y
+C X
+B Z
+C Z
+B X
+C Y
+B Y
+C Y
+A Z
+C Y
+B Z
+C X
+B Z
+C X
+C Y
+C X
+C Y
+C Z
+C X
+C X
+B Y
+C Y
+C X
+C X
+B Z
+B Z
+A X
+C Y
+C Z
+B Y
+C Z
+C Y
+C X
+C X
+B Y
+C Y
+A Y
+B Y
+A Y
+B Y
+B Y
+B Y
+C Y
+C Z
+B Y
+C X
+C X
+B Z
+B Y
+B Z
+C Y
+B Z
+C X
+B Z
+B Y
+B Y
+A Z
+A X
+B X
+A X
+C X
+C Y
+B Y
+A X
+B Z
+B Y
+B Y
+A X
+C X
+C X
+B Y
+B Y
+C Y
+C Y
+B Z
+B Y
+B Y
+B Y
+C Y
+A X
+B Y
+C Y
+B Z
+B Y
+B Y
+B Z
+B Y
+B Y
+B Z
+B Y
+B Y
+C Y
+A Z
+B Z
+A Y
+B Y
+C Y
+B Z
+B Y
+B Y
+C X
+A X
+C Z
+C X
+B Y
+B Z
+C Y
+C X
+B Z
+A Z
+A Z
+C Y
+A Z
+B Y
+B Y
+B Z
+B Y
+C Y
+B Z
+C Y
+B Z
+B Z
+B Y
+C X
+B Y
+B Z
+A X
+C X
+C X
+B Z
+B Z
+C X
+B Y
+A Z
+B Y
+B Z
+C Y
+B Y
+A Z
+B Z
+B Y
+B Y
+B Y
+C X
+C Y
+A Z
+B Y
+B Y
+A Z
+A Z
+A Z
+A X
+B X
+A Z
+C Y
+C X
+A X
+B Z
+A X
+C X
+B Z
+B Y
+B Y
+C X
+A Z
+C Y
+C X
+A Y
+C X
+A Z
+B Z
+B Z
+B Y
+C Y
+B Z
+A Z
+A Z
+C Y
+B Y
+B Z
+A Z
+A Z
+B Z
+B Y
+A Z
+C Y
+A Z
+A Z
+B Y
+B Z
+B Z
+A X
+A X
+B Y
+B Z
+B Z
+C X
+B Z
+C Z
+B Y
+B Y
+B Y
+B Z
+A X
+A Z
+B Y
+A X
+B Y
+B Y
+C X
+C X
+C Y
+C Y
+A Z
+A X
+B Y
+A Z
+B Z
+B Y
+C X
+B Y
+B X
+C X
+A X
+A Z
+C Y
+C X
+C Y
+B Y
+B Y
+A X
+A Y
+B Y
+A Y
+C Y
+C X
+B Y
+B Y
+B Z
+C X
+C X
+B Y
+C X
+B Z
+C Y
+A X
+A Z
+A Z
+B Y
+A Y
+C Y
+C X
+C Y
+C Y
+B Y
+B Y
+A Z
+C X
+A X
+B Y
+B Y
+B Y
+B Z
+A Z
+B Y
+B Y
+A Z
+B Y
+A Z
+C X
+B Z
+C Y
+B Y
+B Y
+A X
+B Y
+A X
+B Y
+B Z
+C X
+B Z
+B Y
+C X
+C Y
+C Y
+A X
+A X
+B Z
+B Z
+B Y
+C X
+A Z
+C Y
+C Y
+C Y
+B Z
+B Z
+B Y
+A Z
+C Y
+A X
+A Z
+C Y
+B Z
+B Y
+B Y
+A Z
+B Y
+A Z
+C X
+A X
+B Z
+B Y
+B Y
+B Z
+A Z
+C X
+B Y
+C X
+B Z
+C X
+A Z
+B Y
+A Z
+A Z
+B Y
+C Y
+C X
+C Y
+A X
+C Y
+B Y
+B Z
+C X
+C Y
+A X
+B Z
+B Y
+C Y
+A X
+B Z
+A Y
+B Z
+B Y
+B Z
+A X
+A Z
+A X
+B Z
+C Y
+B Y
+A Y
+B Z
+A Z
+C Y
+C X
+B Z
+B Y
+C Y
+B Z
+C X
+C Y
+A X
+B Z
+B Z
+B Z
+B Z
+B Y
+C X
+B Y
+C X
+A Z
+A Z
+C Y
+A Y
+B Y
+C X
+A Z
+B Z
+C X
+C X
+A X
+B Y
+C X
+A Z
+B Y
+B Y
+B Y
+B Y
+C X
+C Y
+C Y
+B Y
+A Z
+B Y
+B Z
+B Z
+B Y
+A X
+B Z
+B Z
+C X
+C X
+C Y
+B Y
+C Y
+B Y
+B Y
+B Z
+B X
+C X
+C Y
+A Z
+B Z
+B Y
+A X
+B Z
+A Z
+B Z
+B Y
+B Y
+A Z
+C Y
+B Y
+C Y
+B Z
+B Y
+C X
+B Z
+B Z
+C Y
+C Y
+B Y
+C Y
+C X
+B X
+B Y
+C Y
+B Y
+B X
+C X
+B Y
+A Y
+A Z
+A Y
+B Z
+A Z
+A Z
+A Z
+B Y
+A Z
+A Z
+C Y
+B Z
+A Z
+A X
+B Y
+C Y
+C X
+C X
+A Z
+B Z
+B X
+B Z
+C X
+B Z
+C Y
+C X
+C Z
+C X
+B Z
+B Z
+B Z
+B Z
+A Z
+A Z
+C Y
+C Z
+C Y
+A X
+B Y
+B Y
+B Y
+A Z
+A Z
+B Z
+C Y
+C X
+B Y
+C X
+B Z
+B Y
+B Y
+B Y
+B Y
+B Y
+B X
+A Z
+A X
+A Y
+C X
+B Z
+B Y
+B Z
+C Y
+A Z
+B Z
+B Z
+C Y
+B Z
+B Z
+C X
+B Y
+C X
+B Z
+C X
+C Y
+C Y
+C X
+A Z
+A Z
+B Z
+B Y
+C X
+C X
+A Y
+A Z
+C X
+A X
+A X
+A Z
+C Y
+B Z
+B Y
+A Z
+B Y
+B Y
+B Z
+B Y
+C Y
+B Z
+A X
+B Y
+A X
+B Z
+A Z
+C X
+A X
+C Z
+A Z
+C Y
+A X
+B Y
+B Z
+B Z
+A X
+C Y
+A Z
+C X
+A Y
+C X
+B Y
+B Z
+A X
+B Y
+B Y
+A Y
+A X
+B Y
+C X
+A Y
+B Y
+B Y
+C Y
+A Z
+B Z
+A Z
+B Y
+A Z
+C Y
+C X
+B Z
+B Y
+B Z
+A X
+C Y
+C Z
+A X
+A X
+C Y
+C Y
+A Z
+C Y
+C X
+A Y
+C Y
+B Y
+B X
+B Y
+A Z
+C X
+C X
+B Y
+A Z
+A X
+B Z
+C X
+B Y
+B Y
+C Z
+A X
+A X
+B Z
+C X
+C Y
+B Z
+C Z
+B Y
+A Y
+A Z
+A Y
+C Y
+C Y
+C Y
+B Z
+B Z
+B Y
+B Y
+B Y
+B Z
+B Z
+C X
+A X
+C X
+B Y
+B Y
+B Y
+C Y
+B Y
+B Y
+C X
+A Y
+B Z
+C X
+B Z
+B Y
+A X
+C Y
+B Y
+C Y
+B Z
+B Y
+C Y
+C Z
+C Y
+A Y
+B Z
+A X
+B Z
+A Z
+A Z
+A Z
+B Y
+A X
+C Y
+B Y
+B Y
+B Y
+C X
+B Y
+A X
+C X
+B Y
+C X
+A Z
+B Z
+B Z
+B Y
+C Y
+B Y
+A Z
+B Y
+C Y
+B Z
+C X
+B Y
+B Y
+B Z
+C X
+C Y
+B Z
+B Z
+C Y
+C X
+C X
+B Y
+B Z
+A X
+C X
+A Z
+A Y
+B Z
+B Y
+B Y
+C Y
+C X
+B Y
+B Z
+C Y
+C Y
+C X
+C X
+B Z
+A Z
+B Z
+B Y
+C X
+A X
+C X
+A Z
+C X
+B Z
+C Z
+B Y
+C Y
+B Y
+C Z
+A Z
+B Y
+C Z
+A X
+B Z
+B X
+C Y
+C X
+B Z
+A Z
+B Y
+A X
+B X
+A Z
+C Y
+A Y
+A Z
+A X
+C X
+A Y
+C X
+B X
+B Y
+C Z
+A Z
+C X
+B Y
+C X
+C X
+B X
+B Y
+A Y
+B Y
+B Y
+A Z
+B Y
+C Y
+C X
+B Y
+B Y
+B Z
+C Y
+B Z
+A Z
+A Z
+A X
+B Y
+C Y
+B Y
+C Y
+C Y
+B Z
+A X
+C Y
+B Z
+C Y
+A Y
+B Y
+B Y
+B Y
+C Y
+A Z
+A Z
+B Z
+A Z
+C Y
+C Y
+B Y
+C X
+B Y
+A Z
+B Z
+A X
+B Z
+B Y
+B Z
+A X
+A X
+C Y
+A Z
+B Z
+C Y
+B Z
+C X
+B Z
+A X
+B Z
+B Z
+C Y
+B Y
+B Y
+C Y
+B Y
+A X
+B Y
+C Y
+A Z
+B Y
+C X
+A Z
+B Z
+A Z
+B Z
+C Y
+B Y
+B Y
+B Y
+C Y
+B Y
+B Y
+A Z
+B Y
+B Z
+C X
+B Z
+C X
+C X
+A X
+B Z
+C Z
+B Z
+A Y
+C X
+C X
+A Z
+A X
+A Y
+A X
+B Y
+B Y
+C X
+C Z
+A Y
+C Y
+B Y
+B Y
+C X
+C X
+B Z
+B Z
+B Y
+C Y
+A Z
+B Y
+C X
+C X
+A X
+A X
+A Y
+B Y
+C X
+A Z
+C Z
+C Y
+C Y
+C Y
+B Y
+C Y
+A Y
+A X
+B X
+B Y
+B Y
+B Y
+B Y
+A Z
+B Z
+B Y
+B Y
+C Y
+A X
+A Z
+A Z
+A Z
+B Y
+A X
+C Y
+C Y
+B Y
+B Y
+C Y
+A Z
+C Y
+A X
+C X
+B Z
+B Y
+C X
+B Y
+A X
+A Z
+C X
+C Y
+C Y
+C X
+C X
+B Z
+B Y
+A Z
+B Y
+B Z
+B Z
+B Y
+B Y
+A X
+C X
+C Y
+C X
+A Z
+B Z
+B Y
+B Y
+C Y
+A X
+A X
+C Y
+C X
+B Z
+A Y
+B Y
+B Z
+B Y
+A X
+C Y
+B Y
+A X
+C X
+B Y
+B Y
+A Z
+A Z
+A Z
+B Y
+B Y
+C X
+B Z
+A Z
+B Z
+A Z
+C X
+B Y
+C X
+B Y
+C X
+C X
+B Y
+B Y
+A Y
+C Y
+C Y
+B Z
+C X
+B Y
+B Y
+A X
+A Z
+B Y
+C Y
+B Y
+C Y
+A X
+C Y
+C Y
+B Z
+C Y
+A X
+C X
+A Z
+C Y
+A Z
+C X
+B Z
+B Y
+B Z
+C Y
+B X
+A Z
+C Y
+C X
+B Y
+C X
+B Z
+A X
+A Z
+C X
+B Z
+C X
+B Y
+A Z
+B Y
+C Y
+B Y
+C X
+C Y
+B X
+B X
+B Y
+B Y
+B Y
+B Z
+B Y
+C X
+A Z
+A Z
+C X
+B Y
+B Y
+B Y
+A Y
+C Y
+B Z
+C X
+C Y
+A X
+C Y
+B Z
+C Y
+B Y
+B Y
+B Z
+A Z
+A Z
+B Y
+A Y
+B Z
+A X
+C Y
+B Y
+A X
+C X
+B Y
+C Y
+B Z
+B Y
+C X
+A Z
+C Y
+A Z
+B Y
+C Y
+B Y
+C X
+A Z
+C Y
+C Y
+A Y
+B Z
+C X
+C X
+A Z
+C Z
+C X
+B Y
+C X
+A X
+C Y
+C X
+C X
+A X
+A Y
+A X
+C X
+A X
+A X
+B X
+B Y
+C Y
+A X
+B Z
+C X
+C Y
+B Y
+B Z
+C Y
+B Z
+B Y
+C X
+A X
+B Y
+B Z
+C Y
+A Z
+C X
+C Z
+A X
+A Z
+A Z
+B Z
+A Z
+B Y
+C Y
+C Y
+B Z
+C Y
+C Y
+C Y
+C X
+A X
+B Y
+A X
+C X
+C Z
+B Y
+A Z
+B Y
+C Y
+C Y
+B Z
+C Y
+C X
+B Z
+C Y
+B Y
+B Z
+A Z
+B Z
+B Z
+B Y
+A Z
+A Y
+C X
+B Y
+A Z
+C Y
+B Z
+A Z
+B Y
+B Y
+C Y
+B Y
+B Y
+B Y
+C Y
+B X
+B Y
+A X
+A X
+B Z
+A X
+C Y
+A Z
+B Y
+B Y
+B Z
+A Z
+C Y
+C X
+B Y
+A Z
+A X
+B Y
+C X
+B Z
+A X
+C X
+B Z
+B Z
+B Z
+B X
+A X
+C Z
+C X
+C Z
+B X
+A Z
+C X
+B Y
+C X
+C Y
+C Y
+B Y
+B Z
+B Y
+C Y
+C X
+A Z
+C Y
+C Y
+C Y
+B Z
+A Z
+A Y
+C X
+C Y
+B Y
+C Y
+C Y
+B Z
+C Y
+B Y
+B Y
+C X
+B Z
+B Y
+A X
+B Y
+A Z
+B Y
+C X
+B Y
+C X
+B Y
+A Z
+C X
+B Y
+C X
+B Z
+C X
+B Y
+A X
+C X
+C X
+A X
+C Y
+A Z
+C Y
+B Z
+A Z
+A X
+C X
+A X
+C Y
+A X
+A X
+B Z
+C X
+C Y
+A Y
+B Z
+B Y
+C Y
+B Y
+A Y
+C Y
+C Y
+B Y
+B Y
+B Z
+B Z
+C X
+B Y
+C X
+A X
+A Z
+C Y
+B Z
+C Y
+B Y
+C X
+C X
+A Z
+B Z
+A Z
+C X
+B Y
+B Z
+C Y
+B Y
+A X
+A X
+B Y
+B Y
+B Y
+A X
+B Y
+B Z
+A Z
+A X
+A X
+B Z
+B Y
+A X
+B Z
+A Z
+B Y
+B Z
+B Z
+B Z
+C Y
+C Y
+A Z
+B Y
+C Y
+A Z
+C X
+B Z
+A X
+B X
+B Y
+B Y
+C Y
+C Y
+B Z
+B Y
+A Z
+B Y
+A X
+B Z
+B Y
+C Z
+B Y
+B Y
+C Y
+B Y
+B Y
+A Y
+C Y
+A Z
+A Y
+B Z
+C X
+B Z
+A X
+A Z
+A X
+C Y
+A Z
+B Y
+B Z
+B Z
+C Y
+C Y
+C Y
+B X
+B Y
+B Z
+A X
+B Y
+C Y
+A X
+A X
+B Y
+C Y
+A Y
+B Z
+B Z
+B Z
+A Z
+B Y
+C X
+A Z
+C Y
+C Y
+B Y
+C Y
+C Y
+C Y
+C Y
+B Y
+B Z
+A Z
+B X
+C Y
+C X
+C X
+C Y
+A Z
+C Y
+C X
+B Z
+B Y
+A Y
+C Z
+B Y
+B Y
+B Y
+B Y
+C Y
+B Y
+C Y
+A Z
+B Y
+C X
+C Y
+B Z
+A X
+C Y
+B Y
+B Y
+B Y
+A Z
+A X
+A X
+C X
+C Z
+B Z
+A X
+A Z
+A X
+A Y
+C Y
+C Y
+A Z
+C X
+C X
+B X
+B Y
+A X
+A Z
+A X
+C Y
+B X
+A X
+A X
+C X
+A Y
+B Z
+A Z
+B Y
+A X
+A Z
+B Y
+A Z
+C Y
+B Z
+A Z
+C Y
+C X
+B Z
+C Y
+B Y
+C X
+A Z
+B Z
+A X
+A X
+C Z
+A X
+C X
+B Y
+B Z
+A X
+A X
+C Y
+A Z
+C Y
+C X
+C Y
+B Z
+B Y
+C X
+C X
+B Z
+B Z
+C Y
+A X
+B X
+C X
+C Y
+A X
+A Z
+B Y
+C X
+A Y
+C X
+C Y
+A Z
+B Y
+B Z
+B Y
+C X
+C Y
+C X
+C X
+B Y
+C X
+C X
+B Y
+C Z
+C Y
+C Y
+B Z
+B Z
+B Y
+A X
+B Y
+A Z
+A Y
+B Y
+C Y
+B Z
+B Z
+A X
+B Y
+A X
+B Y
+A Z
+B Y
+C X
+A Z
+B Z
+C Y
+B Y
+A Y
+A X
+C X
+A X
+B Y
+B Z
+B Z
+C Y
+A X
+B Y
+B Z
+B Y
+B X
+C Z
+B Z
+C X
+C Y
+C X
+B Z
+C Y
+A X
+A X
+C X
+B Y
+B X
+B Y
+A X
+C Y
+A Z
+B Y
+B Y
+B Y
+B Z
+B Y
+C X
+A Z
+C Y
+A Z
+B Z
+C X
+C Y
+C X
+C Y
+A Y
+B Z
+B Y
+B Z
+C Y
+A X
+B Y
+A X
+C X
+B X
+C X
+A Z
+B Z
+B Z
+C Y
+B Z
diff --git a/inputs/day_03 b/inputs/day_03
new file mode 100644
index 0000000..fca63f0
--- /dev/null
+++ b/inputs/day_03
@@ -0,0 +1,300 @@
+qFdBBvtHHfvRlfvsqldvqjPpQmnQmjnjjjTRTLGRNG
+ZCWhhCsJCzSJzSbzgsmPTGNNPPNGjgLTLjgn
+WJZsbJMwJcszJcScwhVltFwBFBlqddvFdHDfqq
+crtTsGTtqFThGQGCrsjTwdNJwpRdnJJwffRClpSf
+PWVBPVHLvHHVgvZWBzmPpnfRSJJRQnSRflRPSNSl
+gmzBzDgzmZQWLDLLgVmDrqGhsscrqDMGhcqtqcFr
+HsbcdVrsbVbcLfPqqQsqqtPj
+mMBFzZRnmFMRBDnDFBGZDGdDqLjtdQtPtgfPfttgtqgq
+BZvZZdJMBFdJhSvhbhchcHll
+GNRSqRfcNTpfGCcqjfzBpDQPWBzgDpQsPWzW
+rrSdnVHlbMdLdBDzgtBtBmQt
+rbFwwnLFLFwlMLrFwFhMVLrGNSTfZTRhfTqjGJRRZTCNcf
+QWTnQCnWNNWmTnSPQwmqDbcscbpcjPjVPbrjpq
+vJhzZNlNNgdzgzJdlGzHHcHDpjsHqrvbVrbvrD
+RzRdRlhLgtCwCWSLnN
+SFTJFTTwTVVSJBnSTdvNNfWbZCZWNZCNNhBv
+srLrcHDcsjtLcLLcrLctjlcvbDNhmWCvNhZWGZZhNvhZmb
+rclgtMPrrSgVTgJCng
+DbrhDzcDffbzNbZvZWSSqSTNSVWv
+gCPltPmCPglFnPFwtGPhGPwTCTdZZWZVRvWqdRqVVdTdvR
+hLBhlmlstcffBzrpfj
+wFLLmhMfwZLDwmMNRhZwRLDvJgldbJHPdQvcQHHJQPgH
+bjrVrTSSJdQHcVll
+CGCSsCCBpspBrqbSttpbqWmWZRmfFRZhZMNNLFqFLm
+zWGjjBHGjzzTWMjhtDDWtPPlJZPJpvqQrmZTqQQpmr
+RFbVLcBVLRcRVcCsCCqvpCZqmplqQJmPrlvQ
+FLNRRSSRgScSVLLLNdFdwjHjnftBtGMgMjzHgzjWjj
+znVSqnqbqzSbzTHqDDZmlcFcnhDMnDmn
+LtjsvdvLJdjfFwRRCCMlChwCpMcclCcZ
+LgvjjfjFQVgNTgWq
+SJRJRFFCMSsGRMMwtZJRCVTgqgTVgTBCVpjTjmmWlB
+ccvnnpnDVqTcBVTV
+vPHprdHdpnzHSMsSrMRZJGws
+GddGrcGNHnGvnCHddvCSWqTSWsTwTWShbHlhhb
+gDPzLRVZgQfpRRFQDDVFDfzhSzsTBqqqnqbhnWTSSlST
+QVFfFgRQQgLtgffZRfpFPfntjrcrjCmtCdMMmjMdJJJNtm
+jjmNcpGCNmDqqsBfnZnGGGRLsZ
+lrmlVWlQQtWllgtbQVrWBnZsJgsRLfZLhZBBBffL
+rWMVQtrFlbFlSSMHVSdHHNHdcdDcddzppzzm
+bTpjpjcVTLmphbLppJwqzqwJLqqzzzgRLJ
+sdHNbrvNHrqPvZZZPRww
+bNQCrCNtNsSlhffhVhpVWFCW
+lpNnpMMZZDbNbnBjcrbjvScFmbGj
+wqhdqVqdscrjdLsv
+HQftVqWCfhwqtCCjWwfqzzVPZRJQgMlggZMMMZTNMNTnNRTN
+fvvGbFtVmtTwgtMT
+WcCcClzPCCcczJJScPWWZzBDmwbhBBHSghgDDMTHMDBD
+nWPljWzZWnbcbRsNFjFFdFdVjFsj
+NQrcLNmQGRfGLHHLZgbbnpjZJJJndbgnlv
+DWtThDWtzzhltWTwjbdpvjbgqjgg
+VtSPFWtBPBFSFBWCStshWBmlRfHfMRcfQLQLLlmCrCcN
+pbmwqJnqSJVwwDPCjZZzrZfD
+QtssBTvNdNvNtQvQGpGhdjPjDjczZDfjhgPPDcgjgr
+GltptQpMGNNpRWlWFVFHJFHLWH
+ZLLsDGGVhZcQQLhrLshrVFwHnWqJnWMnJJJnqfWfGn
+jMlPdTlPlgCgFpngFWFnJfpw
+TlTNbdSSTSTmTjPMTCdBPjBMrLDczsZcNrDhRNDRQRLLRVVz
+HDLpBqDVVTvwGDDNRT
+PlVWjfhsPMMmWtlFNTrhrrvCCCTNNbvw
+lsglfgVJmsfMjJfSqSzdZnLgqcnLnp
+pfCDJWBpfDffpJLgQJzzVzNrgNgNgNhNzmVr
+ZnnGZbGTPZnsnRFdTlbrwdrNzrrmmWwmwVwttH
+GbPGRvTnZljWnpqSMMCjqJQSCf
+ZgnFgwggznFrfrwfHhNMMr
+pctLCLRhPHBLMLWfBL
+JJcdJcQCCJmQJppmlgndnFslsVnsvghZ
+WpMgTppWGSWWJmJDpJcJJhqm
+zZzjZNHvNjPvNsbZLbRLzsPcqhVJSVttdwhwmdRhtdJRVd
+sLbvvCZCPSSSbbPfNlQQTQGBllCTnMnWQn
+fwbwswddwSbBfDBggMBPDPhHcPWDmhHhmWnWPC
+FQFlzLCzQTlrTTzvltFqFrmhPHjnhhnnchcJWcRRmRRq
+lpLzlFZzCltrTNlTztQLZfSMGBNdSBVwbBNVSMSbVs
+FMmgbTFdgLSgFQdjrRPrQBPDdj
+ZqqWRvsfGrrPvvPC
+wZzwnqccRwRNNpRSMztSMMFbgzLTFS
+qTwBPfTfqQDMDrssHdvtRHccHMjR
+gWSZGWzGFhnFFgnhNsRHtRdsVjZcRjHs
+jgplhpJJFgnDrrwfqprwDP
+CWhMSRfWhVVnRSZnVVdsLQqQMzGqLBvGMQqczv
+PHbpNwrjJplttvcclLlQzzDszc
+NrJbJrFNNJNPrmwrtbjtNmCfSWfWhSZZfSWCsfShfFVR
+VLhRPLGLRPRSStRRLwfGqfmDwbmqbqqDlD
+rBSFvppnzTbwDwlDcFWm
+MJrnJTMvMsrTsPtshRNPZdSLhL
+BZBrRCrnCQBBnZfGqhGGMMRcthMhMG
+TLjsCdDCPTvNssjdsPsDgsgqGcPHczchtHczWzPWzzlWhG
+gsTpsdNbvNNjNSpsNDTsmCnSVQFmSFwZnQBnmnQQ
+llbsNsWrmbrGbWCNtBjcCFBzQFZBCFjF
+LdSpwgdqSgzwJdRdLMRHLjQQjHjFHctjHBDTZj
+gSppgpSJMhpzwrhblfbhhlWlnW
+DwhTvvsJZWsBnDzPpBLbFp
+GHtNGRGNdzbMBBtmBt
+NljlCSVSHdjGSQRGlCQSCswqfWzhZfTcfzcJvshJ
+lmsGNFsDGqCbFQBbffjjwpzptw
+hRQdvdrvrvSngWnvnHrTMfzfzRtftzwVTwwpzB
+HnSSWrvLJvWJGFDsmFLPDFcQ
+bwwpGphpLghpTvpWphvJlFLJqqltjSjVlSStSR
+cmszZdDdBZzcNcDCDcNsmNMcqVjMJStFRJltVPVrlVPjVJll
+HcdmcCzzzQcHNcsCdpnGnhwGgnRggHvbbR
+CfMBbwBGbMbDCFrDvhFFDT
+mjzRjjRdSmjPnzFZgnnrTT
+cmSsVcHjLHTwMfLBpBpBwM
+whqqfZzgHvhSzzVNVDbpDbmbVbNpJD
+GcQFntGTCCcCTMCTGBlJsJsDDWpRbWBsJpNS
+FnPcrGFFdddMnCnTqgqgqPHfLjLqgSzz
+zMSzzjssFdGnszRtNftqqwFHbbZw
+RRPLVrgrwHqBqgwt
+rPWmLCTCQlCQQmmrWLrQShJshhzdhhJjcSjlzRds
+lvgvCDfPqLHppqpCCDJncbntttbBtBBVHjwtrB
+TdddszSQsWcngjzVbcVZ
+hRWsTRTGQhNRGhRTFSWmlpgfqlvLmplPqvvGgv
+LbWFLQdWWPwWSjSHPHRfppHHDRpggR
+zmqqNNzlzmnzzNCmVCmtBzpfGsfpBgDgspprcfcfsrRB
+qNNVNJtNmmmNzznVJzvCTDZWhvZZjZFbWQQhFhbZSw
+DjdHqJVVhHVZjhDHPWtDtZLFBRBFmSRTFSbwmRRTffTTJf
+NNznnGlgMQsnQzNclzpfSRSMRmfPMmFRwBwB
+vzrcGcNcPPvHvHPt
+wLCcmZwWTNtZNdMSMGSCnJGGMB
+RFbHsPhVvFPRjlshhrnQnGjQGSdSqJfqnQBM
+HhzVlFHhPwzScmSTgL
+TNlBhDNvNBFpJgpPPpDQ
+jjfCdCZZqsCZsbdqPgFGGMRzSFMqQMRS
+jnWPtWssCtWcmZbbtstvnrrvhVBhTNNhBHlBlL
+DZwNWPDzPVWbJngrQjrNnrQcMg
+GRRfttLBhhvTvmLmFcFcgFFSnjWrnsrG
+TLthBWtTRLHqhlLLfmhBqVPDJVdPwzJCPPZHwdDdVd
+GGVhrVSMQwQqfVssVvnWFgvgWn
+jtlcRBBtQRmpWsjzFCvzWnvF
+QPcRbpppDmNDtPPblZMfhZdDwdMrqSSGrq
+ZRrdtBdQvQsWnnfWFZsF
+bJLcMzNDLbMgwfnGMWFv
+lpvhmzNDmDmlNbzbmrVVPrHRCPHQBVCP
+rZllQrsRWrlQswccMVbGbVbTdcQQ
+NtJCntLSHCjznfLTcGGGqWMdWM
+jCtzzSFthhSSSjPJrFDlvWrlDZRpwpRZ
+mQmbLjbrLQjLmTtwwWBTTvWjtt
+BHSqdHclHHNFlppNqWPwfwDvTfDPPtCw
+ddSGMGHcdcMhMZnBbmbZmgGJJg
+lvvBzvDnlzjfPnfjnQPlldRbVbRqbqqCgsqqVpQQgVqc
+NNFtGNMtTNFmJNGNZtZMwVRTTcsCpVTbbgCbgRhscp
+FGNGZMtNLWmmJWGFWJGLSNtPrPnBfDzzvjnDBzpnvDBLnv
+fwvQRFQvQqwpwNJrwN
+BstDnBjhjBhnshSptpJzWqNppbfr
+CsDjCdZcBCDcjnfDHfhnfggZMGlgQVmgMTRmgVGMMl
+MwlBVqVlsgnmzwJsvjhWZhGPvjvRRWzG
+QNQpQpftHdHHCHGfSpCrQNdSrDRDhchhjvjcPrRRWrPvhZjv
+LtLSCTSGfHGdGwswnqsggssTqV
+qDDCHjzjznTvWshZQWfnZZ
+PFFmmNMMtNMVFtczcFPJNrLhZwQZQsSvvSvWvGQQJQssss
+tFzrrPPNNFlzVrpRTpblRDqjTpDC
+DWDrrBdpmdpBrCgDthdtfcHsqJsCqscqwfsjzHcq
+TNLNFNSTQNQTSnlMcczVJjVzsqLDDfJJ
+TFPZQRvvlMSPPtRWDtmDRWrBGr
+LWGVZdrvWdpLGWRsjPMsHmdHdHldlj
+zJzznChzzzCSfTgMhCPDmlDCbmlsmjDDQj
+nSTTJhJtnShNtzwhgNrGRRWZZRvMWMtVrqGp
+PbPmtNmBbPlqBvqlDJBT
+LpGVDzVpVZqqSTvq
+pMnWGLRLRppnGpGndrGPtgDCjMPmbPgCQmPPNN
+sqcZcbZZpcZspcCCRMmznWGWdLWhwDRGTTWggT
+NjFSJgVHrvfVtrGzWdSznDwLSTLn
+jFrBNVVjBFNvHrFHBlBFFpMslPgPcpMPmcQPPZCgpP
+frddqsThtsTfTbPcvhsrbsRLpRBNRpmDpGmRGcRNLpGp
+QWJHCJwWzlHZQZHQCJJRzRqnLDGRGpnGBRnNDN
+CVwHCClJjQgWCZVZQgMwSdthjrqvrSPPhdbqtPhs
+TvdphBBhhhCgdLNNJJJLWz
+fVcsqRVrPcnJWgDnJN
+JlqsRJtssZwqwVtPwltRPsHHbFTwTFbpjHhQjTQbvpTF
+cQSnPDDQJGNzwnNpZb
+RHDrssVRDHRgsRFHRlrVwzzpNGZlfZdppZdwGNZb
+sHCHtDgtCjVVLFChqPMhBCMcSTqB
+hdbQbqcCCQcqFbCbVdcWCQQlRMBtGlRHBtBMpHhpHThZMR
+LLsSLLfgJPrgPnssnmlZtlZpHGHVGfZVtZpl
+PvmvgmvvnzmrSsSLJDqDNzqFDQdDwzWWbV
+HNNjnLbpLGHvWJDhdWWPpWDW
+lVcSNgcSVclhRlPZPRCDCR
+cqmSQrwwrrVSrtQFqVNmFwjQnvjHzBbLLGjfjzHTzvnH
+QmvWVppPHQQvbbvmSHSpPzfzwnWMTZFFzwFMCzLnwT
+jGBljlNNjgDtGDrNjjtjqqDRnMzRLnFzCFnMfRfMzCnttF
+jqNrrGdJcdgLjqDqBrDQbbmhdQQmmpPbphmbVv
+ZHQCggVHHRDWvbfjGptVtLvL
+nnFwnwrDDMShnhFrFLLLpjvPlPGGtLGb
+dcNSMhrrTDCBCsWgCTQW
+HqDDLGtDdCnhfDnwnV
+PmlJsJTPlbdBTzTnzhnnCCWWzV
+lSPjMScggsScgjSMMbqHLFGrRLGHRZZtdrcG
+ZVVtNNppdZSdLtCPqnHhqJJFtb
+zgwwQBfwmGgSrDfgrrGBggzHCnbJbqbCJFnqhHBhnHHCqJ
+rvrzfmlRrgDgmrzfggvwzvdjjcccLjMjVcVcsVLjVSZR
+dppcLRHpphchhNhSddjzHzWQWQLtrMsrWQCWCsMZssCZ
+JGfBfJJfBqvGVlVbDBwDBDBfZnrQsMQtssMttssDsQMWZncn
+qPVwlgPBmjpPhcmS
+zGPnzBgPzPnPlHZlDDHnZBNCvrtcjcjmMcFzNcNFmFdc
+qQpfsLTTSspqTfJdmdCtMjdtjvJcmr
+bfQqqSrswLLrfpLTqprfTnDVDVBBbgHPDHnhDPgDbV
+JssTnsdFztZLdNJnNtTsLNZGqlbGFBqrGMHqHBcFBqMFMH
+CCgSfgPSvSfhpShSRppCdfrlqGHGGcHmclmqbbqbqlPc
+wvVSVjQSSQhRVvfQChvZZsdtJstjLNLZDJnLss
+CmfNNNZNqDrnDjMhZM
+gdczzGtdFcddtWQgGGMnVhnjJwnrJFDPTwMP
+dlvcdzdHtzQSLRSfmhLSqv
+ZpFFLcHFZZRRmJVZgD
+PzhrtQntzcrjCRJtbtRgBsBRVR
+zdzWfCzhQzlhWfWhlvpFNlpSqcMSHHMv
+NrrMgMhNQhNjQrtqtPtwVtZpggPw
+TfRLndnLFCRFTFbbRDHwpVqqBBwsHwZsfH
+TJFRdLlRThrlcvZcvQ
+scrwRVjbQvQBzsBC
+gMfVqNnVmnCBQDTvdn
+SMqhWqVlmWSmqMVRSJjjpcFrcLpJrR
+HtSQHQntHsHMrtHnGfHQVVzLvSBSVvVVSFNJzzVN
+cmPRmpqlpPmcgTlTpjJNjjVDvDRFNVVBFD
+hlmCpmqmpgqpZTlcdQHFQfbHHZttwMQwtr
+VpWgbgfwCjbftwVPPpGQFQhzTBQTBGPzqFTS
+dbRbDcRrsnsRrLZmLRDZldDZqTNTGqqFFzGGhSTNTFTzNmNT
+MlLdHlDDHrHclMMrCwgHCCwWwCbCCjjg
+GGNLhfDMVcVrcGsT
+jSJQFjHbwPFSvQSHwZFvHSHrqCCrrTsqBwNBrcBNsVTsqq
+QjZSjZJZPvNRZJQPnSZbJZRWLfnmgDlmhdhWgWLdMdfmhM
+CgGnzPNggCJtNTgTZTPZzZZvvcDcDDdqDFcJssJDHDqvHq
+jhhrrLVlmLRRnRflfVbFHHHqdVsDqcvbHVDb
+jWfWwrlmRRnQmPzZNGZPBNCQTB
+NzDDhwNmhvtrGmNCvWRVbcRRVTcHHcVFTbwV
+LgsPlLsQgQdJsLdldtpgFFTMbnFqTcMbHqFcPncq
+dgsJsLLLggljrhtGNNtSjvGm
+ptzSrZtzhsmmtPrhLFRFnjnnLMsnfLRL
+HvwVDHwWWgGDGdHgqVDWDMnRnTjFNTNjfLJvRRRRRR
+DwDgWgQbDDDHwBBBWdwQGVHhlhlZZSSmztfcppSBhzZcZp
+CWmWRzlMJqWDWqCJbqDlCBBVLMQHVMGrfMVtQZrsLL
+SnhPdFFPNZsBBdHtVQ
+SSPcFFgnwnSpwvcSjwzCqRzTmJbpJCRBmbbD
+wQbqGWWSqwrbGWWWGjbNMJPfgfnnDmPnPNLfjN
+tJFztRZCvVRCztZFZRVgmMhmgNLfRfnmDPNPhm
+BFCVZzpVFlHCdbQqcTcGlJbbSG
+tttfLPZZQZTlZPHHPWgMVvBnjmvjnjgGBQ
+FzcNDDDrNzprrrshprhFJtVGVnjtjGvnhvVnnjnjGM
+RDqJNszDPfdqPtlT
+QCJdMjCQbdBjSbTHDsbWDDwHTP
+zlvlmqzqGfgdNzLldrHwwPGpWDrPGZWprr
+gfVfRczVqcRzmdcSQMjQSQCSjQCQ
+RhhCGhRBShjjRfpwppFTfFHZHZZD
+qzdqzlnPPctPdmtPdTZbwQvvwqvHHvZpwZ
+nVTVTcsWmWSRhhRVrGVB
+GmshRMnzqRGsPNwMwcrrpcVV
+CDCbFCLvCgfDSFLslgDpwpLtTwwcPtNNtTTprt
+JvSFbSbbFllJlgDvlJbgdRhRdqzBGnzshZnRRRnHBZ
+ShJhtcsvvvQbnnsccVTLVTppWqddpVnLWp
+NdzPrPZgPMNNrmzpTzpTCjWfzCpzVL
+dZgHmZRPPZRlZmrPDtDRccvbtQQbJbRS
+wqjLjwhznhBLqLWGfvSlvcmlrJsqrtJTJJ
+PwbpFPQDRCDrDJTrTmvs
+gbZVFbZHgwHbCdpCRMnffNLhWnnzMdzLLW
+RVVGSNTTRlNqHblBNB
+JfwJMvLLZwLsMJwWMJfwLHBqzFlvzpBQcqzblFbBqblq
+wMCZJsgJCCCnsMHrgLLjSPSVTgShtRjTPhRRmt
+lmQSSWdMHHLWgWqD
+ZZtVGGGJrJvGVCwfgHNLccmNFFcqtc
+vrCGPhvrTPdRBnsRTmmp
+dDMDDjzCQjwCCcDgjSLLLsLNlmpplN
+FqrHFTFRLCLVFBmS
+JhHJhHRThrfPZPvhnTZZbWdwdwDDWtDzJDtbMtCW
+ghwDzJRDwHmPthncSPncLLsPcvnv
+MWCrNTCHrMVjQQMQcSdnpTLnFFdTcnTc
+qbWMfWfNrWVQWfbjVBbqMfwDtqzmhmRRzGhtHhHhRwZh
+fmSmnjTjrlzGlTzJdH
+BrhRRQMrgQvgFFhQQbwpFvGGdZqZJqpJqHVpJGJLHdLJ
+ggbDwQMsvsMQrFMFcWSPSCPmSsPfnnmP
+cmNVbMrrrjcHDRcvfW
+wQGdFfSThFsLhhHWvDCWDCJRCCjd
+LtpStGhqrrpnfnpp
+bvcccTqbgvpGndJtgdsgNd
+wDQwQhtQhQRmSmjsJndJdBBJBJnlLS
+hwhmRrzFVjtwzDmrVFrvPCcCMVPPvfqpCCTVVb
+jRrRNPNRWjPRWPRQNjQjThTCzBBzDCFBGzgDFGGQ
+dnppLwmwCnvtlqltvtnTGBThGhdFZhgzDzGccD
+MvnqpLlMqCqCHMjWPPHMSHSs
+NNpNNvpvBdtTrMFFMhSSwzjzchzwhzwL
+VVndHqflQZZZgHSLLhjzRSmZRhcR
+glGgnqbQlngnWCGJpJprtrtFrdPPGs
+WqwRjzGtRzZZRRGjWBJzjwmfMTHGGssTTDsrLmmmQLMD
+SNdvSdFlSNNhSPFFcPFclbQQslHmfHTDsTQMLgDTmHQQ
+CNcCFvpdnWpjWwJf
+PVPnVHcnRncGZqbVzHVPnnLbSMjwrzWMjSwDtWwWtwWhwDWz
+pTfsQCshCllpglWWSjBMSQSrMrjM
+hvpvppggCpJTvTmshgfsmZRRHqbcLPHZmPLRnmPZ
+LQbhVZZmZhZjBdbGmgHqnHTmvqgnnWHr
+SzCfDFFNRfsSFFMFfvprvpWzqzgqTwHTvp
+CDNDFJgMDSQhjVdPJLQG
+plpdLdpjjrrHJJjLrrHLFdbzzCcvzgFgcwggzPMFvvcMhM
+GRtSBQNsQlMPRzRlzw
+ZSTtsmBlmjLLpnpH
+hglGNVSdNSghzSgCBhDFLBMBtFMMFtHtbtLL
+frQZccRcqGFmFHrJ
+nvfGZwvTwGTfQwvfTwfgnCSlpdnzgzslppCsCV
+snTSPbQnTTnQgbmsTJsLfZwjffhpLnGRjpGfjL
+dcNWcNHHlNtWHHlCtltWNFNMLZwjpGfpmrZfrFprrRGpwZfp
+HmdNWCmDMVvQPDgqJs
+GGFtSngQLfnSnQffgPnRgFRGRwmRJvwbBbJDwjvTbjrwhJvJ
+WHClslcNNWcqNWlCZdcHsVrThBwBjbhDTDBhrvDZJTwm
+NWVqqcHHNpsNcNVdVlhCMlHQQMQQzLfzQPttFGPMLSLgtF
diff --git a/inputs/day_04 b/inputs/day_04
new file mode 100644
index 0000000..cbdde37
--- /dev/null
+++ b/inputs/day_04
@@ -0,0 +1,1000 @@
+16-80,80-87
+4-9,10-97
+6-94,93-93
+31-73,8-73
+4-72,5-73
+6-63,4-5
+3-44,4-45
+89-96,95-95
+56-95,29-95
+5-22,5-22
+49-63,48-63
+97-97,2-98
+1-13,3-63
+63-93,64-94
+41-63,64-76
+24-45,46-72
+28-94,29-78
+18-36,35-37
+83-85,8-84
+22-35,21-22
+18-48,18-18
+98-98,1-99
+88-94,94-96
+21-93,74-93
+63-83,62-82
+89-90,15-90
+63-80,61-79
+12-14,19-63
+30-30,31-78
+7-88,87-88
+27-41,27-27
+6-35,6-36
+3-78,77-79
+4-67,22-57
+19-82,65-87
+3-93,6-46
+18-30,31-41
+14-95,13-94
+33-59,17-33
+37-38,38-96
+1-5,4-90
+64-79,39-84
+59-62,1-37
+15-29,2-9
+38-44,37-43
+8-75,9-54
+77-89,7-77
+2-87,2-86
+7-81,6-6
+59-94,93-93
+27-75,9-27
+24-76,23-75
+2-10,28-63
+60-61,17-60
+76-76,2-75
+12-60,13-61
+39-96,95-95
+31-88,88-94
+6-79,35-66
+51-93,58-94
+40-74,23-40
+12-62,13-65
+30-49,49-69
+36-98,10-98
+29-95,9-95
+8-79,79-86
+1-73,2-19
+8-15,14-16
+6-34,1-5
+38-58,37-59
+58-84,62-84
+26-26,25-27
+5-89,47-88
+36-50,34-49
+59-94,58-95
+67-71,68-70
+3-64,3-65
+65-93,94-94
+38-91,75-95
+97-97,6-98
+32-78,33-79
+20-89,19-90
+34-95,35-95
+3-99,2-97
+29-90,89-89
+31-48,32-49
+63-81,51-72
+6-96,98-99
+8-94,27-94
+7-99,3-99
+19-90,18-91
+28-97,27-88
+76-86,40-75
+7-65,6-8
+2-12,13-26
+83-88,60-86
+54-99,54-97
+6-7,6-97
+11-78,77-77
+3-99,3-99
+21-21,21-88
+11-20,2-50
+53-88,89-98
+52-97,52-98
+8-29,4-32
+88-89,6-89
+7-62,6-7
+89-98,8-89
+32-91,3-91
+39-49,48-50
+8-63,9-64
+23-80,22-79
+44-66,16-65
+44-58,38-58
+71-98,70-97
+4-99,5-99
+8-90,5-73
+51-98,77-96
+26-89,25-25
+8-25,14-65
+39-64,45-65
+30-94,59-92
+37-96,3-38
+45-72,22-44
+2-95,98-98
+35-35,34-34
+16-82,14-44
+66-79,65-78
+71-72,72-94
+14-21,13-20
+14-92,1-14
+24-69,68-88
+21-80,79-81
+56-86,69-85
+48-85,49-85
+47-90,90-91
+7-22,11-27
+97-98,24-92
+7-91,90-91
+46-58,58-69
+83-92,91-98
+27-66,27-66
+13-92,12-97
+84-86,17-79
+55-91,54-56
+2-87,2-88
+46-46,46-78
+97-97,92-98
+24-47,25-46
+4-22,21-27
+76-87,11-77
+17-87,16-18
+50-81,49-87
+93-98,29-93
+19-44,20-43
+18-53,53-57
+9-45,9-46
+7-55,33-55
+22-25,25-81
+96-96,75-97
+9-11,10-99
+27-73,72-74
+10-72,71-71
+65-66,64-66
+27-81,86-96
+33-37,37-68
+26-90,46-90
+1-4,4-97
+9-95,10-95
+6-32,7-72
+68-89,12-95
+2-98,13-99
+89-91,55-90
+7-23,22-67
+11-11,11-68
+86-90,72-91
+33-53,29-29
+80-91,6-80
+15-87,27-73
+1-99,1-99
+68-69,64-95
+17-62,45-61
+7-26,26-30
+64-96,95-97
+17-18,18-58
+20-97,98-98
+4-87,5-87
+15-19,18-19
+66-67,23-66
+13-95,9-94
+14-81,82-85
+12-85,8-85
+4-91,3-4
+98-99,31-95
+3-77,2-76
+15-97,5-15
+45-72,71-73
+3-70,2-4
+81-97,18-95
+68-83,17-84
+1-3,4-77
+33-92,91-91
+31-91,30-32
+45-64,46-65
+23-94,89-95
+5-76,5-58
+5-86,3-86
+31-69,8-69
+66-69,66-68
+50-64,63-64
+1-97,99-99
+76-77,75-80
+90-97,88-97
+22-52,11-30
+40-70,40-98
+2-96,42-99
+4-49,1-59
+20-75,74-76
+23-52,42-66
+3-94,92-96
+4-93,2-3
+4-92,3-92
+57-75,70-76
+4-95,2-5
+1-41,2-8
+94-99,2-81
+45-63,10-63
+3-8,9-45
+17-50,17-49
+43-76,42-76
+2-86,85-87
+27-29,28-42
+74-80,37-53
+19-97,13-99
+9-31,9-31
+37-39,38-59
+26-79,15-91
+85-85,31-86
+99-99,5-96
+10-39,9-16
+22-60,22-59
+13-95,1-12
+91-93,23-93
+77-98,19-78
+53-93,93-98
+78-80,27-79
+23-25,23-24
+12-62,11-13
+4-48,1-73
+6-63,6-63
+35-86,34-36
+5-27,4-27
+23-73,5-83
+28-34,21-38
+36-93,93-97
+16-84,17-84
+12-99,11-80
+33-81,20-32
+76-93,50-98
+30-82,33-93
+1-99,1-99
+61-68,32-67
+20-84,20-83
+7-13,6-13
+51-52,7-52
+27-67,65-65
+1-91,90-91
+81-98,86-98
+93-97,48-93
+4-53,5-53
+68-76,18-74
+5-21,1-6
+19-97,18-98
+2-65,2-66
+4-72,4-73
+5-92,65-75
+9-77,23-76
+17-89,17-89
+57-60,55-59
+2-90,1-1
+28-81,28-81
+34-56,48-85
+2-97,97-99
+42-43,43-99
+17-60,15-19
+62-99,6-62
+32-41,25-44
+4-37,7-36
+22-72,71-73
+24-32,24-33
+44-78,44-44
+1-32,32-65
+47-95,14-95
+47-77,46-56
+5-97,3-99
+20-99,21-98
+9-65,8-65
+88-96,23-96
+15-64,9-64
+1-24,25-64
+71-91,90-91
+51-52,39-53
+10-57,9-19
+8-86,7-87
+3-7,8-78
+13-17,16-49
+6-90,7-72
+6-86,4-85
+17-93,16-94
+7-83,82-83
+33-81,32-62
+13-99,19-99
+26-98,88-96
+48-98,97-98
+36-50,49-50
+1-75,74-75
+15-95,2-15
+51-58,16-51
+1-98,6-98
+2-99,10-90
+13-97,96-96
+50-70,43-70
+15-33,14-16
+8-89,7-44
+44-91,40-44
+93-94,2-96
+4-88,5-89
+15-73,73-74
+96-97,97-98
+39-57,56-85
+65-67,47-66
+26-27,27-78
+57-80,57-80
+97-99,2-98
+18-18,18-18
+27-47,27-48
+86-93,90-97
+19-47,10-48
+62-78,28-78
+93-99,3-93
+55-59,55-78
+98-99,89-91
+34-35,7-35
+78-88,21-79
+26-92,15-33
+57-64,38-57
+47-92,91-91
+14-38,13-13
+96-99,40-96
+55-84,25-82
+56-76,73-86
+10-82,26-81
+30-89,31-89
+24-68,25-68
+11-44,12-45
+33-49,11-49
+58-58,18-57
+23-84,23-85
+3-31,2-2
+50-96,41-96
+5-98,1-6
+10-97,11-97
+36-91,38-91
+9-88,20-87
+6-96,6-97
+28-87,74-87
+6-77,1-78
+6-73,6-74
+66-93,18-85
+5-80,66-80
+12-95,8-95
+68-89,18-68
+6-15,14-16
+4-87,4-88
+50-50,24-54
+96-97,3-96
+3-46,12-50
+77-87,29-34
+32-53,52-91
+10-68,5-68
+40-54,47-54
+8-22,9-16
+96-99,2-97
+10-63,6-9
+22-65,64-65
+88-89,87-90
+15-99,98-98
+89-89,66-90
+9-65,4-10
+36-61,39-39
+78-99,70-78
+85-87,86-97
+3-73,67-82
+3-68,68-69
+14-15,15-90
+42-59,43-59
+15-60,3-4
+25-92,29-79
+19-99,18-18
+3-88,10-76
+61-98,97-98
+2-92,1-7
+24-86,17-24
+82-82,3-83
+23-25,20-26
+4-65,1-66
+68-72,34-76
+24-93,25-94
+17-47,18-48
+30-65,30-65
+71-77,75-76
+24-64,58-88
+4-30,31-31
+4-65,5-66
+12-65,64-64
+52-52,51-81
+67-69,2-68
+6-81,8-81
+53-88,52-53
+70-98,69-98
+13-15,14-79
+15-71,14-86
+31-65,31-64
+59-86,5-86
+8-9,8-15
+94-96,63-78
+28-49,27-82
+3-3,3-95
+74-74,75-96
+82-96,97-97
+18-83,6-98
+1-74,3-41
+25-87,24-88
+42-96,95-96
+25-89,26-35
+35-61,35-61
+20-39,22-35
+4-65,3-5
+48-97,46-67
+37-73,38-73
+42-45,42-43
+54-85,84-85
+23-61,20-23
+23-60,22-28
+41-63,23-41
+68-90,69-89
+12-97,2-33
+8-83,25-83
+6-12,5-15
+37-67,31-68
+1-2,5-81
+63-89,62-62
+63-90,4-63
+8-95,1-7
+47-72,41-44
+93-94,19-81
+86-88,25-87
+57-57,57-88
+13-94,13-93
+16-17,15-16
+61-80,58-81
+4-96,3-4
+12-28,31-54
+57-96,56-57
+16-89,17-19
+71-87,70-90
+79-93,78-92
+31-38,32-70
+16-17,17-75
+76-92,91-95
+77-77,56-76
+63-90,62-66
+6-86,2-81
+3-42,4-41
+38-94,93-98
+52-60,52-61
+17-84,16-84
+5-5,13-90
+25-25,25-39
+22-91,22-90
+11-76,10-11
+9-45,2-45
+70-77,69-76
+6-10,5-7
+36-36,37-42
+12-96,54-98
+2-96,1-1
+2-94,5-94
+32-84,83-88
+84-84,84-96
+17-54,53-54
+1-68,14-69
+9-98,8-97
+1-88,85-94
+40-69,39-39
+5-21,21-76
+27-28,5-28
+2-80,2-81
+15-96,9-15
+87-89,2-89
+19-84,33-92
+32-95,11-95
+38-53,17-37
+67-89,67-90
+4-5,5-60
+45-84,83-88
+9-32,77-86
+45-72,16-65
+23-24,23-92
+8-93,92-92
+7-91,7-90
+45-48,47-78
+58-58,4-59
+86-91,13-87
+79-85,28-79
+12-13,10-16
+62-99,98-98
+25-96,25-96
+16-57,56-79
+38-77,38-76
+82-97,68-83
+7-66,56-63
+5-7,6-95
+15-93,8-15
+9-93,10-93
+74-90,51-91
+69-75,63-80
+4-11,10-91
+36-99,33-53
+8-8,9-95
+94-96,95-96
+1-38,37-38
+66-77,67-78
+65-87,87-95
+35-37,36-48
+55-92,54-93
+20-21,19-21
+76-76,77-98
+39-69,44-57
+6-26,25-54
+18-37,36-37
+34-74,45-57
+60-83,98-99
+92-94,3-93
+13-59,12-72
+48-98,6-87
+17-88,8-87
+24-92,23-93
+98-98,4-94
+11-57,8-8
+65-87,12-87
+25-99,25-98
+18-88,18-87
+34-80,33-79
+45-96,5-97
+33-67,20-33
+2-98,97-98
+32-33,33-90
+85-90,85-91
+94-94,38-95
+93-93,42-92
+38-48,13-78
+3-95,25-89
+17-93,16-16
+57-70,39-53
+11-61,7-10
+39-89,6-39
+7-17,16-97
+30-95,56-94
+2-8,8-23
+4-17,17-45
+77-82,73-77
+21-84,8-29
+35-91,81-97
+5-54,3-9
+1-94,2-95
+7-66,67-96
+21-45,15-22
+6-45,11-44
+52-87,29-51
+15-82,46-81
+74-76,45-75
+95-99,20-93
+40-89,24-52
+20-99,20-99
+5-34,35-97
+27-45,44-62
+8-75,2-8
+50-55,43-49
+15-50,19-50
+13-71,10-71
+45-64,44-45
+88-92,47-88
+33-68,33-52
+39-79,31-88
+31-58,95-97
+22-31,2-31
+36-88,37-89
+45-93,44-92
+6-97,96-98
+34-72,10-82
+54-58,31-58
+96-98,6-96
+45-46,46-96
+56-69,55-68
+14-54,13-53
+25-45,18-81
+54-55,40-55
+94-98,72-94
+7-91,6-92
+69-96,68-95
+42-82,41-46
+64-94,13-91
+52-80,52-81
+39-69,15-73
+32-53,33-52
+11-22,11-21
+15-79,14-69
+44-65,51-66
+1-32,4-26
+36-36,6-35
+65-71,65-72
+49-74,23-74
+27-96,74-96
+12-70,13-71
+64-66,7-66
+17-97,18-99
+30-30,31-95
+94-96,90-94
+1-15,15-15
+11-45,7-10
+14-93,15-93
+19-47,20-44
+9-97,8-98
+6-62,61-63
+21-51,50-63
+4-95,2-95
+54-55,55-58
+4-62,4-63
+18-88,18-87
+4-79,5-79
+92-97,10-93
+9-79,20-78
+44-87,26-91
+7-51,10-51
+43-92,62-95
+16-44,16-45
+5-98,4-99
+20-64,19-63
+2-20,1-19
+12-96,12-95
+13-94,95-95
+16-46,8-87
+5-24,25-54
+4-12,6-18
+32-66,31-37
+24-76,56-96
+5-51,4-51
+55-60,54-55
+11-74,6-7
+6-99,53-68
+15-90,88-91
+27-84,28-83
+14-67,3-98
+41-56,30-54
+29-52,29-51
+83-89,12-85
+47-76,40-64
+18-70,18-18
+5-20,6-21
+26-53,25-53
+36-48,49-92
+48-80,47-48
+51-63,17-58
+9-79,47-80
+38-39,7-39
+38-58,23-51
+19-37,36-37
+1-61,1-60
+9-65,8-65
+15-17,16-95
+50-66,50-79
+18-39,17-18
+7-14,13-98
+5-80,5-80
+12-98,12-12
+5-6,6-99
+72-91,24-95
+46-92,20-96
+27-73,26-49
+7-52,52-98
+20-57,2-56
+1-69,6-68
+52-95,53-95
+58-71,58-65
+20-86,20-86
+50-71,49-49
+9-79,8-78
+45-62,25-45
+15-23,18-24
+4-96,4-95
+13-97,12-97
+1-99,15-96
+52-54,53-54
+7-10,9-42
+12-79,11-78
+1-88,1-89
+23-95,24-94
+5-96,5-96
+27-73,64-73
+31-97,74-97
+6-74,74-90
+29-91,14-30
+16-36,7-37
+70-83,69-82
+58-96,30-97
+9-89,51-64
+63-88,87-99
+9-22,9-21
+25-99,22-22
+60-60,21-61
+31-83,32-88
+31-65,64-97
+9-9,9-91
+10-47,9-21
+14-97,60-83
+5-74,5-73
+4-7,6-89
+1-94,50-92
+12-69,11-12
+75-84,80-85
+27-38,18-39
+11-27,4-12
+93-96,5-93
+56-88,88-97
+45-99,20-95
+21-93,94-94
+16-96,15-16
+86-92,6-84
+10-63,3-7
+23-59,58-69
+10-13,12-12
+15-97,14-86
+15-98,4-50
+30-30,22-29
+44-58,45-58
+85-87,42-86
+58-59,16-59
+14-63,8-14
+48-64,48-64
+1-34,1-33
+75-99,76-98
+8-60,1-8
+3-8,7-9
+22-70,1-71
+38-93,93-99
+91-93,62-92
+95-95,6-96
+4-92,4-92
+35-99,36-84
+53-94,51-51
+27-93,27-94
+3-5,4-55
+88-94,44-94
+79-95,85-94
+11-23,23-46
+62-88,89-89
+1-84,1-85
+84-86,85-89
+1-99,1-99
+64-81,46-64
+25-26,25-31
+17-92,3-4
+7-51,16-24
+17-97,85-99
+5-5,6-91
+73-91,90-91
+18-65,49-64
+1-93,92-92
+5-97,96-97
+7-14,13-14
+42-73,42-86
+40-48,34-48
+22-94,21-93
+5-71,70-70
+74-92,11-91
+90-92,5-91
+53-58,16-59
+20-78,8-78
+3-5,4-4
+48-50,49-95
+71-88,44-45
+30-39,7-30
+11-69,40-69
+7-85,82-90
+75-79,53-67
+6-84,83-83
+86-95,88-96
+3-46,2-47
+3-86,86-94
+50-98,46-50
+24-45,23-24
+44-52,4-91
+38-67,67-99
+70-93,34-94
+40-86,40-40
+5-71,9-58
+31-71,31-70
+11-50,49-64
+34-39,35-45
+45-72,38-44
+68-73,72-72
+63-64,15-64
+91-91,31-90
+15-86,10-85
+6-17,7-8
+7-96,53-99
+88-88,28-89
+22-65,18-22
+13-95,99-99
+23-99,22-99
+55-62,33-55
+8-85,47-84
+13-81,14-22
+7-90,92-99
+11-47,13-77
+38-64,20-65
+58-61,2-62
+19-27,11-27
+30-43,29-34
+74-95,93-95
+66-76,62-87
+88-88,89-89
+45-80,45-80
+31-76,31-87
+37-84,37-37
+81-81,66-80
+41-85,19-42
+19-47,5-18
+50-75,25-75
+91-92,46-91
+65-84,3-47
+32-34,32-33
+36-60,5-61
+11-98,12-99
+27-74,27-74
+4-41,31-93
+46-76,45-74
+12-38,26-38
+5-80,5-80
+5-99,6-99
+49-90,49-49
+5-85,1-4
+3-99,4-28
+21-39,1-21
+46-86,45-69
+73-92,73-91
+2-97,45-97
+1-81,3-60
+44-78,17-78
+11-78,77-79
+18-51,52-75
+20-82,20-82
+43-55,4-43
+2-33,3-33
+11-16,4-10
+26-34,27-34
+85-94,93-93
+20-30,13-31
+42-90,42-89
+30-45,46-93
+5-99,4-95
+51-51,51-52
+95-96,38-96
+20-72,19-98
+31-86,30-86
+42-82,43-83
+15-89,21-90
+5-98,5-98
+7-96,37-98
+28-29,28-62
+4-89,36-89
+2-98,71-97
+28-90,8-17
+72-73,45-73
+95-96,82-96
+4-60,59-77
+20-63,64-64
+2-24,2-46
+26-67,26-68
+52-53,32-53
+24-99,79-88
+60-62,23-61
+2-96,3-97
+13-92,29-71
+1-2,1-85
+9-77,44-99
+1-96,3-96
+1-68,4-67
+52-60,12-61
+10-90,10-90
+66-69,41-69
+99-99,35-97
+15-95,14-95
+93-95,80-92
+7-41,8-42
+1-94,95-95
+3-32,1-32
+80-83,17-84
+53-69,68-91
+86-90,2-87
+73-87,28-86
+8-35,7-34
+74-88,36-74
+45-45,44-68
+67-88,9-66
+54-90,29-91
+13-45,44-94
+70-71,24-71
+82-96,81-97
+43-73,42-73
+8-45,39-44
+5-42,6-43
+54-93,5-55
+75-96,75-96
+11-31,3-7
+82-90,81-82
+33-77,54-57
+77-79,73-79
+34-90,33-56
+4-13,13-49
+3-19,18-97
+3-97,2-99
+28-51,19-29
+77-78,5-94
+9-11,10-11
+51-69,51-68
+34-73,46-52
+25-96,96-98
+1-55,2-55
+20-81,26-70
+91-97,79-92
+22-74,9-22
+3-97,2-3
+39-94,32-93
+66-95,96-97
+10-10,9-11
+30-65,21-40
+2-94,4-93
+1-91,2-90
+31-84,84-99
+82-95,6-75
+67-91,90-91
+12-12,12-97
+7-75,6-7
+28-28,14-27
+45-50,35-49
+43-72,71-73
+59-73,21-73
+58-75,39-82
+96-97,96-98
+97-97,2-98
+6-92,3-7
+84-86,27-85
+39-95,31-45
+27-84,43-95
+48-95,33-95
+47-55,46-48
+42-82,41-69
+12-96,13-98
+6-99,1-4
+62-94,62-94
+64-82,4-83
+73-75,10-74
+11-24,10-12
+23-54,7-23
+48-53,18-69
+7-11,10-11
+87-87,11-88
+50-79,78-78
+4-52,51-53
+81-82,39-82
+94-97,1-95
+15-75,33-75
+40-52,33-38
+34-71,70-71
+37-38,38-66
+7-43,5-6
+11-20,10-31
+19-98,1-4
+19-87,18-88
+94-95,18-95
+5-13,7-98
+45-73,32-45
+18-95,94-94
+37-95,94-95
+41-42,26-43
+18-92,19-92
+70-90,19-79
+16-95,15-96
diff --git a/inputs/day_05 b/inputs/day_05
new file mode 100644
index 0000000..a572b71
--- /dev/null
+++ b/inputs/day_05
@@ -0,0 +1,513 @@
+[G] [D] [R]
+[W] [V] [C] [T] [M]
+[L] [P] [Z] [Q] [F] [V]
+[J] [S] [D] [J] [M] [T] [V]
+[B] [M] [H] [L] [Z] [J] [B] [S]
+[R] [C] [T] [C] [T] [R] [D] [R] [D]
+[T] [W] [Z] [T] [P] [B] [B] [H] [P]
+[D] [S] [R] [D] [G] [F] [S] [L] [Q]
+ 1 2 3 4 5 6 7 8 9
+
+move 1 from 3 to 5
+move 5 from 5 to 4
+move 6 from 7 to 3
+move 6 from 1 to 3
+move 1 from 1 to 9
+move 1 from 1 to 4
+move 3 from 6 to 9
+move 2 from 7 to 5
+move 1 from 5 to 7
+move 1 from 7 to 2
+move 2 from 2 to 5
+move 2 from 6 to 3
+move 6 from 8 to 9
+move 7 from 3 to 9
+move 1 from 8 to 7
+move 8 from 9 to 7
+move 5 from 4 to 8
+move 1 from 6 to 2
+move 2 from 8 to 4
+move 9 from 9 to 1
+move 2 from 8 to 5
+move 1 from 8 to 5
+move 5 from 9 to 2
+move 1 from 6 to 8
+move 5 from 1 to 7
+move 1 from 8 to 2
+move 2 from 1 to 7
+move 1 from 2 to 6
+move 4 from 5 to 4
+move 2 from 1 to 4
+move 13 from 7 to 8
+move 3 from 8 to 6
+move 2 from 6 to 8
+move 10 from 3 to 5
+move 2 from 7 to 6
+move 3 from 5 to 6
+move 10 from 8 to 1
+move 1 from 8 to 6
+move 6 from 2 to 4
+move 1 from 5 to 8
+move 5 from 6 to 3
+move 2 from 8 to 6
+move 1 from 7 to 9
+move 2 from 2 to 7
+move 3 from 5 to 1
+move 2 from 7 to 2
+move 6 from 6 to 3
+move 7 from 5 to 6
+move 5 from 3 to 2
+move 10 from 1 to 8
+move 2 from 1 to 3
+move 8 from 3 to 7
+move 9 from 4 to 8
+move 1 from 9 to 2
+move 2 from 7 to 8
+move 4 from 6 to 9
+move 1 from 4 to 9
+move 5 from 7 to 4
+move 3 from 6 to 5
+move 1 from 1 to 5
+move 14 from 4 to 8
+move 3 from 9 to 7
+move 4 from 5 to 9
+move 2 from 4 to 1
+move 27 from 8 to 6
+move 2 from 7 to 2
+move 2 from 7 to 4
+move 4 from 2 to 9
+move 7 from 8 to 4
+move 10 from 4 to 1
+move 18 from 6 to 5
+move 6 from 9 to 2
+move 1 from 9 to 5
+move 11 from 2 to 6
+move 2 from 5 to 4
+move 1 from 2 to 8
+move 2 from 4 to 9
+move 2 from 8 to 3
+move 1 from 6 to 8
+move 4 from 9 to 7
+move 4 from 7 to 8
+move 7 from 5 to 1
+move 4 from 6 to 3
+move 2 from 3 to 7
+move 6 from 5 to 3
+move 2 from 8 to 2
+move 14 from 6 to 2
+move 3 from 8 to 1
+move 15 from 2 to 3
+move 1 from 6 to 1
+move 14 from 3 to 2
+move 2 from 2 to 5
+move 1 from 9 to 3
+move 13 from 1 to 3
+move 4 from 2 to 6
+move 10 from 1 to 3
+move 2 from 6 to 9
+move 6 from 2 to 9
+move 6 from 5 to 2
+move 2 from 6 to 8
+move 7 from 9 to 5
+move 1 from 5 to 8
+move 2 from 7 to 6
+move 34 from 3 to 6
+move 19 from 6 to 2
+move 12 from 6 to 9
+move 3 from 6 to 3
+move 2 from 3 to 2
+move 1 from 6 to 5
+move 17 from 2 to 8
+move 2 from 3 to 2
+move 8 from 9 to 4
+move 7 from 5 to 2
+move 5 from 4 to 1
+move 4 from 1 to 6
+move 1 from 1 to 6
+move 6 from 6 to 8
+move 2 from 8 to 4
+move 17 from 8 to 6
+move 2 from 4 to 5
+move 17 from 6 to 9
+move 22 from 9 to 7
+move 1 from 5 to 2
+move 20 from 2 to 7
+move 29 from 7 to 9
+move 1 from 4 to 7
+move 3 from 8 to 3
+move 1 from 8 to 5
+move 3 from 8 to 2
+move 2 from 2 to 4
+move 27 from 9 to 7
+move 2 from 3 to 2
+move 1 from 5 to 2
+move 18 from 7 to 5
+move 1 from 3 to 2
+move 1 from 5 to 6
+move 18 from 5 to 3
+move 1 from 6 to 3
+move 2 from 9 to 5
+move 10 from 3 to 5
+move 4 from 3 to 6
+move 1 from 7 to 1
+move 1 from 5 to 1
+move 6 from 7 to 6
+move 1 from 6 to 2
+move 4 from 4 to 8
+move 5 from 5 to 4
+move 1 from 3 to 8
+move 2 from 1 to 8
+move 2 from 2 to 5
+move 3 from 3 to 8
+move 6 from 8 to 2
+move 1 from 3 to 9
+move 1 from 6 to 3
+move 6 from 2 to 8
+move 7 from 8 to 4
+move 8 from 5 to 2
+move 5 from 4 to 6
+move 2 from 8 to 3
+move 2 from 3 to 9
+move 1 from 3 to 9
+move 2 from 7 to 1
+move 2 from 1 to 2
+move 12 from 2 to 4
+move 1 from 9 to 7
+move 1 from 6 to 2
+move 9 from 7 to 9
+move 1 from 8 to 2
+move 9 from 9 to 8
+move 6 from 7 to 8
+move 4 from 4 to 1
+move 6 from 2 to 5
+move 1 from 4 to 9
+move 3 from 1 to 9
+move 6 from 4 to 5
+move 5 from 8 to 9
+move 8 from 4 to 6
+move 3 from 9 to 8
+move 1 from 9 to 3
+move 3 from 8 to 3
+move 5 from 9 to 2
+move 3 from 2 to 6
+move 3 from 6 to 9
+move 3 from 6 to 2
+move 4 from 2 to 6
+move 6 from 9 to 7
+move 1 from 1 to 8
+move 8 from 8 to 5
+move 20 from 5 to 3
+move 2 from 2 to 8
+move 6 from 7 to 1
+move 10 from 6 to 3
+move 4 from 6 to 7
+move 4 from 1 to 9
+move 2 from 1 to 2
+move 3 from 6 to 9
+move 5 from 8 to 3
+move 3 from 7 to 9
+move 17 from 3 to 2
+move 1 from 6 to 2
+move 2 from 6 to 9
+move 1 from 6 to 4
+move 12 from 9 to 2
+move 1 from 4 to 7
+move 8 from 3 to 8
+move 8 from 8 to 9
+move 7 from 9 to 2
+move 1 from 9 to 7
+move 18 from 2 to 9
+move 1 from 7 to 2
+move 2 from 7 to 1
+move 1 from 1 to 2
+move 4 from 2 to 7
+move 15 from 9 to 3
+move 1 from 9 to 1
+move 2 from 1 to 8
+move 6 from 2 to 4
+move 8 from 2 to 1
+move 2 from 8 to 5
+move 2 from 9 to 3
+move 4 from 4 to 1
+move 2 from 5 to 8
+move 2 from 8 to 9
+move 14 from 3 to 1
+move 2 from 9 to 7
+move 2 from 4 to 3
+move 1 from 2 to 9
+move 5 from 7 to 9
+move 21 from 1 to 9
+move 2 from 1 to 6
+move 3 from 2 to 4
+move 1 from 7 to 3
+move 19 from 9 to 5
+move 1 from 2 to 7
+move 1 from 7 to 2
+move 3 from 4 to 2
+move 19 from 5 to 7
+move 2 from 2 to 5
+move 1 from 5 to 3
+move 1 from 3 to 4
+move 8 from 9 to 4
+move 1 from 6 to 3
+move 1 from 2 to 6
+move 1 from 2 to 1
+move 8 from 7 to 3
+move 5 from 4 to 7
+move 2 from 6 to 4
+move 1 from 5 to 9
+move 1 from 1 to 6
+move 1 from 1 to 2
+move 2 from 4 to 7
+move 1 from 4 to 2
+move 2 from 4 to 9
+move 1 from 6 to 8
+move 1 from 1 to 5
+move 1 from 8 to 6
+move 1 from 1 to 4
+move 25 from 3 to 1
+move 1 from 4 to 2
+move 2 from 3 to 6
+move 3 from 1 to 9
+move 6 from 9 to 8
+move 1 from 6 to 3
+move 1 from 2 to 9
+move 15 from 7 to 6
+move 2 from 2 to 6
+move 1 from 3 to 8
+move 1 from 1 to 4
+move 6 from 8 to 4
+move 1 from 3 to 8
+move 1 from 8 to 5
+move 2 from 5 to 2
+move 8 from 6 to 7
+move 1 from 8 to 7
+move 1 from 9 to 4
+move 9 from 4 to 5
+move 19 from 1 to 3
+move 9 from 3 to 5
+move 6 from 7 to 2
+move 2 from 1 to 7
+move 7 from 2 to 4
+move 7 from 5 to 6
+move 5 from 4 to 3
+move 3 from 5 to 8
+move 1 from 2 to 4
+move 2 from 4 to 8
+move 14 from 6 to 1
+move 6 from 5 to 6
+move 1 from 5 to 2
+move 7 from 1 to 6
+move 1 from 2 to 4
+move 4 from 6 to 4
+move 1 from 5 to 4
+move 2 from 1 to 9
+move 2 from 9 to 4
+move 2 from 1 to 8
+move 9 from 3 to 6
+move 3 from 7 to 4
+move 4 from 8 to 6
+move 3 from 7 to 6
+move 1 from 7 to 2
+move 1 from 7 to 5
+move 3 from 8 to 4
+move 26 from 6 to 1
+move 8 from 1 to 2
+move 1 from 6 to 4
+move 5 from 2 to 7
+move 2 from 2 to 4
+move 10 from 4 to 7
+move 1 from 6 to 1
+move 22 from 1 to 2
+move 1 from 6 to 1
+move 6 from 4 to 7
+move 1 from 5 to 1
+move 1 from 1 to 2
+move 21 from 7 to 2
+move 38 from 2 to 3
+move 8 from 2 to 6
+move 2 from 4 to 8
+move 2 from 8 to 2
+move 1 from 1 to 3
+move 1 from 2 to 8
+move 1 from 2 to 5
+move 6 from 6 to 4
+move 2 from 4 to 2
+move 2 from 2 to 6
+move 1 from 8 to 2
+move 28 from 3 to 1
+move 11 from 1 to 2
+move 8 from 1 to 7
+move 4 from 6 to 4
+move 8 from 3 to 1
+move 8 from 2 to 5
+move 6 from 5 to 4
+move 2 from 5 to 4
+move 8 from 3 to 4
+move 22 from 4 to 1
+move 2 from 3 to 5
+move 33 from 1 to 5
+move 26 from 5 to 6
+move 4 from 5 to 7
+move 2 from 2 to 7
+move 2 from 7 to 2
+move 2 from 7 to 8
+move 2 from 8 to 3
+move 6 from 1 to 3
+move 5 from 5 to 1
+move 1 from 5 to 7
+move 7 from 7 to 5
+move 4 from 5 to 6
+move 5 from 1 to 8
+move 4 from 2 to 4
+move 2 from 7 to 4
+move 2 from 7 to 3
+move 5 from 4 to 6
+move 1 from 8 to 2
+move 1 from 2 to 4
+move 10 from 3 to 6
+move 44 from 6 to 9
+move 2 from 5 to 7
+move 1 from 5 to 8
+move 41 from 9 to 1
+move 1 from 6 to 4
+move 2 from 8 to 1
+move 1 from 7 to 3
+move 1 from 3 to 8
+move 2 from 9 to 8
+move 29 from 1 to 9
+move 2 from 1 to 5
+move 2 from 8 to 3
+move 1 from 3 to 5
+move 2 from 5 to 9
+move 1 from 5 to 7
+move 25 from 9 to 2
+move 10 from 2 to 1
+move 1 from 7 to 8
+move 2 from 4 to 1
+move 2 from 8 to 9
+move 1 from 8 to 6
+move 4 from 2 to 4
+move 4 from 2 to 5
+move 1 from 6 to 5
+move 1 from 2 to 7
+move 2 from 4 to 1
+move 18 from 1 to 3
+move 8 from 9 to 4
+move 15 from 3 to 9
+move 3 from 4 to 8
+move 4 from 5 to 8
+move 4 from 2 to 4
+move 10 from 9 to 4
+move 4 from 8 to 5
+move 2 from 7 to 2
+move 11 from 4 to 9
+move 12 from 4 to 9
+move 2 from 5 to 7
+move 4 from 2 to 4
+move 5 from 8 to 1
+move 1 from 5 to 6
+move 1 from 4 to 6
+move 1 from 3 to 9
+move 1 from 5 to 7
+move 4 from 1 to 6
+move 6 from 1 to 5
+move 6 from 5 to 9
+move 3 from 7 to 6
+move 9 from 6 to 5
+move 8 from 5 to 2
+move 7 from 2 to 3
+move 1 from 3 to 1
+move 7 from 3 to 5
+move 2 from 4 to 1
+move 1 from 2 to 6
+move 2 from 1 to 3
+move 8 from 5 to 9
+move 3 from 1 to 3
+move 1 from 6 to 1
+move 2 from 4 to 1
+move 1 from 5 to 2
+move 2 from 1 to 6
+move 2 from 6 to 3
+move 2 from 3 to 2
+move 2 from 2 to 4
+move 1 from 2 to 6
+move 3 from 3 to 9
+move 2 from 4 to 8
+move 3 from 3 to 1
+move 4 from 1 to 7
+move 2 from 8 to 4
+move 7 from 9 to 6
+move 1 from 1 to 4
+move 11 from 9 to 7
+move 3 from 9 to 3
+move 14 from 9 to 5
+move 6 from 6 to 5
+move 4 from 5 to 9
+move 10 from 7 to 6
+move 1 from 3 to 7
+move 2 from 4 to 1
+move 4 from 7 to 9
+move 9 from 6 to 1
+move 3 from 6 to 5
+move 15 from 9 to 1
+move 1 from 4 to 7
+move 4 from 9 to 7
+move 12 from 5 to 1
+move 3 from 7 to 3
+move 4 from 7 to 2
+move 1 from 9 to 3
+move 22 from 1 to 2
+move 21 from 2 to 6
+move 3 from 1 to 9
+move 1 from 3 to 7
+move 1 from 7 to 3
+move 1 from 3 to 2
+move 8 from 1 to 4
+move 1 from 9 to 2
+move 7 from 4 to 8
+move 3 from 3 to 9
+move 3 from 3 to 5
+move 4 from 2 to 3
+move 1 from 1 to 3
+move 4 from 8 to 5
+move 2 from 8 to 3
+move 5 from 3 to 2
+move 6 from 5 to 3
+move 2 from 5 to 8
+move 2 from 1 to 7
+move 2 from 7 to 4
+move 15 from 6 to 9
+move 8 from 3 to 1
+move 3 from 5 to 9
+move 2 from 4 to 9
+move 8 from 1 to 3
+move 8 from 9 to 8
+move 1 from 1 to 4
+move 3 from 5 to 9
+move 4 from 8 to 1
+move 1 from 3 to 9
+move 2 from 4 to 3
+move 2 from 8 to 6
+move 3 from 8 to 7
+move 8 from 2 to 5
+move 3 from 5 to 2
+move 4 from 3 to 4
+move 3 from 6 to 1
+move 2 from 5 to 9
+move 4 from 4 to 1
+move 2 from 5 to 6
+move 1 from 5 to 4
+move 2 from 2 to 1
+move 4 from 3 to 9
+move 1 from 7 to 3
+move 2 from 7 to 4
+move 2 from 4 to 7
+move 1 from 6 to 7
+move 1 from 2 to 8
+move 2 from 3 to 9
+move 14 from 1 to 8
+move 1 from 6 to 2
+move 2 from 7 to 1
+move 3 from 8 to 3
+move 6 from 8 to 5