From: Alan Evans Date: Tue, 7 Dec 2021 20:51:17 +0000 (+0000) Subject: alan rewite day1 haskell X-Git-Url: https://fbox.kageds.com/gitweb/adventofcode.git/commitdiff_plain/e3eab87b08cdd5c23a24dfaa14b6bce34c4d9883?ds=sidebyside;hp=96ddc03b69408cdc6262df08f0beac4b3235e5d9 alan rewite day1 haskell --- diff --git a/day1/day1.hs b/day1/day1.hs deleted file mode 100644 index 680af27..0000000 --- a/day1/day1.hs +++ /dev/null @@ -1,20 +0,0 @@ -solve 1 = solution1 0 input -solve 2 = solution2 input [] - -solution1 count (x:y:xs) - |null xs, y > x = count + 1 - |null xs = count - |y > x = solution1 (count + 1) (y:xs) - |otherwise = solution1 count (y:xs) - -solution2 (x:y:z:xs) acc - |null xs = solution1 0 (acc ++ [x+y+z]) - |otherwise = solution2 (y:z:xs) (acc ++ [x+y+z]) - -main = do - putStrLn "The solution to puzzle 1 is:" - print (solve 1 ) - putStrLn "The solution to puzzle 2 is:" - print (solve 2 ) - -input = [173, 179, 200, 210, 226, 229, 220, 221, 228, 233, 237, 238, 249, 261, 284, 285, 287, 289, 291, 284, 285, 279, 295, 313, 314, 315, 317, 318, 316, 344, 345, 347, 352, 356, 352, 379, 384, 389, 392, 394, 395, 401, 424, 429, 432, 446, 454, 464, 459, 455, 467, 501, 509, 523, 526, 529, 535, 557, 559, 562, 564, 572, 573, 576, 584, 586, 588, 587, 588, 594, 598, 599, 600, 602, 604, 609, 626, 633, 641, 642, 649, 655, 658, 661, 681, 683, 685, 684, 685, 687, 691, 694, 696, 697, 705, 706, 710, 740, 741, 749, 740, 744, 749, 750, 753, 759, 754, 736, 731, 732, 722, 720, 732, 745, 754, 769, 771, 772, 766, 768, 778, 780, 768, 771, 775, 804, 809, 810, 806, 808, 818, 813, 801, 804, 813, 817, 836, 827, 833, 836, 840, 860, 865, 877, 843, 845, 871, 872, 874, 885, 900, 904, 906, 909, 911, 910, 919, 932, 938, 954, 961, 962, 964, 979, 980, 992, 997, 1000, 1012, 1017, 1025, 1027, 1028, 1035, 1036, 1052, 1053, 1057, 1068, 1092, 1093, 1104, 1106, 1107, 1112, 1121, 1123, 1126, 1127, 1126, 1132, 1135, 1136, 1138, 1143, 1146, 1148, 1149, 1154, 1172, 1173, 1174, 1175, 1176, 1182, 1183, 1188, 1194, 1195, 1199, 1204, 1208, 1211, 1210, 1190, 1197, 1209, 1210, 1211, 1221, 1240, 1241, 1240, 1244, 1247, 1245, 1249, 1266, 1272, 1280, 1285, 1305, 1308, 1315, 1325, 1328, 1357, 1362, 1363, 1365, 1368, 1366, 1376, 1359, 1378, 1380, 1381, 1375, 1376, 1374, 1375, 1377, 1379, 1380, 1376, 1377, 1391, 1393, 1399, 1412, 1416, 1420, 1427, 1428, 1432, 1434, 1435, 1436, 1439, 1440, 1464, 1458, 1461, 1465, 1467, 1502, 1503, 1500, 1514, 1516, 1533, 1535, 1536, 1517, 1547, 1531, 1532, 1543, 1544, 1546, 1519, 1521, 1522, 1529, 1510, 1518, 1520, 1511, 1486, 1489, 1501, 1484, 1479, 1481, 1485, 1493, 1497, 1498, 1500, 1505, 1512, 1534, 1535, 1539, 1522, 1523, 1531, 1548, 1549, 1550, 1576, 1586, 1583, 1584, 1585, 1599, 1606, 1607, 1609, 1625, 1638, 1643, 1681, 1680, 1688, 1702, 1703, 1705, 1706, 1717, 1716, 1711, 1708, 1719, 1721, 1716, 1728, 1729, 1739, 1765, 1769, 1778, 1779, 1781, 1785, 1786, 1783, 1786, 1787, 1778, 1776, 1797, 1802, 1808, 1811, 1816, 1819, 1818, 1830, 1837, 1839, 1842, 1843, 1845, 1846, 1854, 1842, 1815, 1816, 1829, 1831, 1836, 1842, 1845, 1868, 1869, 1870, 1877, 1879, 1897, 1896, 1897, 1899, 1909, 1912, 1913, 1920, 1919, 1921, 1902, 1921, 1923, 1928, 1935, 1936, 1941, 1944, 1964, 1962, 1971, 1983, 1985, 1987, 2000, 2002, 2005, 2006, 2026, 2024, 2025, 2027, 2029, 2026, 2028, 2029, 2044, 2043, 2047, 2055, 2056, 2068, 2085, 2086, 2096, 2097, 2108, 2105, 2106, 2103, 2098, 2101, 2102, 2107, 2127, 2128, 2131, 2132, 2123, 2126, 2141, 2160, 2163, 2167, 2171, 2179, 2184, 2187, 2198, 2209, 2218, 2219, 2221, 2236, 2239, 2245, 2249, 2268, 2272, 2269, 2270, 2262, 2261, 2263, 2260, 2263, 2265, 2270, 2285, 2286, 2290, 2272, 2259, 2267, 2268, 2283, 2286, 2289, 2290, 2300, 2304, 2305, 2306, 2294, 2295, 2324, 2331, 2345, 2352, 2356, 2357, 2362, 2369, 2377, 2398, 2405, 2397, 2398, 2391, 2394, 2399, 2400, 2411, 2412, 2415, 2416, 2421, 2417, 2395, 2397, 2404, 2414, 2432, 2405, 2406, 2423, 2425, 2427, 2436, 2442, 2443, 2451, 2450, 2451, 2479, 2484, 2491, 2494, 2491, 2480, 2485, 2486, 2487, 2497, 2499, 2526, 2525, 2526, 2528, 2526, 2528, 2532, 2536, 2563, 2566, 2580, 2584, 2595, 2603, 2615, 2620, 2627, 2641, 2645, 2643, 2659, 2664, 2665, 2669, 2671, 2678, 2687, 2688, 2713, 2717, 2729, 2732, 2733, 2732, 2734, 2735, 2737, 2718, 2719, 2720, 2727, 2736, 2738, 2740, 2749, 2743, 2785, 2799, 2800, 2821, 2828, 2829, 2832, 2834, 2852, 2853, 2850, 2863, 2866, 2867, 2865, 2860, 2861, 2869, 2862, 2864, 2862, 2868, 2873, 2881, 2887, 2888, 2891, 2898, 2892, 2901, 2903, 2901, 2906, 2910, 2911, 2922, 2919, 2918, 2912, 2910, 2924, 2921, 2923, 2924, 2931, 2945, 2946, 2918, 2946, 2947, 2951, 2937, 2938, 2940, 2941, 2945, 2960, 2965, 2964, 2965, 2966, 2967, 2979, 3000, 3006, 3008, 3010, 3003, 3009, 3003, 3012, 3026, 3032, 3036, 3041, 3046, 3058, 3059, 3070, 3059, 3056, 3060, 3070, 3078, 3084, 3085, 3089, 3092, 3095, 3078, 3113, 3107, 3109, 3121, 3129, 3118, 3128, 3130, 3131, 3132, 3133, 3132, 3128, 3130, 3149, 3159, 3162, 3172, 3180, 3195, 3196, 3197, 3209, 3214, 3216, 3217, 3218, 3221, 3234, 3236, 3238, 3246, 3212, 3205, 3214, 3243, 3245, 3250, 3252, 3268, 3271, 3270, 3258, 3253, 3264, 3273, 3281, 3282, 3288, 3291, 3300, 3310, 3312, 3331, 3329, 3330, 3331, 3344, 3366, 3367, 3381, 3385, 3386, 3395, 3396, 3397, 3433, 3422, 3433, 3426, 3421, 3422, 3427, 3433, 3439, 3443, 3445, 3442, 3447, 3446, 3449, 3458, 3470, 3473, 3479, 3478, 3480, 3482, 3484, 3495, 3494, 3492, 3499, 3491, 3495, 3506, 3512, 3518, 3523, 3538, 3546, 3554, 3559, 3565, 3580, 3583, 3584, 3591, 3592, 3607, 3609, 3633, 3636, 3634, 3637, 3638, 3642, 3643, 3652, 3653, 3655, 3657, 3656, 3657, 3656, 3677, 3678, 3716, 3727, 3730, 3751, 3752, 3776, 3778, 3775, 3779, 3782, 3783, 3817, 3819, 3822, 3824, 3826, 3841, 3842, 3843, 3864, 3868, 3875, 3880, 3896, 3898, 3899, 3900, 3901, 3907, 3914, 3904, 3908, 3917, 3918, 3919, 3926, 3939, 3945, 3938, 3956, 3967, 3968, 3972, 3975, 3974, 3975, 3976, 3981, 3982, 3983, 3977, 3982, 3987, 3995, 4012, 4025, 4021, 4046, 4048, 4053, 4069, 4078, 4083, 4081, 4080, 4082, 4091, 4099, 4100, 4097, 4109, 4112, 4126, 4127, 4128, 4129, 4130, 4133, 4132, 4136, 4156, 4160, 4161, 4159, 4160, 4161, 4178, 4180, 4197, 4195, 4197, 4199, 4201, 4200, 4196, 4219, 4220, 4221, 4205, 4219, 4224, 4257, 4262, 4263, 4266, 4267, 4266, 4271, 4272, 4273, 4285, 4286, 4285, 4266, 4242, 4248, 4270, 4271, 4293, 4309, 4314, 4340, 4343, 4348, 4347, 4348, 4351, 4352, 4364, 4365, 4388, 4390, 4417, 4410, 4426, 4431, 4429, 4434, 4424, 4432, 4421, 4440, 4441, 4428, 4438, 4456, 4457, 4460, 4468, 4471, 4473, 4490, 4477, 4478, 4486, 4475, 4487, 4490, 4497, 4524, 4533, 4537, 4541, 4545, 4548, 4552, 4556, 4558, 4571, 4573, 4578, 4580, 4581, 4542, 4545, 4548, 4549, 4536, 4551, 4557, 4556, 4547, 4548, 4567, 4552, 4554, 4552, 4576, 4577, 4603, 4616, 4633, 4634, 4639, 4642, 4651, 4656, 4657, 4659, 4663, 4667, 4673, 4695, 4712, 4713, 4720, 4718, 4721, 4737, 4743, 4746, 4778, 4779, 4793, 4768, 4773, 4776, 4778, 4796, 4798, 4800, 4802, 4803, 4822, 4823, 4831, 4836, 4831, 4833, 4840, 4842, 4847, 4868, 4870, 4869, 4875, 4876, 4879, 4881, 4891, 4892, 4909, 4903, 4901, 4902, 4930, 4933, 4932, 4933, 4936, 4937, 4943, 4945, 4948, 4949, 4943, 4963, 4956, 4967, 4969, 4961, 4966, 4970, 4974, 4961, 4964, 4952, 4953, 4981, 4984, 4966, 4970, 4971, 4975, 4966, 4968, 4966, 4968, 4974, 4971, 4988, 4989, 4995, 4996, 5001, 5004, 5005, 5008, 5016, 5018, 5007, 5010, 5011, 5024, 5027, 5032, 5037, 5033, 5034, 5045, 5071, 5068, 5069, 5070, 5088, 5086, 5088, 5114, 5133, 5144, 5145, 5152, 5161, 5154, 5155, 5156, 5159, 5170, 5176, 5189, 5190, 5200, 5204, 5205, 5206, 5221, 5222, 5223, 5224, 5217, 5218, 5219, 5225, 5203, 5210, 5212, 5213, 5215, 5214, 5215, 5221, 5222, 5233, 5242, 5256, 5258, 5256, 5281, 5286, 5315, 5336, 5337, 5345, 5348, 5341, 5336, 5341, 5344, 5350, 5341, 5342, 5337, 5339, 5346, 5347, 5364, 5366, 5368, 5361, 5362, 5365, 5358, 5370, 5376, 5377, 5380, 5381, 5382, 5383, 5388, 5396, 5405, 5396, 5410, 5431, 5432, 5436, 5447, 5456, 5457, 5462, 5475, 5476, 5490, 5493, 5503, 5504, 5512, 5513, 5527, 5542, 5546, 5545, 5547, 5555, 5558, 5577, 5613, 5614, 5620, 5623, 5636, 5651, 5660, 5665, 5668, 5672, 5676, 5687, 5712, 5707, 5708, 5709, 5711, 5712, 5714, 5715, 5717, 5727, 5731, 5746, 5754, 5755, 5758, 5759, 5770, 5775, 5799, 5789, 5794, 5800, 5802, 5813, 5808, 5812, 5832, 5830, 5839, 5842, 5825, 5830, 5835, 5836, 5847, 5851, 5849, 5855, 5816, 5818, 5829, 5830, 5829, 5830, 5858, 5859, 5860, 5862, 5867, 5868, 5863, 5864, 5869, 5872, 5878, 5885, 5888, 5890, 5884, 5875, 5876, 5880, 5886, 5889, 5890, 5892, 5895, 5896, 5895, 5896, 5897, 5895, 5907, 5906, 5908, 5897, 5900, 5913, 5915, 5914, 5917, 5915, 5916, 5920, 5923, 5929, 5931, 5936, 5944, 5929, 5932, 5934, 5945, 5948, 5949, 5951, 5957, 5967, 5968, 5969, 5974, 5975, 5982, 5983, 5990, 5994, 5989, 5993, 5996, 5986, 5987, 5990, 5991, 5993, 5995, 5998, 5999, 5990, 5994, 5996, 6010, 6016, 6032, 6039, 6041, 6044, 6057, 6058, 6059, 6060, 6061, 6063, 6064, 6067, 6073, 6074, 6075, 6070, 6071, 6076, 6077, 6071, 6083, 6088, 6096, 6095, 6100, 6101, 6106, 6109, 6111, 6112, 6121, 6143, 6151, 6175, 6179, 6174, 6175, 6185, 6186, 6184, 6195, 6196, 6197, 6188, 6195, 6196, 6197, 6198, 6204, 6209, 6222, 6233, 6231, 6222, 6223, 6224, 6233, 6235, 6239, 6229, 6259, 6286, 6295, 6269, 6273, 6274, 6265, 6266, 6264, 6259, 6260, 6265, 6268, 6280, 6281, 6283, 6277, 6279, 6311, 6340, 6342, 6345, 6353, 6375, 6399, 6425, 6423, 6428, 6448, 6449, 6456, 6460, 6465, 6470, 6477, 6493, 6494, 6499, 6521, 6522, 6524, 6525, 6536, 6537, 6538, 6526, 6550, 6551, 6552, 6559, 6561, 6563, 6564, 6584, 6585, 6588, 6600, 6610, 6612, 6616, 6619, 6639, 6644, 6646, 6647, 6644, 6629, 6635, 6646, 6648, 6659, 6662, 6641, 6637, 6626, 6627, 6630, 6632, 6643, 6644, 6645, 6656, 6658, 6663, 6680, 6675, 6678, 6681, 6682, 6680, 6692, 6702, 6707, 6708, 6709, 6717, 6719, 6733, 6734, 6730, 6751, 6757, 6766, 6770, 6810, 6812, 6816, 6810, 6817, 6821, 6823, 6828, 6844, 6838, 6841, 6846, 6843, 6844, 6848, 6851, 6853, 6868, 6870, 6884, 6886, 6896, 6886, 6887, 6891, 6896, 6905, 6902, 6903, 6902, 6911, 6951, 6955, 6958, 6940, 6943, 6945, 6946, 6945, 6943, 6944, 6949, 6950, 6952, 6953, 6958, 6962, 6970, 6974, 6977, 7018, 7023, 7027, 7029, 7031, 7033, 7035, 7057, 7058, 7060, 7071, 7072, 7087, 7102, 7111, 7138, 7118, 7136, 7142, 7143, 7162, 7163, 7166, 7153, 7152, 7151, 7154, 7156, 7178, 7177, 7184, 7188, 7193, 7198, 7205, 7217, 7248, 7247, 7249, 7251, 7253, 7254, 7255, 7263, 7265, 7280, 7287, 7315, 7323, 7332, 7333, 7323, 7324, 7332, 7334, 7338, 7339, 7341, 7347, 7346, 7347, 7365, 7370, 7372, 7373, 7374, 7376, 7381, 7383, 7401, 7402, 7421, 7433, 7438, 7439, 7440, 7476, 7484, 7504, 7510, 7526, 7527, 7531, 7532, 7539, 7542, 7553, 7555, 7560, 7558, 7560, 7562, 7578, 7581, 7587, 7599, 7600, 7616, 7627, 7645, 7658, 7659, 7646, 7648, 7652, 7650, 7651, 7667, 7671, 7675, 7682, 7683, 7684, 7687, 7686, 7688, 7699, 7710, 7699, 7698, 7699, 7706, 7724, 7725, 7740, 7741, 7740, 7741, 7747, 7742, 7749, 7758, 7769, 7770, 7785, 7793, 7794, 7797, 7805, 7806, 7826, 7827, 7828, 7826, 7827, 7837, 7843, 7852, 7867, 7874, 7881, 7875, 7874, 7873, 7887, 7890, 7919, 7918, 7926, 7935, 7936, 7935, 7941, 7942, 7940, 7949, 7958, 7960, 7963, 7961, 7963, 7965, 7960, 7983, 7980, 7984, 7986, 7988, 8000, 8009, 8014, 8013, 8014, 8015, 8022, 8023, 8020, 8035, 8046, 8053, 8050, 8046, 8057, 8056, 8085, 8086, 8087, 8088, 8092, 8094, 8095, 8094, 8096, 8099, 8128, 8159, 8167, 8185, 8200, 8212, 8214, 8219, 8246, 8248, 8261, 8262, 8242, 8236, 8237, 8247, 8243, 8242, 8244, 8256, 8268, 8270, 8311, 8323, 8324, 8325, 8327, 8349, 8347, 8348, 8347, 8353, 8366, 8384, 8386, 8389, 8404, 8405, 8408, 8411, 8415, 8428, 8437, 8423, 8427, 8455, 8463, 8466, 8470, 8471, 8475, 8476, 8479, 8484, 8483, 8486, 8485, 8498, 8502, 8503, 8507, 8517, 8518, 8531, 8532, 8545, 8548, 8561, 8569, 8573, 8575, 8580, 8581, 8585, 8589, 8598, 8604, 8630, 8628, 8625, 8620, 8625, 8626, 8627, 8620, 8631, 8643, 8645, 8669, 8673, 8674, 8679, 8687, 8698, 8731, 8738, 8746, 8785, 8760, 8764, 8760, 8761, 8767, 8768, 8769, 8771, 8773, 8768, 8766, 8767, 8785, 8789, 8790, 8802, 8801, 8802, 8809, 8820, 8823, 8824, 8829, 8830, 8836, 8835, 8834, 8828, 8829, 8833, 8844, 8852, 8857, 8863, 8862, 8863, 8853, 8858, 8859, 8860, 8845, 8844, 8823, 8822, 8850, 8851, 8852, 8863, 8879, 8881, 8882, 8889, 8892, 8894, 8910, 8908, 8912, 8933, 8932, 8911, 8906, 8908, 8909, 8919, 8920, 8921, 8933, 8935, 8945, 8947, 8948, 8951, 8961, 8962, 8972, 8989, 8990, 8999, 9000, 9018, 9028, 9029, 9035, 9031, 9043, 9044, 9049, 9078, 9074, 9078, 9081, 9074, 9077, 9071, 9054, 9055, 9060, 9062, 9065, 9094, 9099, 9108, 9125, 9136, 9137, 9143, 9147, 9150, 9162, 9166, 9170, 9171, 9174, 9188, 9198, 9204, 9207, 9217, 9230, 9243, 9256, 9264, 9273, 9275, 9286, 9293, 9299, 9300, 9317, 9320, 9324, 9348, 9351, 9356, 9372, 9380] diff --git a/day1/day1_p1.hs b/day1/day1_p1.hs new file mode 100644 index 0000000..285b480 --- /dev/null +++ b/day1/day1_p1.hs @@ -0,0 +1,16 @@ +import Data.List + +main :: IO () +main = do + input <- readFile "input.txt" + print . count . map read $ words input + +count :: [Int] -> Int +count (x:xs) = count_f x xs + +count_f :: Int -> [Int] -> Int +count_f _ [] = 0 +count_f nb (x:xs) + | x > nb = 1 + count_f x xs + | otherwise = count_f x xs + diff --git a/day1/day1_p2.hs b/day1/day1_p2.hs new file mode 100644 index 0000000..09f6cc1 --- /dev/null +++ b/day1/day1_p2.hs @@ -0,0 +1,20 @@ +import Data.List + +main :: IO () +main = do + input <- readFile "input.txt" + print . count . average . map read $ words input + +average :: [Int] -> [Int] +average (x:y:[]) = [] +average (x:y:z:xs) = x+y+z:average (y:z:xs) + +count :: [Int] -> Int +count (x:xs) = count_f x xs + +count_f :: Int -> [Int] -> Int +count_f _ [] = 0 +count_f nb (x:xs) + | x > nb = 1 + count_f x xs + | otherwise = count_f x xs + diff --git a/day1/input.txt b/day1/input.txt new file mode 100644 index 0000000..02e0184 --- /dev/null +++ b/day1/input.txt @@ -0,0 +1,2001 @@ +173 +179 +200 +210 +226 +229 +220 +221 +228 +233 +237 +238 +249 +261 +284 +285 +287 +289 +291 +284 +285 +279 +295 +313 +314 +315 +317 +318 +316 +344 +345 +347 +352 +356 +352 +379 +384 +389 +392 +394 +395 +401 +424 +429 +432 +446 +454 +464 +459 +455 +467 +501 +509 +523 +526 +529 +535 +557 +559 +562 +564 +572 +573 +576 +584 +586 +588 +587 +588 +594 +598 +599 +600 +602 +604 +609 +626 +633 +641 +642 +649 +655 +658 +661 +681 +683 +685 +684 +685 +687 +691 +694 +696 +697 +705 +706 +710 +740 +741 +749 +740 +744 +749 +750 +753 +759 +754 +736 +731 +732 +722 +720 +732 +745 +754 +769 +771 +772 +766 +768 +778 +780 +768 +771 +775 +804 +809 +810 +806 +808 +818 +813 +801 +804 +813 +817 +836 +827 +833 +836 +840 +860 +865 +877 +843 +845 +871 +872 +874 +885 +900 +904 +906 +909 +911 +910 +919 +932 +938 +954 +961 +962 +964 +979 +980 +992 +997 +1000 +1012 +1017 +1025 +1027 +1028 +1035 +1036 +1052 +1053 +1057 +1068 +1092 +1093 +1104 +1106 +1107 +1112 +1121 +1123 +1126 +1127 +1126 +1132 +1135 +1136 +1138 +1143 +1146 +1148 +1149 +1154 +1172 +1173 +1174 +1175 +1176 +1182 +1183 +1188 +1194 +1195 +1199 +1204 +1208 +1211 +1210 +1190 +1197 +1209 +1210 +1211 +1221 +1240 +1241 +1240 +1244 +1247 +1245 +1249 +1266 +1272 +1280 +1285 +1305 +1308 +1315 +1325 +1328 +1357 +1362 +1363 +1365 +1368 +1366 +1376 +1359 +1378 +1380 +1381 +1375 +1376 +1374 +1375 +1377 +1379 +1380 +1376 +1377 +1391 +1393 +1399 +1412 +1416 +1420 +1427 +1428 +1432 +1434 +1435 +1436 +1439 +1440 +1464 +1458 +1461 +1465 +1467 +1502 +1503 +1500 +1514 +1516 +1533 +1535 +1536 +1517 +1547 +1531 +1532 +1543 +1544 +1546 +1519 +1521 +1522 +1529 +1510 +1518 +1520 +1511 +1486 +1489 +1501 +1484 +1479 +1481 +1485 +1493 +1497 +1498 +1500 +1505 +1512 +1534 +1535 +1539 +1522 +1523 +1531 +1548 +1549 +1550 +1576 +1586 +1583 +1584 +1585 +1599 +1606 +1607 +1609 +1625 +1638 +1643 +1681 +1680 +1688 +1702 +1703 +1705 +1706 +1717 +1716 +1711 +1708 +1719 +1721 +1716 +1728 +1729 +1739 +1765 +1769 +1778 +1779 +1781 +1785 +1786 +1783 +1786 +1787 +1778 +1776 +1797 +1802 +1808 +1811 +1816 +1819 +1818 +1830 +1837 +1839 +1842 +1843 +1845 +1846 +1854 +1842 +1815 +1816 +1829 +1831 +1836 +1842 +1845 +1868 +1869 +1870 +1877 +1879 +1897 +1896 +1897 +1899 +1909 +1912 +1913 +1920 +1919 +1921 +1902 +1921 +1923 +1928 +1935 +1936 +1941 +1944 +1964 +1962 +1971 +1983 +1985 +1987 +2000 +2002 +2005 +2006 +2026 +2024 +2025 +2027 +2029 +2026 +2028 +2029 +2044 +2043 +2047 +2055 +2056 +2068 +2085 +2086 +2096 +2097 +2108 +2105 +2106 +2103 +2098 +2101 +2102 +2107 +2127 +2128 +2131 +2132 +2123 +2126 +2141 +2160 +2163 +2167 +2171 +2179 +2184 +2187 +2198 +2209 +2218 +2219 +2221 +2236 +2239 +2245 +2249 +2268 +2272 +2269 +2270 +2262 +2261 +2263 +2260 +2263 +2265 +2270 +2285 +2286 +2290 +2272 +2259 +2267 +2268 +2283 +2286 +2289 +2290 +2300 +2304 +2305 +2306 +2294 +2295 +2324 +2331 +2345 +2352 +2356 +2357 +2362 +2369 +2377 +2398 +2405 +2397 +2398 +2391 +2394 +2399 +2400 +2411 +2412 +2415 +2416 +2421 +2417 +2395 +2397 +2404 +2414 +2432 +2405 +2406 +2423 +2425 +2427 +2436 +2442 +2443 +2451 +2450 +2451 +2479 +2484 +2491 +2494 +2491 +2480 +2485 +2486 +2487 +2497 +2499 +2526 +2525 +2526 +2528 +2526 +2528 +2532 +2536 +2563 +2566 +2580 +2584 +2595 +2603 +2615 +2620 +2627 +2641 +2645 +2643 +2659 +2664 +2665 +2669 +2671 +2678 +2687 +2688 +2713 +2717 +2729 +2732 +2733 +2732 +2734 +2735 +2737 +2718 +2719 +2720 +2727 +2736 +2738 +2740 +2749 +2743 +2785 +2799 +2800 +2821 +2828 +2829 +2832 +2834 +2852 +2853 +2850 +2863 +2866 +2867 +2865 +2860 +2861 +2869 +2862 +2864 +2862 +2868 +2873 +2881 +2887 +2888 +2891 +2898 +2892 +2901 +2903 +2901 +2906 +2910 +2911 +2922 +2919 +2918 +2912 +2910 +2924 +2921 +2923 +2924 +2931 +2945 +2946 +2918 +2946 +2947 +2951 +2937 +2938 +2940 +2941 +2945 +2960 +2965 +2964 +2965 +2966 +2967 +2979 +3000 +3006 +3008 +3010 +3003 +3009 +3003 +3012 +3026 +3032 +3036 +3041 +3046 +3058 +3059 +3070 +3059 +3056 +3060 +3070 +3078 +3084 +3085 +3089 +3092 +3095 +3078 +3113 +3107 +3109 +3121 +3129 +3118 +3128 +3130 +3131 +3132 +3133 +3132 +3128 +3130 +3149 +3159 +3162 +3172 +3180 +3195 +3196 +3197 +3209 +3214 +3216 +3217 +3218 +3221 +3234 +3236 +3238 +3246 +3212 +3205 +3214 +3243 +3245 +3250 +3252 +3268 +3271 +3270 +3258 +3253 +3264 +3273 +3281 +3282 +3288 +3291 +3300 +3310 +3312 +3331 +3329 +3330 +3331 +3344 +3366 +3367 +3381 +3385 +3386 +3395 +3396 +3397 +3433 +3422 +3433 +3426 +3421 +3422 +3427 +3433 +3439 +3443 +3445 +3442 +3447 +3446 +3449 +3458 +3470 +3473 +3479 +3478 +3480 +3482 +3484 +3495 +3494 +3492 +3499 +3491 +3495 +3506 +3512 +3518 +3523 +3538 +3546 +3554 +3559 +3565 +3580 +3583 +3584 +3591 +3592 +3607 +3609 +3633 +3636 +3634 +3637 +3638 +3642 +3643 +3652 +3653 +3655 +3657 +3656 +3657 +3656 +3677 +3678 +3716 +3727 +3730 +3751 +3752 +3776 +3778 +3775 +3779 +3782 +3783 +3817 +3819 +3822 +3824 +3826 +3841 +3842 +3843 +3864 +3868 +3875 +3880 +3896 +3898 +3899 +3900 +3901 +3907 +3914 +3904 +3908 +3917 +3918 +3919 +3926 +3939 +3945 +3938 +3956 +3967 +3968 +3972 +3975 +3974 +3975 +3976 +3981 +3982 +3983 +3977 +3982 +3987 +3995 +4012 +4025 +4021 +4046 +4048 +4053 +4069 +4078 +4083 +4081 +4080 +4082 +4091 +4099 +4100 +4097 +4109 +4112 +4126 +4127 +4128 +4129 +4130 +4133 +4132 +4136 +4156 +4160 +4161 +4159 +4160 +4161 +4178 +4180 +4197 +4195 +4197 +4199 +4201 +4200 +4196 +4219 +4220 +4221 +4205 +4219 +4224 +4257 +4262 +4263 +4266 +4267 +4266 +4271 +4272 +4273 +4285 +4286 +4285 +4266 +4242 +4248 +4270 +4271 +4293 +4309 +4314 +4340 +4343 +4348 +4347 +4348 +4351 +4352 +4364 +4365 +4388 +4390 +4417 +4410 +4426 +4431 +4429 +4434 +4424 +4432 +4421 +4440 +4441 +4428 +4438 +4456 +4457 +4460 +4468 +4471 +4473 +4490 +4477 +4478 +4486 +4475 +4487 +4490 +4497 +4524 +4533 +4537 +4541 +4545 +4548 +4552 +4556 +4558 +4571 +4573 +4578 +4580 +4581 +4542 +4545 +4548 +4549 +4536 +4551 +4557 +4556 +4547 +4548 +4567 +4552 +4554 +4552 +4576 +4577 +4603 +4616 +4633 +4634 +4639 +4642 +4651 +4656 +4657 +4659 +4663 +4667 +4673 +4695 +4712 +4713 +4720 +4718 +4721 +4737 +4743 +4746 +4778 +4779 +4793 +4768 +4773 +4776 +4778 +4796 +4798 +4800 +4802 +4803 +4822 +4823 +4831 +4836 +4831 +4833 +4840 +4842 +4847 +4868 +4870 +4869 +4875 +4876 +4879 +4881 +4891 +4892 +4909 +4903 +4901 +4902 +4930 +4933 +4932 +4933 +4936 +4937 +4943 +4945 +4948 +4949 +4943 +4963 +4956 +4967 +4969 +4961 +4966 +4970 +4974 +4961 +4964 +4952 +4953 +4981 +4984 +4966 +4970 +4971 +4975 +4966 +4968 +4966 +4968 +4974 +4971 +4988 +4989 +4995 +4996 +5001 +5004 +5005 +5008 +5016 +5018 +5007 +5010 +5011 +5024 +5027 +5032 +5037 +5033 +5034 +5045 +5071 +5068 +5069 +5070 +5088 +5086 +5088 +5114 +5133 +5144 +5145 +5152 +5161 +5154 +5155 +5156 +5159 +5170 +5176 +5189 +5190 +5200 +5204 +5205 +5206 +5221 +5222 +5223 +5224 +5217 +5218 +5219 +5225 +5203 +5210 +5212 +5213 +5215 +5214 +5215 +5221 +5222 +5233 +5242 +5256 +5258 +5256 +5281 +5286 +5315 +5336 +5337 +5345 +5348 +5341 +5336 +5341 +5344 +5350 +5341 +5342 +5337 +5339 +5346 +5347 +5364 +5366 +5368 +5361 +5362 +5365 +5358 +5370 +5376 +5377 +5380 +5381 +5382 +5383 +5388 +5396 +5405 +5396 +5410 +5431 +5432 +5436 +5447 +5456 +5457 +5462 +5475 +5476 +5490 +5493 +5503 +5504 +5512 +5513 +5527 +5542 +5546 +5545 +5547 +5555 +5558 +5577 +5613 +5614 +5620 +5623 +5636 +5651 +5660 +5665 +5668 +5672 +5676 +5687 +5712 +5707 +5708 +5709 +5711 +5712 +5714 +5715 +5717 +5727 +5731 +5746 +5754 +5755 +5758 +5759 +5770 +5775 +5799 +5789 +5794 +5800 +5802 +5813 +5808 +5812 +5832 +5830 +5839 +5842 +5825 +5830 +5835 +5836 +5847 +5851 +5849 +5855 +5816 +5818 +5829 +5830 +5829 +5830 +5858 +5859 +5860 +5862 +5867 +5868 +5863 +5864 +5869 +5872 +5878 +5885 +5888 +5890 +5884 +5875 +5876 +5880 +5886 +5889 +5890 +5892 +5895 +5896 +5895 +5896 +5897 +5895 +5907 +5906 +5908 +5897 +5900 +5913 +5915 +5914 +5917 +5915 +5916 +5920 +5923 +5929 +5931 +5936 +5944 +5929 +5932 +5934 +5945 +5948 +5949 +5951 +5957 +5967 +5968 +5969 +5974 +5975 +5982 +5983 +5990 +5994 +5989 +5993 +5996 +5986 +5987 +5990 +5991 +5993 +5995 +5998 +5999 +5990 +5994 +5996 +6010 +6016 +6032 +6039 +6041 +6044 +6057 +6058 +6059 +6060 +6061 +6063 +6064 +6067 +6073 +6074 +6075 +6070 +6071 +6076 +6077 +6071 +6083 +6088 +6096 +6095 +6100 +6101 +6106 +6109 +6111 +6112 +6121 +6143 +6151 +6175 +6179 +6174 +6175 +6185 +6186 +6184 +6195 +6196 +6197 +6188 +6195 +6196 +6197 +6198 +6204 +6209 +6222 +6233 +6231 +6222 +6223 +6224 +6233 +6235 +6239 +6229 +6259 +6286 +6295 +6269 +6273 +6274 +6265 +6266 +6264 +6259 +6260 +6265 +6268 +6280 +6281 +6283 +6277 +6279 +6311 +6340 +6342 +6345 +6353 +6375 +6399 +6425 +6423 +6428 +6448 +6449 +6456 +6460 +6465 +6470 +6477 +6493 +6494 +6499 +6521 +6522 +6524 +6525 +6536 +6537 +6538 +6526 +6550 +6551 +6552 +6559 +6561 +6563 +6564 +6584 +6585 +6588 +6600 +6610 +6612 +6616 +6619 +6639 +6644 +6646 +6647 +6644 +6629 +6635 +6646 +6648 +6659 +6662 +6641 +6637 +6626 +6627 +6630 +6632 +6643 +6644 +6645 +6656 +6658 +6663 +6680 +6675 +6678 +6681 +6682 +6680 +6692 +6702 +6707 +6708 +6709 +6717 +6719 +6733 +6734 +6730 +6751 +6757 +6766 +6770 +6810 +6812 +6816 +6810 +6817 +6821 +6823 +6828 +6844 +6838 +6841 +6846 +6843 +6844 +6848 +6851 +6853 +6868 +6870 +6884 +6886 +6896 +6886 +6887 +6891 +6896 +6905 +6902 +6903 +6902 +6911 +6951 +6955 +6958 +6940 +6943 +6945 +6946 +6945 +6943 +6944 +6949 +6950 +6952 +6953 +6958 +6962 +6970 +6974 +6977 +7018 +7023 +7027 +7029 +7031 +7033 +7035 +7057 +7058 +7060 +7071 +7072 +7087 +7102 +7111 +7138 +7118 +7136 +7142 +7143 +7162 +7163 +7166 +7153 +7152 +7151 +7154 +7156 +7178 +7177 +7184 +7188 +7193 +7198 +7205 +7217 +7248 +7247 +7249 +7251 +7253 +7254 +7255 +7263 +7265 +7280 +7287 +7315 +7323 +7332 +7333 +7323 +7324 +7332 +7334 +7338 +7339 +7341 +7347 +7346 +7347 +7365 +7370 +7372 +7373 +7374 +7376 +7381 +7383 +7401 +7402 +7421 +7433 +7438 +7439 +7440 +7476 +7484 +7504 +7510 +7526 +7527 +7531 +7532 +7539 +7542 +7553 +7555 +7560 +7558 +7560 +7562 +7578 +7581 +7587 +7599 +7600 +7616 +7627 +7645 +7658 +7659 +7646 +7648 +7652 +7650 +7651 +7667 +7671 +7675 +7682 +7683 +7684 +7687 +7686 +7688 +7699 +7710 +7699 +7698 +7699 +7706 +7724 +7725 +7740 +7741 +7740 +7741 +7747 +7742 +7749 +7758 +7769 +7770 +7785 +7793 +7794 +7797 +7805 +7806 +7826 +7827 +7828 +7826 +7827 +7837 +7843 +7852 +7867 +7874 +7881 +7875 +7874 +7873 +7887 +7890 +7919 +7918 +7926 +7935 +7936 +7935 +7941 +7942 +7940 +7949 +7958 +7960 +7963 +7961 +7963 +7965 +7960 +7983 +7980 +7984 +7986 +7988 +8000 +8009 +8014 +8013 +8014 +8015 +8022 +8023 +8020 +8035 +8046 +8053 +8050 +8046 +8057 +8056 +8085 +8086 +8087 +8088 +8092 +8094 +8095 +8094 +8096 +8099 +8128 +8159 +8167 +8185 +8200 +8212 +8214 +8219 +8246 +8248 +8261 +8262 +8242 +8236 +8237 +8247 +8243 +8242 +8244 +8256 +8268 +8270 +8311 +8323 +8324 +8325 +8327 +8349 +8347 +8348 +8347 +8353 +8366 +8384 +8386 +8389 +8404 +8405 +8408 +8411 +8415 +8428 +8437 +8423 +8427 +8455 +8463 +8466 +8470 +8471 +8475 +8476 +8479 +8484 +8483 +8486 +8485 +8498 +8502 +8503 +8507 +8517 +8518 +8531 +8532 +8545 +8548 +8561 +8569 +8573 +8575 +8580 +8581 +8585 +8589 +8598 +8604 +8630 +8628 +8625 +8620 +8625 +8626 +8627 +8620 +8631 +8643 +8645 +8669 +8673 +8674 +8679 +8687 +8698 +8731 +8738 +8746 +8785 +8760 +8764 +8760 +8761 +8767 +8768 +8769 +8771 +8773 +8768 +8766 +8767 +8785 +8789 +8790 +8802 +8801 +8802 +8809 +8820 +8823 +8824 +8829 +8830 +8836 +8835 +8834 +8828 +8829 +8833 +8844 +8852 +8857 +8863 +8862 +8863 +8853 +8858 +8859 +8860 +8845 +8844 +8823 +8822 +8850 +8851 +8852 +8863 +8879 +8881 +8882 +8889 +8892 +8894 +8910 +8908 +8912 +8933 +8932 +8911 +8906 +8908 +8909 +8919 +8920 +8921 +8933 +8935 +8945 +8947 +8948 +8951 +8961 +8962 +8972 +8989 +8990 +8999 +9000 +9018 +9028 +9029 +9035 +9031 +9043 +9044 +9049 +9078 +9074 +9078 +9081 +9074 +9077 +9071 +9054 +9055 +9060 +9062 +9065 +9094 +9099 +9108 +9125 +9136 +9137 +9143 +9147 +9150 +9162 +9166 +9170 +9171 +9174 +9188 +9198 +9204 +9207 +9217 +9230 +9243 +9256 +9264 +9273 +9275 +9286 +9293 +9299 +9300 +9317 +9320 +9324 +9348 +9351 +9356 +9372 +9380 + diff --git a/day1/test.txt b/day1/test.txt new file mode 100644 index 0000000..167e291 --- /dev/null +++ b/day1/test.txt @@ -0,0 +1,10 @@ +199 +200 +208 +210 +200 +207 +240 +269 +260 +263