diff --git a/pkg/largest_rectangle_in_histogram/main.go b/pkg/largest_rectangle_in_histogram/main.go new file mode 100644 index 0000000..33780cd --- /dev/null +++ b/pkg/largest_rectangle_in_histogram/main.go @@ -0,0 +1,60 @@ +package largest_rectangle_in_histogram + +type Box struct { + Start int + Height int +} + +// Calculates the size of the box, from its starting point upto (and NOT +// including) a certain point. +func (b Box) Size(upto int) int { + return (upto - b.Start) * b.Height +} + +func LargestRectangleArea(heights []int) int { + // This is a stack, containing all boxes that haven't been completed yet. Each + // box contains two integers. The first is the starting index, and the second + // is the height of the box. + boxes := []Box{} + // The accumulation of the biggest box so far. + biggest := 0 + // Add a number that is guaranted to be lower than any other. This will pop out + // any boxes left in the stack at the end of the program. + heights = append(heights, -1) + + for i, height := range heights { + // This is the farthest index back where the eventual new box can start. + // Everytime we pop a box off the top of the stack, this means every item + // from the start of the box until now is > the current height. So, we can + // extend that box at least that far back. + farthest := i + + for len(boxes) > 0 { + top := boxes[len(boxes)-1] + + // The boxes are implicitly ordered by height. When one gets the top box, + // all below must have a <= height. + // + // If the very top box has a height <= to the current height, that means + // all boxes left will carry over into the next iteration, so we can continue. + if top.Height < height { + break + } + + // Since this box is taller than the current height, it ends here. + // We calculate its size, and accumulate it in the `biggest` variable. + biggest = max(biggest, top.Size(i)) + + // Remove it from the stack. + boxes = boxes[:len(boxes)-1] + + // Push the starting point of the box farther back. + farthest = top.Start + } + + // A box is always created for each new height. + boxes = append(boxes, Box{Start: farthest, Height: height}) + } + + return biggest +} diff --git a/pkg/largest_rectangle_in_histogram/main_test.go b/pkg/largest_rectangle_in_histogram/main_test.go new file mode 100644 index 0000000..544e78a --- /dev/null +++ b/pkg/largest_rectangle_in_histogram/main_test.go @@ -0,0 +1,29 @@ +package largest_rectangle_in_histogram_test + +import ( + "testing" + + "git.maximhutz.com/practice/pkg/largest_rectangle_in_histogram" + "github.com/stretchr/testify/assert" +) + +func Test1(t *testing.T) { + assert.Equal(t, 10, largest_rectangle_in_histogram.LargestRectangleArea([]int{2, 1, 5, 6, 2, 3})) +} + +func Test2(t *testing.T) { + assert.Equal(t, 4, largest_rectangle_in_histogram.LargestRectangleArea([]int{2, 4})) +} + +func Test3(t *testing.T) { + list := []int{} + for range 4096 { + list = append(list, 1) + } + + assert.Equal(t, 4096, largest_rectangle_in_histogram.LargestRectangleArea(list)) +} +func Test4(t *testing.T) { + list := []int{7526, 2268, 7746, 6830, 6480, 3846, 9924, 9681, 2569, 884, 8244, 1815, 9000, 6580, 3955, 3176, 950, 6427, 8420, 8194, 359, 2097, 3085, 1330, 132, 6469, 1013, 1004, 1039, 5065, 7692, 2008, 8809, 6377, 3213, 252, 2295, 641, 6470, 868, 1598, 2536, 2992, 1043, 8368, 1595, 6978, 4332, 4866, 9076, 9027, 6862, 3217, 6894, 8576, 2556, 6917, 1233, 527, 1961, 2530, 1315, 5049, 422, 6535, 6056, 1705, 4567, 5638, 1467, 3826, 1015, 9374, 678, 6618, 6761, 8886, 6390, 8653, 1030, 5685, 6709, 7207, 9954, 7554, 4385, 2754, 9247, 2586, 5721, 7390, 9673, 3319, 5164, 6870, 2963, 2974, 8114, 6277, 4411, 5487, 1892, 6852, 5311, 8262, 4528, 3855, 2942, 8619, 74, 6988, 9843, 2323, 1971, 5476, 4477, 6812, 5846, 5226, 2823, 7090, 2430, 9148, 6698, 5233, 3952, 8518, 3323, 6652, 2331, 7565, 988, 9218, 9693, 7141, 9978, 1738, 526, 1648, 3904, 4748, 4877, 7629, 3660, 9326, 3432, 7732, 1960, 5029, 5729, 1599, 4502, 9370, 8781, 5333, 9633, 2526, 8181, 4377, 529, 7744, 488, 2569, 5478, 3703, 5370, 5504, 4298, 4441, 8085, 5551, 5161, 9772, 8028, 4306, 8442, 9435, 2614, 8575, 8754, 8012, 4850, 1515, 1954, 7320, 9345, 9413, 4925, 975, 2852, 7222, 6908, 439, 7720, 3092, 2454, 6988, 6260, 3, 3155, 7060, 3213, 5921, 6124, 8546, 5483, 1521, 979, 6507, 2616, 1528, 4575, 8192, 1092, 2245, 3465, 5771, 4655, 6092, 7935, 2273, 5396, 2920, 7102, 3230, 9625, 3421, 1439, 5663, 7331, 7355, 6744, 1210, 785, 602, 9113, 3272, 6258, 2684, 7436, 9523, 5839, 219, 6883, 276, 7116, 6028, 3428, 6932, 1622, 9632, 5750, 8029, 4350, 7381, 6637, 4624, 7115, 1989, 5467, 589, 2405, 4191, 8078, 5080, 2295, 528, 4031, 1542, 9298, 9987, 1987, 9224, 5271, 4456, 9006, 538, 7077, 64, 7897, 9248, 7707, 328, 2076, 2688, 5149, 2854, 6213, 6740, 8911, 1741, 295, 7025, 7157, 1754, 9653, 6539, 9277, 2930, 3190, 709, 3400, 6407, 8215, 3159, 4676, 9903, 8174, 9595, 1129, 7257, 241, 7273, 5531, 3085, 1893, 7905, 7505, 3293, 6481, 347, 103, 4412, 4000, 8055, 5239, 9211, 6622, 9131, 4018, 6058, 5647, 8032, 2058, 3881, 4278, 1176, 4027, 4443, 7608, 3129, 6985, 6411, 2082, 9013, 5876, 8782, 7326, 8763, 7036, 5398, 1904, 8538, 3348, 6770, 5582, 9858, 4827, 5753, 1080, 3892, 7768, 8569, 367, 150, 5577, 6223, 1327, 7403, 1314, 8631, 9350, 9220, 8347, 849, 4747, 7530, 5827, 3429, 2915, 4981, 4206, 734, 2724, 6724, 4989, 3239, 6129, 6499, 6199, 1222, 5476, 9901, 8846, 1116, 2967, 484, 6612, 7332, 5861, 5384, 8776, 5461, 728, 7295, 3422, 3547, 4220, 481, 8557, 2106, 7137, 1326, 8914, 3838, 9424, 9948, 5423, 9739, 9731, 3927, 644, 7598, 2253, 1813, 7611, 821, 6829, 3625, 7487, 4526, 1844, 5208, 2598, 7415, 7430, 980, 6076, 9078, 1518, 5802, 9178, 1245, 5643, 1675, 6235, 1367, 3677, 9948, 1385, 1002, 5621, 7125, 9079, 3244, 9072, 6410, 233, 3470, 1973, 4066, 7933, 9164, 5890, 6261, 6119, 7696, 2627, 9183, 5072, 8078, 4101, 9738, 6136, 292, 347, 1046, 1575, 4324, 7282, 7623, 1964, 8798, 9671, 5758, 5283, 8811, 2958, 1246, 9346, 6115, 5864, 9107, 5545, 8169, 8600, 6570, 5685, 4306, 3343, 9214, 7820, 5526, 9438, 3580, 5825, 5918, 1430, 8671, 9119, 3189, 3775, 8947, 799, 5930, 2125, 2053, 4774, 5384, 4157, 6950, 9094, 5120, 3193, 5821, 1109, 3786, 3385, 3111, 2806, 9862, 5601, 8015, 7352, 7795, 1337, 6538, 6893, 8062, 7949, 855, 3480, 9292, 4663, 6093, 4770, 383, 527, 3562, 1751, 7551, 1242, 8829, 1927, 2552, 9568, 7927, 5225, 175, 9848, 1098, 9606, 8467, 3545, 4956, 5220, 7597, 4730, 1574, 7563, 5830, 2526, 7469, 4176, 5365, 8395, 529, 6515, 7737, 9038, 6535, 4389, 3879, 952, 7802, 2975, 5916, 5819, 3990, 3379, 6860, 9094, 5150, 9157, 160, 1923, 3957, 754, 1617, 9986, 4596, 8931, 7961, 5828, 7010, 5476, 4334, 5963, 2963, 5247, 8206, 7500, 1345, 5934, 4097, 7703, 739, 7254, 2954, 4515, 8984, 7065, 3457, 4148, 6952, 6134, 9676, 2804, 4292, 2306, 8460, 5991, 4859, 1314, 3179, 8535, 1894, 4967, 6966, 7106, 3943, 2802, 7384, 4577, 2373, 6380, 669, 9777, 3599, 7017, 9726, 1715, 9793, 691, 935, 8601, 8133, 7412, 3192, 6038, 5063, 6191, 5929, 7568, 1023, 3698, 3328, 7861, 691, 1453, 8235, 6928, 4750, 2105, 265, 4492, 7749, 7734, 4, 2557, 4784, 9496, 6686, 3485, 6958, 7473, 4980, 9808, 7770, 402, 3522, 9784, 2387, 1202, 1315, 9253, 6747, 513, 5129, 9710, 5746, 5746, 4224, 9588, 1358, 6702, 7544, 9074, 9892, 8449, 9782, 7983, 5178, 3509, 7045, 5794, 2162, 452, 6247, 3454, 7086, 5011, 1310, 5098, 3799, 3167, 7040, 8037, 5821, 8234, 4562, 2303, 9614, 4115, 7336, 1231, 2756, 3527, 9669, 7392, 3518, 1076, 8372, 855, 6427, 2920, 6094, 8576, 5278, 9005, 6569, 9624, 6252, 8868, 2830, 7177, 7311, 5871, 4223, 2313, 3737, 198, 2157, 3685, 5231, 6922, 6072, 6472, 2132, 7930, 6072, 1991, 7904, 6549, 913, 373, 4915, 2437, 603, 815, 826, 1277, 883, 7083, 6891, 6094, 8989, 8749, 7866, 2295, 6375, 1609, 4151, 8036, 9054, 7941, 4016, 1752, 7116, 7685, 9649, 8359, 5576, 4929, 6667, 7001, 419, 4094, 6197, 6102, 1869, 1206, 6188, 6141, 8507, 8540, 5168, 8896, 6982, 4135, 5220, 4943, 5815, 3172, 760, 9680, 5497, 4977, 9643, 5428, 8754, 5551, 1379, 7729, 7144, 2911, 5939, 4301, 3765, 381, 7115, 6618, 4087, 7777, 5623, 9097, 5178, 4395, 7276, 7412, 3442, 6870, 7198, 3407, 8942, 3707, 6473, 6181, 3887, 6576, 3696, 1475, 6274, 9922, 4247, 4395, 1708, 9546, 2403, 1245, 7678, 9441, 1996, 7454, 9538, 8997, 7387, 8812, 7312, 3593, 4773, 6238, 1616, 9612, 9100, 6830, 740, 8950, 8965, 7048, 7590, 4738, 1263, 6015, 6130, 6423, 4558, 5069, 5473, 5040, 357, 3508, 7190, 6489, 9053, 4565, 8270, 8616, 6307, 3773, 6768, 6247, 3955, 6758, 9572, 2565, 450, 1613, 3903, 7477, 9243, 4549, 642, 15, 8363, 8687, 7516, 3694, 8714, 2289, 9801, 4543, 725, 206, 2830, 4778, 8714, 8275, 2464, 3417, 7664, 863, 6053, 4055, 3049, 1851, 5406, 862, 792, 144, 4947, 2966, 4299, 8047, 15, 4284, 3024, 8234, 8128, 8332, 2597, 2160, 106, 5049, 5647, 1742, 7562, 5395, 2261, 6168, 3802, 4834, 78, 2884, 9997, 4258, 8501, 5529, 6176, 8167, 4899, 1493, 7900, 6146, 4990, 4174, 7149, 6919, 2084, 5468, 20, 4305, 4108, 9819, 4661, 6587, 5228, 628, 8792, 4851, 9633, 9048, 5164, 8196, 1663, 1525, 7314, 6045, 4929, 7751, 2696, 2394, 5686, 6939, 390, 4926, 6504, 2470, 6502, 6604, 2249, 8367, 349, 4314, 8974, 9836, 1027, 4183, 1519, 6304, 6825, 433, 7492, 6183, 2688, 1248, 5830, 452, 7044, 406, 434, 8589, 8702, 6669, 3417, 4051, 3828, 2262, 5551, 9735, 9916, 2833, 2813, 9037, 4704, 8202, 7871, 3933, 6328, 9487, 392, 9050, 7165, 8182, 3897, 4477, 7195, 6211, 585, 55, 4239, 4042, 5509, 765, 2526, 6616, 1186, 5631, 4113, 3445, 7322, 8586, 8208, 8513, 3364, 6454, 5982, 9077, 9506, 2632, 5046, 4427, 2908, 3309, 9375, 3767, 4487, 5918, 4958, 8529, 4573, 6946, 2576, 9465, 6259, 7445, 7039, 6262, 1996, 1217, 9267, 5871, 3938, 9939, 1089, 324, 388, 1299, 9368, 6322, 5155, 5372, 569, 4391, 2834, 3998, 9868, 8164, 700, 1818, 3987, 7744, 9415, 4406, 3558, 2014, 5746, 8841, 2362, 3408, 8706, 7740, 2062, 2616, 9373, 7673, 5292, 4073, 5320, 9049, 2903, 3282, 5304, 861, 9348, 9209, 3159, 1240, 1605, 9229, 3162, 4588, 9422, 1802, 6165, 7268, 960, 8826, 4164, 9538, 6657, 4495, 6195, 6958, 4231, 4016, 9291, 4507, 3698, 649, 7184, 4501, 6817, 9942, 3258, 2519, 2688, 301, 4890, 156, 8606, 2307, 321, 1246, 7105, 6225, 5555, 962, 1834, 9216, 6896, 4190, 1923, 1702, 8782, 4905, 3221, 296, 1727, 6124, 7045, 6142, 4959, 9909, 8396, 652, 6381, 4665, 929, 194, 6125, 5038, 1168, 2208, 5329, 9812, 8854, 7886, 2697, 5999, 8602, 8608, 3586, 5422, 9097, 6477, 9261, 8449, 7678, 5659, 426, 2448, 8694, 6760, 8907, 4762, 1727, 117, 9610, 9491, 1923, 8467, 3341, 1722, 5451, 7910, 4487, 2644, 3151, 2270, 5719, 1617, 9410, 3928, 6472, 6667, 448, 2686, 2732, 32, 9141, 7676, 4463, 8878, 2491, 6785, 9425, 8813, 221, 6405, 6013, 4608, 3228, 4804, 920, 7143, 5201, 4159, 5695, 7683, 1091, 2338, 9326, 8270, 9790, 8983, 4550, 3626, 1519, 1899, 4123, 2476, 8108, 9323, 5693, 3632, 3186, 2912, 95, 4845, 626, 798, 5311, 5266, 7455, 6143, 2019, 6981, 9772, 5418, 1391, 2637, 8620, 4083, 6876, 286, 9062, 3301, 9906, 5276, 3598, 943, 5990, 3797, 6155, 8096, 3596, 3170, 1271, 1933, 7769, 8790, 9201, 1896, 9799, 1528, 5438, 4899, 8812, 2420, 2850, 7433, 8117, 9312, 6193, 6363, 4180, 4303, 5787, 8138, 673, 1200, 6410, 2789, 875, 1440, 9887, 9926, 7292, 9441, 1760, 3518, 9586, 4240, 8886, 4050, 2779, 9046, 6651, 792, 8375, 8613, 4304, 8455, 9481, 7598, 9907, 7708, 3466, 5106, 3982, 4578, 1471, 1183, 584, 5176, 8762, 418, 4144, 6501, 446, 5855, 4674, 4297, 2674, 3823, 9996, 8286, 595, 1012, 6013, 9087, 7951, 9759, 9724, 8193, 668, 6960, 7568, 6004, 1766, 475, 9141, 3135, 3924, 9353, 6608, 1840, 3960, 1275, 8395, 5241, 7671, 5331, 4130, 5005, 188, 1552, 437, 7506, 8370, 4707, 7744, 3091, 2347, 1166, 1189, 6251, 470, 7618, 1763, 802, 264, 2968, 3512, 2137, 5371, 8535, 2415, 7551, 3162, 1345, 2907, 3654, 1721, 1005, 1191, 5736, 3014, 1848, 8835, 8119, 6320, 7743, 4706, 25, 4248, 1275, 3105, 6790, 2952, 9954, 5950, 282, 1455, 788, 6162, 8805, 2086, 2756, 9785, 5472, 289, 8989, 6290, 4247, 3459, 9846, 6754, 8241, 5422, 9663, 4213, 5724, 45, 8122, 1592, 1201, 2063, 662, 7196, 8936, 2351, 9630, 5183, 8118, 200, 1924, 7795, 2805, 1354, 2547, 4041, 6390, 5408, 5123, 1114, 8048, 7087, 3166, 2546, 4085, 55, 2479, 1956, 4973, 8512, 7441, 2573, 8951, 302, 8172, 5542, 7208, 2385, 8035, 8171, 8979, 6788, 5175, 7102, 4703, 9574, 6982, 9627, 2447, 9842, 5207, 5531, 1812, 7828, 1938, 1856, 5475, 4956, 3411, 5023, 7382, 415, 3544, 8749, 1717, 9054, 5554, 796, 2830, 8063, 7436, 378, 6532, 6596, 7798, 1808, 5540, 9673, 5528, 5541, 3952, 9782, 8889, 5957, 5908, 3984, 750, 3129, 3445, 5863, 3939, 8380, 9691, 9929, 9274, 6310, 6519, 5836, 8655, 3297, 4217, 6869, 1763, 2361, 5739, 4503, 1868, 20, 8904, 778, 416, 6076, 1524, 4180, 7924, 3933, 9569, 1520, 2188, 1267, 4316, 4688, 6943, 8272, 8614, 4380, 8112, 1027, 239, 9691, 1984, 1998, 9715, 2367, 5485, 6671, 9441, 2849, 3569, 8320, 2405, 2153, 4782, 7938, 1871, 8464, 2515, 7744, 1470, 1370, 3475, 1562, 2360, 3132, 4554, 102, 6932, 1064, 1646, 347, 4847, 8279, 6328, 2310, 1298, 6863, 5032, 7950, 3201, 7594, 8628, 9160, 7358, 2104, 7169, 8346, 4729, 1451, 8116, 7815, 3822, 9514, 483, 585, 2395, 7760, 7189, 5185, 5329, 5042, 473, 6814, 5231, 5001, 6887, 1468, 1654, 1736, 4055, 2173, 1934, 5828, 2899, 4492, 9352, 1969, 6643, 749, 6187, 2442, 6523, 714, 2017, 9880, 3762, 9854, 2174, 2679, 7623, 5771, 6310, 1310, 8049, 7158, 1883, 1976, 597, 4852, 158, 1196, 7979, 2505, 2706, 3863, 8218, 8093, 6011, 8433, 8562, 3886, 6346, 957, 7508, 4151, 2585, 1681, 5992, 3832, 8673, 7330, 7292, 4394, 2794, 3213, 9890, 4380, 1178, 9367, 4828, 7796, 3271, 9257, 1635, 8556, 1776, 2613, 7037, 4005, 6992, 3336, 900, 9935, 2318, 4332, 2290, 4043, 4580, 3919, 8227, 892, 674, 5653, 4415, 1990, 2609, 3898, 270, 1235, 4333, 4610, 6013, 2969, 5053, 494, 7938, 5270, 2832, 119, 8500, 7593, 8640, 9078, 1467, 8626, 8876, 3667, 5452, 2950, 8082, 8955, 1303, 8, 4702, 6291, 7265, 8792, 1041, 3490, 3524, 311, 5983, 9201, 7280, 2520, 5285, 2065, 9790, 5670, 1866, 4223, 8532, 8183, 7546, 6731, 3327, 9346, 5138, 5540, 9419, 2596, 5838, 8299, 8475, 1890, 56, 4977, 138, 2264, 7224, 2653, 6328, 5821, 1964, 9034, 2384, 4637, 3526, 6267, 615, 4513, 4786, 9584, 2090, 5244, 7891, 1454, 8872, 1179, 4754, 8423, 9054, 637, 6655, 3668, 1442, 7226, 7909, 9393, 6603, 557, 6605, 2314, 4772, 8281, 3256, 7007, 4364, 4623, 7689, 6687, 2585, 9143, 5215, 4107, 4747, 8242, 1741, 968, 5130, 7514, 6870, 3022, 6141, 1542, 3618, 3588, 9235, 9944, 2138, 2022, 6842, 3175, 7442, 1620, 4864, 493, 4932, 5215, 7969, 2433, 4136, 3972, 9465, 2876, 7243, 3427, 1038, 5494, 1911, 875, 7735, 7593, 564, 4029, 8205, 7651, 3997, 9029, 8896, 6304, 4345, 1651, 1338, 9309, 4508, 3495, 3584, 9358, 6700, 8555, 1601, 7330, 2370, 6064, 4231, 3797, 4583, 2675, 7685, 3698, 2310, 1267, 3731, 1428, 8748, 1038, 9281, 289, 248, 1263, 267, 4564, 6538, 8899, 9288, 8197, 6454, 604, 9366, 4936, 702, 4709, 7662, 1361, 1796, 3673, 7798, 2782, 7581, 2781, 939, 4855, 3028, 6721, 676, 8443, 7443, 2365, 4531, 5765, 1940, 7589, 6014, 2227, 851, 6781, 2217, 845, 1089, 8871, 4279, 933, 9705, 902, 2533, 5747, 7274, 3553, 9882, 1435, 4603, 8642, 3321, 5649, 8108, 6303, 3568, 1900, 6735, 9447, 5575, 4491, 9760, 4086, 9431, 5063, 7711, 1200, 3943, 7711, 3352, 1137, 6149, 7300, 652, 9600, 479, 6668, 1403, 1605, 3641, 7232, 5389, 7846, 5275, 1423, 4505, 6426, 8577, 6769, 2166, 7421, 4624, 6282, 416, 7910, 2594, 4941, 9012, 3345, 3048, 4042, 8253, 5733, 1695, 5543, 1933, 3757, 2495, 9471, 4675, 208, 1010, 2732, 2949, 748, 4752, 4176, 2868, 817, 378, 8574, 855, 1907, 5692, 3516, 4792, 687, 6009, 2576, 8649, 4327, 8568, 1116, 5006, 652, 4573, 1763, 522, 3059, 227, 9851, 9870, 9254, 6567, 5559, 2828, 835, 6167, 8655, 6130, 8012, 6379, 885, 5438, 9476, 3163, 9281, 1820, 9042, 1268, 3563, 347, 9762, 1794, 2952, 7491, 1948, 7926, 8441, 2627, 5857, 684, 7123, 8681, 2956, 4599, 6261, 8107, 1104, 415, 417, 7758, 5076, 9040, 8306, 6644, 7869, 3771, 1561, 7184, 3837, 3860, 3291, 6465, 9669, 2597, 1061, 192, 2187, 8114, 30, 1676, 4944, 882, 8668, 7264, 3394, 9481, 5821, 9073, 5054, 5619, 8699, 151, 6459, 9124, 2212, 766, 2124, 6998, 7402, 1803, 3259, 4132, 2889, 5978, 5445, 7126, 7379, 8718, 1107, 6093, 6806, 1485, 2586, 398, 4540, 3652, 8595, 8231, 1747, 7224, 5246, 9708, 1392, 6379, 9093, 5558, 6803, 9725, 8462, 9588, 4483, 1844, 8975, 1242, 7727, 682, 563, 5505, 7215, 8320, 7911, 6826, 7284, 3425, 79, 2116, 9283, 8511, 616, 2327, 430, 2864, 7949, 3782, 3681, 5500, 7591, 5704, 3581, 5875, 720, 4208, 6864, 2963, 1812, 4926, 8104, 9078, 2944, 13, 6659, 6434, 4209, 5241, 3763, 5836, 1834, 5993, 5471, 9088, 379, 2489, 6497, 6554, 3968, 4894, 5445, 7008, 354, 4233, 6222, 1982, 2318, 1458, 3374, 9395, 1467, 1701, 5757, 9650, 625, 9599, 6936, 5055, 1028, 8440, 543, 1860, 7155, 6942, 1941, 7468, 5777, 6267, 9595, 6151, 296, 7743, 3711, 8117, 7147, 2287, 9049, 1798, 4859, 6145, 9797, 8345, 4197, 3221, 1892, 9436, 303, 8666, 7172, 1966, 5304, 8001, 1885, 3931, 7727, 9056, 7517, 982, 3114, 5443, 2891, 2103, 7958, 2462, 7104, 9936, 4192, 851, 1987, 5893, 7380, 6112, 2570, 3644, 9077, 4359, 5714, 652, 6886, 5537, 9428, 9981, 6800, 8781, 2336, 4306, 3156, 9298, 4656, 5782, 3081, 6439, 6930, 6700, 2772, 170, 8139, 515, 4238, 1215, 9629, 9729, 3579, 5574, 8158, 9450, 6480, 2770, 8850, 6965, 5770, 5100, 1193, 6811, 2240, 3526, 9874, 181, 1779, 1644, 24, 6962, 5240, 8165, 8983, 2115, 1003, 4620, 6421, 8031, 8247, 3217, 3666, 2196, 8185, 3381, 7304, 1967, 9878, 7884, 6836, 8853, 3574, 9991, 4601, 4419, 8085, 3768, 347, 6367, 6439, 6293, 3919, 6017, 6344, 8078, 9373, 5419, 611, 5110, 8371, 2404, 958, 9503, 1837, 305, 5654, 332, 8197, 5147, 7878, 6389, 8899, 6468, 2539, 4264, 5748, 2119, 1394, 6816, 8240, 35, 8689, 899, 7477, 7859, 2133, 6843, 3907, 2986, 604, 6628, 1419, 2033, 3458, 8500, 9182, 7858, 1490, 194, 8442, 6046, 4937, 4819, 5462, 2374, 2415, 6285, 2739, 5614, 8767, 6810, 9568, 5089, 3901, 3709, 8115, 1229, 1515, 976, 19, 3186, 410, 999, 2125, 9423, 3587, 993, 2322, 6481, 1173, 2246, 7475, 9704, 7809, 8779, 6298, 5844, 3801, 8096, 1354, 1732, 3546, 1333, 9259, 6386, 7400, 5388, 6129, 5835, 1923, 1638, 6617, 6070, 2661, 3436, 246, 1201, 3760, 3645, 2832, 5831, 5499, 7630, 7356, 2427, 5806, 9955, 8302, 3786, 9729, 3619, 6404, 4282, 6997, 9241, 9495, 6218, 5382, 5262, 8283, 7337, 4653, 9400, 5423, 2052, 3028, 7854, 4517, 6431, 1425, 8174, 3612, 4794, 5629, 3281, 2852, 9625, 4879, 1743, 8560, 9332, 3381, 9323, 390, 9948, 8516, 7554, 7949, 8627, 5280, 1556, 9184, 602, 2530, 5452, 2448, 9508, 5792, 6050, 6336, 2830, 4121, 8378, 4202, 856, 9230, 8581, 6990, 6513, 2365, 3901, 548, 6528, 4909, 7529, 8843, 4896, 2448, 1484, 5388, 4067, 5274, 1585, 812, 1669, 986, 904, 6828, 821, 198, 6945, 7136, 1429, 6938, 1276, 237, 6498, 7489, 3812, 5340, 8711, 8985, 720, 6632, 9219, 739, 4995, 4644, 447, 2594, 5623, 5929, 7906, 6370, 2123, 1126, 5829, 4639, 5977, 7258, 5752, 6958, 6003, 6965, 5894, 5320, 4364, 2433, 2643, 5269, 5110, 5153, 7704, 872, 5500, 307, 6521, 3137, 2814, 6803, 8535, 7374, 1020, 8995, 5494, 759, 3596, 9785, 8727, 6192, 9718, 203, 7586, 7183, 9907, 93, 9227, 8309, 175, 6986, 5968, 1985, 1957, 6191, 9682, 2601, 6522, 1098, 2665, 8706, 9339, 2991, 6432, 4738, 9333, 8806, 8143, 5748, 7114, 8364, 2308, 2223, 4448, 8319, 7923, 3821, 5016, 2540, 473, 6807, 933, 5308, 6014, 972, 324, 8178, 4846, 4118, 9163, 2928, 8685, 8774, 3880, 6064, 1718, 2277, 190, 5283, 1545, 2386, 4562, 7869, 4349, 3918, 7937, 9432, 3207, 8877, 71, 1944, 2169, 1397, 2674, 7962, 7492, 6596, 6806, 4872, 2838, 3840, 7521, 8946, 3503, 3024, 1249, 3706, 5927, 9828, 3587, 6256, 333, 5836, 1087, 247, 8660, 5523, 6392, 5417, 1204, 2438, 2155, 8570, 1600, 3469, 4565, 7716, 1389, 6408, 7886, 2011, 6213, 3137, 3687, 2819, 7542, 4182, 3385, 6953, 1326, 2249, 8210, 6626, 8975, 9431, 2533, 3446, 4136, 7455, 4884, 8029, 3187, 9417, 5453, 3454, 9634, 2794, 6078, 4599, 8049, 51, 7819, 20, 2758, 3635, 3135, 2132, 4440, 9401, 1574, 6652, 6185, 6978, 7222, 1112, 389, 1375, 5480, 4500, 5141, 944, 2119, 1759, 6724, 2381, 494, 1675, 7782, 360, 6609, 6127, 2024, 1834, 4939, 6938, 9158, 9793, 5364, 1880, 9697, 7712, 2967, 7283, 8728, 4945, 3581, 5603, 2864, 1152, 5275, 9940, 1926, 4301, 3054, 2359, 8514, 3329, 4855, 7034, 5852, 4810, 6229, 7269, 9389, 8740, 7794, 5777, 289, 3257, 1212, 949, 3281, 2289, 8601, 9734, 5230, 2928, 4978, 7450, 3302, 5427, 6603, 4841, 3497, 6021, 4430, 8435, 9945, 3065, 6295, 4967, 4648, 2079, 8113, 4223, 6075, 2381, 4220, 173, 5417, 7235, 8598, 5435, 7030, 295, 6126, 8206, 4267, 3995, 979, 8792, 7184, 9157, 8541, 3068, 1354, 240, 9824, 2239, 6680, 3173, 100, 6986, 8431, 3268, 5212, 5300, 1352, 7185, 2807, 7276, 6514, 2843, 2023, 9349, 6492, 3810, 973, 2750, 5667, 1951, 4522, 3860, 6221, 9892, 7361, 8043, 5913, 7024, 4446, 7328, 1270, 941, 3146, 8526, 8693, 6866, 4236, 2041, 2098, 7554, 8535, 7499, 6481, 3730, 2543, 5870, 7047, 5796, 2787, 1451, 8721, 9319, 6721, 5053, 8833, 9037, 3917, 7900, 9990, 4289, 4761, 6010, 8376, 2807, 4227, 8815, 8477, 7335, 1347, 3370, 8238, 4570, 2329, 21, 9724, 635, 3935, 514, 6561, 8443, 7037, 8655, 9233, 5604, 8834, 5224, 9421, 3520, 8856, 6720, 8954, 1263, 1501, 4860, 5990, 6626, 2714, 1624, 4122, 9421, 9917, 3107, 8569, 2582, 251, 1246, 9676, 6927, 4247, 6987, 4075, 3171, 979, 8560, 9878, 2426, 4664, 1511, 5570, 2328, 1705, 724, 7603, 5144, 735, 8327, 5146, 2690, 5130, 8609, 4398, 7344, 7080, 3117, 5634, 570, 9682, 6854, 5838, 1232, 4953, 8889, 5878, 3886, 6313, 9115, 2060, 1373, 8182, 222, 4326, 2664, 8708, 1852, 6589, 8841, 4984, 1386, 9706, 6619, 3845, 8816, 7419, 4117, 157, 1591, 9238, 8385, 2188, 1452, 4274, 5797, 5822, 6401, 8614, 545, 5686, 183, 4717, 5529, 2747, 9836, 5060, 825, 909, 5250, 1312, 4247, 1559, 4849, 5525, 6933, 5999, 44, 8986, 4698, 8574, 8488, 3870, 8969, 9149, 3892, 9720, 2340, 1708, 6873, 7105, 1257, 9334, 542, 6656, 1235, 8347, 9341, 9265, 577, 6321, 8682, 9826, 7187, 1770, 4432, 960, 5954, 1247, 3425, 3475, 4683, 2159, 458, 2806, 5936, 4377, 7521, 8986, 4557, 5749, 9390, 5851, 8898, 4044, 237, 3722, 2710, 1406, 2473, 5360, 8755, 8997, 6642, 130, 6139, 4689, 84, 188, 8348, 5876, 2299, 5803, 2698, 2244, 6603, 3966, 6939, 8705, 1674, 1713, 8142, 6013, 8247, 4186, 5063, 1266, 9411, 667, 9150, 9627, 8859, 9043, 4073, 9842, 4706, 1778, 6555, 5156, 7896, 7965, 1637, 9211, 6098, 5162, 8085, 668, 2967, 7725, 8396, 7365, 2081, 2681, 8211, 2788, 9480, 6456, 9543, 8484, 6666, 1125, 868, 3956, 8420, 6274, 7298, 6159, 2135, 1649, 9632, 2244, 121, 8790, 9069, 6907, 6799, 4390, 589, 1817, 7190, 3317, 8344, 9477, 3852, 9430, 139, 9562, 7523, 427, 9673, 2687, 4059, 1151, 5345, 4445, 673, 9344, 2434, 3337, 2678, 9338, 9847, 6705, 5697, 1326, 3861, 7866, 4231, 7196, 2354, 8408, 7785, 3686, 9554, 7956, 7097, 6506, 8059, 1976, 505, 4108, 4988, 2059, 9912, 2932, 3522, 2394, 3852, 1132, 5533, 1420, 9085, 4942, 9340, 3940, 576, 5899, 2474, 3831, 4392, 9295, 3538, 9671, 14, 4999, 6022, 8435, 6833, 2767, 7879, 3778, 904, 8147, 233, 915, 918, 1170, 7205, 5280, 772, 5816, 3466, 5933, 8352, 2593, 9498, 3961, 7906, 4148, 7258, 8442, 3035, 9309, 8239, 8334, 151, 6769, 3323, 7799, 169, 4353, 2259, 4719, 3652, 2869, 9757, 1747, 5339, 9998, 3694, 9672, 116, 3579, 1195, 6689, 4156, 9422, 4553, 6172, 8739, 2999, 6073, 9937, 2936, 7589, 5702, 4533, 4711, 5222, 7674, 2431, 3377, 2855, 8368, 4946, 4410, 9437, 3209, 7526, 884, 2730, 4475, 4679, 3563, 8185, 482, 6114, 7033, 8482, 342, 891, 9178, 5450, 734, 4844, 9661, 3404, 3641, 4444, 5903, 8194, 2455, 8463, 7100, 815, 8501, 6598, 1073, 1265, 7035, 7972, 7982, 3229, 6156, 9489, 1174, 8582, 1545, 9158, 591, 7237, 7950, 686, 5715, 5081, 369, 9212, 6689, 2026, 5806, 9812, 9511, 9938, 5472, 1241, 342, 3935, 8124, 4881, 1929, 2893, 9015, 8871, 2846, 1519, 2587, 1210, 4981, 8, 2899, 7111, 4237, 9399, 2628, 1395, 3116, 5642, 8121, 7571, 1062, 6941, 1158, 780, 1843, 60, 4516, 5975, 9375, 1894, 9658, 7219, 9696, 9511, 8463, 2335, 6961, 4973, 2143, 5217, 8932, 1506, 7509, 4794, 4441, 8422, 5006, 8506, 9805, 3652, 9878, 9194, 5049, 9906, 4240, 2744, 227, 341, 8397, 5026, 6056, 6025, 6168, 9807, 84, 4487, 3640, 515, 1898, 6785, 9977, 9874, 2257, 2964, 2611, 5835, 8657, 2286, 6720, 8187, 7447, 7862, 6022, 3170, 8906, 4732, 6548, 6107, 6848, 5688, 6662, 1708, 2266, 5412, 4385, 6523, 8098, 6433, 1709, 5034, 1543, 8309, 1580, 464, 3582, 4940, 9699, 9196, 8694, 9652, 7684, 848, 2704, 3022, 5092, 2435, 8908, 5018, 6265, 1100, 2368, 638, 5555, 6891, 3448, 1377, 6048, 198, 5152, 3911, 7519, 7833, 4790, 386, 7622, 7555, 695, 893, 7928, 662, 9968, 5138, 7776, 5293, 4765, 3948, 3897, 7610, 2926, 2981, 6661, 1253, 4933, 2344, 1687, 407, 5157, 2513, 9388, 3286, 7207, 6208, 4078, 7214, 8148, 9415, 2841, 3813, 6639, 45, 5611, 9095, 2188, 9274, 4558, 9069, 6479, 5733, 4709, 2190, 1745, 1022, 578, 8854, 2453, 2532, 6713, 6854, 2156, 1394, 7309, 7167, 9742, 917, 226, 5437, 3825, 8699, 6504, 5042, 8719, 5365, 8724, 9032, 706, 1279, 1864, 8850, 308, 1451, 5647, 6317, 8878, 1540, 9888, 5271, 468, 7925, 6463, 3831, 2710, 8578, 885, 4482, 1112, 7374, 4132, 8851, 7821, 7433, 9438, 2731, 8242, 2517, 5328, 5624, 1078, 5580, 1487, 2901, 994, 9490, 2969, 5699, 4748, 2409, 7837, 74, 7277, 3394, 3298, 7039, 4629, 4218, 3187, 7775, 7885, 4521, 2309, 9413, 1582, 5246, 2011, 4540, 7734, 4037, 5523, 8319, 7385, 9889, 8924, 2414, 3094, 5085, 877, 4627, 6437, 433, 1264, 1734, 5255, 3245, 1712, 4886, 828, 5122, 8961, 6713, 4375, 2147, 5728, 4853, 6631, 6366, 5788, 6623, 1478, 6896, 2973, 1476, 3033, 9739, 5206, 4058, 4216, 7619, 1649, 3191, 7441, 7139, 8585, 1212, 2504, 3435, 744, 5752, 3125, 8003, 855, 135, 8564, 2831, 8524, 4745, 3986, 3326, 1324, 6086, 1573, 2605, 4100, 3360, 6954, 3436, 2073, 2445, 7641, 4742, 504, 4047, 5814, 1040, 4809, 4505, 358, 5886, 4947, 2531, 9218, 4669, 4882, 7869, 2118, 7461, 4686, 5724, 3977, 2888, 2706, 599, 8234, 6717, 2106, 9103, 3924, 1742, 3710, 8076, 3878, 567, 5572, 5258, 4880, 1507, 7759, 9319, 923, 1450, 775, 8020, 8903, 3686, 7338, 7259, 8204, 8039, 7192, 2166, 4281, 9298, 8293, 1545, 1627, 170, 9779, 4497, 3786, 1547, 2389, 9407, 6506, 3650, 9523, 2834, 4867, 3398, 8047, 2997, 2763, 1545, 647, 7205, 5564, 6468, 7640, 3065, 6201, 5450, 4787, 7343, 5216, 1160, 4361, 6634, 5736, 2996, 9713, 5128, 1260, 1159, 7269, 7208, 5986, 7581, 2522, 4183, 1864, 8154, 7380, 6158, 254, 8434, 5732, 3820, 2855, 4809, 1883, 9269, 2789, 4798, 555, 6146, 9045, 1648, 6783, 1640, 9158, 1164, 9126, 3915, 1564, 4698, 5598, 2127, 3868, 9161, 306, 6749, 9819, 6392, 9075, 6660, 3935, 5306, 60, 8743, 2975, 984, 6318, 2560, 9497, 2292, 2184, 888, 7515, 9838, 9369, 6620, 446, 153, 1041, 2967, 2736, 9100, 3791, 8769, 7702, 4932, 6097, 9164, 1478, 9822, 1581, 7438, 729, 5259, 6511, 3253, 1153, 5220, 9380, 7451, 4121, 4691, 3383, 9448, 67, 2792, 6198, 7254, 8974, 9181, 6412, 5694, 3186, 6873, 5849, 1980, 5514, 4569, 3991, 9466, 9070, 9850, 5736, 5700, 7098, 6127, 1878, 9798, 5278, 1556, 2143, 457, 5262, 9969, 4352, 5388, 1933, 6492, 7992, 2430, 758, 5358, 6273, 3742, 4272, 1682, 5015, 2096, 6529, 3626, 8453, 511, 7228, 6084, 9289, 6351, 9836, 1898, 1490, 4605, 4596, 4399, 2106, 9618, 5963, 651, 547, 9823, 2453, 5356, 5823, 2254, 4467, 6539, 1737, 819, 1519, 973, 5992, 6856, 1196, 4712, 2375, 1724, 4050, 5048, 4939, 9837, 8526, 3422, 4278, 394, 7571, 3514, 938, 3018, 644, 5445, 2084, 706, 8637, 8778, 263, 9402, 7459, 9753, 6720, 2256, 3780, 4493, 1957, 825, 1231, 6859, 2554, 3643, 7835, 1726, 6580, 5678, 9507, 3459, 4711, 1546, 2021, 2427, 7079, 1200, 6448, 9587, 2605, 832, 7362, 7195, 796, 6428, 7768, 8056, 4278, 4080, 2672, 8604, 6952, 442, 364, 7650, 931, 328, 9055, 6051, 660, 965, 7304, 5815, 8170, 3250, 4794, 7426, 556, 9143, 5761, 9278, 278, 9307, 9303, 5900, 4872, 3973, 9622, 4030, 7377, 6523, 6298, 2002, 3830, 447, 2114, 6899, 7722, 4551, 3661, 8648, 626, 811, 9673, 4297, 1889, 5369, 9229, 2916, 6789, 1887, 7900, 5727, 9634, 8663, 9558, 7771, 4050, 4072, 8861, 8846, 6520, 4074, 6590, 1665, 5242, 6343, 1836, 5297, 8268, 5639, 4339, 1691, 8064, 8294, 4017, 1443, 8969, 9125, 3520, 4702, 1146, 6316, 2481, 3965, 9439, 9763, 790, 5488, 1173, 1772, 2563, 5732, 1975, 6729, 3456, 141, 4259, 2240, 8805, 9562, 6928, 2440, 745, 2878, 4764, 4957, 1721, 6313, 5720, 4590, 5069, 8464, 9051, 9425, 7588, 8334, 5091, 9430, 3148, 8426, 3123, 1325, 5272, 131, 8275, 4435, 6517, 2376, 7749, 6993, 9804, 5228, 8275, 6604, 3545, 3048, 3184, 911, 1168, 6637, 5762, 7009, 7200, 5285, 7740, 8226, 1528, 2994, 3714, 853, 9220, 4123, 1359, 1809, 2097, 4696, 9623, 6416, 4848, 2255, 6914, 2751, 1573, 7315, 485, 6805, 6392, 433, 392, 9301, 4158, 7, 9712, 5853, 8157, 2831, 2973, 7666, 5005, 5051, 6044, 2061, 4004, 9995, 880, 4223, 7603, 7007, 44, 5028, 8169, 1383, 4484, 2525, 9698, 2417, 5022, 6423, 6163, 8638, 2015, 8874, 1785, 3867, 2920, 3021, 7796, 2834, 9162, 8854, 3392, 4633, 6405, 8531, 5664, 2910, 6842, 7367, 9002, 9150, 3511, 4727, 3727, 9235, 520, 5148, 888, 9299, 3801, 8876, 9301, 3971, 7739, 3161, 1051, 2452, 7553, 1592, 3862, 6807, 5742, 2033, 2821, 2059, 5324, 3450, 1944, 8556, 3543, 8150, 9787, 1528, 97, 6038, 994, 3367, 9446, 9234, 9226, 7038, 9455, 5658, 7292, 4815, 960, 2742, 6967, 664, 5936, 8489, 4997, 3477, 2325, 162, 5258, 7202, 2827, 9511, 6980, 2087, 1652, 6637, 7040, 2564, 20, 4374, 973, 9518, 9701, 607, 560, 8754, 5963, 5210, 4198, 2011, 2441, 2405, 3533, 8665, 7099, 8735, 5373, 6367, 1740, 3189, 4718, 9290, 3403, 9075, 323, 8152, 32, 3845, 472, 7672, 6353, 6592, 5098, 9200, 5491, 329, 8599, 1124, 1312, 9331, 989, 6115, 7367, 772, 6222, 6300, 8960, 1334, 5746, 5945, 5574, 6650, 3844, 1931, 5907, 1200, 8109, 9165, 8872, 6310, 1874, 2149, 1976, 4669, 302, 3446, 1454, 2162, 3518, 8247, 3472, 4232, 9073, 8849, 3628, 2298, 407, 5662, 8447, 9413, 7763, 5133, 5339, 260, 6926, 1426, 221, 3964, 6912, 918, 6157, 473, 634, 3927, 8691, 6184, 3305, 2213, 7732, 6663, 1587, 3955, 4193, 573, 893, 2880, 8342, 7100, 1921, 8841, 5081, 4816, 1044, 4687, 4904, 5390, 8269, 3539, 8133, 1934, 3106, 5445, 6734, 471, 7582, 1519, 3727, 3865, 1221, 8318, 1716, 2779, 8678, 865, 7392, 703, 9974, 2788, 902, 4152, 5028, 8844, 9256, 4080, 4082, 3579, 4449, 7816, 8373, 3220, 5720, 7469, 4751, 3778, 977, 8478, 157, 8435, 7310, 8414, 4272, 5552, 376, 4856, 5657, 9652, 3270, 5093, 1167, 6174, 7724, 1242, 2643, 2388, 4787, 8081, 2860, 5901, 6669, 2278, 2117, 5691, 4409, 5822, 5393, 5607, 2506, 2433, 2944, 8383, 1211, 683, 1266, 5300, 8510, 1679, 1948, 538, 18, 9249, 3059, 8117, 9068, 725, 6132, 8679, 1161, 8191, 5742, 8280, 9512, 1686, 4290, 3538, 5957, 1235, 1979, 9341, 6633, 6435, 235, 6792, 8002, 2054, 1432, 5062, 3740, 9204, 2726, 8103, 474, 1223, 4468, 6760, 3019, 7070, 5725, 8041, 853, 6492, 7278, 6606, 2940, 630, 2526, 1350, 8508, 1074, 2613, 9147, 235, 5993, 176, 6395, 5999, 1602, 3615, 4374, 4326, 4526, 5981, 4951, 2263, 4100, 8207, 4565, 5629, 7928, 1276, 3035, 9159, 0, 8725, 4296, 8625, 5256, 2624, 2480, 6715, 9539, 8603, 6192, 4640, 9437, 5827, 4928, 5533, 915, 117, 330, 5931, 7601, 6730, 3393, 3946, 1682, 5015, 478, 5158, 2378, 8435, 9036, 4886, 5937, 9180, 9209, 5846, 7912, 3120, 7675, 2774, 6291, 2595, 7840, 549, 5971, 3652, 6784, 2983, 4010, 232, 6826, 3299, 7461, 6672, 5240, 3291, 1510, 1541, 5423, 9721, 6440, 6535, 5519, 8157, 6784, 5249, 2243, 5185, 1914, 9204, 8796, 9584, 6408, 4675, 3073, 5167, 6203, 6888, 5517, 979, 2837, 4726, 2600, 5359, 5288, 8961, 1690, 6337, 1237, 7766, 1985, 4041, 9426, 8418, 7918, 2617, 6167, 3217, 2658, 2559, 6751, 8212, 3928, 3617, 1383, 3920, 8994, 9999, 140, 8402, 6171, 2133, 5469, 7940, 5447, 4086, 2809, 4971, 9789, 8072, 8762, 7092, 5103, 9371, 4324, 4096, 6162, 7773, 6444, 4755, 200, 7463, 8999, 3028, 7367, 5685, 3232, 6816, 2964, 8055, 6750, 2570, 6208, 826, 2453, 2609, 6773, 6457, 3825, 3911, 4864, 1779, 6312, 5004, 8421, 5986, 9498, 7662, 1214, 1839, 1484, 4501, 2043, 986, 895, 9628, 4014, 7327, 7029, 4067, 1975, 8093, 4847, 9616, 7773, 3023, 5267, 1379, 4354, 7723, 8686, 609, 2324, 2794, 1967, 2341, 469, 1914, 697, 8243, 2607, 1370, 7689, 3526, 2041, 787, 3044, 8932, 1841, 651, 7496, 9093, 4969, 7824, 9546, 7704, 8586, 8829, 8963, 3454, 5071, 6201, 3102, 3472, 2064, 6443, 3974, 7227, 5551, 2481, 3786, 6918, 300, 6571, 804, 6120, 9923, 353, 5473, 177, 5339, 1916, 7018, 2271, 1632, 4132, 1142, 5321, 5452, 1652, 2386, 5192, 960, 4940, 1131, 7547, 3701, 1001, 6260, 2344, 5685, 6480, 9480, 4041, 7455, 9252, 1484, 4496, 4335, 4827, 9258, 4441, 8675, 4498, 7280, 6123, 72, 6977, 4919, 912, 2828, 4300, 4206, 9255, 7405, 5964, 5449, 7748, 5769, 7808, 2179, 835, 9356, 3137, 8883, 4783, 1024, 4363, 1734, 9669, 4416, 1285, 3505, 8109, 2993, 14, 4347, 6983, 5615, 974, 2898, 2043, 2325, 36, 5673, 2441, 2204, 1889, 8271, 839, 2886, 651, 5989, 5595, 5168, 7098, 7654, 6565, 1424, 3831, 1355, 8626, 806, 9937, 7203, 4681, 4360, 730, 8128, 8952, 8344, 1814, 3691, 4137, 973, 7977, 5203, 5819, 3639, 7621, 2769, 1224, 1880, 6908, 2649, 8105, 7643, 5340, 175, 1169, 4225, 7962, 4028, 321, 7153, 2295, 8297, 163, 6431, 6690, 8914, 4101, 5089, 4466, 9877, 463, 9899, 1096, 1003, 7966, 350, 8800, 567, 5479, 1671, 6648, 5638, 1698, 5717, 358, 8011, 7295, 2057, 5735, 5860, 6642, 290, 3096, 6112, 206, 8871, 8982, 4217, 2867, 5771, 6036, 6512, 896, 1739, 4740, 2127, 7024, 9214, 1627, 1805, 7072, 2777, 2517, 2325, 711, 1553, 4980, 2379, 3412, 7582, 1704, 9328, 2972, 985, 2432, 2167, 2134, 5741, 6034, 5426, 2303, 5806, 8613, 6287, 7005, 8060, 559, 3401, 7813, 2304, 4434, 8307, 2713, 2542, 6548, 5518, 9863, 1541, 85, 1212, 6094, 3270, 5001, 3648, 9599, 6262, 2455, 2246, 2461, 696, 9844, 7602, 6286, 8037, 2254, 1399, 7190, 747, 7631, 3401, 5671, 3420, 2613, 3758, 4126, 827, 3170, 2962, 3001, 6365, 2838, 1939, 5251, 5086, 1086, 3462, 7691, 4731, 3187, 6863, 7482, 1353, 6300, 387, 2480, 6672, 6030, 5037, 1115, 4882, 1946, 6194, 225, 970, 4245, 213, 6912, 8981, 4414, 6242, 5314, 2517, 5231, 1307, 1201, 251, 1934, 3106, 9957, 869, 7901, 185, 8445, 9587, 1384, 2561, 4107, 4927, 6263, 8114, 6627, 214, 1776, 4375, 6852, 9333, 9317, 6476, 231, 2773, 5686, 3511, 3182, 1050, 6791, 7531, 5506, 8061, 7275, 9712, 5521, 5579, 2372, 1298, 5781, 408, 732, 9455, 2997, 2728, 7335, 5210, 4028, 9043, 9876, 4662, 7246, 790, 2701, 6277, 9236, 8314, 6567, 3879, 7000, 39, 201, 6325, 5995, 328, 7507, 2554, 9732, 716, 7325, 3361, 8498, 4868, 7585, 5127, 3305, 7355, 1325, 7952, 9891, 2551, 4255, 2028, 8305, 906, 2504, 9426, 7974, 608, 8800, 8388, 8779, 4604, 4648, 1298, 8131, 7159, 1714, 3456, 7051, 546, 2688, 8554, 4792, 3371, 6054, 2034, 2523, 3192, 5992, 7884, 9307, 4327, 5600, 1717, 8191, 6445, 4394, 84, 430, 2285, 9015, 9793, 8020, 7011, 890, 2753, 7437, 6845, 4532, 3104, 4700, 9123, 5466, 7089, 1072, 9896, 8854, 2973, 1077, 3971, 3706, 7301, 6543, 7777, 9415, 8349, 2477, 4281, 1052, 5942, 4122, 9620, 4598, 8410, 2629, 449, 4482, 9168, 4148, 1005, 2866, 9884, 4890, 8636, 1477, 6670, 9180, 5889, 6378, 1240, 7983, 3798, 6509, 8940, 8235, 4505, 9640, 8701, 9278, 5954, 8722, 9886, 9969, 9119, 3511, 7459, 6072, 6367, 8938, 1256, 3572, 2763, 7227, 7265, 6871, 5764, 5034, 8493, 9078, 8967, 8446, 7353, 850, 7694, 8535, 3545, 8235, 875, 5116, 2665, 9016, 6462, 4732, 438, 594, 9919, 3627, 8028, 2165, 9625, 9725, 5941, 7285, 4763, 3697, 7210, 1903, 8658, 9898, 5816, 3192, 7518, 4961, 7712, 2121, 8728, 4821, 374, 4723, 1350, 1808, 6376, 864, 5926, 4790, 1806, 6883, 9761, 760, 7418, 2611, 532, 3060, 5931, 7122, 1416, 5907, 8253, 9151, 5327, 7543, 8611, 703, 3559, 7566, 2736, 6279, 2393, 8296, 3377, 8697, 8965, 2729, 3185, 6110, 4157, 5589, 6704, 9819, 2075, 152, 7002, 8557, 8268, 9835, 8069, 1568, 8249, 6528, 2872, 9793, 7422, 2336, 444, 4098, 2580, 3033, 2633, 4733, 8647, 2357, 9047, 3155, 4918, 2127, 4919, 5226, 254, 162, 5769, 561, 8457, 2276, 1356, 5271, 805, 2002, 5970, 8686, 9319, 952, 6448, 9875, 9719, 3460, 2438, 5170, 8056, 2765, 1971, 6669, 6048, 3588, 5256, 3507, 811, 1342, 6708, 1987, 6268, 1639, 9447, 6929, 6234, 3540, 5377, 541, 5881, 98, 5876, 8932, 3680, 1953, 6725, 9588, 705, 1920, 5969, 7048, 3927, 3507, 3379, 7565, 4389, 9885, 4979, 2662, 785, 4582, 6822, 5384, 7098, 3437, 9349, 5995, 7556, 1895, 5921, 1206, 966, 9847, 4552, 5979, 2002, 6916, 2921, 7029, 9709, 4724, 2027, 8750, 7482, 3793, 7184, 6463, 7564, 1044, 6652, 4750, 2601, 2024, 978, 5365, 6419, 4651, 3734, 7089, 8459, 84, 2788, 8374, 7867, 9502, 9028, 3835, 3530, 6228, 9152, 5694, 8616, 2627, 7521, 4277, 4886, 8304, 6912, 9905, 748, 236, 2124, 8442, 6670, 6717, 1937, 357, 9660, 4797, 9614, 6188, 5316, 440, 517, 4041, 5396, 5263, 8151, 3682, 2316, 1435, 9872, 3320, 6458, 7261, 9175, 7181, 6689, 6810, 1027, 6516, 4974, 3409, 852, 1684, 6043, 6540, 3298, 1470, 6433, 7309, 7034, 1925, 6940, 3829, 3649, 1976, 3245, 942, 8878, 1494, 4783, 1556, 9651, 5134, 821, 3818, 9903, 8324, 4208, 3342, 9506, 4057, 1699, 5556, 7481, 1830, 1447, 9278, 4341, 1887, 2797, 5648, 544, 4686, 6959, 3501, 3887, 5909, 7892, 265, 1159, 6907, 7904, 9771, 7832, 6083, 2765, 6490, 3727, 130, 302, 2466, 5322, 3486, 4717, 5724, 1124, 825, 5998, 6815, 7769, 2046, 6758, 4007, 7474, 139, 4809, 9977, 717, 1262, 6393, 8137, 81, 6216, 9475, 3226, 2994, 6751, 4355, 8057, 4104, 1261, 1728, 5197, 7507, 7014, 3409, 6834, 745, 9806, 7380, 5964, 1077, 3085, 8946, 9664, 5267, 3943, 1622, 6218, 1445, 3418, 5038, 3962, 6048, 4292, 5268, 6778, 4691, 2598, 3560, 7273, 7025, 1511, 1965, 171, 6254, 7459, 1025, 3269, 8391, 714, 6064, 6615, 5529, 6763, 2521, 9573, 6491, 2942, 258, 2410, 4494, 8888, 8544, 7218, 1031, 8331, 3187, 7320, 8737, 9801, 8741, 4663, 6656, 9678, 5580, 351, 1303, 9383, 83, 8344, 7375, 1732, 1921, 4848, 4268, 530, 4869, 142, 2016, 6293, 8560, 4939, 3239, 3567, 6154, 5733, 2999, 8172, 2163, 6680, 7766, 1855, 3411, 3202, 6800, 8155, 8060, 9652, 6019, 4317, 737, 7142, 2246, 4904, 2252, 5434, 265, 4893, 1194, 6760, 2174, 5264, 7532, 3470, 8221, 1925, 7410, 9292, 2294, 6920, 7734, 6320, 1992, 7389, 4096, 6847, 9041, 9559, 8590, 9037, 3403, 6239, 4354, 8091, 3304, 7127, 1976, 1809, 1732, 2984, 7398, 6299, 6266, 5896, 5130, 7501, 3037, 5842, 590, 9517, 1074, 2364, 4740, 2688, 9078, 3821, 9250, 2223, 3157, 5972, 7567, 2724, 7629, 564, 4251, 163, 2612, 8964, 815, 7368, 671, 7655, 1470, 4790, 1371, 1, 7728, 5562, 5382, 6254, 2542, 9297, 6, 1223, 314, 3324, 4606, 8636, 7903, 8204, 534, 4697, 5848, 4181, 3333, 4230, 9654, 6759, 5736, 4591, 24, 4579, 6253, 2919, 8467, 1024, 6674, 4164, 574, 5024, 5133, 1146, 9361, 7182, 9299, 408, 9247, 4198, 4319, 6862, 5107, 6465, 1366, 5478, 8079, 6943, 9359, 4634, 3174, 6573, 7540, 6483, 9279, 981, 9131, 6980, 3220, 9339, 3441, 3249, 2414, 1359, 5591, 9945, 819, 7424, 8000, 973, 1245, 671, 9279, 6966, 5816, 2988, 423, 7235, 574, 2079, 596, 4897, 8699, 7438, 8152, 1074, 652, 3980, 330, 4800, 1016, 1315, 7940, 1162, 9548, 9347, 1206, 3193, 2583, 1005, 1279, 6328, 9668, 7925, 4268, 5245, 172, 6825, 4209, 9258, 8978, 7733, 5553, 5376, 6341, 2417, 507, 8682, 9419, 2306, 9666, 3003, 7942, 9763, 5570, 3355, 144, 3892, 6919, 4353, 4919, 7321, 5410, 3621, 6715, 9469, 2546, 8406, 844, 2802, 8787, 105, 3080, 3327, 5246, 8961, 1382, 7111, 9787, 3336, 6196, 8601, 2168, 3181, 701, 7659, 6446, 1158, 9277, 5030, 2230, 356, 4202, 2880, 1962, 3933, 4168, 4262, 7592, 5308, 1489, 8516, 2481, 4194, 7343, 9699, 6192, 3499, 2041, 389, 8933, 7417, 7293, 8586, 590, 6356, 9563, 3284, 2914, 1970, 4961, 2350, 268, 3388, 7353, 7336, 709, 1797, 8801, 5637, 8820, 8378, 4965, 718, 38, 7464, 3322, 4516, 1306, 4789, 4816, 5271, 756, 3717, 9017, 7817, 4757, 9213, 908, 4922, 6477, 4296, 6539, 977, 6026, 6712, 7151, 322, 4038, 3453, 566, 9540, 2913, 7019, 9601, 848, 5674, 1934, 1110, 8382, 5860, 5248, 3003, 9665, 4123, 7674, 4191, 605, 8223, 6058, 4436, 2429, 9361, 5628, 7798, 8096, 8376, 9927, 1246, 6116, 5162, 2321, 376, 340, 7679, 691, 9013, 1749, 7332, 844, 2795, 3212, 5428, 4333, 1230, 9733, 9291, 409, 9039, 7911, 8278, 6916, 9136, 9170, 8880, 7854, 6750, 5959, 563, 1740, 3952, 268, 2055, 7428, 2172, 6647, 9037, 2426, 5870, 8598, 2519, 6267, 1507, 3929, 3839, 866, 3997, 1413, 7082, 8492, 5040, 28, 7760, 7073, 9586, 3562, 265, 39, 1239, 5501, 1833, 5721, 8622, 9536, 5812, 437, 4781, 106, 8869, 243, 530, 8756, 501, 3622, 4894, 4465, 2459, 3210, 8569, 2988, 5927, 3031, 1315, 1365, 1112, 8646, 2131, 7043, 2600, 4410, 1154, 1556, 9022, 2797, 5715, 7947, 8940, 7945, 5212, 3415, 6261, 9966, 5718, 3147, 5414, 4036, 5826, 2433, 3160, 34, 6612, 551, 5109, 6963, 9668, 4403, 7944, 7792, 4598, 110, 422, 7533, 4949, 7363, 2589, 9399, 7359, 9516, 7493, 1145, 5661, 4015, 9928, 756, 7764, 9987, 3308, 2431, 324, 8011, 6856, 1696, 6156, 1472, 1191, 1623, 5766, 3257, 9384, 587, 7142, 6351, 1951, 4717, 5017, 6111, 2206, 3223, 5981, 1358, 8732, 882, 5884, 3250, 7066, 1278, 7827, 7441, 1842, 8295, 2101, 9755, 442, 6985, 8345, 4523, 4194, 4329, 9913, 4310, 1870, 8054, 3483, 2025, 2732, 1759, 359, 9109, 2550, 7412, 1439, 6934, 3257, 9676, 7171, 2173, 5349, 5847, 9213, 4888, 204, 1291, 5472, 6515, 4112, 7290, 3121, 1214, 4894, 3601, 6165, 9907, 2897, 6977, 5315, 1874, 3164, 4011, 3978, 562, 1480, 2278, 559, 5392, 3852, 5435, 9683, 5966, 8644, 4476, 168, 1986, 9032, 2109, 1072, 7476, 5010, 8941, 3547, 8287, 2998, 7486, 2350, 4671, 9416, 9158, 2848, 8206, 9235, 7885, 4926, 8631, 5950, 6594, 2473, 5624, 202, 1566, 6135, 7501, 3978, 5159, 1849, 3580, 4265, 54, 5117, 3739, 5798, 2251, 8965, 9448, 9805, 3262, 7368, 3811, 2876, 3522, 3489, 4746, 5037, 3895, 8164, 3758, 5422, 1310, 9990, 4450, 1216, 5475, 635, 4309, 7594, 8882, 384, 8928, 1099, 4923, 7968, 6148, 7680, 8833, 226, 6050, 8722, 8446, 5591, 6456, 7317, 6412, 3661, 9147, 9426, 4260, 449, 5222, 4601, 5253, 763, 2040, 9802, 6807, 368, 184, 115, 2930, 4168, 4772, 130, 221, 1995, 2940, 6033, 2374, 6034, 3919, 3994, 5589, 6449, 4829, 3460, 2508, 3637, 1881, 3891, 2123, 8026, 8939, 1175, 6238, 8073, 4816, 2018, 263, 283, 477, 3624, 8128, 6120, 3058, 1733, 2355, 6061, 1570, 4409, 7385, 9956, 7733, 456, 8867, 4840, 3177, 6095, 6268, 9815, 2975, 5885, 7658, 6709, 6779, 2389, 5192, 806, 3457, 8843, 3592, 2, 637, 8031, 3328, 513, 5990, 2652, 6969, 8156, 2952, 2653, 2529, 6872, 144, 7910, 7574, 9910, 4203, 5126, 449, 9254, 4825, 3247, 1441, 8201, 5945, 7095, 8821, 8423, 6813, 6735, 6823, 7403, 162, 6808, 4453, 7526, 5734, 1818, 7666, 5503, 6280, 7680, 2679, 4728, 4837, 9425, 346, 7737, 4771, 149, 1422, 2496, 283, 9948, 7334, 4397, 8016, 1448, 1763, 6760, 3689, 7210, 5893, 4176, 6916, 9440, 1197, 6451, 1494, 5630, 3794, 7522, 9749, 6572, 2228, 1357, 8413, 7930, 4031, 1839, 4075, 4307, 2390, 3500, 7714, 2159, 8335, 6606, 8187, 4407, 7164, 3218, 7384, 868, 5681, 4746, 1402, 4481, 5341, 3299, 9369, 6079, 3466, 1846, 4878, 6817, 2925, 8152, 4157, 1776, 3052, 8497, 8125, 7832, 4171, 5787, 358, 8314, 72, 5372, 2289, 2028, 5785, 9189, 6052, 7217, 3077, 577, 3330, 2334, 3696, 7553, 8043, 7206, 1222, 5828, 8190, 1507, 9652, 5895, 3649, 8380, 530, 8540, 3776, 4910, 5742, 1368, 3800, 1271, 8483, 2779, 7229, 4065, 2866, 407, 117, 9087, 5725, 3205, 790, 5069, 5439, 6219, 9702, 8154, 1993, 6028, 2290, 6502, 1950, 9396, 3853, 756, 9086, 9649, 8513, 6019, 1067, 3531, 6921, 7558, 1012, 7088, 7182, 9780, 7794, 712, 1854, 2102, 189, 8272, 1337, 1612, 75, 7919, 1328, 3266, 1351, 4916, 3163, 2297, 6404, 2212, 4775, 7899, 5275, 3597, 4116, 2436, 9906, 8407, 897, 5197, 4050, 179, 9166, 5406, 9663, 6040, 4210, 11, 8281, 5168, 6382, 1478, 1687, 3123, 3042, 9444, 7921, 945, 1227, 8340, 7257, 5327, 9168, 4964, 1142, 5974, 1138, 2820, 8317, 6050, 4396, 9315, 7645, 9521, 675, 9024, 3542, 2221, 7413, 6937, 9586, 6500, 8375, 3432, 2515, 1446, 3758, 2590, 6193, 9852, 5043, 3612, 3308, 1296, 1404, 8242, 617, 5818, 9218, 5790, 4016, 7896, 3756, 4371, 7940, 7281, 9610, 8437, 3156, 6516, 2519, 5930, 446, 9215, 1547, 96, 7214, 8438, 9243, 3003, 3907, 8699, 4402, 9939, 5534, 2761, 1506, 9085, 6391, 5017, 2938, 4701, 8377, 8758, 3721, 2277, 2981, 8452, 5921, 30, 9865, 7203, 8609, 126, 524, 9255, 5744, 6308, 4581, 7725, 1109, 7044, 5873, 9786, 5197, 4563, 5770, 5505, 9506, 1307, 5199, 5180, 7195, 1066, 579, 324, 2945, 1820, 2066, 3556, 733, 8221, 9736, 8462, 3317, 5896, 4062, 8130, 5429, 9077, 1182, 5096, 9270, 3342, 3957, 799, 3312, 3362, 3100, 9632, 5056, 6933, 9886, 7289, 9669, 2130, 2799, 537, 5460, 8208, 2721, 6445, 4510, 9898, 5412, 7895, 8949, 2235, 3921, 368, 4815, 6673, 7076, 3609, 3830, 7649, 52, 875, 4952, 5310, 6885, 3023, 1308, 5623, 8893, 4590, 9441, 4247, 9748, 9337, 5595, 7675, 8177, 718, 3450, 5879, 1011, 2070, 6678, 6320, 2092, 41, 2516, 1089, 1060, 4532, 1888, 4526, 1278, 6778, 6148, 3377, 5989, 2842, 7361, 1742, 6213, 5079, 2858, 4448, 5543, 5808, 6107, 8630, 1391, 547, 2120, 9362, 3574, 6966, 8547, 3108, 673, 6412, 9400, 848, 8267, 5500, 6114, 9614, 6797, 4876, 9368, 2957, 5917, 6803, 1553, 5266, 5948, 3175, 2937, 4598, 2202, 6460, 4824, 4259, 3345, 4282, 5227, 4321, 6356, 8497, 4349, 2140, 4969, 7357, 3127, 3733, 9668, 303, 7812, 225, 2668, 3383, 9026, 4438, 5683, 5372, 5320, 1578, 7532, 4918, 3162, 7457, 4414, 7904, 5103, 3745, 8330, 2485, 6697, 8403, 3138, 3895, 4487, 6516, 4759, 65, 872, 4405, 3207, 6533, 3208, 6728, 306, 4840, 8551, 1508, 6554, 3813, 9065, 9550, 5368, 4117, 5218, 5658, 1791, 5275, 1413, 1900, 4588, 6180, 7262, 3306, 1566, 2103, 8395, 9354, 2029, 4135, 5990, 3837, 5108, 2302, 2311, 8959, 286, 1443, 3989, 2344, 6911, 6995, 5811, 3057, 4406, 8115, 2238, 3094, 5055, 1559, 3345, 8370, 5566, 6162, 8121, 1423, 4972, 5975, 3124, 9321, 5230, 8581, 7692, 8589, 1705, 1627, 6182, 4415, 6131, 2250, 983, 5238, 592, 9052, 3484, 4971, 7495, 9786, 4148, 7029, 6751, 151, 1308, 4358, 5623, 6148, 289, 590, 5775, 7925, 5263, 7958, 5644, 9452, 2524, 162, 7924, 8870, 5341, 7103, 8992, 976, 1333, 3176, 4177, 9439, 8721, 2556, 8772, 1165, 2419, 9549, 5806, 8733, 6525, 3683, 2146, 2878, 305, 6923, 7245, 3933, 869, 9678, 6545, 3622, 3964, 1486, 3078, 4720, 1934, 2602, 8206, 9665, 788, 8940, 7914, 9884, 7114, 6504, 7050, 6206, 6376, 7492, 584, 3934, 2016, 8294, 2129, 233, 7744, 5260, 924, 9779, 4244, 6970, 1725, 7617, 842, 307, 3253, 2320, 6725, 9536, 7010, 5426, 9651, 7426, 2959, 9639, 1483, 1322, 680, 2959, 7001, 809, 9692, 5234, 4131, 1220, 4785, 4740, 8385, 5395, 7887, 5880, 6154, 7245, 9234, 953, 6747, 1693, 910, 9506, 1368, 5254, 4165, 8985, 3975, 744, 6852, 3290, 6536, 7667, 5984, 4906, 9740, 3146, 6046, 3694, 3229, 4691, 439, 1490, 2451, 4025, 982, 936, 5128, 8504, 4552, 5790, 4761, 9723, 5257, 2744, 9998, 1563, 4391, 5798, 5201, 9181, 3426, 6850, 9963, 8895, 3132, 7872, 3678, 8235, 3355, 2327, 8577, 4644, 4463, 8992, 3353, 8285, 5438, 3212, 2878, 3427, 8609, 6080, 1572, 5270, 4336, 3092, 592, 6063, 9992, 7083, 6988, 6324, 3024, 9298, 7137, 333, 4360, 4042, 613, 1785, 2902, 2680, 9933, 9881, 663, 2946, 9009, 1073, 2666, 8465, 5943, 3697, 7235, 8367, 8309, 8805, 7580, 9371, 6712, 6185, 8868, 155, 7651, 246, 9488, 4339, 7602, 6885, 8126, 4490, 2859, 1125, 8871, 5343, 161, 8342, 9478, 8291, 5205, 3652, 3102, 5012, 8891, 4120, 8353, 8476, 5640, 9104, 7679, 2094, 7744, 9203, 8576, 7788, 4779, 3150, 3905, 99, 1514, 3734, 4875, 8514, 7011, 4577, 7180, 98, 4989, 425, 7319, 3951, 7249, 6183, 3610, 3840, 5251, 3013, 6044, 739, 5059, 9167, 1308, 4713, 3983, 9313, 7372, 7603, 9428, 8405, 9524, 2789, 308, 5734, 9682, 8453, 9767, 1856, 7212, 5069, 7926, 2376, 968, 4916, 9704, 9363, 3068, 5119, 5346, 7684, 49, 5689, 7512, 7463, 3063, 9178, 2884, 5772, 414, 7247, 3423, 8363, 3514, 9932, 9260, 386, 314, 9901, 716, 2928, 4285, 4949, 1700, 1858, 8454, 9036, 8499, 2416, 7629, 4299, 8386, 6568, 4912, 1065, 254, 889, 7856, 4330, 6768, 2825, 1795, 7219, 4289, 5006, 8067, 8652, 6891, 2798, 6120, 1018, 881, 7786, 5259, 3801, 4509, 4082, 6453, 2102, 9666, 4187, 7055, 5549, 8480, 6131, 5217, 9546, 7349, 4478, 5817, 6056, 5352, 4752, 8107, 7649, 2351, 2090, 3177, 594, 7419, 4346, 7388, 9637, 1867, 1728, 3053, 9343, 8745, 7838, 8929, 658, 4459, 3010, 3292, 5987, 1852, 912, 6050, 6328, 4115, 9448, 618, 5253, 8696, 7284, 9607, 7673, 9095, 1873, 8345, 2723, 639, 3395, 4951, 1940, 8788, 9649, 681, 7732, 2052, 8029, 8719, 3814, 3892, 6100, 4608, 3235, 2654, 1916, 2048, 6567, 2147, 7221, 8579, 6945, 9229, 4256, 9044, 6028, 9212, 6221, 7166, 4237, 2069, 6179, 8887, 2664, 3498, 5888, 374, 5680, 2811, 589, 5608, 4053, 2629, 6230, 1043, 219, 4908, 3367, 4013, 2886, 5618, 6987, 8578, 6873, 6455, 5289, 3790, 1132, 4083, 6294, 5648, 7338, 9400, 6316, 9437, 9348, 2888, 9337, 5210, 5646, 1942, 9469, 7646, 1751, 1575, 2770, 7476, 3593, 2243, 1968, 2829, 2254, 6611, 3406, 4394, 3485, 3616, 4463, 4040, 9268, 3521, 6131, 724, 8941, 4417, 2607, 9747, 4978, 1747, 2245, 9178, 1395, 2862, 8447, 5415, 4612, 2639, 3013, 5635, 4213, 3719, 3779, 2374, 9378, 2962, 1058, 7418, 8005, 939, 6572, 8204, 5957, 4866, 9424, 5567, 4750, 4958, 7473, 7401, 9967, 48, 4235, 7228, 3255, 4978, 9891, 4011, 1186, 1691, 1540, 5461, 2944, 6733, 6718, 688, 8129, 1250, 7945, 9819, 1228, 2667, 8427, 5368, 7588, 999, 1402, 2699, 893, 4612, 5705, 5649, 6382, 1461, 245, 1857, 3965, 2617, 5844, 5279, 7574, 2993, 1420, 3233, 6427, 6447, 983, 1908, 4732, 9373, 6516, 6870, 3619, 6070, 2423, 4822, 7093, 7905, 4024, 4504, 7954, 1082, 1831, 3734, 2151, 4190, 4907, 4585, 8890, 5070, 3030, 3277, 4386, 4868, 4499, 5044, 5911, 5337, 5440, 2543, 4573, 6066, 6612, 8626, 5184, 2962, 1033, 7123, 1623, 8480, 4533, 6292, 6319, 1729, 5344, 3442, 1585, 6135, 1743, 981, 8212, 4011, 364, 6064, 6142, 1786, 7658, 5009, 3190, 9311, 4527, 8724, 2682, 1419, 7084, 2648, 6543, 8313, 8003, 3136, 390, 3042, 6604, 2155, 6984, 2941, 640, 1179, 954, 3453, 7299, 3274, 1755, 7635, 6298, 5563, 8400, 2986, 4689, 3525, 8166, 4088, 5859, 6073, 120, 9917, 6848, 4669, 5417, 4501, 960, 6891, 9640, 1028, 4394, 3841, 673, 1680, 9657, 7669, 4911, 7637, 5598, 7579, 7574, 2539, 6820, 4168, 7259, 2905, 9668, 6667, 7563, 836, 4141, 4993, 8116, 8180, 2481, 5783, 233, 1089, 3983, 5167, 7100, 4138, 4250, 484, 7154, 4490, 4354, 8897, 7707, 378, 1022, 2033, 9202, 9871, 2025, 13, 2924, 394, 1261, 1564, 102, 5900, 1228, 5138, 6181, 2467, 1406, 5633, 5267, 3246, 4174, 8871, 5828, 6795, 1513, 2841, 8007, 7618, 9216, 5350, 6270, 9765, 1622, 1696, 6588, 2824, 6711, 4271, 9795, 2919, 4280, 1220, 62, 6581, 9693, 2624, 3010, 1569, 6472, 9560, 8578, 6606, 9563, 84, 992, 9950, 5049, 4307, 6196, 1268, 3503, 5500, 9809, 4938, 936, 3869, 9459, 2255, 5798, 7718, 9097, 3178, 1585, 4657, 4973, 3119, 4203, 3563, 2393, 3532, 9475, 9402, 6583, 592, 1320, 1248, 9071, 377, 2561, 9284, 2994, 728, 9724, 4430, 796, 2592, 9718, 8105, 2901, 7647, 6048, 9364, 346, 2764, 5146, 277, 4062, 9129, 4395, 7305, 6840, 87, 3559, 1011, 9975, 9544, 5912, 2525, 4135, 7667, 3175, 2279, 3622, 9562, 2462, 7395, 8228, 7488, 2835, 8128, 5932, 7066, 5789, 3582, 4024, 2391, 5698, 1546, 9312, 9161, 4512, 4876, 2130, 6694, 381, 2747, 2158, 422, 454, 2892, 3059, 4857, 7592, 8606, 3152, 9724, 2765, 2406, 8360, 1235, 1466, 6970, 6051, 6217, 9478, 5445, 6708, 1905, 1969, 9610, 4198, 3914, 1144, 7338, 1099, 4978, 5659, 924, 1364, 1390, 2054, 5830, 4153, 6840, 1005, 8287, 2098, 8940, 6567, 1436, 8769, 807, 8581, 7434, 7607, 4812, 5491, 9942, 6020, 5224, 8451, 535, 2025, 6147, 1069, 256, 3144, 4345, 9841, 6942, 7247, 9828, 1495, 2849, 9662, 5943, 2547, 9336, 1643, 1604, 3355, 7798, 8377, 5916, 6353, 3149, 1250, 2728, 9467, 7954, 6389, 3878, 3947, 7673, 3264, 391, 1030, 6068, 196, 4524, 7901, 2365, 837, 9954, 4895, 1805, 636, 3568, 7023, 8948, 4250, 232, 4039, 1913, 8168, 3249, 4151, 6092, 6725, 9120, 3409, 5643, 6664, 5882, 5109, 4132, 2248, 4651, 6717, 226, 6433, 3547, 3247, 4295, 2868, 7475, 1116, 9996, 4936, 7984, 3164, 9502, 944, 1511, 3108, 7916, 7839, 6907, 399, 707, 5878, 7003, 2310, 3158, 3630, 1031, 8653, 8, 797, 3341, 4358, 6061, 7802, 5866, 9742, 5722, 3184, 6966, 6758, 5896, 4615, 5294, 8202, 6686, 9642, 5200, 4784, 6073, 7885, 1971, 9612, 3867, 7490, 9116, 8489, 1703, 7402, 195, 1417, 1422, 844, 2830, 4087, 274, 6765, 7920, 2866, 2964, 8389, 6626, 3638, 1544, 7970, 8796, 9449, 321, 1466, 3946, 2288, 1812, 4169, 3242, 6760, 3021, 2337, 7838, 6160, 5265, 179, 8914, 4129, 2808, 713, 1024, 3420, 7089, 472, 1955, 9191, 6829, 4186, 6479, 1179, 952, 3341, 3881, 8844, 7608, 3601, 6823, 1324, 4522, 5633, 6979, 5743, 1734, 9763, 8335, 6323, 7723, 6481, 9836, 4896, 787, 8426, 4572, 3617, 8490, 7946, 1393, 9298, 1940, 4360, 6, 9968, 3246, 3598, 9569, 8701, 2804, 4811, 397, 1463, 415, 7699, 1359, 2439, 6877, 8211, 6466, 3572, 2729, 5382, 6057, 8064, 5895, 3157, 868, 2842, 1731, 4868, 6472, 2789, 3638, 912, 5002, 7172, 9728, 873, 8179, 7502, 8079, 114, 716, 8640, 5599, 37, 5674, 5025, 3112, 9512, 5711, 9777, 4587, 84, 4914, 3961, 1524, 7141, 6311, 2457, 3134, 6872, 4076, 9537, 603, 6050, 3138, 4826, 779, 1789, 9190, 9531, 5229, 6558, 6276, 4934, 8823, 7571, 3891, 675, 1716, 9140, 7035, 3891, 421, 8579, 4611, 461, 6419, 6677, 6529, 1601, 3955, 8003, 3742, 606, 1492, 7045, 3236, 2855, 6617, 794, 1359, 4225, 9402, 8080, 942, 548, 8062, 3602, 431, 4, 7645, 4287, 5615, 6249, 5442, 765, 1582, 5534, 5434, 9713, 8767, 6949, 4743, 6905, 359, 3479, 1241, 3994, 1875, 6561, 5631, 7109, 4385, 7204, 6665, 2628, 5838, 9145, 4862, 6379, 8235, 1452, 5540, 885, 6155, 9852, 326, 4095, 4678, 2055, 7841, 4620, 535, 9271, 268, 6708, 6110, 4097, 1916, 5176, 9488, 4058, 8722, 8277, 9286, 7826, 29, 6410, 6331, 405, 3764, 112, 5748, 7420, 9144, 4065, 39, 9069, 2760, 92, 4667, 6467, 1844, 1368, 237, 3999, 552, 5127, 7474, 6205, 9560, 5791, 5990, 5771, 6442, 7174, 6057, 8114, 6771, 3809, 4451, 9092, 2723, 3598, 6961, 499, 6939, 152, 6753, 7439, 70, 5679, 2767, 3471, 4648, 4549, 5196, 9837, 1536, 6843, 4548, 7374, 2378, 9864, 5702, 51, 537, 6034, 4409, 738, 2350, 8568, 5971, 6912, 5274, 6004, 2426, 8195, 654, 1641, 8298, 3554, 7668, 9245, 9638, 5531, 9082, 5481, 5162, 6787, 2910, 6078, 1386, 4220, 6633, 5545, 5459, 3096, 9070, 4574, 4357, 6829, 284, 9393, 2407, 7007, 2020, 4226, 8411, 8149, 4300, 325, 8703, 6631, 2543, 752, 2876, 2281, 4394, 6837, 784, 6436, 3620, 8837, 2658, 565, 4616, 5362, 7702, 9308, 1462, 6012, 5500, 2107, 6338, 2735, 9473, 5186, 3454, 448, 6965, 2545, 8407, 7128, 8132, 4687, 3081, 2184, 33, 5399, 3110, 2766, 5387, 2151, 9106, 6425, 7203, 454, 6711, 1395, 2055, 7983, 9748, 6576, 889, 3796, 5201, 8900, 5323, 1923, 8019, 9577, 1022, 664, 2933, 6499, 3502, 141, 9221, 1812, 1809, 6449, 9927, 7606, 5643, 6937, 792, 4427, 6004, 3051, 1138, 5176, 1364, 5258, 3580, 2026, 859, 5529, 2295, 7578, 3207, 5812, 4900, 7433, 1257, 6401, 9066, 8841, 6688, 3151, 9363, 1345, 766, 6876, 9361, 8397, 7676, 2015, 8993, 5795, 776, 9871, 2482, 5806, 7857, 3873, 2372, 6379, 577, 2534, 9026, 1195, 1457, 5377, 5480, 2179, 3033, 1992, 7648, 2374, 7421, 245, 73, 9947, 4432, 4456, 8687, 9558, 5546, 7192, 7948, 4160, 5639, 7030, 7703, 386, 9168, 1467, 7103, 1843, 5796, 1327, 3851, 7200, 1149, 1720, 5563, 5811, 9088, 3284, 7652, 9536, 5836, 2622, 5663, 9771, 7785, 6225, 151, 7694, 9775, 5532, 4850, 9223, 9990, 5586, 327, 8190, 6428, 6838, 1382, 9217, 762, 9935, 8504, 2009, 431, 1610, 8996, 1968, 6708, 6754, 6517, 1890, 3730, 9452, 8961, 1113, 5749, 6085, 8742, 5500, 5405, 1203, 2950, 1647, 4385, 1694, 8165, 202, 5045, 1077, 4523, 9257, 2327, 7702, 2479, 5522, 353, 8421, 2960, 1243, 9998, 742, 5616, 8949, 4240, 1036, 2779, 97, 6890, 2920, 2965, 8946, 8985, 5857, 815, 3984, 3267, 4614, 1920, 9910, 82, 4051, 4316, 8960, 6632, 8954, 4453, 5335, 793, 8566, 5331, 2901, 6528, 4786, 6742, 7262, 6776, 6444, 134, 327, 5433, 9080, 518, 53, 2962, 6183, 3337, 5844, 8359, 700, 2075, 7796, 7445, 571, 8559, 256, 9188, 4852, 7420, 7236, 6877, 8211, 7245, 117, 6622, 6760, 1217, 9683, 9294, 9562, 4641, 2949, 1403, 4381, 6492, 7229, 6515, 6170, 8504, 6737, 229, 6692, 4719, 681, 2926, 4965, 9359, 7236, 9627, 7782, 5654, 2497, 3537, 8298, 8276, 1006, 2393, 3251, 7428, 3165, 718, 2981, 1432, 757, 8420, 9393, 8615, 3021, 4676, 519, 321, 1770, 1395, 4592, 6257, 5615, 1936, 2199, 8950, 9156, 1265, 6453, 4210, 4804, 4287, 709, 4996, 9022, 4181, 8125, 2845, 2847, 4973, 9558, 7359, 427, 6131, 6436, 8090, 4114, 2700, 3355, 6734, 3162, 1884, 5448, 591, 2276, 4377, 275, 3417, 1080, 7329, 6210, 3565, 7221, 6584, 1497, 9279, 6986, 346, 7914, 8804, 8744, 213, 2519, 2473, 887, 5923, 9618, 692, 5396, 3203, 1821, 3406, 9965, 2748, 4861, 957, 4836, 2109, 9087, 5160, 4912, 6885, 8435, 1665, 600, 6103, 6232, 7730, 597, 5089, 5582, 1942, 7282, 4250, 6373, 9763, 1703, 7226, 6643, 3111, 3795, 7143, 5997, 5518, 2781, 4890, 5780, 3966, 3793, 6047, 1642, 2773, 8985, 8753, 338, 6979, 6683, 3841, 2114, 786, 3698, 798, 1920, 6667, 1913, 9555, 8547, 9469, 8940, 8361, 5573, 2915, 562, 1934, 5320, 3358, 77, 1593, 7750, 4919, 9020, 5274, 5899, 1584, 3980, 9926, 8384, 1152, 6903, 2183, 7935, 3652, 4517, 440, 7324, 9608, 1966, 6503, 5925, 5423, 5501, 6280, 9634, 456, 1765, 5726, 9712, 9595, 2586, 6940, 5275, 8480, 4453, 601, 7878, 380, 5941, 5646, 498, 1407, 1418, 20, 7112, 5843, 2826, 56, 9487, 2131, 6969, 3155, 537, 645, 4572, 9459, 7667, 7507, 9117, 2201, 1924, 5686, 4524, 7970, 281, 6434, 3587, 5992, 766, 6230, 2506, 1025, 963, 5880, 5375, 5191, 8989, 2268, 1607, 8859, 3782, 4187, 1338, 5773, 8668, 4305, 6490, 9976, 7783, 4631, 9071, 2150, 6354, 9695, 7822, 5968, 936, 5349, 4162, 2122, 3488, 1801, 4278, 7683, 7265, 2770, 6189, 3811, 8092, 6739, 9653, 444, 8765, 5847, 7138, 2395, 107, 2701, 5433, 3008, 2935, 5634, 3089, 2509, 3074, 1038, 6760, 4519, 7264, 7168, 4834, 7737, 3733, 2396, 8297, 4770, 1035, 2727, 9276, 3608, 1871, 6875, 8331, 364, 1497, 4577, 6376, 1260, 8217, 1819, 4960, 2241, 9475, 4968, 7654, 366, 6188, 3615, 1023, 9230, 8597, 5766, 8452, 6958, 9145, 1142, 7781, 9704, 1143, 4634, 1910, 8188, 9387, 3513, 9995, 8915, 3432, 3683, 3650, 9457, 9326, 1183, 876, 2856, 6015, 7390, 340, 5537, 2621, 1539, 2667, 1917, 9442, 3926, 7791, 246, 4997, 222, 7367, 8847, 5867, 1910, 106, 5612, 3152, 8909, 7028, 6465, 1270, 3433, 72, 1557, 1933, 1033, 4046, 4114, 2017, 780, 7306, 4838, 7630, 6252, 2411, 2296, 8553, 6630, 9036, 5658, 9864, 6321, 4380, 3896, 6356, 7486, 623, 3290, 7002, 2308, 2966, 3192, 4463, 8539, 4797, 4968, 2939, 109, 1968, 7077, 6366, 1740, 9872, 9136, 8173, 8199, 8175, 4094, 9098, 7948, 1392, 3840, 7025, 610, 816, 402, 9253, 9316, 7072, 8712, 6211, 6625, 8135, 2520, 3503, 4263, 1582, 3222, 632, 9830, 5934, 5078, 2525, 4020, 2293, 2702, 1119, 3264, 3149, 5953, 4956, 6923, 164, 2024, 6460, 9654, 992, 6655, 5952, 5594, 3935, 9104, 4507, 4686, 9710, 6267, 8158, 8790, 6029, 9848, 1833, 1211, 499, 890, 2998, 9903, 1581, 1000, 404, 7776, 8027, 5100, 8248, 5805, 8864, 7814, 5235, 2168, 9177, 1306, 4930, 882, 6550, 4729, 9281, 9263, 3804, 5452, 4483, 9075, 1851, 8180, 5654, 4466, 2915, 7670, 9746, 2565, 314, 721, 6612, 7087, 9876, 1894, 1807, 292, 5300, 3228, 3096, 7748, 9767, 8263, 4559, 9484, 2082, 463, 7719, 1597, 4291, 9644, 3684, 823, 2310, 7345, 7681, 9827, 5775, 6556, 6183, 319, 4337, 4967, 2607, 1088, 9973, 7983, 2113, 7594, 5745, 2584, 2419, 4469, 1465, 2664, 7908, 9061, 2675, 1136, 5853, 2436, 1251, 4948, 588, 4742, 4400, 2708, 1586, 5524, 2789, 8010, 853, 2647, 9325, 3298, 2497, 9603, 112, 7961, 4563, 7723, 2362, 3962, 5239, 2389, 1941, 492, 3265, 3984, 1021, 9901, 5576, 7950, 466, 9245, 4437, 9576, 5483, 4576, 8113, 5994, 5958, 5744, 8969, 1511, 7746, 8516, 1850, 2818, 1520, 9549, 8495, 5769, 4096, 4189, 1712, 466, 3094, 143, 2620, 1043, 3080, 4387, 269, 5866, 6915, 2261, 6884, 8501, 9107, 2358, 2911, 9872, 5473, 7951, 3594, 830, 7409, 1511, 9841, 1093, 6221, 1548, 861, 232, 5312, 8733, 1166, 1466, 3021, 4457, 8130, 642, 6238, 1620, 5073, 7318, 2641, 547, 736, 4595, 4785, 4991, 1238, 6982, 5501, 279, 7776, 5960, 4495, 4556, 5471, 3517, 7415, 5278, 7036, 6298, 8574, 8879, 4984, 8412, 2354, 8723, 1170, 8403, 8277, 9584, 9182, 3556, 6487, 5987, 5115, 138, 2242, 4416, 9297, 8669, 6341, 2999, 3329, 1633, 417, 7442, 3462, 6171, 6646, 5847, 5549, 1978, 5424, 5953, 2365, 3684, 2795, 9521, 1029, 8830, 8100, 4369, 8264, 5995, 8939, 5552, 3653, 8797, 520, 5579, 4580, 3415, 5419, 7714, 5435, 6920, 204, 5100, 2910, 9833, 2417, 7530, 7073, 1215, 7104, 303, 2833, 8570, 2256, 9385, 41, 9856, 966, 7913, 532, 1831, 3425, 558, 142, 3783, 4827, 1443, 4045, 8504, 479, 7812, 3869, 6586, 781, 6975, 3187, 4023, 4603, 4351, 4021, 3293, 8075, 1032, 4841, 944, 3674, 4878, 6493, 2860, 8849, 1279, 560, 351, 3589, 866, 3576, 6279, 2469, 6546, 7843, 5938, 3377, 9859, 4632, 5038, 5419, 6761, 8985, 7509, 883, 4699, 9377, 4645, 1297, 4248, 8374, 8162, 5673, 5916, 3473, 9205, 6244, 3122, 3288, 8837, 4839, 983, 1025, 2834, 1674, 5690, 309, 60, 7573, 9866, 9886, 6112, 8409, 6706, 5541, 1201, 5680, 6323, 1113, 632, 6197, 6899, 2263, 979, 8235, 4912, 5220, 1991, 5057, 1231, 4384, 5471, 3145, 8891, 117, 6331, 7218, 9474, 7290, 1791, 1057, 3115, 8731, 4504, 4537, 7674, 1345, 9550, 7319, 2880, 2452, 4259, 4287, 5843, 1220, 4141, 1154, 6008, 7823, 9224, 2604, 8074, 6544, 2056, 8942, 7524, 6540, 7283, 9760, 7623, 7696, 7226, 2884, 6680, 8022, 4099, 1038, 4662, 3484, 7569, 8016, 901, 7909, 3729, 6792, 2244, 6033, 6128, 853, 8868, 5138, 8640, 3780, 9886, 4357, 7946, 308, 9068, 82, 8943, 2338, 2558, 4835, 9485, 4059, 2755, 9449, 2411, 3781, 3919, 8790, 8075, 9249, 9571, 4360, 2002, 8690, 3435, 6111, 6817, 7011, 3899, 1987, 2087, 890, 1985, 4345, 7016, 5756, 414, 9894, 7000, 7790, 7363, 3418, 4705, 1610, 9168, 3711, 4175, 3909, 6827, 2928, 8896, 2236, 7791, 2149, 7663, 6924, 7195, 7560, 4930, 5971, 1203, 180, 3223, 1288, 5738, 9146, 5462, 5797, 4619, 1881, 594, 4100, 6188, 9265, 2797, 8337, 4093, 9805, 6877, 9714, 8664, 2990, 2859, 7481, 1638, 9045, 4291, 6159, 3200, 251, 2782, 7023, 2089, 2075, 8915, 20, 5818, 3001, 2786, 8028, 5492, 4184, 2940, 3422, 7288, 9236, 3230, 9083, 5537, 7554, 1454, 5728, 7076, 4133, 3022, 770, 5354, 2915, 8074, 8446, 6883, 5100, 4419, 9303, 4520, 2194, 6208, 6263, 3883, 4972, 5621, 8300, 2424, 5044, 738, 4195, 3084, 331, 8409, 4865, 6141, 7167, 6333, 8131, 5552, 2557, 8722, 3502, 3457, 2435, 1140, 4676, 8641, 5146, 8731, 7490, 5145, 3385, 3626, 4555, 7565, 9256, 7343, 6833, 7602, 4927, 9543, 9967, 5952, 1795, 3368, 4535, 2079, 3239, 986, 6461, 1913, 8452, 8324, 2343, 65, 7297, 4699, 3425, 1653, 9538, 9754, 565, 6437, 1798, 2772, 8752, 8053, 8811, 6032, 5600, 8366, 8090, 2038, 4825, 7087, 332, 8283, 9730, 7065, 2772, 8524, 3310, 5170, 2280, 1914, 9157, 1185, 4085, 5858, 3755, 2173, 8525, 2681, 1040, 2649, 9367, 9969, 9434, 9430, 5333, 5165, 9954, 3729, 1570, 6776, 3484, 3641, 482, 126, 5323, 645, 588, 8523, 5112, 7226, 1377, 5413, 2336, 5739, 5648, 426, 617, 1721, 5995, 5606, 6830, 9584, 9192, 2141, 4471, 8798, 5263, 8101, 2351, 6601, 836, 4899, 7483, 4270, 7580, 1174, 1674, 4035, 2695, 7348, 8359, 200, 8458, 372, 4233, 2807, 9324, 1463, 2978, 9212, 2460, 682, 1446, 8478, 1188, 8920, 7575, 2508, 2727, 4533, 2397, 1921, 1381, 8371, 5353, 6906, 3497, 5854, 908, 8247, 6952, 5974, 5752, 8496, 1639, 2886, 3642, 538, 4882, 5504, 8451, 9061, 4059, 7124, 1955, 7688, 9171, 8355, 8432, 2119, 6186, 2604, 6757, 6309, 6631, 2487, 9676, 9415, 242, 8998, 8028, 1647, 8051, 8325, 86, 4922, 9450, 63, 4669, 887, 3147, 3893, 3809, 2821, 4197, 2934, 7458, 9505, 1762, 4073, 1646, 3206, 6613, 8704, 1155, 1198, 4470, 8147, 8473, 2999, 4111, 7893, 1772, 2788, 1732, 9998, 5294, 6720, 9329, 5887, 4914, 3418, 7107, 4212, 1416, 2536, 2925, 5418, 9611, 9759, 9109, 679, 7850, 2288, 5926, 2692, 7375, 3163, 4797, 272, 9527, 326, 2597, 8231, 7929, 272, 9504, 3587, 7959, 5439, 3167, 3190, 4589, 9197, 5356, 8958, 743, 9453, 2294, 9350, 2695, 9720, 1330, 1860, 1856, 6473, 7842, 1364, 8255, 6196, 3909, 6045, 2855, 7769, 700, 7266, 6449, 3473, 2725, 2864, 2973, 2253, 5643, 262, 1704, 239, 6434, 5671, 6985, 3745, 1261, 9266, 6372, 9404, 5418, 6620, 9507, 9849, 2487, 8239, 8481, 5322, 9689, 3046, 3003, 6204, 3551, 9349, 9797, 2730, 3185, 9670, 3636, 3534, 5394, 6943, 6401, 6505, 161, 1572, 2543, 2460, 4035, 4532, 8220, 4954, 3598, 2575, 3432, 7808, 7058, 3778, 4766, 7041, 802, 9011, 7178, 974, 899, 5506, 514, 973, 1682, 9917, 6109, 4353, 2906, 2735, 7528, 3454, 349, 9046, 4841, 3096, 3289, 1524, 3520, 2199, 5395, 7989, 4162, 3090, 6359, 9530, 3179, 8215, 1434, 8491, 2805, 5803, 6824, 4375, 4421, 4582, 4679, 9293, 9321, 6267, 2968, 3018, 9196, 6290, 3297, 6991, 2658, 5052, 3270, 9394, 6791, 2425, 67, 3424, 5861, 7060, 5328, 9707, 6989, 4419, 6531, 8436, 8808, 2164, 8363, 8410, 2021, 883, 1430, 8699, 1733, 7605, 2489, 4341, 724, 8810, 1382, 133, 1065, 1768, 2595, 2897, 2106, 459, 6053, 5275, 2723, 2354, 7268, 2850, 694, 6307, 6249, 1634, 930, 4220, 428, 7269, 7430, 7021, 1833, 9696, 768, 2201, 3877, 3269, 8745, 3249, 6004, 2008, 7531, 5096, 3723, 5835, 4177, 4023, 6719, 4682, 8823, 9929, 8999, 535, 4499, 6694, 5023, 4059, 1133, 3762, 1147, 5937, 2413, 8345, 8896, 1773, 4758, 2499, 2087, 3969, 1654, 2473, 1528, 8006, 8544, 401, 8037, 4039, 248, 8625, 2913, 3836, 7041, 6337, 4478, 1979, 6643, 5916, 327, 5371, 2860, 3551, 3188, 41, 8685, 5575, 9713, 5572, 2135, 3790, 3548, 6644, 5661, 238, 7482, 4864, 3768, 5044, 5408, 8259, 8671, 7976, 8851, 4884, 4581, 4373, 7440, 5631, 1675, 8139, 6037, 5775, 4789, 7895, 4369, 9533, 9831, 6855, 762, 9475, 3405, 5191, 6208, 1477, 812, 2841, 3104, 2734, 4884, 5742, 636, 2254, 6659, 8891, 9460, 639, 2152, 3306, 9716, 5351, 6091, 3592, 3599, 9972, 6607, 2321, 2182, 8847, 3904, 4624, 4484, 988, 2844, 8533, 4181, 2403, 4248, 4517, 7550, 3946, 9789, 1445, 4195, 1265, 8712, 7024, 1969, 417, 9596, 2532, 1835, 3297, 2889, 8703, 8799, 858, 3583, 8409, 75, 1194, 2607, 4521, 8572, 4385, 1394, 158, 6749, 1640, 381, 233, 5490, 9812, 4703, 7922, 2429, 3883, 3238, 5672, 9463, 7176, 9716, 83, 3335, 1777, 1482, 6784, 2272, 19, 6388, 3513, 5695, 6842, 8452, 9205, 6410, 365, 8997, 3779, 3051, 5130, 3508, 1354, 3912, 9646, 811, 2219, 8267, 252, 1001, 6444, 3697, 589, 283, 8049, 6048, 7963, 7545, 6126, 8463, 8309, 9924, 6734, 1367, 3917, 1440, 1825, 6986, 8507, 2953, 3838, 8636, 946, 432, 7527, 7276, 7427, 1515, 1599, 6761, 6184, 4880, 267, 6381, 9185, 2027, 4288, 9828, 3190, 9143, 7010, 5435, 2809, 1741, 4732, 4701, 2690, 1919, 4501, 3565, 8890, 8042, 5890, 7464, 5743, 7071, 1820, 919, 9682, 2530, 5343, 3191, 1010, 8551, 700, 2035, 7440, 8520, 3116, 907, 3021, 4443, 9506, 8399, 754, 8887, 3034, 4562, 4819, 9902, 4762, 1173, 1736, 7094, 9502, 5769, 5721, 9018, 1566, 461, 9272, 9740, 5234, 6544, 9264, 6659, 7106, 941, 6378, 987, 729, 6173, 6478, 7892, 5388, 5681, 3647, 5236, 5771, 6305, 4729, 7011, 6787, 4768, 9008, 2683, 4318, 5467, 9350, 1071, 1644, 4460, 6071, 6926, 4894, 7084, 2725, 8473, 7449, 8479, 8696, 603, 8290, 4982, 7990, 9602, 5462, 5720, 5508, 1218, 2775, 8272, 1035, 1482, 8130, 8821, 1618, 7853, 7487, 2889, 6565, 8336, 7558, 503, 3169, 7249, 3702, 2450, 6483, 9842, 5241, 7256, 642, 9655, 2, 8321, 1728, 798, 4322, 2330, 7767, 5955, 4256, 5118, 1705, 8082, 7781, 606, 6724, 9768, 8765, 915, 8749, 9784, 6233, 2167, 5735, 3010, 6172, 8056, 1978, 7023, 4438, 7336, 8416, 6122, 1198, 5602, 54, 9861, 4711, 210, 6487, 8589, 9994, 1418, 8653, 52, 8142, 2011, 5943, 1287, 2365, 3554, 9758, 3100, 6684, 7831, 8982, 8422, 8146, 4627, 8764, 1848, 4925, 3780, 9952, 6970, 1071, 5991, 4673, 1939, 3897, 97, 2340, 1042, 1738, 658, 7568, 6742, 1315, 3295, 696, 2963, 9668, 7499, 455, 3942, 8328, 5193, 7584, 4459, 4486, 1546, 4716, 3292, 3514, 8129, 9283, 8429, 9494, 8723, 9095, 8966, 4498, 136, 8277, 1477, 1304, 8921, 3722, 1581, 1197, 7015, 5895, 9772, 9994, 9960, 7682, 6228, 3164, 9408, 658, 1247, 3715, 9534, 2381, 6286, 3898, 860, 8278, 5373, 4941, 1221, 5655, 8422, 7244, 1455, 8437, 7734, 628, 1873, 9486, 9906, 5469, 5544, 6037, 4510, 6813, 4500, 776, 9264, 841, 8510, 9893, 6731, 6792, 359, 5719, 6462, 9347, 4964, 6406, 83, 217, 2115, 1541, 5820, 1448, 8629, 6097, 6798, 3491, 8904, 4769, 5389, 7553, 9192, 6804, 8432, 3754, 788, 786, 4517, 855, 35, 4410, 254, 6310, 3365, 8764, 6061, 8121, 9962, 2349, 6160, 7301, 3842, 2516, 6264, 4490, 7777, 2167, 9083, 4053, 1922, 737, 4148, 5372, 1826, 6644, 1915, 2732, 6721, 9107, 3008, 3290, 2586, 6313, 6881, 9957, 6375, 3840, 9995, 5917, 5227, 5615, 4751, 9121, 1802, 8767, 4739, 3935, 4264, 4870, 1829, 8861, 7005, 3313, 2579, 5994, 8109, 5758, 78, 228, 6110, 6224, 4221, 6994, 1472, 5682, 5905, 4157, 5255, 2359, 8849, 1033, 9008, 6214, 6429, 7401, 2029, 6013, 2240, 8492, 5912, 3546, 6008, 6474, 9491, 6423, 6786, 3299, 4066, 6627, 5894, 9588, 6161, 5220, 2971, 1045, 5440, 2854, 3583, 8633, 2348, 5994, 910, 1957, 7322, 3425, 8314, 6421, 3885, 2433, 2639, 600, 2630, 4667, 3428, 6291, 2661, 2686, 4322, 6951, 1987, 2236, 8880, 4654, 7147, 1074, 8029, 8851, 4701, 1792, 502, 8557, 6863, 2129, 3123, 8290, 4193, 1186, 4511, 6162, 3976, 633, 6756, 6400, 4954, 3649, 3936, 7117, 7656, 1244, 2978, 6981, 7341, 5681, 9822, 3034, 1745, 503, 1479, 7364, 6372, 2196, 5052, 3436, 5186, 599, 4954, 1108, 2037, 4974, 1034, 5738, 3888, 4349, 879, 8262, 1724, 5854, 4220, 2482, 7957, 1816, 8798, 3052, 3090, 7558, 917, 9661, 8999, 3302, 3771, 6514, 4665, 5512, 3588, 9250, 3391, 8229, 9973, 2320, 639, 5066, 6558, 788, 7124, 8357, 2511, 6256, 6322, 1360, 6527, 7408, 6193, 9879, 8867, 2069, 7034, 9386, 5734, 889, 250, 6339, 2956, 7635, 6255, 9773, 7892, 406, 6033, 7906, 281, 3472, 1321, 5175, 6800, 6896, 5457, 7252, 5099, 3608, 8262, 5771, 9978, 1559, 4563, 4575, 6323, 882, 3010, 8173, 6671, 2494, 7720, 8118, 8768, 9723, 7119, 1236, 6386, 8296, 2987, 5528, 4180, 8481, 1174, 4444, 9148, 4352, 3486, 3344, 513, 7943, 4001, 3628, 632, 556, 5774, 5262, 7556, 4113, 4128, 3685, 2886, 3014, 7774, 7696, 7896, 1788, 4009, 8781, 7246, 806, 7418, 1091, 1966, 1173, 6021, 8451, 4473, 938, 4037, 4664, 1152, 7521, 9693, 3915, 8715, 872, 5953, 9385, 4312, 5537, 6357, 2025, 9759, 9867, 2819, 1538, 3399, 7118, 9287, 3589, 4187, 8175, 2108, 9502, 7144, 1342, 488, 3420, 8326, 8274, 1406, 2424, 7051, 4459, 3952, 7908, 5934, 5899, 9174, 9030, 2619, 8365, 7251, 2618, 923, 2493, 328, 6098, 6017, 3683, 7990, 4369, 9875, 6891, 9871, 6854, 1795, 3083, 1306, 3028, 3625, 5247, 9880, 1048, 7405, 2622, 8776, 9612, 6565, 4516, 3673, 6087, 4574, 5633, 328, 8968, 5014, 4966, 8294, 4763, 7390, 401, 4431, 9991, 7131, 6155, 401, 9844, 6116, 2949, 1751, 7605, 6945, 4207, 4735, 4591, 3283, 8162, 3635, 2435, 7452, 5963, 862, 1122, 4186, 9560, 8078, 220, 7583, 2983, 1917, 6748, 110, 8545, 8996, 6074, 4873, 5356, 6619, 5172, 7758, 3541, 9719, 3999, 4313, 9051, 5016, 9753, 51, 9187, 5088, 9565, 8313, 8405, 4475, 3730, 9647, 6078, 288, 4603, 3651, 2641, 2080, 7025, 3507, 4138, 3226, 3583, 313, 4985, 9199, 8971, 5654, 8393, 6632, 9321, 4984, 6479, 5635, 6050, 3480, 9549, 2267, 3080, 8549, 2265, 8995, 7948, 5837, 8562, 1250, 1139, 531, 6223, 8970, 7655, 6384, 6655, 9112, 3898, 2189, 7283, 2547, 9693, 9411, 4756, 4281, 1967, 5593, 9418, 8884, 4556, 5836, 9146, 1771, 8762, 7536, 9493, 9845, 878, 7188, 4291, 4845, 5734, 3468, 54, 6366, 5777, 2354, 6241, 5576, 9571, 8658, 2309, 6132, 3318, 6128, 7599, 4274, 1528, 3447, 5470, 1082, 8293, 5194, 8503, 1034, 1416, 2136, 4152, 3385, 5629, 2229, 995, 8050, 5454, 2599, 1001, 3907, 6025, 2660, 9176, 196, 4582, 4654, 9290, 8080, 9880, 3492, 3623, 3401, 8213, 5777, 9634, 6329, 2248, 8272, 8307, 5293, 7184, 9538, 757, 534, 4622, 4943, 4844, 8772, 1179, 7548, 4559, 2350, 1587, 9015, 2819, 7677, 9275, 2619, 6368, 105, 4212, 5039, 6848, 9187, 771, 2451, 5917, 2311, 7757, 7125, 4205, 6214, 9800, 9211, 9426, 7744, 8648, 8746, 3243, 687, 3464, 6110, 3715, 241, 1123, 5659, 1405, 3845, 6619, 5159, 9380, 740, 9797, 222, 4467, 4709, 3292, 8401, 9044, 3879, 9126, 5171, 1120, 5475, 6873, 545, 7559, 3501, 8232, 6095, 768, 3065, 6760, 8338, 3614, 6596, 6807, 7224, 7828, 1945, 314, 9004, 9150, 3431, 8357, 4049, 6752, 7599, 1650, 6661, 5066, 843, 9832, 7713, 9300, 4095, 7147, 4517, 2491, 1599, 8379, 3749, 4233, 5189, 7746, 4253, 2580, 8967, 5659, 745, 4111, 2995, 8372, 6373, 1220, 6390, 2119, 2464, 4690, 7085, 2792, 8390, 8810, 9285, 791, 8402, 2111, 1497, 5001, 8350, 8979, 1571, 9687, 1382, 9508, 2764, 2741, 4276, 1938, 8714, 6450, 4367, 9373, 4745, 5867, 1691, 758, 6378, 5440, 4761, 6926, 6654, 5059, 7830, 82, 4496, 5471, 3587, 8606, 7161, 4881, 3338, 9313, 1840, 3353, 8894, 6695, 3448, 3561, 2800, 8245, 82, 954, 1820, 7198, 1447, 2209, 6569, 2900, 4543, 3617, 2958, 7755, 583, 9057, 5752, 9331, 2939, 5002, 3618, 9173, 3716, 7184, 7022, 6455, 3791, 7584, 1249, 4858, 6091, 4772, 5455, 3484, 7252, 1363, 1362, 1385, 4388, 2339, 497, 7888, 8453, 2866, 5066, 9263, 3368, 9606, 3633, 2748, 6385, 6480, 9337, 9056, 7668, 1058, 6179, 6698, 9730, 1720, 3200, 4515, 1329, 7379, 3318, 1257, 5581, 3672, 3176, 1307, 6633, 9163, 2601, 2610, 2862, 4929, 9707, 7215, 6434, 1993, 8971, 4730, 2216, 308, 258, 7324, 4076, 9830, 2019, 1590, 9564, 1785, 462, 8898, 6409, 6237, 8335, 5563, 8682, 3604, 7466, 5609, 2183, 7286, 5911, 4309, 7319, 3950, 2846, 4555, 562, 2738, 5213, 1081, 9038, 9227, 1746, 2771, 1762, 7824, 894, 7343, 8011, 1481, 6105, 3476, 1027, 5084, 6703, 4506, 6072, 5396, 5400, 7255, 5540, 2983, 6329, 6622, 427, 5817, 9050, 7500, 2396, 9914, 8273, 7710, 2922, 2123, 9369, 4389, 3748, 6216, 6575, 1142, 6569, 3511, 978, 3125, 2231, 145, 8690, 7124, 6002, 6448, 8711, 6733, 6002, 5092, 5969, 5598, 1187, 336, 3668, 5501, 6173, 5737, 162, 6366, 562, 6636, 8285, 6787, 1855, 595, 4257, 3264, 6053, 2905, 7014, 1944, 456, 9805, 7510, 428, 895, 1750, 8090, 1218, 6788, 1565, 753, 8068, 1891, 6922, 790, 2715, 2794, 304, 3013, 3457, 5281, 6548, 3103, 5956, 1627, 2064, 2163, 6429, 9534, 1943, 5379, 9962, 4483, 8052, 9803, 2332, 793, 7723, 9713, 7937, 3015, 6499, 3232, 3554, 1939, 7995, 2380, 147, 2754, 6980, 2902, 9447, 6547, 7553, 6882, 7827, 478, 4126, 5971, 2924, 5990, 6343, 7844, 7626, 3190, 8009, 7077, 1266, 6473, 742, 4442, 9874, 2998, 7850, 103, 7749, 7925, 7677, 6684, 940, 2932, 6469, 2947, 1373, 2647, 6619, 8915, 7408, 4427, 3255, 2074, 6273, 6025, 6319, 1400, 8421, 8637, 5773, 7099, 5520, 7273, 4792, 4192, 8671, 7049, 5282, 6262, 2094, 6525, 702, 4194, 8143, 4203, 3270, 1046, 2422, 6646, 3594, 7789, 2440, 8636, 1969, 5620, 2972, 772, 9661, 4262, 9630, 775, 7596, 3943, 8246, 9612, 1086, 4965, 7301, 6439, 34, 1408, 228, 30, 890, 8611, 8385, 6742, 4618, 8182, 3345, 1376, 1406, 9754, 3718, 4654, 5451, 468, 5297, 9963, 6024, 9750, 946, 2626, 8703, 8878, 673, 120, 6457, 9548, 9045, 5682, 9864, 4513, 9778, 1891, 2172, 8081, 6521, 2345, 84, 8791, 682, 9591, 8402, 4180, 4899, 5354, 987, 4806, 7593, 1323, 7542, 59, 6102, 7378, 5761, 106, 5892, 3026, 5098, 3243, 7489, 1691, 6349, 5516, 5065, 1806, 7955, 5920, 5096, 7483, 3094, 5931, 2050, 8478, 4726, 59, 3957, 9768, 8072, 9201, 7084, 6499, 8056, 9727, 1502, 7660, 1595, 1377, 4083, 3781, 7672, 7555, 6920, 1929, 2054, 8730, 7354, 9819, 4982, 3266, 4886, 4071, 2916, 747, 7259, 4709, 9222, 5692, 8175, 3776, 409, 1251, 4955, 4850, 126, 2144, 1150, 7112, 695, 1886, 7446, 62, 8894, 3316, 3168, 2163, 3048, 9986, 435, 1210, 7971, 7726, 2499, 3649, 1148, 1690, 5790, 6599, 7950, 9405, 9017, 4021, 757, 5662, 2155, 113, 7188, 4259, 8991, 719, 290, 6292, 5726, 7371, 8499, 3802, 5533, 1896, 4874, 7157, 2136, 24, 744, 2541} + assert.Equal(t, 87250, largest_rectangle_in_histogram.LargestRectangleArea(list)) +}