summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--day13/day13.hs57
-rw-r--r--day13/day13.input1280
2 files changed, 1337 insertions, 0 deletions
diff --git a/day13/day13.hs b/day13/day13.hs
new file mode 100644
index 0000000..4ca7b65
--- /dev/null
+++ b/day13/day13.hs
@@ -0,0 +1,57 @@
+import Data.List
+import Data.List.Split
+import Data.Maybe
+import Text.Read
+
+type Cost = Int
+type Vec = (Int, Int)
+type Machine = (Vec, Vec, Vec)
+
+mul :: Int -> Vec -> Vec
+mul s (x, y) = (s*x, s*y)
+add :: Vec -> Vec -> Vec
+add (x, y) (z, w) = (x+z, y+w)
+
+consume1 :: [String] -> Machine
+consume1 (a:b:p:_) =
+ (parseVec "+," a, parseVec "+," b, parseVec "=," p)
+ where
+ toVec [x, y] = (x,y)
+ parseVec spl str = toVec $ catMaybes $ map (readMaybe::String->Maybe Int) $ splitOneOf spl str
+
+consume :: String -> [Machine]
+consume file =
+ map consume1 macs
+ where
+ macs = chunksOf 4 $ lines file
+
+winnable :: Machine -> [Vec]
+winnable (a, b, p) =
+ filter winner opts
+ where
+ winner (x, y) = (x `mul` a) `add` (y `mul` b) == p
+ opts = [(na, nb) | na <- [0..100], nb <- [0..100]]
+
+cost :: Vec -> Cost
+cost (a, b) = 3*a + b
+
+cheapest1 :: Cost -> [Vec] -> Cost
+cheapest1 cst [] = cst
+cheapest1 cst (h:t)
+ | hcst < cst = cheapest1 hcst t
+ | otherwise = cheapest1 cst t
+ where
+ hcst = cost h
+
+cheapest :: [Vec] -> Cost
+cheapest [] = 0
+cheapest v = cheapest1 (maxBound :: Int) v
+
+part1 :: [Machine] -> Cost
+part1 = sum . map cheapest . map winnable
+
+main = do
+ file <- readFile "day13.input"
+ let machines = consume file
+ putStrLn ("Part 1: " ++ (show $ part1 machines))
+ --putStrLn ("Part 2: " ++ (show $ part2 machines))
diff --git a/day13/day13.input b/day13/day13.input
new file mode 100644
index 0000000..b6e8b97
--- /dev/null
+++ b/day13/day13.input
@@ -0,0 +1,1280 @@
+Button A: X+16, Y+32
+Button B: X+53, Y+11
+Prize: X=6788, Y=4716
+
+Button A: X+12, Y+23
+Button B: X+58, Y+33
+Prize: X=17048, Y=3330
+
+Button A: X+11, Y+85
+Button B: X+79, Y+25
+Prize: X=1025, Y=895
+
+Button A: X+98, Y+41
+Button B: X+59, Y+88
+Prize: X=6029, Y=6258
+
+Button A: X+31, Y+88
+Button B: X+75, Y+36
+Prize: X=8434, Y=8728
+
+Button A: X+68, Y+17
+Button B: X+14, Y+76
+Prize: X=5034, Y=2051
+
+Button A: X+19, Y+79
+Button B: X+61, Y+11
+Prize: X=5836, Y=6796
+
+Button A: X+17, Y+90
+Button B: X+34, Y+11
+Prize: X=1496, Y=5047
+
+Button A: X+74, Y+27
+Button B: X+45, Y+57
+Prize: X=7128, Y=4224
+
+Button A: X+38, Y+17
+Button B: X+46, Y+71
+Prize: X=15880, Y=17830
+
+Button A: X+90, Y+70
+Button B: X+28, Y+95
+Prize: X=7624, Y=7980
+
+Button A: X+12, Y+35
+Button B: X+59, Y+35
+Prize: X=4954, Y=13535
+
+Button A: X+69, Y+35
+Button B: X+12, Y+35
+Prize: X=6164, Y=18540
+
+Button A: X+37, Y+91
+Button B: X+59, Y+12
+Prize: X=2593, Y=3449
+
+Button A: X+30, Y+17
+Button B: X+32, Y+55
+Prize: X=16556, Y=7983
+
+Button A: X+52, Y+99
+Button B: X+47, Y+15
+Prize: X=8241, Y=8316
+
+Button A: X+85, Y+24
+Button B: X+80, Y+96
+Prize: X=8970, Y=3120
+
+Button A: X+11, Y+62
+Button B: X+78, Y+31
+Prize: X=14969, Y=2068
+
+Button A: X+11, Y+44
+Button B: X+69, Y+16
+Prize: X=17891, Y=8804
+
+Button A: X+85, Y+32
+Button B: X+80, Y+99
+Prize: X=6230, Y=3172
+
+Button A: X+36, Y+58
+Button B: X+41, Y+12
+Prize: X=15762, Y=12242
+
+Button A: X+75, Y+37
+Button B: X+15, Y+52
+Prize: X=16820, Y=10024
+
+Button A: X+18, Y+40
+Button B: X+64, Y+45
+Prize: X=14436, Y=3330
+
+Button A: X+80, Y+39
+Button B: X+18, Y+57
+Prize: X=9792, Y=4718
+
+Button A: X+61, Y+32
+Button B: X+33, Y+64
+Prize: X=13380, Y=14880
+
+Button A: X+34, Y+14
+Button B: X+12, Y+30
+Prize: X=9922, Y=5550
+
+Button A: X+50, Y+11
+Button B: X+41, Y+85
+Prize: X=5724, Y=12433
+
+Button A: X+12, Y+28
+Button B: X+65, Y+23
+Prize: X=14265, Y=12207
+
+Button A: X+18, Y+40
+Button B: X+43, Y+28
+Prize: X=3912, Y=14880
+
+Button A: X+34, Y+35
+Button B: X+12, Y+96
+Prize: X=3226, Y=7085
+
+Button A: X+13, Y+93
+Button B: X+46, Y+26
+Prize: X=1719, Y=6539
+
+Button A: X+17, Y+34
+Button B: X+95, Y+55
+Prize: X=5475, Y=4740
+
+Button A: X+50, Y+14
+Button B: X+12, Y+29
+Prize: X=10234, Y=1781
+
+Button A: X+49, Y+13
+Button B: X+13, Y+23
+Prize: X=13698, Y=14190
+
+Button A: X+11, Y+46
+Button B: X+70, Y+17
+Prize: X=2881, Y=3776
+
+Button A: X+23, Y+56
+Button B: X+39, Y+12
+Prize: X=6533, Y=4688
+
+Button A: X+59, Y+35
+Button B: X+16, Y+48
+Prize: X=16345, Y=9777
+
+Button A: X+25, Y+97
+Button B: X+75, Y+18
+Prize: X=3550, Y=3127
+
+Button A: X+98, Y+44
+Button B: X+51, Y+74
+Prize: X=7348, Y=5752
+
+Button A: X+17, Y+65
+Button B: X+80, Y+26
+Prize: X=4858, Y=6412
+
+Button A: X+57, Y+15
+Button B: X+53, Y+69
+Prize: X=5107, Y=5583
+
+Button A: X+44, Y+25
+Button B: X+24, Y+42
+Prize: X=4088, Y=2306
+
+Button A: X+15, Y+89
+Button B: X+83, Y+33
+Prize: X=4908, Y=5688
+
+Button A: X+11, Y+40
+Button B: X+56, Y+36
+Prize: X=18170, Y=17932
+
+Button A: X+58, Y+49
+Button B: X+32, Y+90
+Prize: X=3938, Y=6853
+
+Button A: X+72, Y+23
+Button B: X+11, Y+44
+Prize: X=17579, Y=15676
+
+Button A: X+76, Y+20
+Button B: X+48, Y+81
+Prize: X=5692, Y=6899
+
+Button A: X+65, Y+22
+Button B: X+22, Y+51
+Prize: X=8056, Y=2070
+
+Button A: X+27, Y+17
+Button B: X+20, Y+89
+Prize: X=3108, Y=7229
+
+Button A: X+73, Y+22
+Button B: X+16, Y+52
+Prize: X=13532, Y=7976
+
+Button A: X+56, Y+43
+Button B: X+11, Y+46
+Prize: X=5310, Y=5955
+
+Button A: X+31, Y+17
+Button B: X+26, Y+55
+Prize: X=4521, Y=16495
+
+Button A: X+57, Y+39
+Button B: X+46, Y+99
+Prize: X=3391, Y=7047
+
+Button A: X+44, Y+93
+Button B: X+82, Y+23
+Prize: X=5692, Y=3613
+
+Button A: X+93, Y+17
+Button B: X+40, Y+67
+Prize: X=3655, Y=1265
+
+Button A: X+73, Y+44
+Button B: X+11, Y+37
+Prize: X=535, Y=4518
+
+Button A: X+98, Y+56
+Button B: X+37, Y+66
+Prize: X=4967, Y=3870
+
+Button A: X+44, Y+16
+Button B: X+36, Y+63
+Prize: X=8912, Y=2489
+
+Button A: X+44, Y+20
+Button B: X+37, Y+59
+Prize: X=4830, Y=4322
+
+Button A: X+44, Y+11
+Button B: X+17, Y+78
+Prize: X=6360, Y=16470
+
+Button A: X+17, Y+64
+Button B: X+59, Y+48
+Prize: X=4190, Y=6720
+
+Button A: X+20, Y+56
+Button B: X+68, Y+12
+Prize: X=6744, Y=2292
+
+Button A: X+19, Y+53
+Button B: X+37, Y+20
+Prize: X=9527, Y=602
+
+Button A: X+12, Y+71
+Button B: X+82, Y+16
+Prize: X=4452, Y=16281
+
+Button A: X+33, Y+59
+Button B: X+46, Y+24
+Prize: X=16958, Y=19630
+
+Button A: X+64, Y+14
+Button B: X+26, Y+69
+Prize: X=19736, Y=1322
+
+Button A: X+46, Y+22
+Button B: X+16, Y+54
+Prize: X=1600, Y=18804
+
+Button A: X+17, Y+68
+Button B: X+54, Y+24
+Prize: X=4629, Y=6228
+
+Button A: X+54, Y+15
+Button B: X+15, Y+74
+Prize: X=13550, Y=9934
+
+Button A: X+73, Y+12
+Button B: X+38, Y+48
+Prize: X=8303, Y=2868
+
+Button A: X+24, Y+14
+Button B: X+25, Y+47
+Prize: X=17489, Y=1087
+
+Button A: X+14, Y+45
+Button B: X+51, Y+18
+Prize: X=6536, Y=1808
+
+Button A: X+63, Y+30
+Button B: X+17, Y+58
+Prize: X=4172, Y=6824
+
+Button A: X+44, Y+19
+Button B: X+15, Y+31
+Prize: X=17131, Y=1327
+
+Button A: X+38, Y+12
+Button B: X+23, Y+55
+Prize: X=3692, Y=2598
+
+Button A: X+26, Y+53
+Button B: X+36, Y+22
+Prize: X=4840, Y=7052
+
+Button A: X+36, Y+55
+Button B: X+63, Y+12
+Prize: X=2988, Y=4228
+
+Button A: X+71, Y+30
+Button B: X+20, Y+59
+Prize: X=1561, Y=16507
+
+Button A: X+42, Y+15
+Button B: X+17, Y+34
+Prize: X=2543, Y=12806
+
+Button A: X+72, Y+48
+Button B: X+20, Y+57
+Prize: X=3380, Y=6489
+
+Button A: X+19, Y+44
+Button B: X+71, Y+47
+Prize: X=10116, Y=3015
+
+Button A: X+68, Y+16
+Button B: X+22, Y+71
+Prize: X=5228, Y=2020
+
+Button A: X+34, Y+12
+Button B: X+23, Y+59
+Prize: X=2871, Y=1583
+
+Button A: X+20, Y+53
+Button B: X+34, Y+12
+Prize: X=11966, Y=7093
+
+Button A: X+11, Y+31
+Button B: X+50, Y+12
+Prize: X=15300, Y=14926
+
+Button A: X+24, Y+48
+Button B: X+62, Y+39
+Prize: X=14476, Y=16502
+
+Button A: X+15, Y+57
+Button B: X+20, Y+12
+Prize: X=925, Y=1275
+
+Button A: X+71, Y+34
+Button B: X+14, Y+54
+Prize: X=17647, Y=15614
+
+Button A: X+50, Y+15
+Button B: X+16, Y+58
+Prize: X=3404, Y=15682
+
+Button A: X+23, Y+59
+Button B: X+70, Y+34
+Prize: X=1845, Y=11637
+
+Button A: X+39, Y+13
+Button B: X+14, Y+44
+Prize: X=3710, Y=19734
+
+Button A: X+28, Y+48
+Button B: X+32, Y+15
+Prize: X=3284, Y=9737
+
+Button A: X+87, Y+17
+Button B: X+28, Y+54
+Prize: X=8764, Y=4236
+
+Button A: X+23, Y+12
+Button B: X+11, Y+50
+Prize: X=12590, Y=3064
+
+Button A: X+46, Y+50
+Button B: X+82, Y+11
+Prize: X=9718, Y=4547
+
+Button A: X+52, Y+25
+Button B: X+19, Y+55
+Prize: X=3670, Y=16450
+
+Button A: X+50, Y+29
+Button B: X+24, Y+47
+Prize: X=19334, Y=4480
+
+Button A: X+29, Y+12
+Button B: X+34, Y+67
+Prize: X=17630, Y=19800
+
+Button A: X+20, Y+45
+Button B: X+48, Y+23
+Prize: X=13688, Y=13663
+
+Button A: X+42, Y+84
+Button B: X+75, Y+35
+Prize: X=7386, Y=7182
+
+Button A: X+28, Y+57
+Button B: X+33, Y+18
+Prize: X=16486, Y=9383
+
+Button A: X+16, Y+56
+Button B: X+79, Y+40
+Prize: X=12085, Y=4488
+
+Button A: X+32, Y+11
+Button B: X+30, Y+43
+Prize: X=11076, Y=3623
+
+Button A: X+43, Y+45
+Button B: X+69, Y+17
+Prize: X=4224, Y=1660
+
+Button A: X+31, Y+13
+Button B: X+44, Y+71
+Prize: X=5441, Y=2804
+
+Button A: X+95, Y+33
+Button B: X+20, Y+42
+Prize: X=6340, Y=4656
+
+Button A: X+15, Y+50
+Button B: X+66, Y+17
+Prize: X=13103, Y=6656
+
+Button A: X+55, Y+28
+Button B: X+38, Y+64
+Prize: X=6727, Y=12972
+
+Button A: X+44, Y+11
+Button B: X+14, Y+27
+Prize: X=9660, Y=483
+
+Button A: X+19, Y+79
+Button B: X+82, Y+37
+Prize: X=5154, Y=8664
+
+Button A: X+40, Y+98
+Button B: X+60, Y+25
+Prize: X=3740, Y=5625
+
+Button A: X+45, Y+11
+Button B: X+17, Y+78
+Prize: X=17054, Y=7039
+
+Button A: X+60, Y+19
+Button B: X+13, Y+27
+Prize: X=12610, Y=4381
+
+Button A: X+27, Y+53
+Button B: X+50, Y+31
+Prize: X=7285, Y=5523
+
+Button A: X+83, Y+25
+Button B: X+29, Y+98
+Prize: X=9774, Y=9014
+
+Button A: X+15, Y+67
+Button B: X+75, Y+19
+Prize: X=12275, Y=2439
+
+Button A: X+27, Y+66
+Button B: X+53, Y+29
+Prize: X=4020, Y=4095
+
+Button A: X+67, Y+34
+Button B: X+19, Y+52
+Prize: X=2642, Y=12674
+
+Button A: X+39, Y+11
+Button B: X+12, Y+67
+Prize: X=12602, Y=7573
+
+Button A: X+48, Y+80
+Button B: X+98, Y+38
+Prize: X=10176, Y=4928
+
+Button A: X+86, Y+63
+Button B: X+18, Y+87
+Prize: X=4980, Y=6084
+
+Button A: X+47, Y+12
+Button B: X+38, Y+72
+Prize: X=17665, Y=14996
+
+Button A: X+38, Y+70
+Button B: X+50, Y+24
+Prize: X=17126, Y=11366
+
+Button A: X+26, Y+49
+Button B: X+46, Y+21
+Prize: X=8006, Y=3833
+
+Button A: X+13, Y+59
+Button B: X+84, Y+35
+Prize: X=5229, Y=14982
+
+Button A: X+14, Y+84
+Button B: X+83, Y+15
+Prize: X=767, Y=12359
+
+Button A: X+52, Y+15
+Button B: X+23, Y+51
+Prize: X=2423, Y=4130
+
+Button A: X+80, Y+86
+Button B: X+18, Y+94
+Prize: X=4434, Y=7230
+
+Button A: X+46, Y+13
+Button B: X+13, Y+45
+Prize: X=15345, Y=12288
+
+Button A: X+54, Y+17
+Button B: X+21, Y+65
+Prize: X=12962, Y=7239
+
+Button A: X+38, Y+12
+Button B: X+36, Y+70
+Prize: X=19066, Y=13236
+
+Button A: X+67, Y+97
+Button B: X+42, Y+16
+Prize: X=6900, Y=7346
+
+Button A: X+48, Y+17
+Button B: X+28, Y+66
+Prize: X=12428, Y=6779
+
+Button A: X+51, Y+22
+Button B: X+29, Y+61
+Prize: X=2681, Y=3727
+
+Button A: X+78, Y+67
+Button B: X+16, Y+65
+Prize: X=6426, Y=7365
+
+Button A: X+39, Y+60
+Button B: X+48, Y+21
+Prize: X=14303, Y=13676
+
+Button A: X+48, Y+23
+Button B: X+27, Y+50
+Prize: X=3065, Y=15585
+
+Button A: X+72, Y+41
+Button B: X+48, Y+94
+Prize: X=7608, Y=5799
+
+Button A: X+53, Y+82
+Button B: X+33, Y+12
+Prize: X=7943, Y=12152
+
+Button A: X+58, Y+31
+Button B: X+25, Y+56
+Prize: X=978, Y=12450
+
+Button A: X+28, Y+54
+Button B: X+31, Y+16
+Prize: X=9052, Y=1182
+
+Button A: X+19, Y+25
+Button B: X+78, Y+16
+Prize: X=6042, Y=3012
+
+Button A: X+68, Y+22
+Button B: X+11, Y+70
+Prize: X=6952, Y=5124
+
+Button A: X+36, Y+12
+Button B: X+41, Y+77
+Prize: X=17252, Y=3044
+
+Button A: X+56, Y+87
+Button B: X+71, Y+18
+Prize: X=12218, Y=10305
+
+Button A: X+73, Y+88
+Button B: X+61, Y+20
+Prize: X=7058, Y=8080
+
+Button A: X+99, Y+63
+Button B: X+16, Y+49
+Prize: X=9732, Y=7707
+
+Button A: X+34, Y+71
+Button B: X+41, Y+26
+Prize: X=3912, Y=5546
+
+Button A: X+75, Y+11
+Button B: X+29, Y+57
+Prize: X=4779, Y=3391
+
+Button A: X+16, Y+36
+Button B: X+41, Y+29
+Prize: X=2328, Y=6884
+
+Button A: X+57, Y+15
+Button B: X+59, Y+92
+Prize: X=4620, Y=3510
+
+Button A: X+19, Y+72
+Button B: X+65, Y+61
+Prize: X=2406, Y=7079
+
+Button A: X+25, Y+60
+Button B: X+48, Y+11
+Prize: X=11531, Y=10602
+
+Button A: X+48, Y+12
+Button B: X+21, Y+52
+Prize: X=12905, Y=10256
+
+Button A: X+55, Y+14
+Button B: X+16, Y+39
+Prize: X=3639, Y=3499
+
+Button A: X+18, Y+69
+Button B: X+57, Y+13
+Prize: X=1841, Y=3718
+
+Button A: X+82, Y+49
+Button B: X+16, Y+47
+Prize: X=11154, Y=15893
+
+Button A: X+41, Y+12
+Button B: X+37, Y+69
+Prize: X=8225, Y=11330
+
+Button A: X+54, Y+17
+Button B: X+14, Y+63
+Prize: X=394, Y=11529
+
+Button A: X+75, Y+26
+Button B: X+18, Y+58
+Prize: X=7085, Y=18528
+
+Button A: X+61, Y+35
+Button B: X+14, Y+39
+Prize: X=7585, Y=13612
+
+Button A: X+30, Y+67
+Button B: X+47, Y+13
+Prize: X=15083, Y=14276
+
+Button A: X+89, Y+11
+Button B: X+20, Y+16
+Prize: X=3756, Y=1560
+
+Button A: X+26, Y+53
+Button B: X+57, Y+34
+Prize: X=18986, Y=14053
+
+Button A: X+42, Y+66
+Button B: X+44, Y+20
+Prize: X=2120, Y=2960
+
+Button A: X+12, Y+40
+Button B: X+74, Y+40
+Prize: X=4890, Y=3280
+
+Button A: X+22, Y+12
+Button B: X+30, Y+56
+Prize: X=14898, Y=12424
+
+Button A: X+34, Y+17
+Button B: X+33, Y+94
+Prize: X=3615, Y=6225
+
+Button A: X+25, Y+28
+Button B: X+70, Y+12
+Prize: X=1785, Y=472
+
+Button A: X+39, Y+96
+Button B: X+50, Y+21
+Prize: X=8438, Y=10869
+
+Button A: X+45, Y+97
+Button B: X+82, Y+56
+Prize: X=11546, Y=13054
+
+Button A: X+72, Y+71
+Button B: X+20, Y+82
+Prize: X=3404, Y=9024
+
+Button A: X+15, Y+62
+Button B: X+89, Y+29
+Prize: X=2187, Y=2940
+
+Button A: X+56, Y+26
+Button B: X+31, Y+67
+Prize: X=7560, Y=8454
+
+Button A: X+40, Y+20
+Button B: X+25, Y+61
+Prize: X=6915, Y=17515
+
+Button A: X+18, Y+76
+Button B: X+75, Y+11
+Prize: X=7427, Y=13459
+
+Button A: X+65, Y+41
+Button B: X+42, Y+91
+Prize: X=7655, Y=8699
+
+Button A: X+54, Y+46
+Button B: X+26, Y+74
+Prize: X=3206, Y=3094
+
+Button A: X+38, Y+40
+Button B: X+11, Y+78
+Prize: X=3552, Y=9584
+
+Button A: X+84, Y+31
+Button B: X+36, Y+50
+Prize: X=3492, Y=2794
+
+Button A: X+55, Y+24
+Button B: X+20, Y+63
+Prize: X=5845, Y=3641
+
+Button A: X+15, Y+50
+Button B: X+71, Y+31
+Prize: X=1608, Y=4743
+
+Button A: X+13, Y+51
+Button B: X+33, Y+13
+Prize: X=2343, Y=18073
+
+Button A: X+12, Y+31
+Button B: X+69, Y+55
+Prize: X=6159, Y=5188
+
+Button A: X+71, Y+25
+Button B: X+17, Y+66
+Prize: X=15409, Y=2325
+
+Button A: X+70, Y+31
+Button B: X+13, Y+44
+Prize: X=6851, Y=9483
+
+Button A: X+23, Y+16
+Button B: X+11, Y+30
+Prize: X=12549, Y=14808
+
+Button A: X+42, Y+13
+Button B: X+36, Y+55
+Prize: X=6488, Y=12226
+
+Button A: X+13, Y+63
+Button B: X+96, Y+23
+Prize: X=1746, Y=5808
+
+Button A: X+13, Y+42
+Button B: X+60, Y+26
+Prize: X=2820, Y=17794
+
+Button A: X+30, Y+47
+Button B: X+34, Y+16
+Prize: X=10048, Y=17922
+
+Button A: X+39, Y+14
+Button B: X+24, Y+44
+Prize: X=14195, Y=9630
+
+Button A: X+30, Y+74
+Button B: X+40, Y+12
+Prize: X=13600, Y=9780
+
+Button A: X+45, Y+14
+Button B: X+60, Y+73
+Prize: X=6495, Y=6150
+
+Button A: X+81, Y+40
+Button B: X+15, Y+92
+Prize: X=3600, Y=3808
+
+Button A: X+50, Y+17
+Button B: X+16, Y+43
+Prize: X=12846, Y=3081
+
+Button A: X+11, Y+56
+Button B: X+56, Y+11
+Prize: X=15722, Y=13787
+
+Button A: X+16, Y+88
+Button B: X+97, Y+57
+Prize: X=1582, Y=2030
+
+Button A: X+37, Y+81
+Button B: X+82, Y+11
+Prize: X=2338, Y=1074
+
+Button A: X+36, Y+67
+Button B: X+32, Y+15
+Prize: X=8128, Y=3084
+
+Button A: X+92, Y+33
+Button B: X+25, Y+95
+Prize: X=7881, Y=8419
+
+Button A: X+51, Y+30
+Button B: X+30, Y+99
+Prize: X=4803, Y=4371
+
+Button A: X+66, Y+15
+Button B: X+13, Y+58
+Prize: X=5755, Y=9922
+
+Button A: X+75, Y+21
+Button B: X+15, Y+60
+Prize: X=8390, Y=11918
+
+Button A: X+56, Y+25
+Button B: X+19, Y+48
+Prize: X=7523, Y=16722
+
+Button A: X+18, Y+50
+Button B: X+53, Y+23
+Prize: X=17022, Y=16754
+
+Button A: X+16, Y+35
+Button B: X+34, Y+20
+Prize: X=16244, Y=18770
+
+Button A: X+24, Y+66
+Button B: X+26, Y+11
+Prize: X=17954, Y=12959
+
+Button A: X+49, Y+16
+Button B: X+40, Y+77
+Prize: X=17697, Y=3668
+
+Button A: X+65, Y+12
+Button B: X+45, Y+61
+Prize: X=4180, Y=4829
+
+Button A: X+58, Y+23
+Button B: X+13, Y+65
+Prize: X=19471, Y=3477
+
+Button A: X+84, Y+49
+Button B: X+17, Y+83
+Prize: X=9493, Y=12042
+
+Button A: X+26, Y+67
+Button B: X+69, Y+26
+Prize: X=3762, Y=247
+
+Button A: X+35, Y+23
+Button B: X+19, Y+41
+Prize: X=2950, Y=3792
+
+Button A: X+55, Y+26
+Button B: X+27, Y+76
+Prize: X=1346, Y=826
+
+Button A: X+53, Y+65
+Button B: X+58, Y+11
+Prize: X=5917, Y=5573
+
+Button A: X+95, Y+15
+Button B: X+36, Y+99
+Prize: X=9206, Y=8079
+
+Button A: X+80, Y+40
+Button B: X+35, Y+67
+Prize: X=4420, Y=2804
+
+Button A: X+39, Y+45
+Button B: X+66, Y+14
+Prize: X=5136, Y=3440
+
+Button A: X+81, Y+65
+Button B: X+24, Y+81
+Prize: X=1332, Y=1995
+
+Button A: X+92, Y+62
+Button B: X+22, Y+54
+Prize: X=5740, Y=6062
+
+Button A: X+59, Y+52
+Button B: X+26, Y+93
+Prize: X=2668, Y=4454
+
+Button A: X+57, Y+13
+Button B: X+24, Y+50
+Prize: X=18335, Y=16341
+
+Button A: X+22, Y+76
+Button B: X+82, Y+26
+Prize: X=2416, Y=3458
+
+Button A: X+30, Y+73
+Button B: X+19, Y+11
+Prize: X=3561, Y=7291
+
+Button A: X+11, Y+81
+Button B: X+24, Y+12
+Prize: X=2602, Y=7794
+
+Button A: X+51, Y+79
+Button B: X+95, Y+24
+Prize: X=6873, Y=3257
+
+Button A: X+23, Y+48
+Button B: X+70, Y+44
+Prize: X=3045, Y=19172
+
+Button A: X+19, Y+92
+Button B: X+86, Y+18
+Prize: X=2339, Y=2162
+
+Button A: X+13, Y+60
+Button B: X+35, Y+15
+Prize: X=7096, Y=16190
+
+Button A: X+51, Y+22
+Button B: X+12, Y+35
+Prize: X=12254, Y=3351
+
+Button A: X+60, Y+31
+Button B: X+44, Y+78
+Prize: X=4668, Y=6391
+
+Button A: X+17, Y+43
+Button B: X+42, Y+19
+Prize: X=3734, Y=7603
+
+Button A: X+78, Y+32
+Button B: X+14, Y+25
+Prize: X=3828, Y=2437
+
+Button A: X+44, Y+17
+Button B: X+37, Y+60
+Prize: X=3131, Y=11574
+
+Button A: X+66, Y+89
+Button B: X+53, Y+15
+Prize: X=5112, Y=5877
+
+Button A: X+15, Y+59
+Button B: X+75, Y+27
+Prize: X=12545, Y=6573
+
+Button A: X+54, Y+16
+Button B: X+25, Y+61
+Prize: X=5353, Y=325
+
+Button A: X+28, Y+19
+Button B: X+29, Y+88
+Prize: X=4372, Y=8979
+
+Button A: X+59, Y+99
+Button B: X+64, Y+12
+Prize: X=2829, Y=2553
+
+Button A: X+24, Y+80
+Button B: X+95, Y+67
+Prize: X=5683, Y=5711
+
+Button A: X+13, Y+42
+Button B: X+44, Y+22
+Prize: X=13586, Y=11034
+
+Button A: X+13, Y+27
+Button B: X+27, Y+11
+Prize: X=1714, Y=19578
+
+Button A: X+78, Y+40
+Button B: X+15, Y+25
+Prize: X=7623, Y=4965
+
+Button A: X+13, Y+38
+Button B: X+34, Y+19
+Prize: X=13897, Y=19462
+
+Button A: X+16, Y+86
+Button B: X+90, Y+97
+Prize: X=7454, Y=11059
+
+Button A: X+16, Y+74
+Button B: X+48, Y+14
+Prize: X=672, Y=15348
+
+Button A: X+19, Y+56
+Button B: X+92, Y+49
+Prize: X=3224, Y=4837
+
+Button A: X+65, Y+11
+Button B: X+24, Y+84
+Prize: X=19354, Y=16330
+
+Button A: X+62, Y+14
+Button B: X+18, Y+55
+Prize: X=9152, Y=14331
+
+Button A: X+45, Y+89
+Button B: X+46, Y+14
+Prize: X=6885, Y=6689
+
+Button A: X+53, Y+21
+Button B: X+28, Y+67
+Prize: X=7769, Y=9179
+
+Button A: X+57, Y+83
+Button B: X+69, Y+18
+Prize: X=10614, Y=9105
+
+Button A: X+47, Y+14
+Button B: X+13, Y+37
+Prize: X=6583, Y=4633
+
+Button A: X+11, Y+59
+Button B: X+39, Y+15
+Prize: X=11414, Y=3470
+
+Button A: X+30, Y+11
+Button B: X+19, Y+65
+Prize: X=2311, Y=16664
+
+Button A: X+38, Y+21
+Button B: X+35, Y+61
+Prize: X=18354, Y=4375
+
+Button A: X+28, Y+57
+Button B: X+54, Y+19
+Prize: X=16000, Y=12527
+
+Button A: X+46, Y+21
+Button B: X+11, Y+56
+Prize: X=3961, Y=3371
+
+Button A: X+21, Y+69
+Button B: X+99, Y+57
+Prize: X=1212, Y=1836
+
+Button A: X+17, Y+71
+Button B: X+50, Y+11
+Prize: X=5903, Y=10901
+
+Button A: X+18, Y+36
+Button B: X+47, Y+23
+Prize: X=3326, Y=14216
+
+Button A: X+40, Y+99
+Button B: X+60, Y+45
+Prize: X=7360, Y=9936
+
+Button A: X+13, Y+50
+Button B: X+17, Y+11
+Prize: X=2723, Y=5089
+
+Button A: X+18, Y+61
+Button B: X+84, Y+14
+Prize: X=8412, Y=4418
+
+Button A: X+26, Y+13
+Button B: X+16, Y+31
+Prize: X=7920, Y=4033
+
+Button A: X+78, Y+32
+Button B: X+13, Y+48
+Prize: X=7956, Y=6592
+
+Button A: X+64, Y+19
+Button B: X+15, Y+45
+Prize: X=15736, Y=14716
+
+Button A: X+84, Y+36
+Button B: X+11, Y+49
+Prize: X=9518, Y=19202
+
+Button A: X+19, Y+50
+Button B: X+53, Y+21
+Prize: X=11936, Y=5601
+
+Button A: X+78, Y+13
+Button B: X+12, Y+49
+Prize: X=8930, Y=5295
+
+Button A: X+15, Y+37
+Button B: X+78, Y+57
+Prize: X=4097, Y=17153
+
+Button A: X+67, Y+25
+Button B: X+51, Y+85
+Prize: X=6603, Y=4245
+
+Button A: X+93, Y+21
+Button B: X+59, Y+89
+Prize: X=9830, Y=6836
+
+Button A: X+44, Y+17
+Button B: X+16, Y+41
+Prize: X=1928, Y=2068
+
+Button A: X+43, Y+90
+Button B: X+66, Y+45
+Prize: X=8152, Y=10170
+
+Button A: X+14, Y+41
+Button B: X+99, Y+34
+Prize: X=7975, Y=3137
+
+Button A: X+65, Y+24
+Button B: X+28, Y+62
+Prize: X=13424, Y=14226
+
+Button A: X+67, Y+12
+Button B: X+17, Y+74
+Prize: X=7807, Y=2320
+
+Button A: X+50, Y+80
+Button B: X+83, Y+14
+Prize: X=8199, Y=6822
+
+Button A: X+78, Y+92
+Button B: X+15, Y+86
+Prize: X=7422, Y=14492
+
+Button A: X+23, Y+56
+Button B: X+64, Y+31
+Prize: X=16640, Y=9512
+
+Button A: X+20, Y+99
+Button B: X+36, Y+15
+Prize: X=2828, Y=6981
+
+Button A: X+65, Y+33
+Button B: X+18, Y+42
+Prize: X=14469, Y=11309
+
+Button A: X+54, Y+74
+Button B: X+87, Y+14
+Prize: X=10155, Y=5814
+
+Button A: X+49, Y+25
+Button B: X+30, Y+64
+Prize: X=2549, Y=1587
+
+Button A: X+65, Y+41
+Button B: X+17, Y+33
+Prize: X=529, Y=6313
+
+Button A: X+28, Y+96
+Button B: X+94, Y+61
+Prize: X=2878, Y=4903
+
+Button A: X+85, Y+12
+Button B: X+11, Y+78
+Prize: X=12753, Y=17192
+
+Button A: X+41, Y+26
+Button B: X+28, Y+81
+Prize: X=5978, Y=8218
+
+Button A: X+33, Y+14
+Button B: X+11, Y+47
+Prize: X=5732, Y=3748
+
+Button A: X+79, Y+68
+Button B: X+12, Y+52
+Prize: X=1307, Y=4292
+
+Button A: X+12, Y+40
+Button B: X+77, Y+49
+Prize: X=1685, Y=9105
+
+Button A: X+13, Y+41
+Button B: X+83, Y+56
+Prize: X=18196, Y=6822
+
+Button A: X+13, Y+46
+Button B: X+57, Y+17
+Prize: X=598, Y=4502
+
+Button A: X+45, Y+20
+Button B: X+11, Y+42
+Prize: X=3832, Y=204
+
+Button A: X+11, Y+37
+Button B: X+63, Y+26
+Prize: X=5093, Y=2816
+
+Button A: X+73, Y+15
+Button B: X+26, Y+37
+Prize: X=2871, Y=1508
+
+Button A: X+24, Y+87
+Button B: X+69, Y+23
+Prize: X=3441, Y=5887
+
+Button A: X+13, Y+56
+Button B: X+59, Y+19
+Prize: X=19054, Y=11310
+
+Button A: X+51, Y+27
+Button B: X+33, Y+71
+Prize: X=5841, Y=6197
+
+Button A: X+51, Y+81
+Button B: X+59, Y+18
+Prize: X=8661, Y=8532
+
+Button A: X+20, Y+96
+Button B: X+42, Y+33
+Prize: X=4498, Y=6585
+
+Button A: X+50, Y+82
+Button B: X+97, Y+34
+Prize: X=6745, Y=6684
+
+Button A: X+69, Y+25
+Button B: X+14, Y+48
+Prize: X=11428, Y=14726
+
+Button A: X+90, Y+44
+Button B: X+37, Y+88
+Prize: X=3393, Y=2288
+
+Button A: X+31, Y+74
+Button B: X+56, Y+17
+Prize: X=2670, Y=4040
+
+Button A: X+54, Y+87
+Button B: X+78, Y+32
+Prize: X=5466, Y=5809
+
+Button A: X+72, Y+26
+Button B: X+12, Y+67
+Prize: X=1604, Y=5033
+
+Button A: X+88, Y+20
+Button B: X+23, Y+97
+Prize: X=1753, Y=1775
+
+Button A: X+73, Y+27
+Button B: X+20, Y+57
+Prize: X=11138, Y=12104
+
+Button A: X+18, Y+65
+Button B: X+50, Y+24
+Prize: X=5672, Y=5766
+
+Button A: X+16, Y+55
+Button B: X+54, Y+20
+Prize: X=18756, Y=14580
+
+Button A: X+46, Y+29
+Button B: X+17, Y+46
+Prize: X=2394, Y=17395
+
+Button A: X+16, Y+60
+Button B: X+85, Y+49
+Prize: X=7894, Y=8562
+
+Button A: X+53, Y+17
+Button B: X+27, Y+70
+Prize: X=13517, Y=12629
+
+Button A: X+20, Y+73
+Button B: X+56, Y+16
+Prize: X=8496, Y=4948
+
+Button A: X+51, Y+93
+Button B: X+60, Y+18
+Prize: X=6126, Y=8520
+
+Button A: X+15, Y+43
+Button B: X+64, Y+38
+Prize: X=5574, Y=4926
+
+Button A: X+21, Y+60
+Button B: X+57, Y+17
+Prize: X=4337, Y=11300
+