commit 18c7b99edee335b20ec04b2eacab55163d351994
parent b6264be563583c188018d534a223d4108cce6d76
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date: Fri, 13 Dec 2024 06:51:26 +0100
Day 13 2024
Diffstat:
8 files changed, 2734 insertions(+), 0 deletions(-)
diff --git a/2024/13/Makefile b/2024/13/Makefile
@@ -0,0 +1,24 @@
+CC=g++ -std=c++20 -g -Wall
+
+a:
+ ${CC} -o a.out day13a.cpp
+
+b:
+ ${CC} -o b.out day13b.cpp
+
+clean:
+ rm -f a b
+
+atest: a
+ ./a.out
+
+btest: b
+ ./b.out
+
+arun: a
+ ./a.out < input
+
+brun: b
+ ./b.out < input
+
+.PHONY: a b clean atest btest arun brun
diff --git a/2024/13/clean.sh b/2024/13/clean.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+sed 's/Button .: X+//; s/, Y./ /; s/Prize: X=//'
diff --git a/2024/13/day13a.cpp b/2024/13/day13a.cpp
@@ -0,0 +1,62 @@
+/*
+This is the dumb solution I wrote before actually thinking how to solve
+the problem. Check out day13b.cpp for a better solution (just remove the
++N in the input-reading part).
+
+Also, both this file and day13b.cpp take a different input format than
+what was given. I used clean.sh to convert from 'input-original' to 'input'.
+*/
+
+#include <algorithm>
+#include <iostream>
+#include <map>
+#include <ranges>
+#include <set>
+#include <sstream>
+#include <string>
+#include <string_view>
+#include <vector>
+using namespace std;
+
+#define INF 999999
+
+class Machine {
+public:
+ pair<int, int> a, b, prize;
+
+ Machine(int a1, int a2, int b1, int b2, int p1, int p2) :
+ a(a1, a2), b(b1, b2), prize(p1, p2) {}
+};
+
+int main() {
+ string line;
+ int a1, a2, b1, b2, p1, p2;
+ vector <Machine> machines;
+ while (cin >> a1 >> a2) {
+ cin >> b1 >> b2;
+ cin >> p1 >> p2;
+ getline(cin, line);
+ machines.push_back(Machine(a1, a2, b1, b2, p1, p2));
+ }
+
+ int tot = 0;
+ for (auto m : machines) {
+ int minp = INF;
+ for (int i = 0; i <= 100; i++) {
+ int x = m.prize.first-m.a.first*i;
+ int y = m.prize.second-m.a.second*i;
+ if (x % m.b.first != 0 || y % m.b.second != 0)
+ continue;
+ int a = x / m.b.first;
+ int b = y / m.b.second;
+ if (a != b)
+ continue;
+ minp = min(minp, 3*i+a);
+ }
+ tot += minp == INF ? 0 : minp;
+ }
+
+ cout << tot << endl;
+
+ return 0;
+}
diff --git a/2024/13/day13b.cpp b/2024/13/day13b.cpp
@@ -0,0 +1,57 @@
+#include <algorithm>
+#include <iostream>
+#include <map>
+#include <ranges>
+#include <set>
+#include <sstream>
+#include <string>
+#include <string_view>
+#include <vector>
+using namespace std;
+
+#define N 10000000000000
+#define INF 999999
+
+class Machine {
+public:
+ pair<int64_t, int64_t> a, b, p;
+
+ Machine(int64_t a1, int64_t a2,
+ int64_t b1, int64_t b2, int64_t p1, int64_t p2) :
+ a(a1, a2), b(b1, b2), p(p1, p2) {}
+};
+
+int64_t det(int64_t a, int64_t b, int64_t c, int64_t d) {
+ return a*d - b*c;
+}
+
+pair<int64_t, int64_t> solve_system(const Machine m) {
+ auto d = det(m.a.first, m.b.first, m.a.second, m.b.second);
+ auto dx = det(m.p.first, m.b.first, m.p.second, m.b.second);
+ auto dy = det(m.a.first, m.p.first, m.a.second, m.p.second);
+ return make_pair(dx/d, dy/d);
+}
+
+int main() {
+ string line;
+ int64_t a1, a2, b1, b2, p1, p2;
+ vector <Machine> machines;
+ while (cin >> a1 >> a2) {
+ cin >> b1 >> b2;
+ cin >> p1 >> p2;
+ getline(cin, line);
+ machines.push_back(Machine(a1, a2, b1, b2, p1+N, p2+N));
+ }
+
+ int64_t tot = 0;
+ for (auto m : machines) {
+ auto [x, y] = solve_system(m);
+ if (m.a.first * x + m.b.first * y == m.p.first &&
+ m.a.second * x + m.b.second * y == m.p.second)
+ tot += 3*x + y;
+ }
+
+ cout << tot << endl;
+
+ return 0;
+}
diff --git a/2024/13/input b/2024/13/input
@@ -0,0 +1,1279 @@
+54 22
+36 62
+19754 14184
+
+20 68
+34 13
+15660 15792
+
+63 17
+11 28
+2658 11605
+
+15 56
+74 29
+9393 11622
+
+34 97
+83 35
+3876 4197
+
+14 62
+75 27
+12989 4061
+
+46 17
+15 54
+15841 336
+
+19 61
+69 12
+204 7413
+
+34 14
+29 40
+2353 10368
+
+64 32
+25 48
+3273 304
+
+18 60
+66 30
+11594 2330
+
+65 47
+11 29
+4677 195
+
+13 23
+42 14
+7115 12417
+
+81 55
+26 93
+2703 5678
+
+50 96
+74 20
+8694 9856
+
+19 54
+74 36
+6145 9170
+
+45 76
+43 15
+4194 5627
+
+28 91
+94 48
+2282 2009
+
+70 35
+33 83
+4786 3856
+
+14 89
+38 40
+2186 3415
+
+55 19
+43 79
+4737 2757
+
+32 76
+60 17
+11124 5467
+
+33 62
+50 21
+4940 12625
+
+56 14
+48 92
+2888 962
+
+14 58
+83 30
+6249 5488
+
+47 83
+47 11
+7153 15685
+
+35 68
+52 16
+12241 14956
+
+46 72
+56 25
+6054 4401
+
+35 57
+43 14
+10516 12390
+
+29 56
+41 25
+6288 2319
+
+73 19
+59 86
+9965 8669
+
+13 43
+49 13
+12137 19559
+
+17 65
+67 22
+1910 15266
+
+55 27
+11 43
+7767 5007
+
+26 18
+35 94
+4719 9616
+
+37 81
+58 13
+11010 1876
+
+66 43
+17 88
+6227 5057
+
+36 66
+61 31
+1642 10702
+
+54 17
+15 50
+17444 2332
+
+33 74
+47 16
+1127 13206
+
+45 93
+84 43
+9867 10858
+
+35 99
+64 33
+3780 5511
+
+29 62
+46 24
+14412 6932
+
+91 18
+21 20
+9303 2474
+
+61 34
+30 75
+6835 7015
+
+32 82
+46 12
+7126 14580
+
+30 47
+36 11
+13922 14563
+
+79 39
+12 43
+15040 13839
+
+15 14
+20 81
+1075 1502
+
+35 80
+45 11
+10380 11870
+
+50 36
+21 58
+4389 3546
+
+31 95
+60 14
+5432 4076
+
+96 20
+64 77
+3424 2687
+
+15 51
+60 26
+1505 19741
+
+37 12
+33 78
+10344 13604
+
+70 93
+84 21
+9184 8034
+
+33 85
+99 59
+4356 2988
+
+26 27
+13 60
+1105 3240
+
+55 31
+21 46
+7181 11070
+
+20 54
+41 32
+2979 3400
+
+35 19
+33 60
+10334 11024
+
+84 21
+29 79
+9575 6340
+
+58 24
+15 64
+10518 6264
+
+41 12
+45 69
+10120 8966
+
+87 28
+14 67
+6242 6571
+
+12 28
+65 24
+1515 12044
+
+85 24
+29 37
+7600 2434
+
+34 92
+94 69
+9882 12282
+
+11 37
+23 12
+848 8448
+
+52 28
+33 63
+3429 6843
+
+57 13
+56 55
+4314 1744
+
+81 24
+12 59
+13487 6933
+
+72 50
+15 40
+8927 9290
+
+68 27
+16 30
+2728 2904
+
+66 13
+54 65
+6060 1846
+
+56 86
+88 44
+5840 4138
+
+44 80
+46 15
+15084 8430
+
+50 18
+13 60
+6386 6944
+
+15 63
+67 14
+12210 802
+
+22 65
+65 33
+2817 4983
+
+23 37
+51 11
+4351 1387
+
+58 39
+14 50
+2678 3343
+
+13 80
+65 68
+4784 5536
+
+47 93
+84 33
+5496 3948
+
+51 13
+21 58
+13064 14007
+
+38 22
+12 26
+1962 11422
+
+51 13
+34 62
+13062 2106
+
+31 11
+44 78
+4550 7654
+
+97 27
+48 63
+10321 3816
+
+59 17
+27 78
+978 18744
+
+68 27
+25 64
+2115 1002
+
+19 33
+91 19
+7873 2689
+
+39 96
+47 16
+5548 8672
+
+58 11
+20 80
+4668 4086
+
+13 33
+56 14
+3696 1396
+
+21 45
+34 13
+15420 12003
+
+12 22
+77 27
+2487 1477
+
+58 89
+70 19
+5774 1787
+
+25 63
+53 13
+13823 19135
+
+45 36
+34 99
+6416 9369
+
+81 35
+18 50
+4203 5025
+
+81 28
+12 58
+2592 5258
+
+57 21
+19 67
+19310 9410
+
+62 48
+25 84
+1505 2652
+
+98 18
+20 26
+9334 1960
+
+23 42
+33 13
+11779 4858
+
+12 36
+75 39
+4355 8495
+
+20 34
+37 18
+10274 2754
+
+89 26
+18 44
+4524 1864
+
+11 36
+53 21
+18093 17453
+
+48 22
+47 74
+8784 8868
+
+29 53
+45 16
+12465 10268
+
+47 82
+65 19
+4989 3984
+
+98 36
+52 96
+1610 1668
+
+31 75
+63 26
+1468 2161
+
+14 66
+47 14
+5961 12456
+
+20 87
+70 44
+1740 3922
+
+52 21
+16 43
+3884 7457
+
+93 97
+91 20
+2827 851
+
+68 15
+23 63
+10422 7157
+
+84 68
+22 86
+2696 2728
+
+67 34
+40 83
+5256 5865
+
+34 49
+97 12
+3687 1352
+
+15 90
+89 21
+7432 2013
+
+41 13
+12 50
+7134 14486
+
+20 28
+32 13
+10032 19165
+
+27 77
+69 13
+9554 15260
+
+47 23
+32 54
+6409 355
+
+56 81
+64 16
+7600 5786
+
+46 17
+37 66
+7509 14295
+
+18 33
+64 36
+16814 12887
+
+22 79
+92 31
+3856 5165
+
+43 12
+30 74
+1825 17414
+
+74 49
+28 70
+6646 9135
+
+85 14
+12 79
+1124 3340
+
+60 31
+11 44
+14996 12846
+
+62 17
+12 54
+17176 5908
+
+73 54
+21 91
+4258 4810
+
+32 57
+36 11
+412 2137
+
+80 65
+12 63
+2060 5135
+
+38 19
+11 30
+2771 8832
+
+12 63
+89 94
+2441 3484
+
+64 42
+19 44
+10186 11248
+
+21 47
+81 42
+6363 4491
+
+55 70
+90 13
+7855 6037
+
+39 78
+53 19
+19180 483
+
+11 77
+74 17
+6027 1608
+
+71 34
+20 54
+1962 12986
+
+19 50
+57 25
+19082 12150
+
+54 19
+13 31
+1754 19209
+
+77 15
+17 98
+7856 7117
+
+86 35
+18 85
+6694 6375
+
+14 62
+63 41
+1330 4938
+
+92 51
+38 74
+6240 8435
+
+14 20
+86 27
+4106 2319
+
+54 17
+36 69
+6488 2762
+
+82 96
+82 15
+4592 2460
+
+14 65
+71 24
+9947 3249
+
+33 54
+23 11
+7043 12653
+
+35 12
+16 47
+7136 7027
+
+11 26
+39 20
+8298 1518
+
+50 12
+13 23
+1816 2066
+
+17 38
+63 40
+9007 7834
+
+55 19
+11 28
+14257 9219
+
+55 18
+11 69
+1343 5285
+
+19 53
+74 28
+2560 1920
+
+12 59
+39 14
+5354 317
+
+72 14
+91 86
+9387 7358
+
+18 84
+54 48
+3852 6960
+
+12 69
+57 12
+6488 7169
+
+15 30
+42 15
+12671 10775
+
+25 12
+34 96
+2435 6348
+
+29 12
+40 66
+1315 17804
+
+69 26
+22 56
+6670 4708
+
+19 42
+62 21
+2458 16769
+
+45 17
+23 38
+5151 19084
+
+17 33
+35 14
+14888 18170
+
+74 36
+14 57
+14816 15158
+
+36 14
+32 60
+3368 15472
+
+85 19
+83 89
+10387 4717
+
+55 18
+37 68
+16050 14820
+
+52 21
+15 49
+4037 6619
+
+75 11
+11 51
+19531 6083
+
+90 21
+29 38
+10125 3768
+
+33 70
+45 20
+4805 17590
+
+11 28
+58 33
+4190 18722
+
+95 50
+16 70
+3754 2530
+
+88 19
+35 84
+7511 3227
+
+48 12
+11 31
+9355 19551
+
+71 40
+39 96
+9850 12656
+
+18 46
+69 53
+1584 3308
+
+65 26
+62 89
+7671 5829
+
+92 51
+19 41
+4806 5650
+
+26 98
+50 39
+6268 10174
+
+16 64
+34 12
+16854 11364
+
+20 69
+61 23
+408 12175
+
+49 16
+11 45
+17005 1724
+
+82 15
+92 80
+15178 8525
+
+98 17
+32 95
+4930 5596
+
+74 24
+63 72
+4818 1872
+
+63 23
+29 74
+4610 2155
+
+14 69
+46 16
+5686 14981
+
+12 44
+73 32
+1404 2320
+
+16 61
+36 16
+19784 1294
+
+79 17
+11 57
+18419 19769
+
+27 61
+32 16
+11215 8185
+
+80 14
+55 94
+6715 3622
+
+13 99
+67 60
+1132 5469
+
+11 64
+68 52
+1359 3096
+
+16 40
+60 34
+4712 2220
+
+50 11
+12 60
+15794 4259
+
+38 17
+29 54
+1335 6160
+
+36 59
+93 32
+6990 6880
+
+29 97
+62 55
+3255 5097
+
+25 21
+22 73
+3307 5831
+
+15 75
+87 82
+2655 6215
+
+22 82
+74 39
+4198 6648
+
+41 61
+36 11
+7347 17092
+
+82 51
+19 60
+1729 1509
+
+43 13
+49 76
+8520 7788
+
+97 24
+46 51
+1349 1245
+
+84 38
+13 51
+10408 4606
+
+48 97
+80 28
+9584 8808
+
+13 32
+76 43
+16226 18495
+
+14 33
+78 54
+1852 2028
+
+11 30
+73 37
+7433 18454
+
+23 56
+31 16
+12525 3816
+
+55 16
+21 68
+16009 16852
+
+17 47
+76 37
+6637 12724
+
+74 88
+59 12
+9928 6688
+
+26 87
+32 21
+1790 3063
+
+25 71
+56 19
+1849 5946
+
+51 76
+59 28
+7997 6644
+
+53 28
+32 62
+5323 6228
+
+33 69
+39 18
+575 13307
+
+93 15
+56 55
+7024 3845
+
+21 53
+68 24
+5268 7924
+
+13 51
+78 27
+15733 10982
+
+12 79
+50 11
+7094 2854
+
+21 83
+90 69
+2607 5143
+
+94 16
+25 54
+10271 6474
+
+80 14
+12 69
+15888 10392
+
+58 37
+15 54
+1422 3573
+
+13 28
+59 29
+2235 12810
+
+11 32
+58 13
+438 6564
+
+14 72
+93 84
+4137 7476
+
+63 29
+27 54
+4319 1669
+
+86 28
+30 60
+5710 2060
+
+15 54
+52 19
+9815 1199
+
+24 63
+57 20
+16160 12588
+
+19 37
+57 33
+2324 15332
+
+25 14
+31 56
+7136 17336
+
+66 29
+25 57
+13681 16936
+
+36 93
+84 56
+6720 11242
+
+92 41
+18 96
+1396 1150
+
+12 38
+63 28
+19403 12776
+
+72 28
+13 37
+5137 3113
+
+90 72
+91 13
+5795 2543
+
+28 13
+31 49
+16418 9287
+
+17 33
+64 32
+11422 2206
+
+71 22
+16 45
+2918 7791
+
+15 36
+55 35
+7930 7704
+
+57 65
+95 17
+11818 4800
+
+22 46
+33 21
+1232 1040
+
+34 98
+85 39
+7582 9494
+
+63 15
+15 47
+13439 17391
+
+20 41
+38 23
+2052 10086
+
+14 66
+84 28
+16902 10730
+
+27 12
+17 43
+9367 12201
+
+30 49
+40 20
+8430 10049
+
+82 22
+46 97
+3798 4236
+
+56 55
+94 13
+6522 5533
+
+39 41
+59 16
+4261 3559
+
+59 18
+11 63
+15316 10169
+
+59 55
+20 98
+375 667
+
+11 93
+64 67
+6699 14917
+
+13 46
+48 15
+1661 1232
+
+36 99
+85 42
+2224 3048
+
+11 75
+28 22
+2614 6168
+
+21 97
+94 81
+7763 8662
+
+34 13
+26 42
+8612 15869
+
+39 71
+31 13
+19737 5345
+
+21 60
+75 30
+10448 18140
+
+24 49
+47 17
+7371 12446
+
+56 86
+94 41
+3570 4759
+
+14 50
+54 28
+19392 1330
+
+20 67
+52 13
+1000 3692
+
+14 26
+50 21
+7114 9374
+
+19 55
+39 16
+15710 8361
+
+56 14
+63 96
+4851 3540
+
+33 67
+54 24
+5447 1189
+
+39 84
+89 24
+10312 8292
+
+51 19
+53 74
+4001 3498
+
+67 43
+11 36
+4764 9202
+
+21 62
+54 22
+4434 2234
+
+89 87
+24 88
+6501 7323
+
+54 29
+28 51
+13224 17258
+
+62 45
+39 94
+4796 9262
+
+45 23
+12 52
+11084 11636
+
+22 37
+48 25
+5514 11182
+
+15 38
+75 39
+16520 17711
+
+78 11
+49 92
+9365 6341
+
+98 14
+13 64
+5741 2498
+
+13 63
+61 20
+13770 14824
+
+21 38
+62 37
+17864 15513
+
+24 21
+15 62
+1476 4224
+
+16 75
+52 12
+468 8849
+
+14 41
+46 22
+2040 1353
+
+49 16
+29 54
+10446 18614
+
+11 69
+75 18
+10963 2327
+
+37 64
+47 20
+18201 3324
+
+99 14
+87 75
+14862 6177
+
+12 58
+82 33
+7438 6507
+
+72 13
+13 79
+14160 11952
+
+24 55
+73 39
+12196 4761
+
+47 28
+21 52
+969 9732
+
+57 29
+15 30
+17750 13700
+
+40 23
+13 26
+13248 14881
+
+68 13
+85 90
+9707 6207
+
+47 23
+19 57
+2226 13254
diff --git a/2024/13/input-original b/2024/13/input-original
@@ -0,0 +1,1279 @@
+Button A: X+54, Y+22
+Button B: X+36, Y+62
+Prize: X=19754, Y=14184
+
+Button A: X+20, Y+68
+Button B: X+34, Y+13
+Prize: X=15660, Y=15792
+
+Button A: X+63, Y+17
+Button B: X+11, Y+28
+Prize: X=2658, Y=11605
+
+Button A: X+15, Y+56
+Button B: X+74, Y+29
+Prize: X=9393, Y=11622
+
+Button A: X+34, Y+97
+Button B: X+83, Y+35
+Prize: X=3876, Y=4197
+
+Button A: X+14, Y+62
+Button B: X+75, Y+27
+Prize: X=12989, Y=4061
+
+Button A: X+46, Y+17
+Button B: X+15, Y+54
+Prize: X=15841, Y=336
+
+Button A: X+19, Y+61
+Button B: X+69, Y+12
+Prize: X=204, Y=7413
+
+Button A: X+34, Y+14
+Button B: X+29, Y+40
+Prize: X=2353, Y=10368
+
+Button A: X+64, Y+32
+Button B: X+25, Y+48
+Prize: X=3273, Y=304
+
+Button A: X+18, Y+60
+Button B: X+66, Y+30
+Prize: X=11594, Y=2330
+
+Button A: X+65, Y+47
+Button B: X+11, Y+29
+Prize: X=4677, Y=195
+
+Button A: X+13, Y+23
+Button B: X+42, Y+14
+Prize: X=7115, Y=12417
+
+Button A: X+81, Y+55
+Button B: X+26, Y+93
+Prize: X=2703, Y=5678
+
+Button A: X+50, Y+96
+Button B: X+74, Y+20
+Prize: X=8694, Y=9856
+
+Button A: X+19, Y+54
+Button B: X+74, Y+36
+Prize: X=6145, Y=9170
+
+Button A: X+45, Y+76
+Button B: X+43, Y+15
+Prize: X=4194, Y=5627
+
+Button A: X+28, Y+91
+Button B: X+94, Y+48
+Prize: X=2282, Y=2009
+
+Button A: X+70, Y+35
+Button B: X+33, Y+83
+Prize: X=4786, Y=3856
+
+Button A: X+14, Y+89
+Button B: X+38, Y+40
+Prize: X=2186, Y=3415
+
+Button A: X+55, Y+19
+Button B: X+43, Y+79
+Prize: X=4737, Y=2757
+
+Button A: X+32, Y+76
+Button B: X+60, Y+17
+Prize: X=11124, Y=5467
+
+Button A: X+33, Y+62
+Button B: X+50, Y+21
+Prize: X=4940, Y=12625
+
+Button A: X+56, Y+14
+Button B: X+48, Y+92
+Prize: X=2888, Y=962
+
+Button A: X+14, Y+58
+Button B: X+83, Y+30
+Prize: X=6249, Y=5488
+
+Button A: X+47, Y+83
+Button B: X+47, Y+11
+Prize: X=7153, Y=15685
+
+Button A: X+35, Y+68
+Button B: X+52, Y+16
+Prize: X=12241, Y=14956
+
+Button A: X+46, Y+72
+Button B: X+56, Y+25
+Prize: X=6054, Y=4401
+
+Button A: X+35, Y+57
+Button B: X+43, Y+14
+Prize: X=10516, Y=12390
+
+Button A: X+29, Y+56
+Button B: X+41, Y+25
+Prize: X=6288, Y=2319
+
+Button A: X+73, Y+19
+Button B: X+59, Y+86
+Prize: X=9965, Y=8669
+
+Button A: X+13, Y+43
+Button B: X+49, Y+13
+Prize: X=12137, Y=19559
+
+Button A: X+17, Y+65
+Button B: X+67, Y+22
+Prize: X=1910, Y=15266
+
+Button A: X+55, Y+27
+Button B: X+11, Y+43
+Prize: X=7767, Y=5007
+
+Button A: X+26, Y+18
+Button B: X+35, Y+94
+Prize: X=4719, Y=9616
+
+Button A: X+37, Y+81
+Button B: X+58, Y+13
+Prize: X=11010, Y=1876
+
+Button A: X+66, Y+43
+Button B: X+17, Y+88
+Prize: X=6227, Y=5057
+
+Button A: X+36, Y+66
+Button B: X+61, Y+31
+Prize: X=1642, Y=10702
+
+Button A: X+54, Y+17
+Button B: X+15, Y+50
+Prize: X=17444, Y=2332
+
+Button A: X+33, Y+74
+Button B: X+47, Y+16
+Prize: X=1127, Y=13206
+
+Button A: X+45, Y+93
+Button B: X+84, Y+43
+Prize: X=9867, Y=10858
+
+Button A: X+35, Y+99
+Button B: X+64, Y+33
+Prize: X=3780, Y=5511
+
+Button A: X+29, Y+62
+Button B: X+46, Y+24
+Prize: X=14412, Y=6932
+
+Button A: X+91, Y+18
+Button B: X+21, Y+20
+Prize: X=9303, Y=2474
+
+Button A: X+61, Y+34
+Button B: X+30, Y+75
+Prize: X=6835, Y=7015
+
+Button A: X+32, Y+82
+Button B: X+46, Y+12
+Prize: X=7126, Y=14580
+
+Button A: X+30, Y+47
+Button B: X+36, Y+11
+Prize: X=13922, Y=14563
+
+Button A: X+79, Y+39
+Button B: X+12, Y+43
+Prize: X=15040, Y=13839
+
+Button A: X+15, Y+14
+Button B: X+20, Y+81
+Prize: X=1075, Y=1502
+
+Button A: X+35, Y+80
+Button B: X+45, Y+11
+Prize: X=10380, Y=11870
+
+Button A: X+50, Y+36
+Button B: X+21, Y+58
+Prize: X=4389, Y=3546
+
+Button A: X+31, Y+95
+Button B: X+60, Y+14
+Prize: X=5432, Y=4076
+
+Button A: X+96, Y+20
+Button B: X+64, Y+77
+Prize: X=3424, Y=2687
+
+Button A: X+15, Y+51
+Button B: X+60, Y+26
+Prize: X=1505, Y=19741
+
+Button A: X+37, Y+12
+Button B: X+33, Y+78
+Prize: X=10344, Y=13604
+
+Button A: X+70, Y+93
+Button B: X+84, Y+21
+Prize: X=9184, Y=8034
+
+Button A: X+33, Y+85
+Button B: X+99, Y+59
+Prize: X=4356, Y=2988
+
+Button A: X+26, Y+27
+Button B: X+13, Y+60
+Prize: X=1105, Y=3240
+
+Button A: X+55, Y+31
+Button B: X+21, Y+46
+Prize: X=7181, Y=11070
+
+Button A: X+20, Y+54
+Button B: X+41, Y+32
+Prize: X=2979, Y=3400
+
+Button A: X+35, Y+19
+Button B: X+33, Y+60
+Prize: X=10334, Y=11024
+
+Button A: X+84, Y+21
+Button B: X+29, Y+79
+Prize: X=9575, Y=6340
+
+Button A: X+58, Y+24
+Button B: X+15, Y+64
+Prize: X=10518, Y=6264
+
+Button A: X+41, Y+12
+Button B: X+45, Y+69
+Prize: X=10120, Y=8966
+
+Button A: X+87, Y+28
+Button B: X+14, Y+67
+Prize: X=6242, Y=6571
+
+Button A: X+12, Y+28
+Button B: X+65, Y+24
+Prize: X=1515, Y=12044
+
+Button A: X+85, Y+24
+Button B: X+29, Y+37
+Prize: X=7600, Y=2434
+
+Button A: X+34, Y+92
+Button B: X+94, Y+69
+Prize: X=9882, Y=12282
+
+Button A: X+11, Y+37
+Button B: X+23, Y+12
+Prize: X=848, Y=8448
+
+Button A: X+52, Y+28
+Button B: X+33, Y+63
+Prize: X=3429, Y=6843
+
+Button A: X+57, Y+13
+Button B: X+56, Y+55
+Prize: X=4314, Y=1744
+
+Button A: X+81, Y+24
+Button B: X+12, Y+59
+Prize: X=13487, Y=6933
+
+Button A: X+72, Y+50
+Button B: X+15, Y+40
+Prize: X=8927, Y=9290
+
+Button A: X+68, Y+27
+Button B: X+16, Y+30
+Prize: X=2728, Y=2904
+
+Button A: X+66, Y+13
+Button B: X+54, Y+65
+Prize: X=6060, Y=1846
+
+Button A: X+56, Y+86
+Button B: X+88, Y+44
+Prize: X=5840, Y=4138
+
+Button A: X+44, Y+80
+Button B: X+46, Y+15
+Prize: X=15084, Y=8430
+
+Button A: X+50, Y+18
+Button B: X+13, Y+60
+Prize: X=6386, Y=6944
+
+Button A: X+15, Y+63
+Button B: X+67, Y+14
+Prize: X=12210, Y=802
+
+Button A: X+22, Y+65
+Button B: X+65, Y+33
+Prize: X=2817, Y=4983
+
+Button A: X+23, Y+37
+Button B: X+51, Y+11
+Prize: X=4351, Y=1387
+
+Button A: X+58, Y+39
+Button B: X+14, Y+50
+Prize: X=2678, Y=3343
+
+Button A: X+13, Y+80
+Button B: X+65, Y+68
+Prize: X=4784, Y=5536
+
+Button A: X+47, Y+93
+Button B: X+84, Y+33
+Prize: X=5496, Y=3948
+
+Button A: X+51, Y+13
+Button B: X+21, Y+58
+Prize: X=13064, Y=14007
+
+Button A: X+38, Y+22
+Button B: X+12, Y+26
+Prize: X=1962, Y=11422
+
+Button A: X+51, Y+13
+Button B: X+34, Y+62
+Prize: X=13062, Y=2106
+
+Button A: X+31, Y+11
+Button B: X+44, Y+78
+Prize: X=4550, Y=7654
+
+Button A: X+97, Y+27
+Button B: X+48, Y+63
+Prize: X=10321, Y=3816
+
+Button A: X+59, Y+17
+Button B: X+27, Y+78
+Prize: X=978, Y=18744
+
+Button A: X+68, Y+27
+Button B: X+25, Y+64
+Prize: X=2115, Y=1002
+
+Button A: X+19, Y+33
+Button B: X+91, Y+19
+Prize: X=7873, Y=2689
+
+Button A: X+39, Y+96
+Button B: X+47, Y+16
+Prize: X=5548, Y=8672
+
+Button A: X+58, Y+11
+Button B: X+20, Y+80
+Prize: X=4668, Y=4086
+
+Button A: X+13, Y+33
+Button B: X+56, Y+14
+Prize: X=3696, Y=1396
+
+Button A: X+21, Y+45
+Button B: X+34, Y+13
+Prize: X=15420, Y=12003
+
+Button A: X+12, Y+22
+Button B: X+77, Y+27
+Prize: X=2487, Y=1477
+
+Button A: X+58, Y+89
+Button B: X+70, Y+19
+Prize: X=5774, Y=1787
+
+Button A: X+25, Y+63
+Button B: X+53, Y+13
+Prize: X=13823, Y=19135
+
+Button A: X+45, Y+36
+Button B: X+34, Y+99
+Prize: X=6416, Y=9369
+
+Button A: X+81, Y+35
+Button B: X+18, Y+50
+Prize: X=4203, Y=5025
+
+Button A: X+81, Y+28
+Button B: X+12, Y+58
+Prize: X=2592, Y=5258
+
+Button A: X+57, Y+21
+Button B: X+19, Y+67
+Prize: X=19310, Y=9410
+
+Button A: X+62, Y+48
+Button B: X+25, Y+84
+Prize: X=1505, Y=2652
+
+Button A: X+98, Y+18
+Button B: X+20, Y+26
+Prize: X=9334, Y=1960
+
+Button A: X+23, Y+42
+Button B: X+33, Y+13
+Prize: X=11779, Y=4858
+
+Button A: X+12, Y+36
+Button B: X+75, Y+39
+Prize: X=4355, Y=8495
+
+Button A: X+20, Y+34
+Button B: X+37, Y+18
+Prize: X=10274, Y=2754
+
+Button A: X+89, Y+26
+Button B: X+18, Y+44
+Prize: X=4524, Y=1864
+
+Button A: X+11, Y+36
+Button B: X+53, Y+21
+Prize: X=18093, Y=17453
+
+Button A: X+48, Y+22
+Button B: X+47, Y+74
+Prize: X=8784, Y=8868
+
+Button A: X+29, Y+53
+Button B: X+45, Y+16
+Prize: X=12465, Y=10268
+
+Button A: X+47, Y+82
+Button B: X+65, Y+19
+Prize: X=4989, Y=3984
+
+Button A: X+98, Y+36
+Button B: X+52, Y+96
+Prize: X=1610, Y=1668
+
+Button A: X+31, Y+75
+Button B: X+63, Y+26
+Prize: X=1468, Y=2161
+
+Button A: X+14, Y+66
+Button B: X+47, Y+14
+Prize: X=5961, Y=12456
+
+Button A: X+20, Y+87
+Button B: X+70, Y+44
+Prize: X=1740, Y=3922
+
+Button A: X+52, Y+21
+Button B: X+16, Y+43
+Prize: X=3884, Y=7457
+
+Button A: X+93, Y+97
+Button B: X+91, Y+20
+Prize: X=2827, Y=851
+
+Button A: X+68, Y+15
+Button B: X+23, Y+63
+Prize: X=10422, Y=7157
+
+Button A: X+84, Y+68
+Button B: X+22, Y+86
+Prize: X=2696, Y=2728
+
+Button A: X+67, Y+34
+Button B: X+40, Y+83
+Prize: X=5256, Y=5865
+
+Button A: X+34, Y+49
+Button B: X+97, Y+12
+Prize: X=3687, Y=1352
+
+Button A: X+15, Y+90
+Button B: X+89, Y+21
+Prize: X=7432, Y=2013
+
+Button A: X+41, Y+13
+Button B: X+12, Y+50
+Prize: X=7134, Y=14486
+
+Button A: X+20, Y+28
+Button B: X+32, Y+13
+Prize: X=10032, Y=19165
+
+Button A: X+27, Y+77
+Button B: X+69, Y+13
+Prize: X=9554, Y=15260
+
+Button A: X+47, Y+23
+Button B: X+32, Y+54
+Prize: X=6409, Y=355
+
+Button A: X+56, Y+81
+Button B: X+64, Y+16
+Prize: X=7600, Y=5786
+
+Button A: X+46, Y+17
+Button B: X+37, Y+66
+Prize: X=7509, Y=14295
+
+Button A: X+18, Y+33
+Button B: X+64, Y+36
+Prize: X=16814, Y=12887
+
+Button A: X+22, Y+79
+Button B: X+92, Y+31
+Prize: X=3856, Y=5165
+
+Button A: X+43, Y+12
+Button B: X+30, Y+74
+Prize: X=1825, Y=17414
+
+Button A: X+74, Y+49
+Button B: X+28, Y+70
+Prize: X=6646, Y=9135
+
+Button A: X+85, Y+14
+Button B: X+12, Y+79
+Prize: X=1124, Y=3340
+
+Button A: X+60, Y+31
+Button B: X+11, Y+44
+Prize: X=14996, Y=12846
+
+Button A: X+62, Y+17
+Button B: X+12, Y+54
+Prize: X=17176, Y=5908
+
+Button A: X+73, Y+54
+Button B: X+21, Y+91
+Prize: X=4258, Y=4810
+
+Button A: X+32, Y+57
+Button B: X+36, Y+11
+Prize: X=412, Y=2137
+
+Button A: X+80, Y+65
+Button B: X+12, Y+63
+Prize: X=2060, Y=5135
+
+Button A: X+38, Y+19
+Button B: X+11, Y+30
+Prize: X=2771, Y=8832
+
+Button A: X+12, Y+63
+Button B: X+89, Y+94
+Prize: X=2441, Y=3484
+
+Button A: X+64, Y+42
+Button B: X+19, Y+44
+Prize: X=10186, Y=11248
+
+Button A: X+21, Y+47
+Button B: X+81, Y+42
+Prize: X=6363, Y=4491
+
+Button A: X+55, Y+70
+Button B: X+90, Y+13
+Prize: X=7855, Y=6037
+
+Button A: X+39, Y+78
+Button B: X+53, Y+19
+Prize: X=19180, Y=483
+
+Button A: X+11, Y+77
+Button B: X+74, Y+17
+Prize: X=6027, Y=1608
+
+Button A: X+71, Y+34
+Button B: X+20, Y+54
+Prize: X=1962, Y=12986
+
+Button A: X+19, Y+50
+Button B: X+57, Y+25
+Prize: X=19082, Y=12150
+
+Button A: X+54, Y+19
+Button B: X+13, Y+31
+Prize: X=1754, Y=19209
+
+Button A: X+77, Y+15
+Button B: X+17, Y+98
+Prize: X=7856, Y=7117
+
+Button A: X+86, Y+35
+Button B: X+18, Y+85
+Prize: X=6694, Y=6375
+
+Button A: X+14, Y+62
+Button B: X+63, Y+41
+Prize: X=1330, Y=4938
+
+Button A: X+92, Y+51
+Button B: X+38, Y+74
+Prize: X=6240, Y=8435
+
+Button A: X+14, Y+20
+Button B: X+86, Y+27
+Prize: X=4106, Y=2319
+
+Button A: X+54, Y+17
+Button B: X+36, Y+69
+Prize: X=6488, Y=2762
+
+Button A: X+82, Y+96
+Button B: X+82, Y+15
+Prize: X=4592, Y=2460
+
+Button A: X+14, Y+65
+Button B: X+71, Y+24
+Prize: X=9947, Y=3249
+
+Button A: X+33, Y+54
+Button B: X+23, Y+11
+Prize: X=7043, Y=12653
+
+Button A: X+35, Y+12
+Button B: X+16, Y+47
+Prize: X=7136, Y=7027
+
+Button A: X+11, Y+26
+Button B: X+39, Y+20
+Prize: X=8298, Y=1518
+
+Button A: X+50, Y+12
+Button B: X+13, Y+23
+Prize: X=1816, Y=2066
+
+Button A: X+17, Y+38
+Button B: X+63, Y+40
+Prize: X=9007, Y=7834
+
+Button A: X+55, Y+19
+Button B: X+11, Y+28
+Prize: X=14257, Y=9219
+
+Button A: X+55, Y+18
+Button B: X+11, Y+69
+Prize: X=1343, Y=5285
+
+Button A: X+19, Y+53
+Button B: X+74, Y+28
+Prize: X=2560, Y=1920
+
+Button A: X+12, Y+59
+Button B: X+39, Y+14
+Prize: X=5354, Y=317
+
+Button A: X+72, Y+14
+Button B: X+91, Y+86
+Prize: X=9387, Y=7358
+
+Button A: X+18, Y+84
+Button B: X+54, Y+48
+Prize: X=3852, Y=6960
+
+Button A: X+12, Y+69
+Button B: X+57, Y+12
+Prize: X=6488, Y=7169
+
+Button A: X+15, Y+30
+Button B: X+42, Y+15
+Prize: X=12671, Y=10775
+
+Button A: X+25, Y+12
+Button B: X+34, Y+96
+Prize: X=2435, Y=6348
+
+Button A: X+29, Y+12
+Button B: X+40, Y+66
+Prize: X=1315, Y=17804
+
+Button A: X+69, Y+26
+Button B: X+22, Y+56
+Prize: X=6670, Y=4708
+
+Button A: X+19, Y+42
+Button B: X+62, Y+21
+Prize: X=2458, Y=16769
+
+Button A: X+45, Y+17
+Button B: X+23, Y+38
+Prize: X=5151, Y=19084
+
+Button A: X+17, Y+33
+Button B: X+35, Y+14
+Prize: X=14888, Y=18170
+
+Button A: X+74, Y+36
+Button B: X+14, Y+57
+Prize: X=14816, Y=15158
+
+Button A: X+36, Y+14
+Button B: X+32, Y+60
+Prize: X=3368, Y=15472
+
+Button A: X+85, Y+19
+Button B: X+83, Y+89
+Prize: X=10387, Y=4717
+
+Button A: X+55, Y+18
+Button B: X+37, Y+68
+Prize: X=16050, Y=14820
+
+Button A: X+52, Y+21
+Button B: X+15, Y+49
+Prize: X=4037, Y=6619
+
+Button A: X+75, Y+11
+Button B: X+11, Y+51
+Prize: X=19531, Y=6083
+
+Button A: X+90, Y+21
+Button B: X+29, Y+38
+Prize: X=10125, Y=3768
+
+Button A: X+33, Y+70
+Button B: X+45, Y+20
+Prize: X=4805, Y=17590
+
+Button A: X+11, Y+28
+Button B: X+58, Y+33
+Prize: X=4190, Y=18722
+
+Button A: X+95, Y+50
+Button B: X+16, Y+70
+Prize: X=3754, Y=2530
+
+Button A: X+88, Y+19
+Button B: X+35, Y+84
+Prize: X=7511, Y=3227
+
+Button A: X+48, Y+12
+Button B: X+11, Y+31
+Prize: X=9355, Y=19551
+
+Button A: X+71, Y+40
+Button B: X+39, Y+96
+Prize: X=9850, Y=12656
+
+Button A: X+18, Y+46
+Button B: X+69, Y+53
+Prize: X=1584, Y=3308
+
+Button A: X+65, Y+26
+Button B: X+62, Y+89
+Prize: X=7671, Y=5829
+
+Button A: X+92, Y+51
+Button B: X+19, Y+41
+Prize: X=4806, Y=5650
+
+Button A: X+26, Y+98
+Button B: X+50, Y+39
+Prize: X=6268, Y=10174
+
+Button A: X+16, Y+64
+Button B: X+34, Y+12
+Prize: X=16854, Y=11364
+
+Button A: X+20, Y+69
+Button B: X+61, Y+23
+Prize: X=408, Y=12175
+
+Button A: X+49, Y+16
+Button B: X+11, Y+45
+Prize: X=17005, Y=1724
+
+Button A: X+82, Y+15
+Button B: X+92, Y+80
+Prize: X=15178, Y=8525
+
+Button A: X+98, Y+17
+Button B: X+32, Y+95
+Prize: X=4930, Y=5596
+
+Button A: X+74, Y+24
+Button B: X+63, Y+72
+Prize: X=4818, Y=1872
+
+Button A: X+63, Y+23
+Button B: X+29, Y+74
+Prize: X=4610, Y=2155
+
+Button A: X+14, Y+69
+Button B: X+46, Y+16
+Prize: X=5686, Y=14981
+
+Button A: X+12, Y+44
+Button B: X+73, Y+32
+Prize: X=1404, Y=2320
+
+Button A: X+16, Y+61
+Button B: X+36, Y+16
+Prize: X=19784, Y=1294
+
+Button A: X+79, Y+17
+Button B: X+11, Y+57
+Prize: X=18419, Y=19769
+
+Button A: X+27, Y+61
+Button B: X+32, Y+16
+Prize: X=11215, Y=8185
+
+Button A: X+80, Y+14
+Button B: X+55, Y+94
+Prize: X=6715, Y=3622
+
+Button A: X+13, Y+99
+Button B: X+67, Y+60
+Prize: X=1132, Y=5469
+
+Button A: X+11, Y+64
+Button B: X+68, Y+52
+Prize: X=1359, Y=3096
+
+Button A: X+16, Y+40
+Button B: X+60, Y+34
+Prize: X=4712, Y=2220
+
+Button A: X+50, Y+11
+Button B: X+12, Y+60
+Prize: X=15794, Y=4259
+
+Button A: X+38, Y+17
+Button B: X+29, Y+54
+Prize: X=1335, Y=6160
+
+Button A: X+36, Y+59
+Button B: X+93, Y+32
+Prize: X=6990, Y=6880
+
+Button A: X+29, Y+97
+Button B: X+62, Y+55
+Prize: X=3255, Y=5097
+
+Button A: X+25, Y+21
+Button B: X+22, Y+73
+Prize: X=3307, Y=5831
+
+Button A: X+15, Y+75
+Button B: X+87, Y+82
+Prize: X=2655, Y=6215
+
+Button A: X+22, Y+82
+Button B: X+74, Y+39
+Prize: X=4198, Y=6648
+
+Button A: X+41, Y+61
+Button B: X+36, Y+11
+Prize: X=7347, Y=17092
+
+Button A: X+82, Y+51
+Button B: X+19, Y+60
+Prize: X=1729, Y=1509
+
+Button A: X+43, Y+13
+Button B: X+49, Y+76
+Prize: X=8520, Y=7788
+
+Button A: X+97, Y+24
+Button B: X+46, Y+51
+Prize: X=1349, Y=1245
+
+Button A: X+84, Y+38
+Button B: X+13, Y+51
+Prize: X=10408, Y=4606
+
+Button A: X+48, Y+97
+Button B: X+80, Y+28
+Prize: X=9584, Y=8808
+
+Button A: X+13, Y+32
+Button B: X+76, Y+43
+Prize: X=16226, Y=18495
+
+Button A: X+14, Y+33
+Button B: X+78, Y+54
+Prize: X=1852, Y=2028
+
+Button A: X+11, Y+30
+Button B: X+73, Y+37
+Prize: X=7433, Y=18454
+
+Button A: X+23, Y+56
+Button B: X+31, Y+16
+Prize: X=12525, Y=3816
+
+Button A: X+55, Y+16
+Button B: X+21, Y+68
+Prize: X=16009, Y=16852
+
+Button A: X+17, Y+47
+Button B: X+76, Y+37
+Prize: X=6637, Y=12724
+
+Button A: X+74, Y+88
+Button B: X+59, Y+12
+Prize: X=9928, Y=6688
+
+Button A: X+26, Y+87
+Button B: X+32, Y+21
+Prize: X=1790, Y=3063
+
+Button A: X+25, Y+71
+Button B: X+56, Y+19
+Prize: X=1849, Y=5946
+
+Button A: X+51, Y+76
+Button B: X+59, Y+28
+Prize: X=7997, Y=6644
+
+Button A: X+53, Y+28
+Button B: X+32, Y+62
+Prize: X=5323, Y=6228
+
+Button A: X+33, Y+69
+Button B: X+39, Y+18
+Prize: X=575, Y=13307
+
+Button A: X+93, Y+15
+Button B: X+56, Y+55
+Prize: X=7024, Y=3845
+
+Button A: X+21, Y+53
+Button B: X+68, Y+24
+Prize: X=5268, Y=7924
+
+Button A: X+13, Y+51
+Button B: X+78, Y+27
+Prize: X=15733, Y=10982
+
+Button A: X+12, Y+79
+Button B: X+50, Y+11
+Prize: X=7094, Y=2854
+
+Button A: X+21, Y+83
+Button B: X+90, Y+69
+Prize: X=2607, Y=5143
+
+Button A: X+94, Y+16
+Button B: X+25, Y+54
+Prize: X=10271, Y=6474
+
+Button A: X+80, Y+14
+Button B: X+12, Y+69
+Prize: X=15888, Y=10392
+
+Button A: X+58, Y+37
+Button B: X+15, Y+54
+Prize: X=1422, Y=3573
+
+Button A: X+13, Y+28
+Button B: X+59, Y+29
+Prize: X=2235, Y=12810
+
+Button A: X+11, Y+32
+Button B: X+58, Y+13
+Prize: X=438, Y=6564
+
+Button A: X+14, Y+72
+Button B: X+93, Y+84
+Prize: X=4137, Y=7476
+
+Button A: X+63, Y+29
+Button B: X+27, Y+54
+Prize: X=4319, Y=1669
+
+Button A: X+86, Y+28
+Button B: X+30, Y+60
+Prize: X=5710, Y=2060
+
+Button A: X+15, Y+54
+Button B: X+52, Y+19
+Prize: X=9815, Y=1199
+
+Button A: X+24, Y+63
+Button B: X+57, Y+20
+Prize: X=16160, Y=12588
+
+Button A: X+19, Y+37
+Button B: X+57, Y+33
+Prize: X=2324, Y=15332
+
+Button A: X+25, Y+14
+Button B: X+31, Y+56
+Prize: X=7136, Y=17336
+
+Button A: X+66, Y+29
+Button B: X+25, Y+57
+Prize: X=13681, Y=16936
+
+Button A: X+36, Y+93
+Button B: X+84, Y+56
+Prize: X=6720, Y=11242
+
+Button A: X+92, Y+41
+Button B: X+18, Y+96
+Prize: X=1396, Y=1150
+
+Button A: X+12, Y+38
+Button B: X+63, Y+28
+Prize: X=19403, Y=12776
+
+Button A: X+72, Y+28
+Button B: X+13, Y+37
+Prize: X=5137, Y=3113
+
+Button A: X+90, Y+72
+Button B: X+91, Y+13
+Prize: X=5795, Y=2543
+
+Button A: X+28, Y+13
+Button B: X+31, Y+49
+Prize: X=16418, Y=9287
+
+Button A: X+17, Y+33
+Button B: X+64, Y+32
+Prize: X=11422, Y=2206
+
+Button A: X+71, Y+22
+Button B: X+16, Y+45
+Prize: X=2918, Y=7791
+
+Button A: X+15, Y+36
+Button B: X+55, Y+35
+Prize: X=7930, Y=7704
+
+Button A: X+57, Y+65
+Button B: X+95, Y+17
+Prize: X=11818, Y=4800
+
+Button A: X+22, Y+46
+Button B: X+33, Y+21
+Prize: X=1232, Y=1040
+
+Button A: X+34, Y+98
+Button B: X+85, Y+39
+Prize: X=7582, Y=9494
+
+Button A: X+63, Y+15
+Button B: X+15, Y+47
+Prize: X=13439, Y=17391
+
+Button A: X+20, Y+41
+Button B: X+38, Y+23
+Prize: X=2052, Y=10086
+
+Button A: X+14, Y+66
+Button B: X+84, Y+28
+Prize: X=16902, Y=10730
+
+Button A: X+27, Y+12
+Button B: X+17, Y+43
+Prize: X=9367, Y=12201
+
+Button A: X+30, Y+49
+Button B: X+40, Y+20
+Prize: X=8430, Y=10049
+
+Button A: X+82, Y+22
+Button B: X+46, Y+97
+Prize: X=3798, Y=4236
+
+Button A: X+56, Y+55
+Button B: X+94, Y+13
+Prize: X=6522, Y=5533
+
+Button A: X+39, Y+41
+Button B: X+59, Y+16
+Prize: X=4261, Y=3559
+
+Button A: X+59, Y+18
+Button B: X+11, Y+63
+Prize: X=15316, Y=10169
+
+Button A: X+59, Y+55
+Button B: X+20, Y+98
+Prize: X=375, Y=667
+
+Button A: X+11, Y+93
+Button B: X+64, Y+67
+Prize: X=6699, Y=14917
+
+Button A: X+13, Y+46
+Button B: X+48, Y+15
+Prize: X=1661, Y=1232
+
+Button A: X+36, Y+99
+Button B: X+85, Y+42
+Prize: X=2224, Y=3048
+
+Button A: X+11, Y+75
+Button B: X+28, Y+22
+Prize: X=2614, Y=6168
+
+Button A: X+21, Y+97
+Button B: X+94, Y+81
+Prize: X=7763, Y=8662
+
+Button A: X+34, Y+13
+Button B: X+26, Y+42
+Prize: X=8612, Y=15869
+
+Button A: X+39, Y+71
+Button B: X+31, Y+13
+Prize: X=19737, Y=5345
+
+Button A: X+21, Y+60
+Button B: X+75, Y+30
+Prize: X=10448, Y=18140
+
+Button A: X+24, Y+49
+Button B: X+47, Y+17
+Prize: X=7371, Y=12446
+
+Button A: X+56, Y+86
+Button B: X+94, Y+41
+Prize: X=3570, Y=4759
+
+Button A: X+14, Y+50
+Button B: X+54, Y+28
+Prize: X=19392, Y=1330
+
+Button A: X+20, Y+67
+Button B: X+52, Y+13
+Prize: X=1000, Y=3692
+
+Button A: X+14, Y+26
+Button B: X+50, Y+21
+Prize: X=7114, Y=9374
+
+Button A: X+19, Y+55
+Button B: X+39, Y+16
+Prize: X=15710, Y=8361
+
+Button A: X+56, Y+14
+Button B: X+63, Y+96
+Prize: X=4851, Y=3540
+
+Button A: X+33, Y+67
+Button B: X+54, Y+24
+Prize: X=5447, Y=1189
+
+Button A: X+39, Y+84
+Button B: X+89, Y+24
+Prize: X=10312, Y=8292
+
+Button A: X+51, Y+19
+Button B: X+53, Y+74
+Prize: X=4001, Y=3498
+
+Button A: X+67, Y+43
+Button B: X+11, Y+36
+Prize: X=4764, Y=9202
+
+Button A: X+21, Y+62
+Button B: X+54, Y+22
+Prize: X=4434, Y=2234
+
+Button A: X+89, Y+87
+Button B: X+24, Y+88
+Prize: X=6501, Y=7323
+
+Button A: X+54, Y+29
+Button B: X+28, Y+51
+Prize: X=13224, Y=17258
+
+Button A: X+62, Y+45
+Button B: X+39, Y+94
+Prize: X=4796, Y=9262
+
+Button A: X+45, Y+23
+Button B: X+12, Y+52
+Prize: X=11084, Y=11636
+
+Button A: X+22, Y+37
+Button B: X+48, Y+25
+Prize: X=5514, Y=11182
+
+Button A: X+15, Y+38
+Button B: X+75, Y+39
+Prize: X=16520, Y=17711
+
+Button A: X+78, Y+11
+Button B: X+49, Y+92
+Prize: X=9365, Y=6341
+
+Button A: X+98, Y+14
+Button B: X+13, Y+64
+Prize: X=5741, Y=2498
+
+Button A: X+13, Y+63
+Button B: X+61, Y+20
+Prize: X=13770, Y=14824
+
+Button A: X+21, Y+38
+Button B: X+62, Y+37
+Prize: X=17864, Y=15513
+
+Button A: X+24, Y+21
+Button B: X+15, Y+62
+Prize: X=1476, Y=4224
+
+Button A: X+16, Y+75
+Button B: X+52, Y+12
+Prize: X=468, Y=8849
+
+Button A: X+14, Y+41
+Button B: X+46, Y+22
+Prize: X=2040, Y=1353
+
+Button A: X+49, Y+16
+Button B: X+29, Y+54
+Prize: X=10446, Y=18614
+
+Button A: X+11, Y+69
+Button B: X+75, Y+18
+Prize: X=10963, Y=2327
+
+Button A: X+37, Y+64
+Button B: X+47, Y+20
+Prize: X=18201, Y=3324
+
+Button A: X+99, Y+14
+Button B: X+87, Y+75
+Prize: X=14862, Y=6177
+
+Button A: X+12, Y+58
+Button B: X+82, Y+33
+Prize: X=7438, Y=6507
+
+Button A: X+72, Y+13
+Button B: X+13, Y+79
+Prize: X=14160, Y=11952
+
+Button A: X+24, Y+55
+Button B: X+73, Y+39
+Prize: X=12196, Y=4761
+
+Button A: X+47, Y+28
+Button B: X+21, Y+52
+Prize: X=969, Y=9732
+
+Button A: X+57, Y+29
+Button B: X+15, Y+30
+Prize: X=17750, Y=13700
+
+Button A: X+40, Y+23
+Button B: X+13, Y+26
+Prize: X=13248, Y=14881
+
+Button A: X+68, Y+13
+Button B: X+85, Y+90
+Prize: X=9707, Y=6207
+
+Button A: X+47, Y+23
+Button B: X+19, Y+57
+Prize: X=2226, Y=13254
diff --git a/2024/13/test b/2024/13/test
@@ -0,0 +1,15 @@
+Button A: X+94, Y+34
+Button B: X+22, Y+67
+Prize: X=8400, Y=5400
+
+Button A: X+26, Y+66
+Button B: X+67, Y+21
+Prize: X=12748, Y=12176
+
+Button A: X+17, Y+86
+Button B: X+84, Y+37
+Prize: X=7870, Y=6450
+
+Button A: X+69, Y+23
+Button B: X+27, Y+71
+Prize: X=18641, Y=10279
diff --git a/2024/13/test-clean b/2024/13/test-clean
@@ -0,0 +1,15 @@
+94 34
+22 67
+8400 5400
+
+26 66
+67 21
+12748 12176
+
+17 86
+84 37
+7870 6450
+
+69 23
+27 71
+18641 10279