summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornekineki <nekineki@nekineki.net>2022-12-20 08:02:00 +0100
committernekineki <nekineki@nekineki.net>2022-12-20 08:02:50 +0100
commit7c1e124ce26f4a452827e9f2ecaf5a3271aa649b (patch)
tree1b99817ab19393b41ec0a6a3db439913a33a3203
parentc27d4e089c7dd2e6c1561c3781634ba5215f71d8 (diff)
day20
-rwxr-xr-x2022/day20.py51
-rw-r--r--2022/in/day20.pzl5000
-rw-r--r--2022/in/day20.ref7
3 files changed, 5058 insertions, 0 deletions
diff --git a/2022/day20.py b/2022/day20.py
new file mode 100755
index 0000000..2680e76
--- /dev/null
+++ b/2022/day20.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python3
+
+# import numpy as np
+from functools import reduce
+from re import findall
+from copy import deepcopy
+import sys
+
+# filename = "in/day20.ref"
+filename = "in/day20.pzl"
+data = open(filename).read()
+lines = [line for line in data.rstrip('\n').split('\n')]
+
+A = list()
+for oi,line in enumerate(lines):
+ A.append( (oi, int(line.strip())) )
+# print(A)
+
+def solve(part, A):
+ L = len(A)
+ key = 811589153
+ if part == 2:
+ for ci, (oi,mov) in enumerate(A):
+ A[ci] = oi, key*mov
+
+ for _ in range(1 if part == 1 else 10):
+ for ois in range(L):
+ for ci,(oi,mov) in enumerate(A):
+ if ois == oi:
+ break
+ # print('moving index:', ci, 'for:', mov)
+ v = A.pop(ci)
+ ni = (ci + mov) % (L-1)
+ A.insert(ni, v)
+ # print(list(map(lambda x: x[1], A)))
+ # print(list(map(lambda x: x[1], A)))
+
+ iz = None
+ for ci,(oi,mov) in enumerate(A):
+ if mov == 0:
+ iz = ci
+
+ res = 0
+ res += A[(iz+1000) % L][1]
+ res += A[(iz+2000) % L][1]
+ res += A[(iz+3000) % L][1]
+ return res
+
+print('res1:', solve(1, A.copy()))
+print('res2:', solve(2, A.copy()))
+
diff --git a/2022/in/day20.pzl b/2022/in/day20.pzl
new file mode 100644
index 0000000..5f4bad1
--- /dev/null
+++ b/2022/in/day20.pzl
@@ -0,0 +1,5000 @@
+9279
+-3365
+9125
+-8576
+-5794
+-1004
+2014
+-6712
+-2996
+-3923
+-4566
+166
+-1687
+-9555
+2556
+9598
+-9468
+3660
+1763
+5384
+4803
+7574
+-4759
+1577
+-4932
+-8893
+817
+-8632
+-9560
+-5259
+166
+6843
+850
+7852
+1950
+-9868
+-6556
+8792
+-9347
+943
+-6687
+-7324
+8053
+-4566
+2074
+7772
+-533
+-2886
+7847
+1405
+-1176
+4513
+-6776
+-96
+-8545
+9243
+2016
+9172
+8792
+3289
+4954
+-3079
+-4689
+4741
+-7322
+-7156
+7841
+7959
+2910
+-9240
+7463
+2171
+-4997
+9563
+3906
+1353
+2691
+-5497
+-5472
+-4384
+-9358
+-3753
+3334
+1419
+-1724
+8315
+1514
+7372
+-189
+6607
+-8429
+-4940
+9823
+-8119
+-9190
+-1761
+3711
+-4597
+-8303
+-8154
+4899
+3180
+8099
+7838
+-5729
+1480
+-3119
+-7522
+8053
+319
+-3746
+-7461
+8721
+7878
+8132
+-8447
+9160
+-1942
+1334
+9502
+7546
+-553
+2832
+-8032
+2534
+2302
+3057
+2528
+7071
+-5430
+4390
+436
+9101
+-9190
+3416
+9859
+-3678
+921
+-5464
+-4690
+6546
+-3927
+-4708
+5147
+6284
+2206
+3624
+2891
+4620
+909
+-7599
+3701
+3639
+5785
+-3313
+-6022
+-5042
+2232
+312
+-9868
+3714
+9370
+884
+1267
+3242
+800
+7671
+-646
+-2236
+5196
+-8626
+8839
+2850
+9572
+7041
+1133
+-2259
+3053
+-7984
+1183
+-6803
+1630
+2357
+-3208
+-7016
+-158
+5849
+-6939
+513
+1075
+2312
+-3350
+6155
+-4945
+-4011
+1784
+-7110
+7368
+-8748
+-189
+8173
+-1138
+-3608
+510
+4902
+-2973
+7620
+5406
+-1466
+-9729
+1701
+-1088
+3646
+9749
+4972
+-5557
+-7281
+2853
+7044
+9255
+7283
+-5067
+-3713
+-3150
+-1358
+6041
+-4704
+3245
+9765
+-8211
+58
+6016
+-6248
+8374
+-8352
+-9955
+3996
+-2046
+6097
+5413
+-4787
+7218
+8047
+2928
+7772
+-9741
+-6764
+-5933
+-7880
+4610
+7617
+-5212
+-7054
+-2569
+-7394
+-7394
+-3252
+3566
+-1376
+-2319
+-290
+-5774
+-1171
+-9348
+-5224
+-9813
+7952
+-1789
+3119
+-7650
+-9675
+6938
+-9591
+-550
+-5927
+7171
+-1314
+-4214
+3714
+-3344
+7184
+-1540
+-5770
+-3493
+9265
+682
+-9345
+-3126
+6131
+-5997
+4287
+-9854
+3445
+1221
+6206
+-2814
+3432
+-5731
+1480
+9439
+-4063
+3904
+8814
+-7462
+8254
+-5819
+-9788
+2474
+-5893
+9871
+-3000
+1700
+7612
+2385
+1951
+7328
+2749
+7772
+2157
+1062
+-2096
+-6827
+-8454
+-3275
+-427
+-264
+-2177
+0
+2539
+-5436
+-8256
+-2148
+7581
+7596
+-5254
+-9155
+-332
+2597
+2798
+274
+444
+-8599
+-5447
+-189
+-484
+1930
+7230
+-1665
+5221
+-1329
+4368
+9594
+1334
+-538
+7600
+-7179
+-7011
+4846
+8525
+2108
+914
+6004
+-9134
+2928
+-2308
+-6961
+-3102
+5294
+8519
+1716
+4138
+-1547
+2834
+-6985
+1523
+-3702
+-2498
+-2298
+-6326
+8704
+-4998
+-633
+7830
+-5278
+5032
+-1940
+-5968
+-6304
+-7809
+6830
+-433
+-3083
+-5120
+-9224
+-3778
+2030
+8690
+8005
+1297
+1224
+4683
+1174
+-8286
+-9541
+-252
+-3275
+2852
+4308
+7596
+-1397
+7499
+-5179
+-6673
+-6635
+-7354
+-3853
+-7740
+1221
+-3882
+8328
+-541
+5946
+-3296
+-9992
+-4779
+-1255
+-5181
+-2322
+7823
+-5774
+295
+-2951
+-7620
+-7386
+4403
+-1564
+-4133
+-7402
+1232
+6016
+7866
+-6675
+-7768
+6843
+2608
+-8518
+8705
+6830
+2371
+35
+6237
+-1492
+-9246
+-199
+2377
+2835
+-909
+-101
+-9135
+6883
+7873
+8898
+8686
+2207
+5748
+-893
+1793
+-8457
+4553
+872
+2932
+6409
+4348
+-755
+-1117
+-9063
+-271
+1703
+8048
+-6331
+6265
+2114
+793
+7897
+4147
+7683
+-2223
+7648
+3886
+1599
+3682
+-7520
+-6054
+-705
+549
+2690
+-7442
+-1841
+5248
+-7547
+8181
+-5824
+431
+2877
+-6343
+1780
+113
+2609
+-1782
+-1471
+-4215
+1532
+-4321
+-9056
+8544
+-1840
+-8629
+-3700
+9117
+3639
+7829
+2481
+-5871
+-5103
+8787
+8132
+-6662
+8282
+-6886
+222
+9587
+-8251
+-730
+6197
+-369
+-6970
+7337
+1754
+3900
+2167
+2380
+-739
+-7991
+7572
+-6517
+-391
+-3479
+2443
+-263
+-7960
+-9820
+9101
+-2355
+9319
+-5197
+-9402
+2371
+-7550
+1064
+-2886
+-3149
+7907
+-339
+4526
+-4168
+7260
+-4020
+-5790
+-433
+5082
+-2849
+-393
+-1091
+-4826
+-7784
+-2808
+804
+-5116
+-4287
+9869
+-1738
+-6631
+-9887
+7946
+-8208
+5454
+3371
+1821
+4671
+-9647
+586
+-5481
+-6798
+9303
+-8043
+-2502
+-757
+-1075
+-1564
+-6925
+6457
+-3032
+7079
+-8032
+-4185
+1985
+719
+941
+8216
+7925
+-2209
+-6993
+-9870
+424
+5478
+124
+-7009
+-7875
+1312
+1066
+2237
+2687
+-6817
+-1620
+-4150
+3315
+-8454
+-5761
+-7149
+-9001
+-5659
+2964
+3331
+-2191
+-9372
+8079
+6950
+-4012
+4506
+-182
+-5714
+-3914
+8359
+-8818
+471
+446
+1788
+8325
+8308
+-2533
+-4375
+1962
+-8554
+790
+5310
+-5777
+4575
+3818
+8952
+449
+-5690
+3711
+-2787
+-8945
+9366
+6102
+3860
+-6553
+-7164
+-5154
+-5946
+5222
+-7590
+1423
+-2899
+-7326
+3095
+2318
+6967
+5024
+-1840
+-3072
+-102
+-5425
+-4644
+-445
+-9844
+1549
+7725
+-1468
+-5912
+-2578
+-6722
+4804
+-4115
+83
+-3338
+-4897
+-7730
+4738
+-1616
+8090
+2236
+5591
+-2781
+-9692
+-114
+6831
+-6282
+2592
+-1873
+7082
+-6464
+-3600
+4654
+-4948
+-221
+7308
+-4192
+6650
+5994
+6163
+2831
+7755
+1985
+8946
+8374
+2317
+2415
+1325
+602
+-8644
+402
+-9282
+2842
+4645
+-5770
+-9310
+-2808
+108
+-4440
+-5341
+9965
+2371
+-1157
+6116
+-1152
+6830
+-7590
+-1635
+691
+-3859
+-2397
+-5472
+-5554
+9845
+1107
+3055
+5579
+-8049
+-418
+4296
+-6679
+580
+-3436
+5925
+3721
+4829
+-982
+-4031
+7487
+-8154
+-9955
+-1410
+-7292
+6977
+-2138
+7929
+871
+-6361
+9877
+51
+-673
+-5875
+-7984
+-5871
+6163
+-5949
+-3187
+-5215
+8113
+-7650
+2609
+-2327
+-2911
+-1249
+-5718
+-2884
+-1376
+-7003
+-2348
+5366
+9840
+-5293
+-860
+9288
+-5365
+237
+4904
+2929
+-895
+5227
+-1769
+2285
+-2394
+3780
+-836
+4088
+-9785
+7924
+-948
+-8323
+-4955
+-3894
+-9420
+-2160
+1064
+4109
+-1950
+-6014
+-5783
+2670
+1281
+-3012
+-3274
+-957
+8675
+5040
+-4776
+-7701
+-8759
+1054
+-760
+-7581
+-9272
+6880
+-8586
+-6544
+3064
+-5342
+5903
+-1267
+-7056
+-9678
+1654
+9319
+-7252
+4287
+-2118
+9231
+-6196
+-7665
+-2718
+302
+-2789
+274
+640
+6499
+405
+2600
+-6422
+5104
+9579
+4191
+-273
+7713
+8452
+-1928
+2427
+-1625
+-1390
+-2698
+-9989
+-6262
+4345
+2657
+6052
+-6993
+8514
+1215
+-1269
+9001
+-1635
+-7910
+-7578
+237
+-3066
+4799
+-8638
+-6527
+9384
+-8139
+3790
+-693
+8965
+-5220
+1961
+-7395
+330
+-1963
+6156
+3074
+-2427
+6626
+1750
+-8380
+-6186
+-7102
+9625
+-6803
+6953
+-4493
+2120
+8392
+-3000
+6830
+-7113
+-533
+4298
+-8965
+409
+6173
+2151
+-4028
+3146
+-5342
+9823
+9644
+6421
+4844
+390
+-8775
+3470
+9176
+-2473
+-1976
+705
+9001
+-1862
+-8049
+2175
+6642
+-219
+-3600
+-7328
+6156
+-6087
+-8828
+-6115
+-2233
+-9476
+4992
+8803
+-8214
+1470
+-7570
+-4691
+4862
+5437
+-5048
+-1395
+8470
+-7132
+3991
+-9158
+6698
+7161
+-5564
+8328
+-3949
+-8328
+-7009
+1922
+9162
+-785
+-3102
+9028
+9196
+-5912
+-3341
+-4699
+-2375
+-6626
+-3124
+5681
+3064
+-8264
+9300
+-7180
+-4730
+-563
+8094
+-9207
+1329
+7747
+3439
+7526
+-2753
+-7623
+1483
+4789
+5957
+6395
+-9738
+3659
+-765
+-5593
+-2839
+6044
+4818
+835
+-2554
+3153
+3245
+-3817
+-4219
+-3730
+1334
+5331
+-4114
+-5457
+-7324
+9082
+-4196
+7723
+4840
+-5044
+-2705
+5364
+-7316
+-6804
+-8019
+-4789
+-1617
+-4668
+-8349
+-311
+-5398
+-5657
+-136
+3420
+-2612
+-5453
+-4980
+2307
+-9955
+4913
+4845
+4195
+9899
+9122
+6499
+3828
+-4751
+9111
+7772
+2332
+-3868
+3960
+-6227
+4929
+-3296
+-9391
+-6669
+3345
+9054
+-5274
+-2
+-3633
+8664
+7030
+-6158
+-7898
+-7376
+-4793
+-4925
+7697
+-9176
+-1755
+5244
+-7675
+68
+-4559
+-3103
+-3559
+-5358
+-3160
+-2215
+1317
+4477
+8850
+-5824
+-954
+7287
+6121
+1508
+-5949
+-5192
+-3254
+5406
+-2982
+8372
+-8408
+7382
+-7346
+319
+6642
+8285
+-6196
+3037
+-3634
+5269
+3114
+-9743
+4416
+-9862
+-3907
+-1511
+-1616
+3897
+-9156
+-1209
+-9996
+-3211
+6492
+9001
+-9036
+3716
+2679
+4827
+196
+-8135
+-693
+3175
+4913
+1644
+6249
+-1294
+5681
+391
+-3109
+-2080
+-8628
+5178
+-1780
+6726
+-2046
+8695
+4446
+150
+-5109
+-2991
+3175
+-8305
+-8770
+-9219
+2348
+-1673
+2888
+6536
+-38
+5642
+6331
+6461
+-577
+-7022
+2974
+-2506
+8262
+-4082
+7673
+-3296
+1432
+-1849
+-9103
+-8119
+-825
+-6910
+-2094
+7182
+8441
+-9301
+98
+-9519
+-9081
+-5160
+-3726
+-9509
+-4168
+-8968
+7449
+588
+-4270
+9396
+-4544
+1783
+-680
+6140
+-8996
+9093
+8047
+-2308
+4779
+-6443
+7801
+-4544
+3725
+1821
+6097
+-5927
+-4020
+-4039
+3957
+-9489
+6004
+-4742
+1895
+7812
+-1444
+6142
+-342
+-5789
+5236
+7635
+9964
+-8662
+8788
+-3278
+-308
+-4249
+3623
+-3986
+-3751
+7822
+-4941
+-3984
+-3853
+-7003
+3724
+-1827
+4034
+-3407
+7372
+2932
+5498
+-214
+1719
+-8220
+-4012
+79
+-4483
+-3811
+5360
+2014
+9002
+-9409
+8081
+-8044
+9049
+-4305
+7683
+4896
+1904
+-906
+4321
+7143
+-7525
+6775
+-309
+-4340
+5456
+-4602
+-6825
+-9027
+-4414
+-9530
+3431
+-9738
+-7252
+2928
+5
+-6112
+2184
+6662
+1280
+-6435
+-9647
+-8798
+6409
+2818
+-9552
+-9391
+7411
+-2781
+-5363
+6788
+-8141
+-4518
+-122
+1532
+-2900
+8387
+-5099
+1478
+-4691
+6158
+8033
+36
+4153
+4484
+-935
+-8258
+4449
+1652
+-5689
+-7526
+-9160
+-981
+488
+-3926
+9690
+2956
+-1088
+-2735
+63
+191
+-1004
+-7571
+1254
+-3695
+1147
+9749
+4706
+-386
+-3409
+2014
+890
+-8756
+-2298
+1627
+-4894
+4123
+8438
+-3451
+-1943
+-9373
+-649
+-928
+-2922
+4904
+7246
+5433
+-4221
+-1250
+4907
+7841
+6559
+8948
+4227
+-5525
+-6920
+7170
+6775
+-6551
+4930
+-8395
+-1287
+-1327
+2495
+4368
+2609
+3870
+4396
+2348
+47
+8606
+686
+-4077
+9394
+8978
+-1329
+4903
+7102
+-3196
+9218
+-8408
+490
+8697
+3417
+4214
+-1149
+2964
+-5215
+9463
+-5112
+-4414
+1329
+-6675
+-3973
+-5695
+6698
+9995
+-3765
+9481
+-8333
+8802
+1270
+964
+-9485
+5299
+2490
+6577
+-2798
+8906
+4387
+-6520
+3584
+6902
+-7845
+-7715
+1075
+5672
+3045
+-9373
+5277
+8059
+-8064
+6252
+3312
+9448
+-5093
+-7638
+3295
+-7415
+9233
+7084
+6932
+-5477
+-185
+1765
+-1088
+-436
+-4600
+4665
+-2177
+8708
+-5263
+7218
+9685
+63
+9845
+-5043
+5391
+-1365
+-3056
+-144
+-5385
+-7114
+7165
+4463
+-8004
+-7418
+-963
+89
+5043
+7287
+-2
+4341
+-997
+4450
+2921
+-7803
+1683
+-3600
+3434
+2670
+-4076
+-199
+-2542
+-6031
+-7488
+-2753
+6950
+1994
+-7043
+-9152
+-474
+-6005
+1743
+1381
+-9010
+-9891
+-7371
+8310
+356
+3009
+3401
+4758
+1237
+4682
+-1209
+6915
+-9870
+-8049
+-7318
+3440
+-5428
+-4008
+-3833
+-4652
+-8633
+3729
+6393
+-8560
+9444
+-6347
+5348
+937
+-9997
+-5965
+7792
+-7638
+-6158
+8548
+-9377
+-2701
+4757
+-311
+-7897
+3425
+-6505
+-6563
+-1394
+6941
+-7753
+5842
+-7939
+-8605
+7733
+-2250
+1461
+-1640
+753
+8997
+-8374
+6473
+-7402
+-4274
+7247
+-1497
+-3337
+-5683
+-4415
+1772
+-3949
+6747
+7143
+-591
+2016
+191
+-1814
+7588
+2340
+-7461
+-6797
+6492
+-1616
+5466
+6672
+-291
+-3678
+-9738
+-9115
+-2074
+-7253
+8081
+-5259
+-7342
+6307
+3289
+-8308
+-9553
+2998
+-136
+393
+2329
+-574
+-5971
+9846
+-4789
+-693
+2388
+-8821
+1473
+7382
+-4442
+2147
+-3447
+526
+3181
+622
+-8374
+2328
+9915
+8192
+2777
+-6797
+9049
+1619
+-4100
+-9217
+-3359
+6035
+1161
+-2199
+1260
+-2860
+-3351
+-1022
+6669
+7869
+-8049
+684
+1600
+-8421
+5124
+-9550
+-1707
+2325
+-6153
+450
+9783
+-9955
+3668
+-3524
+-9762
+-7728
+-1118
+3362
+5647
+9185
+3585
+-1961
+6281
+6058
+-1809
+9625
+-9891
+1111
+8981
+-1176
+-2115
+7086
+7715
+9328
+6263
+-1331
+-262
+-5225
+-957
+-2083
+2995
+2850
+6078
+-2026
+-5679
+4153
+1880
+-2759
+-5453
+1004
+7366
+-9798
+-2648
+-3855
+7932
+-6918
+8600
+3364
+7814
+1444
+3218
+-674
+-202
+-4642
+5831
+2236
+9567
+-3346
+-2560
+-6148
+5838
+-5394
+-7011
+-1961
+-3230
+9771
+6594
+-9799
+-6657
+-4568
+8146
+9785
+8446
+8620
+8257
+-7715
+-6226
+9515
+-7581
+-2336
+6347
+5263
+-641
+-4763
+-9937
+-565
+1508
+6536
+7213
+2790
+4145
+5213
+-946
+-4310
+3760
+-6680
+-881
+4369
+2718
+-3971
+-3012
+-6219
+4506
+-5182
+1954
+3889
+5723
+-6196
+-6248
+-8903
+8193
+2995
+7041
+2713
+2690
+-5851
+-8576
+690
+2609
+-9200
+-5577
+-6449
+5369
+4353
+-5135
+4741
+-7231
+3676
+3313
+4885
+-342
+8388
+5528
+-9873
+-6668
+-2664
+1510
+4698
+-5488
+-2375
+3081
+-3272
+7182
+-5051
+1357
+4305
+-4645
+-7122
+-2525
+-4120
+6950
+-7504
+6583
+-3230
+2790
+-9993
+3131
+-8784
+-185
+-2760
+-7504
+-2818
+-5499
+-8149
+1719
+-230
+2902
+-2315
+-8727
+-2176
+-1524
+-1702
+3642
+-9090
+-5143
+-6012
+-8534
+-1246
+-7243
+8438
+-1778
+-1408
+6669
+4176
+8138
+3770
+8090
+2380
+3343
+-1097
+9169
+6237
+-9064
+-5546
+-4335
+-785
+-3559
+4055
+7165
+-139
+8924
+4095
+8643
+-8078
+-7858
+-4861
+9726
+947
+2138
+4131
+1151
+-4467
+-7921
+8145
+-8632
+-4582
+-6327
+4227
+-2798
+6020
+4731
+-4895
+-3600
+308
+-4247
+-5978
+2078
+8917
+-4893
+8045
+3440
+6098
+-9158
+4738
+-8378
+1463
+4911
+5758
+-8480
+-743
+-4988
+-8706
+-3436
+-7455
+682
+-513
+-3200
+6672
+-9713
+-755
+-4028
+2603
+-213
+-7123
+-8353
+-4766
+7853
+-3807
+-541
+3218
+9251
+6779
+1317
+2110
+-5508
+-8704
+348
+6395
+9116
+6238
+5677
+7633
+-9045
+5681
+2371
+-1908
+-6541
+6
+-6753
+-1034
+5077
+1895
+-4272
+-2928
+-2358
+6905
+6405
+7074
+-9048
+-7581
+-6746
+4545
+6738
+-2986
+7676
+-446
+8274
+6089
+3023
+4160
+950
+-9299
+856
+-6133
+-747
+2478
+-3679
+2459
+1613
+-1289
+-9310
+5991
+1572
+-1538
+-4998
+-2432
+9166
+-136
+-7022
+-753
+4410
+-7442
+7556
+-4085
+-6541
+5429
+-2686
+-200
+2035
+222
+-3998
+810
+-6214
+6950
+-4606
+492
+-4972
+5713
+-3772
+-8305
+-1536
+-2574
+5429
+-3408
+-6186
+4653
+4716
+260
+6746
+-2716
+-5691
+-1146
+1513
+-3594
+-1026
+5903
+-1182
+-6248
+1529
+4978
+4681
+4277
+2810
+-5643
+-2447
+-873
+-5911
+5830
+1989
+-6841
+-640
+-6405
+-7512
+-8340
+-9182
+-543
+-1176
+-1620
+-2700
+-5463
+-9429
+-2007
+5313
+-4752
+4654
+4837
+6064
+3639
+-7993
+4072
+6131
+9704
+-8371
+-8088
+2215
+-1329
+-935
+8460
+5942
+414
+8803
+7673
+5611
+9364
+-4481
+4545
+-3607
+-7124
+-6694
+7147
+3154
+513
+3848
+-1144
+9502
+-6634
+3961
+-1223
+2125
+-9429
+47
+9856
+8271
+274
+4283
+3191
+3630
+5937
+-662
+-4716
+-5982
+-445
+-1302
+-1576
+3449
+-9678
+7812
+-513
+-838
+9547
+8638
+1078
+6796
+6573
+-389
+8896
+-7318
+1411
+-5087
+-741
+4689
+-385
+1158
+3056
+8059
+9550
+-2298
+6121
+6630
+6531
+6741
+1584
+9211
+2022
+-1055
+-9643
+2631
+-4274
+9986
+4202
+7321
+-114
+-891
+-4980
+4410
+7866
+-682
+-1654
+-640
+2807
+-8348
+-1621
+2639
+-1660
+-9737
+7189
+3418
+-7037
+3404
+-8136
+-6153
+-5679
+-3369
+-9954
+7367
+-2685
+7035
+3798
+-449
+3148
+-5157
+9287
+9463
+2276
+4905
+469
+-6136
+-4787
+-7045
+7918
+-6014
+1385
+-1088
+-4642
+3263
+6926
+9243
+-4759
+-4474
+-9829
+-1183
+941
+7261
+-9226
+-9716
+7790
+-2970
+4471
+-3149
+5362
+1624
+6173
+5115
+-8650
+5700
+-1456
+8863
+-5159
+5446
+-787
+-5893
+-1753
+3653
+-4367
+4013
+-838
+9966
+2323
+-2611
+5087
+-5489
+-2709
+5970
+1310
+8899
+-844
+7467
+-6206
+2478
+2151
+2908
+7217
+-762
+-881
+4072
+4013
+-4671
+-4932
+2513
+-4011
+-6909
+7526
+-5047
+608
+-4192
+-4039
+-7292
+-4919
+3067
+1508
+6942
+-8464
+4472
+8899
+-7903
+7363
+-671
+-5084
+-9978
+4702
+-987
+-1390
+4623
+1855
+8912
+-3454
+-6037
+-7173
+-5419
+-1976
+-8759
+-1707
+6856
+5369
+1133
+6177
+-5790
+-2160
+-2993
+-3273
+-5112
+6709
+6573
+-2263
+-430
+2881
+-5164
+4852
+436
+9125
+-2605
+3800
+-9519
+4617
+7671
+2764
+8992
+6089
+-2032
+449
+3153
+-6186
+-224
+2504
+3336
+7205
+-8410
+2830
+-3344
+-810
+-966
+-3511
+-9580
+-2987
+5363
+5941
+174
+8282
+7647
+5816
+8860
+-4889
+7805
+-5556
+6533
+7411
+-9552
+-8744
+-3940
+-6878
+-3439
+-8050
+1577
+-195
+-9891
+6770
+3329
+1919
+-6544
+-7803
+-5248
+8159
+3432
+-2583
+-1207
+7772
+-5720
+8370
+2657
+-785
+7789
+7107
+8882
+-8253
+-9941
+7753
+2479
+-6001
+3345
+-3296
+-8464
+9444
+7999
+-2580
+3575
+8022
+-5101
+3126
+-6888
+-5145
+-4940
+2111
+-9816
+-3821
+1627
+1407
+-7152
+192
+-2735
+-4144
+5989
+-1255
+-7590
+-9911
+-8987
+2790
+7301
+7525
+7607
+-7719
+294
+-4732
+-3901
+2252
+-7958
+-8429
+5307
+1438
+-6788
+-8088
+742
+3284
+4761
+4937
+9085
+1435
+-3998
+-37
+-4259
+-4930
+4646
+4695
+-7192
+-897
+-4275
+-7958
+-479
+-9455
+9259
+1385
+1582
+-199
+5099
+-9476
+-1794
+-7581
+5597
+-6615
+4555
+-6998
+-9678
+5317
+4809
+-3913
+2419
+3262
+3077
+4909
+3018
+740
+8710
+-1372
+-1152
+-8758
+3995
+-5224
+3561
+5324
+-4834
+4911
+-7960
+-4419
+-1315
+9198
+474
+6094
+2236
+3284
+5838
+-9409
+9618
+3711
+-3150
+-9929
+-1767
+7772
+-7566
+4418
+-6804
+7337
+-6033
+-9928
+3685
+9291
+-3114
+2371
+-9890
+6506
+85
+6672
+2323
+5049
+6102
+-3803
+-9716
+2281
+-9936
+3716
+-7269
+5205
+7309
+-3840
+9907
+-2233
+474
+6931
+9355
+-7377
+-1331
+3363
+-5809
+-1801
+-982
+-9747
+-5997
+-1406
+67
+6488
+-9433
+-5033
+-8955
+-5329
+-2320
+7163
+3432
+-2174
+-8653
+-4367
+-5740
+6869
+5711
+-1842
+-4654
+-948
+718
+-4414
+7599
+-9724
+2627
+1888
+6190
+-377
+-2233
+5227
+2037
+-8349
+-3455
+-4951
+8968
+-7695
+8339
+-9403
+-7564
+1771
+9224
+627
+4775
+-7833
+-9489
+5313
+9613
+8015
+1531
+-4385
+6767
+-506
+-9644
+1453
+8721
+-5022
+-6266
+7005
+6052
+-267
+-259
+-2716
+7420
+2252
+-4217
+743
+1232
+3404
+3068
+9532
+-3272
+-550
+2279
+-5813
+-9619
+9573
+6533
+-1329
+-3998
+-1226
+5085
+9598
+8466
+-949
+3025
+-7413
+-9253
+-4606
+3207
+5317
+-9617
+7152
+-2753
+183
+-7645
+6237
+-1294
+3382
+-2987
+5715
+-3665
+-589
+9024
+2309
+-1088
+-4512
+7143
+6531
+-121
+-4213
+4789
+-2028
+-2170
+-8360
+-8442
+2663
+4220
+546
+7067
+-5960
+-9727
+1582
+7074
+2568
+1577
+2872
+-4738
+-4991
+8047
+4374
+1675
+-4178
+4657
+-4834
+-8477
+-7418
+2152
+7841
+9841
+7617
+-5105
+-6992
+-818
+-5971
+-7654
+-6753
+-7102
+4861
+-2502
+6150
+7328
+-1397
+5104
+5602
+-6844
+-7180
+-9393
+-5215
+4178
+-8640
+6179
+-4514
+-1688
+3045
+-5111
+-2215
+-3901
+7107
+-7316
+1019
+6672
+3851
+-8803
+-7056
+980
+2147
+9515
+1765
+-6291
+1260
+-2110
+2609
+9021
+9770
+-604
+-9227
+-5804
+-9983
+7488
+-3000
+-1109
+6779
+-4932
+6516
+7978
+886
+-7371
+-4951
+-4318
+-1523
+6967
+7541
+1975
+2597
+-7083
+3801
+2686
+-796
+-9481
+2165
+5422
+2964
+-2583
+3800
+-1733
+4053
+-2996
+6208
+-9097
+-4932
+6395
+-2422
+6823
+-6844
+8060
+-8702
+3444
+-9898
+-1687
+9940
+6627
+8078
+4057
+4102
+2679
+-8462
+-7356
+-4160
+-6525
+-8228
+-9225
+-1349
+-9936
+-7040
+9279
+2736
+-8307
+2035
+-2813
+5528
+8007
+477
+-9766
+4992
+4471
+-5181
+-8254
+-2582
+5918
+-9199
+-9014
+2689
+-9391
+1791
+-3679
+-7526
+9017
+-1172
+1639
+-1365
+8492
+-5055
+5647
+-9692
+6140
+-3511
+2695
+-254
+-3812
+153
+-2798
+-8468
+8719
+4408
+6746
+406
+7597
+-3902
+5283
+-5104
+-6464
+-3455
+-7941
+-3360
+-979
+-4743
+-1801
+-8632
+-6752
+-9648
+-2259
+9922
+9492
+3341
+-2097
+-2572
+4761
+5647
+4026
+-4514
+-6963
+5941
+4146
+1851
+-12
+5888
+-5021
+-5062
+5903
+8308
+-9483
+7850
+-6884
+-7599
+6140
+-7149
+6094
+2119
+-339
+-6712
+-7336
+3404
+-4705
+7328
+-90
+-3821
+-8391
+-6850
+5762
+-8459
+-6063
+-4099
+-8353
+-8695
+-9269
+6078
+3957
+-3675
+-5330
+-3455
+-70
+3213
+-3810
+-455
+-7461
+-9124
+-6054
+-480
+-6157
+9572
+9443
+-4747
+-5002
+-7418
+6829
+3938
+-5695
+-3157
+244
+-8868
+6559
+-2094
+-6384
+6480
+-5557
+8237
+-7024
+421
+-3802
+9532
+9939
+6415
+-6232
+7316
+102
+1831
+-3114
+-6151
+-557
+-5178
+8325
+-6579
+-345
+-9066
+-5819
+2705
+-6001
+-7460
+9690
+-1670
+-8951
+8493
+2391
+-9097
+4237
+6517
+-4948
+449
+5625
+5511
+1385
+-6712
+-266
+2987
+3506
+-7984
+-7884
+6265
+-2163
+-1233
+1813
+9939
+7242
+5744
+-4507
+9756
+-7316
+-828
+8981
+3245
+-3600
+4202
+8618
+6927
+904
+9247
+6325
+5042
+-2107
+4593
+1483
+9206
+3731
+-7429
+4970
+1011
+-3231
+-2689
+-1702
+-6515
+6266
+3408
+-9938
+-8927
+-2238
+-8349
+-5447
+5236
+-3084
+-5275
+4988
+-3511
+-4342
+1873
+1825
+9642
+705
+-7831
+4261
+-7528
+-3973
+5610
+690
+8753
+-1226
+-3485
+6131
+-6614
+-9675
+6173
+-8953
+-5174
+-4716
+4097
+2023
+6044
+-4215
+2058
+-114
+6235
+-2758
+-4790
+-5874
+-6938
+-1708
+6725
+3142
+-2553
+-3786
+-8649
+-6108
+9764
+-6862
+-9711
+4845
+-7660
+3232
+3663
+3887
+6026
+9355
+1467
+-4691
+671
+-354
+679
+2478
+2224
+-5398
+-8496
+-9160
+-3814
+-4606
+-1940
+-8008
+-6449
+-2188
+2981
+-8743
+-1940
+-9456
+3023
+-3027
+-7358
+-1172
+4920
+-9207
+-9600
+-8502
+7163
+3312
+7120
+5828
+-1938
+1272
+-2161
+-3296
+-6544
+-3703
+9615
+8940
+-4414
+8158
+4161
+-8399
+-2293
+-736
+-4704
+-3901
+-1852
+-4875
+-2358
+-8416
+-8596
+6341
+2340
+9596
+5283
+5971
+7702
+5269
+7873
+-8651
+3304
+5359
+6893
+5345
+-5888
+-3190
+2667
+375
+-1014
+-2399
+-4340
+-1592
+3239
+-2716
+-5488
+-4265
+-762
+4670
+-7715
+6405
+-6244
+-353
+-3631
+5698
+-1004
+9940
+4410
+-3033
+2646
+-9799
+-3855
+7836
+-2106
+-286
+-8609
+5088
+960
+-6766
+2542
+9940
+-7022
+4224
+2058
+3272
+-7133
+2994
+-1732
+-1357
+-881
+310
+-8064
+-1373
+3436
+3195
+-5711
+1619
+-91
+-9483
+-1635
+5555
+-1466
+-2493
+1504
+-1880
+8699
+2122
+-1401
+-1403
+-640
+9427
+-3855
+-1572
+-7781
+-8900
+-4948
+9553
+-2584
+-2839
+-5257
+-5381
+-4639
+4107
+7348
+5215
+6476
+7109
+-2767
+8775
+2608
+-7495
+-7852
+4582
+3336
+-9292
+9939
+-8661
+-3245
+-3590
+-2271
+-604
+-8848
+-6330
+8574
+1564
+2153
+-2569
+6829
+-4152
+-7109
+640
+7260
+825
+4013
+-3859
+-6558
+89
+3114
+5283
+-5731
+-9409
+9029
+-1089
+-5570
+9067
+3701
+-2648
+-6502
+1754
+8512
+6309
+2489
+-787
+559
+4773
+9866
+5345
+8620
+-296
+-4088
+-9514
+3743
+657
+7880
+-3114
+-6206
+-2883
+1242
+9116
+4513
+182
+6741
+-8453
+-4648
+-4991
+1678
+-2247
+-9505
+6299
+9024
+-1903
+-1543
+-244
+-6226
+3304
+-7171
+3960
+4724
+2036
+4843
+6304
+-6940
+1913
+-541
+9799
+-5096
+8862
+5294
+-5096
+6284
+-7114
+5820
+9001
+8208
+80
+-838
+-480
+2277
+1360
+-4882
+-7154
+1357
+-2833
+-6122
+8666
+5339
+-4191
+-5163
+9122
+-9663
+9567
+-9809
+3889
+-1323
+-8955
+-5570
+6191
+8693
+683
+7513
+-1668
+-9938
+-1507
+-5265
+1526
+-840
+-6704
+-4474
+-340
+-1686
+-6108
+-1574
+1652
+-3734
+-8136
+-2432
+6883
+4738
+-8632
+6931
+-2098
+6397
+-4727
+1609
+-996
+1627
+-600
+-5645
+9303
+-7318
+7673
+6761
+6568
+6182
+-3037
+-1724
+-1176
+-8174
+6199
+-1557
+1818
+-7442
+953
+-114
+-7376
+5364
+4981
+8094
+1525
+-6423
+4652
+-3958
+-5683
+-3438
+-9188
+9403
+9258
+-2417
+539
+-8342
+445
+-2787
+1058
+3148
+8208
+9252
+2329
+445
+7793
+-2921
+-6233
+2163
+4474
+6236
+-4916
+8870
+-3333
+3432
+9955
+-3803
+-1329
+-4709
+2002
+-2944
+58
+8322
+2619
+4964
+-2031
+-5343
+-2415
+5128
+-9309
+8850
+4698
+-3901
+-4272
+1701
+2631
+5736
+-1333
+3191
+5478
+8483
+-6662
+-7833
+-2447
+8444
+2498
+-528
+-5131
+-6432
+7022
+-6021
+5693
+-1128
+-7178
+2972
+-1616
+-4942
+6625
+-202
+9426
+5783
+402
+3376
+-3485
+-2045
+2158
+4731
+7205
+-1292
+5890
+-3973
+7163
+-433
+2441
+-4671
+3304
+8257
+-5895
+3653
+-3486
+-1097
+-753
+-1512
+-2409
+8737
+7503
+-8965
+-5490
+-5680
+7581
+5217
+388
+2964
+-9339
+-7136
+5669
+-7310
+-6105
+-8308
+-9302
+-726
+8499
+9448
+-665
+-2138
+-2444
+6675
+6210
+-1806
+-6821
+-6832
+-8743
+-369
+-4384
+-8349
+-7066
+-4321
+-5427
+-6597
+-6817
+8817
+2964
+4635
+7115
+62
+3210
+-2407
+-8038
+424
+964
+-8995
+-8621
+9860
+5483
+4046
+-595
+5669
+-2637
+-931
+7120
+3530
+-4918
+-1565
+3260
+3328
+-4346
+1376
+5061
+-6587
+8226
+-5096
+7599
+2153
+-5398
+-2422
+2113
+-4854
+-2421
+-6526
+9592
+-4436
+2152
+6218
+-9746
+8666
+7858
+1520
+-7276
+-7456
+312
+8699
+9218
+9194
+-1745
+4161
+8441
+-8632
+-8819
+1767
+-3854
+-2188
+-4464
+6739
+-4493
+-807
+4616
+-6551
+-1420
+6912
+6342
+-3855
+2071
+-9718
+-3296
+-4181
+414
+-2502
+8242
+-4226
+-5649
+-2293
+6559
+-2265
+6457
+-9118
+7941
+8308
+-2585
+5236
+1453
+-369
+9414
+9198
+-6699
+-1911
+2578
+-3924
+-6287
+943
+5107
+-273
+7270
+-4663
+-3108
+-3011
+-2160
+4582
+6840
+-6940
+208
+-6095
+-427
+7973
+9796
+6369
+-3190
+-8407
+-6830
+8429
+-182
+-5323
+458
+-7800
+4463
+4472
+6926
+-8862
+6130
+-6304
+941
+9857
+-6236
+3682
+58
+-9103
+4844
+7992
+-6248
+4873
+3190
+-9174
+-5724
+2592
+-2832
+-9335
+7147
+-6984
+7546
+8815
+1114
+-1931
+5283
+-5546
+-9759
+1078
+-7818
+1813
+-6029
+2709
+-9820
+912
+-9100
+7189
+-8848
+-4441
+5406
+-5528
+1619
+6502
+-4230
+-405
+5166
+1480
+2243
+719
+5341
+9868
+-9056
+2629
+-235
+2113
+9957
+-4834
+-4028
+8775
+-5277
+-1289
+-9834
+8325
+-9838
+-6850
+-531
+-4768
+-7113
+6942
+-8759
+-8168
+-340
+-5099
+-2689
+8045
+7866
+-7724
+-4764
+2277
+2807
+-1410
+2609
+-7804
+-801
+9125
+-9896
+-295
+2339
+3289
+4907
+-7371
+7972
+2642
+-3910
+-8559
+9178
+7175
+6416
+9704
+1693
+3401
+8361
+8387
+-9983
+7218
+1707
+5898
+-693
+-4156
+8818
+-4240
+-7638
+-1778
+3442
+6217
+-136
+3284
+-4152
+-4076
+5647
+-7952
+-4034
+6294
+-892
+5586
+-1581
+-3119
+4939
+2175
+-4787
+-618
+2102
+-7755
+2365
+2786
+3055
+1763
+2819
+-8504
+-1329
+-380
+5624
+1147
+2237
+-9360
+-9879
+-4241
+-8019
+-9066
+-7480
+-5453
+1480
+-9274
+1453
+5903
+-6774
+7550
+5529
+3289
+-4265
+-8204
+9311
+-807
+9484
+6096
+-6689
+6749
+-3149
+-6433
+8484
+-6602
+635
+-594
+2377
+-6918
+8361
+-1665
+8084
+-8457
+-2612
+-5537
+8088
+-5731
+9111
+-5436
+-3934
+-3476
+-4654
+3100
+4876
+9902
+3721
+-8636
+-392
+8361
+-9226
+-6780
+-2678
+-4930
+6004
+-7461
+6563
+9279
+3924
+-1861
+-9433
+-7156
+8971
+-5686
+872
+-7309
+-9718
+-639
+88
+1409
+9082
+3377
+-9149
+924
+-2617
+3918
+6907
+8009
+6899
+-5198
+-7519
+6725
+6395
+-9846
+8397
+-5456
+3324
+5889
+5974
+-7180
+4616
+-8955
+-7650
+-8626
+-5316
+9938
+7422
+-3775
+-9858
+-8225
+-277
+-1329
+4154
+-1087
+-3755
+-1294
+-9358
+-5813
+6318
+3099
+-2146
+-4606
+-9820
+4818
+8666
+471
+5442
+8657
+9130
+9445
+3892
+-6970
+4963
+-7642
+-9455
+-4775
+-6894
+-4540
+8885
+9615
+-2322
+6272
+1985
+4903
+8956
+-2700
+-5109
+-7110
+8387
+3289
+658
+-2392
+4907
+-8141
+-4468
+7206
+-9546
+4202
+6628
+-6698
+3854
+3434
+8257
+-1118
+-33
+5563
+7881
+-1509
+2608
+-8174
+8974
+-8922
+3420
+-4039
+3284
+8734
+-4976
+66
+7538
+-5983
+1161
+-8605
+-7355
+7755
+2295
+-1249
+9162
+2539
+-7495
+-3969
+4356
+-463
+-9726
+6196
+-1014
+6991
+2652
+7648
+-3436
+-1820
+6788
+1389
+-8744
+5421
+-9810
+-2432
+-9955
+4843
+-9051
+-7466
+7074
+-1938
+-6798
+2632
+-9287
+-2159
+1191
+-8207
+1600
+-8668
+-6612
+4022
+2014
+-586
+-4441
+-3215
+9639
+2588
+-9091
+6977
+5429
+3242
+694
+1334
+-19
+4606
+206
+3055
+686
+1500
+-5825
+-8727
+-3621
+291
+-9245
+-4134
+5661
+-5488
+-6985
+-765
+1336
+7939
+7907
+-8038
+-2269
+-5369
+3517
+-6429
+4909
+-7073
+-4089
+6914
+-6593
+-7400
+-6821
+9122
+-8004
+-3601
+-9759
+-176
+-1034
+-3964
+-1016
+-22
+6775
+-5633
+-1249
+-5089
+-7766
+-31
+370
+9027
+-9390
+3242
+-2686
+8618
+9279
+4653
+7608
+-8429
+6546
+6476
+-7319
+-8257
+4123
+9481
+-6384
+3272
+-8301
+7929
+1983
+174
+3023
+1867
+5283
+-693
+1654
+6157
+3387
+8158
+-5472
+-3621
+363
+-2773
+-480
+5777
+8928
+-7016
+-7085
+9256
+-591
+7175
+-5318
+9879
+-8991
+2529
+-1447
+-3108
+5943
+-7399
+2710
+6720
+3897
+1210
+-1964
+-2010
+513
+-1145
+-211
+9198
+2988
+6680
+-1284
+-925
+2458
+4154
+-4742
+3869
+7467
+-5813
+-87
+4255
+-886
+-2115
+1178
+-8821
+6409
+38
+-7460
+4271
+-9091
+-735
+1161
+8359
+-4134
+8787
+-9831
+-3927
+8767
+1044
+4894
+-7337
+5479
+-9876
+-5995
+-8860
+431
+-9602
+5596
+-2199
+-9200
+-9261
+7351
+5677
+-7341
+-7212
+2242
+1719
+9286
+9644
+7971
+9799
+2704
+4359
+4388
+-9621
+4779
+-1841
+-2248
+-8350
+-9321
+3847
+-9323
+-3689
+-2572
+-62
+3709
+1782
+3724
+9243
+-7954
+-8636
+-3618
+-2285
+-2551
+6788
+10
+-1057
+2716
+-4181
+-6326
+5981
+2619
+5713
+-8725
+7009
+-9074
+1017
+2039
+1694
+1945
+-8599
+3245
+3328
+-8798
+-4459
+-8064
+5193
+2377
+4187
+4874
+319
+-4228
+8259
+6449
+-7016
+6926
+-4776
+4046
+-305
+-1223
+-9626
+-6665
+-5035
+-384
+-1430
+68
+6130
+-8485
+8097
+7454
+6284
+8818
+6785
+-785
+-5508
+9550
+-5697
+-6888
+-2883
+4217
+-7886
+3725
+4368
+7218
+-4932
+6545
+2369
+3821
+8962
+-2421
+-5472
+3918
+6855
+-9680
+-6488
+-3389
+-9550
+-8955
+4876
+3416
+-2668
+1136
+-4155
+8412
+-8032
+-1315
+-7041
+7873
+-8666
+5269
+-449
+-4919
+-1731
+-3601
+1090
+-2409
+6754
+-9224
+5362
+1467
+6309
+1652
+7941
+-4517
+1500
+-1182
+5713
+6560
+9659
+-7016
+1057
+1098
+-3726
+-3149
+50
+4020
+262
+657
+712
+2647
+6488
+-2285
+-8457
+4631
+2127
+-1210
+6608
+-9347
+-6148
+-469
+-6988
+-4379
+-5596
+-4796
+-340
+5597
+2277
+909
+9286
+4842
+5535
+5136
+-2596
+1570
+-3306
+-5592
+8374
+-1873
+8176
+8470
+192
+3018
+-4028
+-3984
+-1849
+9332
+7671
+-574
+-6817
+7337
+-6201
+-2545
+-8717
+-4021
+6419
+8791
+9568
+-6699
+1402
+4356
+786
+6821
+6455
+405
+4154
+9758
+-9154
+562
+2553
+9940
+8797
+8392
+8263
+-4668
+8803
+-5771
+-3634
+-2128
+-7415
+-3169
+2339
+-7694
+-6817
+4737
+869
+2036
+-4838
+-1429
+-7309
+415
+4885
+-1950
+5236
+-7967
+5677
+2809
+1794
+8938
+9042
+-9536
+3753
+-6061
+-6237
+-966
+6121
+4095
+1403
+-5278
+-6194
+-7385
+-6276
+-8539
+9483
+-5153
+8741
+5872
+7978
+-4429
+-3340
+-689
+-8584
+7593
+-7522
+2065
+-6862
+-3027
+-4455
+381
+1297
+-9615
+-9831
+405
+-2598
+2478
+-4865
+-9811
+7645
+9955
+2322
+-1329
+1711
+964
+-9870
+7455
+-1635
+-1004
+-8004
+-1004
+-5690
+985
+-4221
+5228
+-6293
+476
+3451
+-2146
+-5812
+-9323
+-5341
+7171
+-2498
+7577
+-9322
+-5667
+6395
+-6614
+1147
+-2955
+2415
+-9481
+1336
+-8240
+8645
+2377
+8899
+1951
+2325
+-3871
+7432
+-3568
+450
+6630
+-2376
+63
+-2056
+-7180
+4474
+8912
+-1761
+7595
+9396
+924
+8975
+8806
+-9909
+-9160
+-7826
+3213
+-8119
+7201
+2166
+683
+-5213
+6855
+-5006
+-1681
+6830
+-3453
+-3468
+7245
+-2678
+3246
+1554
+1643
+-2215
+-2789
+9587
+-3211
+675
+-8371
+8268
+-3877
+9563
+9255
+9264
+-6953
+86
+-33
+6594
+-4493
+-9772
+-9615
+-9615
+6401
+-200
+-6482
+8043
+-5163
+4330
+-9553
+-4429
+-7563
+-3427
+7904
+-7346
+-8168
+-3084
+-8328
+4660
+-3361
+3867
+1203
+-9638
+-4474
+-9788
+-7522
+4194
+7425
+2206
+-2072
+-1968
+-6234
+-5336
+-1187
+-9680
+7469
+-6282
+-8457
+4064
+1341
+-8225
+-6234
+-7739
+1508
+6285
+-5554
+-6136
+-545
+-6768
+526
+-8243
+-8454
+-1563
+-9346
+-2840
+-4088
+-5100
+-187
+1386
+8240
+2968
+8397
+-2408
+-9643
+-3532
+-1055
+6525
+6326
+-3971
+-3918
+9877
+9173
+3714
+6094
+-3854
+-1727
+-3842
+-8317
+3462
+-7880
+-2587
+-1849
+3245
+-8606
+7469
+-40
+-595
+-8848
+-3056
+3583
+-1324
+2568
+-5929
+-5479
+417
+6078
+-2409
+-9333
+3653
+-8032
+-4728
+-2849
+-5955
+-2876
+2964
+7139
+-7192
+9434
+-9736
+-7179
+2507
+7766
+-5722
+2743
+2153
+8108
+-2481
+4009
+1376
+-5934
+4793
+5087
+216
+9075
+-8123
+2322
+6235
+3023
+5267
+1532
+-4948
+2328
+-2994
+2129
+5695
+-7778
+5642
+-8511
+-7281
+4775
+-2350
+-3734
+-9275
+-6514
+2254
+8882
+-5720
+-273
+-4087
+4745
+6232
+4195
+-9770
+7883
+-4233
+9696
+-4249
+988
+-1782
+3810
+-5715
+-5989
+-102
+8961
+-329
+-5911
+-288
+-7192
+-9905
+-290
+5908
+-2878
+-9730
+174
+-8726
+4653
+2157
+8210
+-6505
+-2007
+452
+9945
+5324
+-3998
+-3334
+-8496
+-6588
+9402
+-4824
+5245
+-9959
+-6693
+-2993
+-4742
+-6752
+-1349
+9899
+-1108
+-288
+7595
+-8064
+-303
+3284
+1908
+8581
+-6506
+6128
+-2031
+4228
+-4824
+2897
+6131
+5946
+4623
+-5475
+8315
+1044
+-5888
+1314
+2777
+2050
+-5731
+-9371
+-7728
+-3101
+-7447
+-9475
+-5394
+-11
+8005
+6155
+1646
+-8988
+-3127
+-6441
+-9678
+-136
+769
+-2603
+9627
+1329
+5076
+-8734
+-4728
+-5093
+8308
+6826
+9851
+-2320
+-9520
+-2070
+-9995
+-6327
+-9186
+-3200
+-5955
+-6526
+3806
+1628
+-5218
+-3354
+697
+5344
+-9673
+2981
+-1293
+-2137
+-2882
+-1848
+5435
+1930
+-4895
+-9779
+6499
+765
+-1280
+-5454
+8372
+5689
+-2254
+-2378
+6883
+-2815
+929
+5992
+7006
+-7063
+-7968
+-1185
+-5179
+-7881
+-2309
+-4530
+2114
+-687
+946
+9938
+-6984
+3362
+-8753
+312
+-6158
+-3027
+-741
+-8534
+-3853
+-9476
+472
+-139
+-8241
+-3012
+4972
+-78
+8440
+8611
+370
+2377
+-4106
+239
+7713
+-2576
+2545
+-6690
+-752
+-6980
+1349
+7143
+8559
+8522
+1573
+-2547
+-3748
+-2380
+7023
+-1434
+7816
+4001
+-2883
+-2502
+1212
+4743
+2453
+-4738
+-6850
+-2246
+-5970
+-4243
+3770
+4842
+-1827
+-1879
+-3777
+-1366
+6340
+9072
+480
+4046
+2065
+9971
+-5902
+-6836
+7051
+-7318
+9563
+5672
+-9320
+-339
+-278
+-7299
+3274
+847
+7420
+-5341
+2373
+2678
+8151
+841
+-9834
+9947
+5380
+2568
+-8727
+-4493
+7114
+3714
+6531
+-5090
+6220
+-6072
+-9878
+6531
+-935
+4450
+-4704
+-3549
+6898
+-7179
+-1628
+1195
+2021
+-1852
+6413
+7913
+-7045
+-6316
+-8211
+-8610
+4303
+9510
+-7638
+5777
+-5060
+6405
+2399
+-9758
+-3150
+436
+-1635
+1951
+-9688
+7366
+6334
+2628
+-1931
+9572
+-1444
+980
+-7318
+-8598
+3489
+-8019
+-1088
+8591
+8946
+2190
+2253
+-2652
+9659
+6192
+5057
+886
+9133
+-541
+-2996
+-4146
+-2248
+146
+-7026
+9802
+6938
+-98
+983
+-8303
+7171
+-6403
+2178
+4001
+-3114
+-5120
+-2416
+-7715
+1683
+-7747
+403
+-5841
+-5436
+8004
+1328
+4219
+323
+1387
+-1595
+9995
+3363
+-2097
+-7181
+2277
+-4682
+7367
+-6098
+9918
+6047
+-9444
+7205
+1154
+1796
+-2265
+2830
+-1732
+-906
+333
+9020
+-6779
+3538
+-9817
+95
+8187
+2348
+-5398
+6397
+-7266
+-3807
+-3056
+-5182
+977
+-2623
+4845
+7253
+6669
+2357
+-2587
+8666
+9196
+6401
+1771
+-5744
+2028
+-2987
+6830
+-4114
+2685
+-9381
+-2499
+-7834
+-2029
+-3791
+7959
+-949
+-7584
+8047
+9508
+-196
+-8243
+-4843
+-3300
+7109
+538
+-7180
+-5902
+8611
+9303
+6249
+-8550
+1393
+-514
+8277
+-475
+-1363
diff --git a/2022/in/day20.ref b/2022/in/day20.ref
new file mode 100644
index 0000000..52c68ff
--- /dev/null
+++ b/2022/in/day20.ref
@@ -0,0 +1,7 @@
+1
+2
+-3
+3
+-2
+0
+4