Untitled
unknown
plain_text
4 years ago
66 kB
4
Indexable
// lab2.cpp : Defines the entry point for the console application. // #include <iostream> #include <cstdlib> #include <stdint.h> // Windows #ifdef _WIN32 #include <intrin.h> uint64_t rdtsc() { return __rdtsc(); } // Linux/GCC #else uint64_t rdtsc() { unsigned int lo, hi; __asm__ __volatile__("rdtsc" : "=a" (lo), "=d" (hi)); return ((uint64_t)hi << 32) | lo; } #endif using namespace std; void swap(int *xp, int *yp) { int temp = *xp; *xp = *yp; *yp = temp; } // A function to implement bubble sort void bubbleSort(int arr[], int n) { int i, j; for (i = 0; i < n-1; i++) // Last i elements are already in place for (j = 0; j < n-i-1; j++) if (arr[j] > arr[j+1]) swap(&arr[j], &arr[j+1]); } // An optimized version of Bubble Sort void bubbleSortOptimized(int arr[], int n) { int i, j; bool swapped; for (i = 0; i < n-1; i++) { swapped = false; for (j = 0; j < n-i-1; j++) { if (arr[j] > arr[j+1]) { swap(&arr[j], &arr[j+1]); swapped = true; } } // IF no two elements were swapped by inner loop, then break if (swapped == false) break; } } /* Function to print an array */ void printArray(int arr[], int size) { int i; for (i = 0; i < size; i++) cout <<" "<< arr[i]; cout <<" n"; } int main(int argc, char* argv[]) { uint64_t tick = rdtsc(); // tick before unsigned long long a = 1; //Bubble Sort Call int arr[] = {11081, 12685, 7147, 4531, 13411, 4588, 3534, 15457, 18865, 16570, 15467, 6530, 19094, 18328, 2080, 7291, 829, 18224, 3037, 18094, 6351, 3359, 16901, 13792, 6045, 15131, 7969, 9372, 15963, 17005, 2683, 12377, 9259, 19618, 10308, 16137, 14439, 11915, 16956, 10400, 7506, 9985, 16975, 18454, 7498, 18620, 11177, 12621, 14931, 10330, 8882, 14077, 7305, 9625, 14335, 16890, 5531, 3400, 6647, 18715, 5801, 12174, 8550, 5091, 12829, 2535, 13895, 8900, 6978, 7359, 1514, 13246, 10377, 15951, 8628, 8452, 17526, 6805, 17014, 9930, 18739, 14611, 10021, 13762, 4050, 1950, 372, 10066, 7720, 13979, 13192, 7888, 3156, 18588, 8198, 17797, 6493, 7128, 15784, 14119, 10438, 11142, 15624, 2482, 4556, 17693, 6197, 6508, 5266, 19871, 18244, 1138, 11225, 3944, 17534, 10756, 11270, 15207, 9588, 11661, 17908, 2475, 15913, 16312, 9794, 11389, 676, 17078, 9175, 1145, 18086, 2084, 9091, 3669, 16328, 7578, 3537, 18187, 4154, 10372, 4259, 6766, 5933, 4113, 14531, 14717, 5379, 9947, 14400, 2223, 10013, 1732, 13236, 7465, 3818, 451, 17476, 3597, 11196, 16301, 3307, 9847, 19233, 11971, 13196, 19312, 17584, 6182, 6602, 68, 13930, 383, 15747, 10185, 3481, 9631, 9087, 17859, 5981, 17256, 14046, 2831, 19382, 9281, 11204, 6214, 19310, 11889, 7145, 4888, 14804, 2868, 1830, 18627, 17281, 11329, 8127, 14044, 9595, 10565, 12285, 10834, 15393, 16733, 3081, 13781, 11893, 15952, 10424, 9404, 15289, 1897, 4129, 2913, 2703, 2571, 19418, 10743, 13604, 10951, 14567, 5687, 14856, 7324, 17373, 8433, 7563, 14766, 2860, 3683, 14831, 6410, 13002, 15067, 7434, 15375, 12662, 11534, 17043, 17287, 6907, 12482, 19603, 18101, 8040, 3219, 18772, 7071, 6343, 4510, 15771, 15622, 14761, 13174, 16876, 16922, 15614, 15508, 12365, 17335, 16324, 12551, 19495, 13601, 4682, 5028, 3707, 8411, 16603, 15258, 453, 3444, 11928, 8837, 3761, 19195, 5145, 1520, 13720, 8910, 10830, 6878, 15032, 4203, 16780, 15654, 15027, 10967, 19005, 541, 13147, 11786, 6185, 7885, 14851, 18198, 4151, 3922, 5668, 4694, 5625, 1009, 19275, 7880, 8485, 18291, 2329, 18987, 12567, 9931, 6236, 6720, 18802, 18947, 9764, 18926, 10225, 18074, 14618, 6743, 7844, 7174, 1431, 10752, 6455, 19156, 5847, 2449, 5013, 12379, 6491, 9965, 14445, 15330, 34, 3797, 11092, 15759, 12695, 17459, 6148, 14696, 3123, 10911, 14472, 4900, 7709, 12397, 7997, 13314, 18837, 18129, 5655, 7771, 10578, 12733, 16932, 10379, 8928, 12093, 12254, 9787, 18848, 2796, 11720, 3651, 7308, 7785, 1961, 8711, 14768, 15447, 3607, 8104, 4452, 3381, 12493, 17765, 17972, 6382, 1381, 1321, 15117, 19057, 13952, 312, 7003, 18158, 12120, 18403, 2910, 8497, 14719, 10654, 18846, 15172, 5301, 5495, 4880, 8842, 13569, 16177, 12037, 9394, 5019, 3090, 12366, 656, 19448, 3552, 1108, 16007, 1718, 2722, 5336, 912, 18804, 12873, 8473, 15762, 5433, 7383, 3617, 18157, 12506, 2991, 5647, 5723, 16824, 9451, 12825, 14688, 14076, 18275, 14374, 10770, 13357, 15915, 13521, 15297, 2205, 19594, 5875, 12532, 11837, 15343, 19758, 14243, 19254, 5061, 716, 16231, 6820, 15421, 11657, 9976, 6325, 11896, 6041, 15240, 8010, 7932, 2778, 10721, 2363, 2333, 18664, 7867, 8093, 18427, 12138, 10118, 3924, 4261, 8996, 16436, 5746, 12499, 15414, 53, 2751, 15769, 14248, 13282, 17701, 8036, 10257, 475, 7758, 15516, 14750, 1661, 17621, 11958, 18058, 10748, 4636, 340, 13431, 12359, 8565, 10821, 2893, 11086, 10628, 15493, 5520, 17263, 5773, 12317, 15284, 19120, 9289, 4478, 3928, 1856, 18303, 7923, 13342, 12932, 3178, 1496, 3788, 7070, 11134, 14702, 4903, 15012, 11172, 9398, 6101, 753, 14192, 5475, 2877, 13295, 6904, 2496, 11492, 4373, 18703, 14409, 5503, 11998, 10245, 6778, 7133, 16502, 17814, 5731, 1346, 1632, 16092, 290, 14, 17022, 8814, 9167, 4323, 15422, 15619, 10745, 9627, 15529, 705, 714, 15766, 4105, 17572, 2, 4344, 7974, 4178, 10011, 2272, 16052, 15464, 11781, 19365, 8764, 17274, 19742, 11736, 5858, 16816, 19836, 12908, 17677, 5325, 11499, 1927, 14017, 718, 12289, 14303, 13404, 11939, 666, 15606, 18109, 16530, 13935, 13734, 9628, 16001, 8261, 10923, 19488, 1163, 19821, 856, 16583, 19894, 17190, 3526, 13649, 6533, 975, 7609, 14437, 12131, 1162, 2225, 15996, 13737, 18360, 7905, 19610, 11785, 2511, 16759, 18287, 11101, 12165, 9622, 13043, 910, 15180, 3667, 18964, 16750, 9676, 19987, 13577, 15605, 3392, 8048, 8812, 13698, 5791, 3567, 12222, 7064, 18777, 4933, 10031, 11416, 4833, 5473, 2152, 2001, 14233, 854, 17116, 874, 19117, 2839, 19552, 16454, 2417, 9065, 2105, 10321, 8554, 12744, 8625, 10157, 7439, 9547, 13243, 13852, 2685, 15243, 4771, 17885, 17008, 13672, 13203, 6463, 17055, 6166, 10840, 15249, 15549, 1432, 16441, 13384, 16764, 18363, 18063, 11828, 8238, 9693, 11938, 17460, 14448, 17750, 12273, 11645, 15280, 6229, 8733, 1382, 14864, 18272, 16636, 2737, 11312, 3843, 11983, 9659, 10332, 6094, 12188, 15954, 19808, 11822, 14639, 16906, 11026, 19654, 10503, 17000, 1427, 17364, 14568, 5644, 514, 12167, 9957, 4827, 14811, 1512, 12046, 19905, 12155, 9826, 14419, 2976, 4185, 12813, 3542, 745, 17825, 3731, 6651, 6368, 9082, 16528, 9760, 18591, 19163, 8569, 995, 14367, 10575, 17510, 4388, 16606, 9671, 16390, 1766, 13730, 7380, 8876, 7930, 12597, 12466, 7159, 8392, 5014, 11187, 15225, 15877, 5618, 17491, 4211, 2098, 16625, 9889, 16133, 13450, 5021, 5296, 6122, 15308, 10738, 2335, 12885, 5198, 15752, 1848, 19012, 10810, 1545, 13040, 1463, 12265, 5287, 1764, 15758, 1497, 10852, 7167, 8227, 8220, 5899, 12719, 13095, 756, 13480, 11299, 3116, 13285, 8846, 18977, 3507, 5767, 15484, 4891, 18475, 15403, 667, 5612, 19596, 14564, 11345, 8489, 19321, 2711, 13609, 1492, 5375, 4925, 6598, 5277, 10032, 9142, 16917, 5535, 19994, 150, 9237, 12104, 16003, 13657, 4008, 7362, 1653, 16183, 7652, 4614, 18549, 10260, 16488, 19216, 4227, 2958, 8016, 2788, 9928, 19709, 7922, 14809, 7584, 5756, 532, 15828, 8399, 19860, 10886, 4761, 12504, 16726, 18034, 2438, 16846, 1338, 13956, 2870, 6266, 17184, 7991, 2965, 13637, 12796, 5406, 17530, 18283, 13047, 3484, 9218, 14384, 6439, 14749, 19878, 16525, 6871, 4665, 16515, 12768, 14173, 14562, 11370, 6847, 1377, 594, 10291, 5393, 4436, 4958, 16322, 4760, 10369, 15174, 4608, 1120, 8533, 7546, 8406, 8874, 12233, 19475, 8890, 18672, 12038, 12940, 7868, 14191, 19873, 3416, 8229, 16670, 9455, 15245, 5126, 8226, 11201, 6062, 8695, 3270, 15442, 11805, 6320, 15586, 11517, 4658, 16389, 2201, 17554, 5119, 11648, 18890, 1499, 17624, 13194, 6361, 2828, 16772, 7192, 14245, 2691, 10439, 759, 14070, 14447, 7250, 18377, 14100, 6030, 12444, 4960, 16910, 1164, 19917, 2731, 15130, 1472, 7127, 10123, 16392, 10075, 11797, 492, 13529, 5068, 1663, 6696, 18402, 2989, 8657, 4345, 9097, 15154, 573, 8240, 12853, 13380, 18548, 5604, 14669, 2167, 17004, 16946, 15639, 4801, 1579, 2890, 186, 1744, 7680, 10258, 9425, 8633, 17448, 10287, 3640, 12022, 5870, 3211, 5762, 1524, 7330, 15899, 2702, 12938, 17346, 13413, 17754, 5983, 12991, 17347, 8607, 12899, 12292, 14429, 15601, 6646, 10807, 18326, 15593, 15189, 5642, 11571, 2856, 14698, 3896, 12385, 3795, 19952, 7303, 15481, 11401, 9987, 1694, 11768, 9536, 1250, 18698, 6006, 19971, 13045, 15149, 2525, 19867, 18537, 986, 15557, 8774, 9216, 17795, 10298, 5935, 884, 9366, 5648, 5820, 19002, 3876, 14109, 14128, 12312, 16623, 13815, 15195, 6190, 19075, 16864, 11438, 2718, 10153, 6558, 9029, 10129, 12342, 8995, 1557, 6781, 3232, 14157, 7352, 11150, 8921, 1564, 7405, 10588, 17250, 17495, 7092, 657, 5426, 11990, 2137, 4804, 10523, 16396, 13053, 14138, 19837, 2102, 10494, 12861, 550, 10040, 5856, 5491, 11036, 2427, 1286, 11625, 12134, 4465, 9793, 13631, 18954, 8514, 14528, 14614, 14129, 13469, 5903, 2250, 2361, 1916, 15603, 2109, 16793, 3544, 19733, 16195, 18301, 18365, 19313, 2573, 17755, 6207, 5587, 8301, 2709, 11139, 10613, 16162, 5219, 6726, 9542, 8869, 4645, 14329, 282, 9954, 4845, 19031, 16485, 8385, 16109, 15867, 3078, 7363, 8075, 11441, 1170, 7735, 6120, 17019, 6156, 14773, 1003, 14289, 661, 4094, 7600, 16459, 15210, 15293, 11906, 6853, 6307, 14489, 15816, 9103, 489, 1393, 9474, 14315, 12774, 17133, 13627, 17228, 14834, 10993, 11388, 12824, 6957, 17497, 16402, 10267, 3369, 9661, 11865, 8830, 11984, 10859, 7241, 2855, 12272, 6259, 9205, 11732, 3164, 13429, 1818, 9993, 3531, 1101, 14926, 19613, 2110, 4449, 9209, 16430, 2442, 9632, 10231, 19601, 19519, 9822, 8813, 19101, 13486, 591, 2187, 6456, 15610, 2421, 11019, 2259, 16100, 17211, 9806, 7381, 6412, 4313, 16124, 14915, 17787, 8739, 19763, 1326, 2777, 7318, 19089, 10660, 8805, 10455, 9923, 11719, 3997, 6482, 1004, 3327, 19637, 13539, 4975, 7187, 2641, 7794, 8912, 18722, 14172, 16663, 6593, 3472, 13222, 5789, 384, 6298, 11409, 15404, 5673, 4358, 7907, 11903, 13024, 4243, 6403, 6563, 16691, 6845, 3063, 18811, 19345, 19385, 13228, 392, 7497, 12469, 11032, 15104, 18239, 12775, 6104, 2744, 13274, 17371, 3346, 19969, 13408, 11085, 14921, 10183, 5807, 13189, 8446, 5787, 11202, 3298, 15405, 7075, 2851, 15038, 15521, 10661, 14364, 3757, 400, 19887, 2079, 2617, 3456, 2065, 8063, 19944, 7082, 7094, 8113, 12936, 3772, 2403, 14498, 16997, 4942, 12460, 259, 19514, 14146, 11175, 10875, 6812, 8487, 19217, 12099, 18068, 17134, 15866, 16871, 3401, 8518, 7977, 5910, 6432, 4676, 7007, 10319, 4374, 18991, 446, 6869, 14997, 1230, 18621, 3933, 2088, 13953, 4656, 7441, 14386, 16439, 7101, 4932, 14283, 6317, 5968, 10936, 5132, 12089, 1232, 15209, 12707, 13950, 3419, 16188, 10742, 6420, 10997, 970, 6147, 12191, 8927, 8809, 13611, 18925, 13116, 8398, 5577, 4667, 2357, 11494, 18302, 10299, 13093, 589, 2551, 16103, 7586, 13511, 3139, 9119, 11556, 5468, 1603, 1738, 7154, 15369, 4071, 10731, 14263, 14297, 17350, 6105, 19731, 5076, 13824, 9801, 8236, 16919, 18646, 5487, 2130, 4840, 16783, 1556, 6772, 13471, 8355, 19829, 19776, 10284, 4193, 16898, 8494, 8780, 10413, 11766, 12372, 3454, 1314, 10554, 4174, 6924, 19044, 6057, 19398, 4190, 3866, 13642, 10069, 17196, 14886, 16905, 11042, 2493, 177, 8427, 29, 13892, 4108, 16609, 3987, 17557, 3407, 19256, 8021, 6768, 176, 1679, 17671, 17654, 7507, 16234, 7274, 9181, 3522, 3608, 10294, 9636, 18066, 10135, 16204, 151, 19670, 5508, 19651, 18186, 8933, 332, 3024, 11936, 12787, 14515, 19374, 6430, 8233, 12587, 7993, 1842, 8750, 11255, 8527, 17452, 17752, 6999, 18024, 16164, 17867, 7938, 9333, 11641, 14586, 17658, 6401, 2071, 18679, 13103, 2492, 11407, 5360, 7329, 14390, 16371, 2090, 5685, 10103, 11394, 13971, 15825, 11342, 3105, 15763, 6764, 7358, 7944, 12361, 4655, 2843, 19672, 5239, 16448, 5866, 18675, 12353, 16729, 7619, 17160, 3465, 3756, 5733, 18255, 10791, 6989, 15402, 14606, 10181, 13308, 15134, 14787, 19049, 777, 4583, 4523, 15652, 11479, 7160, 16811, 9116, 5573, 15651, 3006, 19770, 16215, 7947, 11364, 11440, 9869, 14293, 2584, 16495, 16545, 16117, 16792, 14295, 17209, 16111, 1769, 2919, 10049, 9165, 19288, 1968, 15309, 9590, 16148, 1333, 14516, 2222, 11465, 1783, 7414, 5715, 13048, 18113, 16959, 19119, 2059, 13409, 2082, 6306, 6976, 9062, 10519, 11074, 12084, 1659, 8116, 9723, 1622, 19775, 13129, 14504, 9821, 9858, 5158, 5271, 17889, 17433, 11371, 979, 18051, 10029, 10276, 3361, 13963, 9076, 9146, 18635, 16925, 11528, 14064, 1917, 13790, 1142, 704, 16296, 2735, 13525, 10204, 16705, 6379, 4119, 4752, 10366, 8255, 10269, 7871, 13884, 13556, 16966, 11157, 9670, 5527, 15036, 19335, 8277, 13281, 12577, 19564, 14608, 17604, 9162, 3103, 6011, 17804, 2297, 3631, 14570, 46, 4262, 8742, 15244, 18778, 18619, 163, 2933, 19107, 6146, 3460, 3959, 17858, 19028, 10871, 10767, 11708, 379, 11587, 7928, 11164, 4934, 6888, 5, 9305, 11344, 2528, 18615, 13749, 11154, 8541, 12951, 5466, 2053, 7051, 2513, 3890, 16147, 1515, 7949, 9180, 18896, 19812, 7334, 17837, 10454, 9000, 15722, 17739, 810, 14102, 21, 16450, 1014, 17189, 15657, 7491, 17630, 11136, 11382, 15364, 8268, 16951, 1117, 18500, 3616, 18237, 5998, 15519, 4783, 19472, 14446, 16239, 15070, 1354, 15685, 15668, 5710, 2846, 2478, 292, 5398, 6775, 597, 10832, 17950, 9692, 7899, 14680, 12653, 15829, 16778, 2254, 6279, 19946, 13079, 9104, 15966, 7129, 4012, 9882, 2319, 839, 17128, 8675, 278, 12006, 4222, 190, 14418, 15939, 8870, 4331, 5997, 1008, 19130, 14944, 558, 13693, 5996, 4016, 14130, 72, 16739, 2190, 10082, 1796, 8854, 1853, 7913, 8323, 1055, 897, 8653, 13933, 2328, 8873, 10819, 8228, 5529, 5745, 11931, 8591, 18943, 3760, 11974, 17756, 9558, 1768, 17365, 1989, 571, 15227, 4949, 9784, 19702, 3627, 13496, 12400, 19973, 5570, 10359, 2942, 7722, 11310, 16911, 13037, 1428, 8639, 8831, 17514, 17578, 8726, 12139, 5338, 997, 16289, 11967, 19785, 2670, 6695, 13158, 12850, 2116, 10946, 1352, 7767, 18477, 4299, 8038, 8132, 8752, 18681, 17913, 1882, 7616, 805, 8210, 2760, 3753, 12111, 17399, 3976, 3332, 7013, 16418, 1104, 11924, 18659, 784, 7277, 12769, 1103, 13812, 10829, 614, 13585, 16339, 12437, 74, 6690, 4732, 7538, 15058, 3931, 13589, 10010, 18687, 16553, 10905, 19191, 14840, 19181, 16405, 9058, 4884, 15795, 15690, 15544, 11744, 499, 12293, 4814, 11665, 11752, 16637, 3180, 13114, 18462, 14290, 19884, 16878, 15294, 17768, 7366, 8422, 19399, 12352, 14701, 5888, 11729, 4272, 17026, 12985, 3536, 14793, 9392, 245, 19316, 8568, 8539, 2366, 6666, 6042, 11135, 8957, 2952, 5568, 11211, 16666, 14689, 2951, 9994, 6039, 17242, 11111, 6996, 3453, 17719, 11446, 3975, 18575, 3140, 3967, 13816, 16507, 3187, 18078, 10787, 3218, 15640, 3458, 10207, 8394, 3513, 14799, 10182, 12258, 10617, 8896, 19027, 10448, 1883, 14532, 12906, 3058, 11482, 19567, 8815, 14885, 15807, 5819, 3966, 1482, 3383, 3557, 3045, 8267, 17776, 8015, 2392, 10864, 19264, 8028, 9138, 17229, 1996, 10200, 5653, 10965, 7036, 18193, 15686, 9420, 14759, 19296, 9327, 15282, 3692, 16073, 12371, 12569, 3885, 18785, 11266, 15251, 9890, 15767, 13326, 17650, 15528, 13119, 739, 5166, 263, 19387, 11188, 9687, 15917, 1412, 1683, 5747, 17485, 10350, 4417, 7270, 8320, 18742, 223, 15723, 3724, 2562, 3036, 10749, 15471, 2032, 700, 10423, 2072, 14802, 3670, 6706, 418, 13575, 4242, 6405, 16041, 5040, 13557, 4684, 17089, 16794, 2945, 1370, 15438, 10912, 8699, 15252, 17069, 19838, 4142, 8872, 15916, 18147, 17419, 16865, 1168, 2265, 12091, 18228, 15550, 19253, 1500, 6037, 13310, 15658, 4123, 3388, 14453, 5839, 15715, 19350, 4832, 8622, 1359, 585, 16977, 10495, 2563, 1678, 19925, 18204, 14602, 4778, 2516, 13201, 7657, 9482, 16839, 19920, 615, 5333, 335, 5763, 528, 5081, 14783, 12696, 3748, 14836, 13488, 11607, 17589, 6684, 11462, 7707, 11946, 3069, 3370, 8292, 9776, 17593, 5139, 4104, 12963, 11794, 3779, 12779, 3299, 2974, 4223, 17315, 9300, 13379, 19455, 5486, 18052, 17920, 17698, 10443, 14089, 13171, 18637, 12668, 10247, 1547, 13205, 19034, 15775, 5127, 8457, 15103, 1315, 10159, 484, 2510, 694, 19462, 7300, 16500, 13287, 4350, 763, 3764, 10541, 19507, 16757, 5914, 19773, 8588, 6231, 181, 4411, 13003, 11122, 17866, 10573, 19343, 47, 6464, 7079, 18866, 6532, 3686, 15397, 10700, 67, 16658, 6250, 9724, 6851, 43, 16472, 8985, 11069, 10458, 13490, 18266, 2750, 16700, 6286, 15196, 18003, 13259, 3912, 10616, 987, 7908, 3560, 13481, 15298, 2591, 19803, 16914, 9027, 11052, 11067, 1688, 16536, 3767, 19597, 11449, 12993, 7416, 18295, 19524, 1784, 15663, 6806, 13535, 10053, 14962, 3846, 17412, 9834, 6269, 5045, 17569, 17323, 16449, 12819, 10718, 6465, 2957, 14846, 5448, 819, 9032, 15907, 11129, 4848, 1494, 13333, 5883, 4624, 3283, 9275, 7630, 4284, 19945, 4756, 3260, 10699, 7282, 16619, 7155, 4721, 9452, 15797, 4214, 11343, 6152, 16157, 8506, 13447, 3055, 15273, 16313, 3195, 9803, 13515, 8626, 1685, 12145, 1815, 11815, 12679, 4018, 1343, 14477, 9323, 17782, 17509, 7019, 6591, 436, 6036, 6315, 11501, 15987, 7166, 11830, 17983, 18191, 5617, 16087, 10643, 19274, 7834, 5944, 950, 7689, 4704, 15494, 9481, 6836, 18844, 12262, 17158, 8056, 10590, 1410, 8381, 4634, 2990, 8662, 5280, 7955, 17821, 19267, 3449, 1630, 11437, 7746, 16706, 16585, 11812, 13296, 19850, 15572, 14754, 7825, 15962, 5279, 16504, 5446, 19038, 9707, 7627, 16748, 13560, 13092, 17083, 11457, 6015, 12041, 2127, 9379, 3516, 8476, 17321, 19660, 18165, 16037, 11031, 5255, 18655, 12561, 8685, 12311, 13505, 17098, 18971, 14496, 5124, 4021, 287, 7345, 3745, 16788, 18605, 8858, 16123, 16228, 908, 8049, 17486, 7024, 14343, 3422, 102, 9477, 8888, 5750, 948, 2252, 11082, 5250, 8173, 17278, 5824, 16377, 19681, 5656, 16384, 13213, 18859, 14081, 4821, 13502, 4828, 5143, 16934, 2472, 6026, 16105, 18755, 17894, 14579, 19825, 6297, 5634, 10735, 18988, 7587, 16387, 18448, 5650, 14880, 413, 5793, 14402, 18775, 10323, 7668, 5605, 17711, 8706, 16859, 4092, 14420, 15325, 10250, 12962, 13241, 10173, 18596, 19760, 16508, 4186, 153, 1159, 15676, 15060, 18841, 1133, 5506, 9939, 4831, 17887, 5312, 787, 6301, 19720, 3074, 2579, 11960, 812, 19197, 12023, 2555, 12753, 9839, 3228, 13025, 19674, 19631, 7278, 121, 9098, 5101, 5114, 3578, 9825, 4915, 18102, 7781, 9612, 7353, 16, 19924, 741, 1305, 6992, 1609, 11073, 13733, 2645, 19627, 13091, 14996, 18012, 916, 8402, 3115, 19368, 17915, 9086, 11013, 16734, 5017, 17857, 5670, 7845, 7990, 18419, 11617, 17032, 6699, 17714, 14027, 16642, 5536, 14286, 3730, 17062, 250, 17204, 333, 4671, 761, 17810, 16417, 2894, 165, 16722, 16879, 6485, 19647, 1860, 6927, 10264, 18261, 3873, 248, 7020, 3945, 7552, 16561, 3517, 12047, 11520, 7818, 12560, 10199, 17570, 15889, 2267, 15891, 16257, 4507, 7573, 7060, 13098, 5214, 9050, 6287, 6358, 18630, 6477, 19045, 18404, 16512, 5460, 15571, 18702, 13005, 14609, 9270, 12901, 19153, 6542, 16802, 12040, 11576, 9886, 13912, 10596, 16206, 8155, 13000, 693, 17489, 17732, 622, 6086, 807, 10437, 8203, 14422, 6834, 5549, 1485, 5494, 12405, 17954, 12689, 10516, 19366, 19806, 8504, 11682, 14795, 11869, 1813, 18566, 13983, 9396, 5349, 15673, 4877, 15361, 6514, 2103, 14934, 19980, 13542, 9978, 13110, 8641, 19111, 18311, 8232, 11303, 782, 2083, 4096, 6734, 1823, 10572, 9054, 6966, 12347, 3237, 12969, 17176, 11861, 18978, 14933, 16152, 19429, 16163, 7516, 11317, 15553, 4087, 10119, 13240, 6731, 4233, 10685, 12608, 8025, 14600, 3159, 9469, 6818, 1693, 3514, 12306, 18417, 17038, 16248, 17943, 18001, 14912, 4486, 6000, 7213, 14430, 6815, 12117, 18359, 10576, 16627, 8769, 5597, 13578, 15317, 7302, 11208, 4728, 5627, 10676, 6693, 16641, 4585, 13936, 17050, 5391, 12669, 11084, 15137, 18880, 5901, 2966, 10903, 13863, 15940, 246, 15843, 7761, 17689, 18503, 8904, 16679, 11544, 4348, 15420, 9819, 16756, 16852, 11406, 19847, 1236, 19757, 6559, 17766, 6445, 7264, 5087, 11143, 2655, 11762, 5046, 17639, 12115, 18449, 7261, 5526, 19367, 15602, 7764, 4074, 19251, 19447, 6612, 740, 1614, 4415, 2089, 12881, 7992, 17666, 7096, 5088, 13554, 17827, 1413, 17415, 17390, 2806, 8052, 7598, 18938, 1172, 8961, 18178, 10151, 8593, 3981, 11695, 18781, 12809, 15498, 8172, 3604, 2707, 14742, 18692, 2005, 1740, 9812, 6188, 6029, 10253, 8032, 19208, 17591, 40, 11098, 7309, 6140, 1981, 14053, 1873, 10077, 16519, 16907, 2293, 9490, 1835, 11413, 10621, 19423, 16498, 7941, 4390, 18981, 4367, 5248, 2581, 11635, 15360, 11431, 19263, 2608, 14205, 17926, 1671, 9876, 4446, 3017, 11033, 7545, 4252, 1289, 13248, 13747, 15351, 3596, 18968, 1623, 10644, 10137, 7314, 11894, 13699, 14007, 4908, 3292, 14502, 13396, 9307, 16765, 18333, 6685, 17759, 14596, 9328, 1561, 9943, 13804, 13907, 9383, 12458, 17822, 10534, 11519, 9427, 6855, 19602, 5304, 3858, 3838, 5707, 4406, 9874, 2285, 12457, 9093, 6380, 19832, 19906, 476, 2352, 6474, 18342, 16349, 13266, 488, 8563, 19043, 18653, 14954, 12016, 6912, 9610, 49, 12125, 1160, 18554, 17846, 734, 8030, 15787, 1282, 1838, 7402, 11989, 7681, 2977, 17, 10064, 10809, 12555, 4573, 1165, 16036, 8062, 17978, 8387, 6421, 19912, 9948, 13341, 2149, 17358, 11152, 12295, 9358, 3085, 15396, 2547, 19196, 9250, 18081, 1451, 9045, 6608, 3235, 8977, 7140, 12968, 1139, 19892, 17735, 9663, 6694, 11912, 157, 12945, 7323, 18336, 6048, 9740, 12875, 17991, 17610, 3334, 9334, 8878, 11656, 1453, 9918, 588, 10815, 2399, 4307, 3698, 13838, 7857, 15411, 5148, 4007, 14955, 9798, 11698, 13179, 7138, 6348, 4212, 16194, 15247, 17414, 5243, 11180, 9950, 8586, 16836, 13811, 7621, 17272, 6548, 1290, 18645, 5751, 10674, 13579, 16587, 4282, 17944, 15401, 10440, 10858, 14353, 10043, 13835, 8163, 8923, 16286, 15835, 3886, 10346, 4538, 18817, 16362, 4742, 3044, 18520, 16351, 2872, 2728, 12525, 3662, 8772, 19919, 12870, 11095, 2368, 18432, 7232, 9382, 5332, 7415, 7812, 5421, 11369, 7633, 13117, 4651, 13771, 18832, 3943, 19222, 9714, 15460, 13487, 11598, 4522, 16120, 9599, 6640, 12110, 12264, 6225, 14711, 2712, 13180, 4006, 18752, 12010, 8823, 6172, 9802, 17515, 5320, 3653, 11159, 13807, 846, 9081, 12780, 3198, 4343, 13904, 14949, 8744, 5599, 5099, 13663, 3957, 18986, 855, 14728, 7520, 7622, 19772, 18632, 12631, 14457, 18443, 7521, 11213, 1320, 19248, 3297, 14405, 9917, 6528, 11975, 17649, 13344, 1896, 11742, 2648, 14226, 15943, 8088, 18526, 5373, 3418, 16122, 7197, 7511, 14818, 13006, 1998, 6769, 4602, 14059, 16538, 17579, 16835, 4162, 18438, 3733, 5236, 11354, 15124, 13679, 14249, 10237, 19883, 1824, 4723, 7125, 8094, 15109, 4199, 12178, 10825, 2570, 6675, 10482, 14443, 5370, 15805, 9407, 12576, 905, 9191, 4745, 17238, 16591, 14837, 11862, 5827, 12508, 18565, 3467, 15338, 19900, 13766, 4698, 6219, 2698, 18983, 15019, 16950, 15859, 1063, 7089, 12190, 18436, 18597, 6739, 8001, 6284, 7606, 11900, 13464, 19082, 9479, 9910, 3439, 8717, 8348, 12498, 4648, 10622, 15274, 1506, 5611, 9619, 14330, 14209, 19956, 8074, 4325, 18542, 3925, 14911, 1778, 11992, 13367, 18758, 5411, 2000, 127, 10649, 7890, 7046, 17896, 4052, 1030, 16269, 18217, 17965, 19351, 10798, 6192, 6538, 14967, 1234, 1695, 12340, 7877, 17517, 633, 19992, 17374, 7541, 17742, 13543, 15629, 14550, 11886, 4899, 4534, 19717, 315, 6744, 1013, 11813, 14859, 1542, 1608, 9105, 2430, 3314, 11784, 16988, 13052, 2766, 10293, 4637, 15425, 14158, 2622, 7615, 2963, 16043, 16270, 16916, 4744, 3483, 15938, 5559, 16806, 17945, 111, 1341, 5546, 10084, 18065, 14661, 14169, 19325, 6582, 15999, 16543, 10591, 16327, 12208, 15148, 16156, 18138, 11238, 5778, 4653, 19856, 1243, 12492, 1904, 16121, 16853, 3118, 12826, 15680, 14147, 17292, 11866, 9932, 19908, 14662, 5418, 818, 19694, 12926, 6795, 632, 17722, 17461, 9302, 19413, 8950, 10582, 19022, 9282, 5125, 10038, 16509, 10344, 16920, 10569, 10684, 16744, 9884, 14537, 4904, 1617, 9454, 18612, 14127, 3584, 5652, 13035, 2765, 9226, 708, 13635, 4112, 15725, 9565, 6923, 7164, 9970, 626, 11572, 8354, 3668, 15087, 7360, 15432, 16456, 8219, 4170, 5805, 2350, 12169, 18955, 9169, 9699, 9223, 8169, 19691, 13634, 5063, 647, 10707, 10710, 18349, 15520, 3599, 2321, 17094, 11505, 12611, 12518, 5307, 9607, 17503, 888, 3136, 7249, 15386, 5831, 2664, 19491, 11179, 5165, 19182, 17082, 13584, 11643, 3845, 11290, 19474, 6807, 17850, 5106, 17330, 15488, 14043, 4794, 5988, 18839, 3002, 4992, 18634, 3895, 11623, 6280, 815, 3204, 10317, 16710, 19901, 19617, 8702, 10195, 15031, 1057, 5401, 3497, 5323, 15993, 1797, 6520, 15002, 13292, 9338, 7852, 7293, 8676, 7245, 2122, 13096, 8321, 17246, 2216, 10914, 13008, 4892, 4286, 2159, 9326, 6994, 7181, 2425, 7887, 17148, 8645, 10727, 13821, 19722, 9092, 966, 5681, 1365, 97, 6165, 14217, 1249, 9586, 16229, 17210, 6737, 9651, 15088, 8044, 7859, 8192, 13873, 11858, 5314, 2326, 5285, 5970, 15778, 7368, 12318, 16961, 10396, 5443, 10677, 18130, 17784, 9618, 12637, 3220, 2466, 10473, 14075, 10340, 8303, 2943, 2247, 17849, 618, 10801, 4296, 3003, 14097, 6648, 3059, 7438, 4090, 9388, 779, 11613, 19667, 5853, 15050, 4905, 13085, 17522, 17053, 7601, 14351, 4295, 10397, 10476, 8160, 14103, 2934, 6633, 11953, 18914, 15001, 5234, 18214, 8847, 920, 14277, 10356, 18467, 19830, 14214, 13080, 13136, 17404, 17340, 5517, 5149, 16034, 15090, 9521, 13200, 2677, 13327, 6982, 2902, 7760, 17138, 11178, 11923, 18476, 1217, 18156, 17868, 16015, 8297, 999, 10583, 11522, 5050, 18220, 16524, 11056, 7620, 8966, 690, 9734, 3421, 14622, 16582, 8980, 2988, 932, 13941, 12976, 11562, 4328, 14520, 11741, 3463, 7391, 8045, 9755, 12755, 12003, 18487, 6318, 17895, 16828, 6434, 14942, 7183, 15576, 18726, 18607, 11485, 10351, 1793, 3956, 17997, 2818, 13215, 10311, 18005, 8130, 6554, 12362, 468, 9616, 16478, 9060, 1502, 11999, 11390, 17151, 14842, 12185, 4551, 10138, 1941, 11257, 8615, 14268, 11422, 8275, 6117, 9660, 3382, 15033, 15869, 8315, 11275, 1191, 17535, 7495, 9539, 13247, 5732, 7776, 10227, 13926, 10125, 4335, 8968, 817, 5851, 19759, 13419, 2008, 11292, 4338, 16522, 9010, 15257, 6119, 1578, 12223, 8222, 18864, 2202, 16989, 1296, 7830, 11163, 19193, 16501, 5144, 1891, 4911, 6751, 2324, 3894, 18796, 1443, 11262, 13550, 19767, 4621, 9511, 5306, 6613, 5649, 5994, 15492, 3233, 2521, 11385, 19436, 2104, 11753, 17289, 1675, 1615, 1417, 18869, 7215, 15009, 13545, 8216, 10419, 13070, 559, 2389, 16359, 12122, 1620, 1985, 4221, 13280, 6353, 934, 17979, 1541, 4445, 19373, 16584, 14321, 2892, 10939, 18401, 19967, 14060, 9777, 12910, 8960, 15150, 10441, 3079, 2812, 9110, 6635, 19146, 4597, 3042, 17853, 19238, 4433, 6314, 3751, 4526, 9694, 16443, 12399, 4985, 527, 10451, 18276, 12152, 1141, 10895, 5774, 16409, 16470, 1278, 18999, 13982, 504, 7842, 13336, 366, 12692, 9021, 1440, 5963, 7029, 4002, 1536, 9022, 6719, 13791, 14154, 3700, 14935, 2039, 13856, 15662, 17648, 18469, 11325, 3920, 14946, 9528, 353, 10880, 10671, 1926, 2798, 5092, 13418, 8798, 17464, 9285, 16107, 9895, 15283, 6370, 12393, 13432, 12682, 12266, 16893, 284, 8755, 3934, 395, 9213, 13985, 3016, 345, 14865, 9160, 12724, 3601, 18099, 3851, 12407, 15448, 18710, 9717, 13773, 7357, 8254, 3908, 10933, 7317, 16299, 16276, 15664, 2052, 18092, 4483, 1258, 1646, 5842, 19714, 828, 8658, 11823, 7126, 776, 8623, 14066, 2553, 7698, 17668, 10150, 14951, 1207, 16588, 11267, 19843, 16061, 4567, 16196, 3126, 2469, 1204, 3127, 5846, 17839, 14910, 17660, 15314, 2045, 7451, 15635, 13916, 1012, 11662, 18873, 10849, 5792, 14345, 15949, 16964, 12067, 11968, 9195, 2776, 12658, 7738, 4425, 1531, 19324, 7376, 13648, 6868, 5089, 6108, 6630, 18139, 6779, 3225, 7049, 19606, 13994, 4045, 73, 19449, 19629, 11483, 5902, 14235, 14975, 863, 18690, 174, 14973, 18103, 11845, 6264, 449, 15062, 2658, 10445, 2226, 2695, 10795, 2706, 5919, 4941, 7068, 5467, 11523, 15903, 2975, 5782, 3970, 4337, 13106, 19167, 16468, 4495, 37, 18895, 15819, 15906, 12777, 2522, 9557, 8567, 14820, 15780, 8549, 3469, 16095, 1080, 11887, 2967, 5662, 12534, 16537, 9956, 19108, 15734, 6858, 2568, 9594, 14937, 5098, 10992, 1751, 10658, 9188, 427, 13949, 11263, 80, 16298, 17881, 9330, 16503, 2498, 3315, 7464, 12884, 1741, 8880, 19835, 3626, 7427, 6215, 17988, 15296, 17985, 17015, 6674, 14527, 15246, 6545, 9428, 507, 3152, 6873, 4290, 5829, 8470, 6167, 7948, 17248, 3061, 13544, 4130, 14690, 892, 10812, 5941, 1820, 16412, 4438, 15537, 15350, 6449, 13594, 11452, 18776, 3129, 16880, 12154, 4320, 9872, 11230, 7042, 17361, 15712, 2639, 19170, 1539, 8952, 12620, 7574, 4864, 9053, 1079, 4264, 14012, 12486, 8263, 14174, 6143, 15367, 9881, 12709, 16813, 3673, 12622, 9739, 19827, 17607, 14952, 10488, 8779, 15097, 10639, 13420, 15194, 19207, 1745, 10224, 271, 17705, 7518, 276, 12672, 12860, 14860, 14122, 17702, 7995, 18790, 1724, 13332, 2619, 7480, 11014, 14569, 19562, 17645, 10198, 16660, 10794, 156, 12565, 19397, 3171, 10632, 18674, 15085, 14011, 19482, 16996, 3146, 2950, 12764, 3576, 684, 3591, 7169, 7202, 11599, 6857, 14873, 13538, 11331, 14031, 2131, 5377, 7710, 11905, 1689, 13975, 16896, 6698, 16140, 13984, 14825, 6574, 3765, 12758, 13987, 14779, 11314, 10248, 306, 4107, 8564, 2114, 11151, 7778, 2253, 18325, 3077, 6262, 3026, 13531, 12612, 10285, 11764, 15928, 9292, 14195, 14744, 2446, 12389, 15045, 6067, 8938, 5922, 748, 19018, 7575, 12156, 8096, 19893, 16365, 19595, 1995, 87, 6452, 16097, 16010, 5937, 13869, 115, 16315, 10987, 18867, 19520, 18406, 5729, 646, 17935, 1654, 10894, 3128, 15424, 8971, 13621, 17967, 9120, 14580, 18014, 12943, 12967, 5956, 6938, 5199, 11800, 15720, 19411, 847, 17829, 4816, 386, 14254, 2146, 13343, 12334, 18929, 12450, 7985, 2604, 11025, 9865, 9827, 19795, 18289, 10926, 11551, 13845, 7795, 18348, 6124, 16863, 3792, 4011, 13988, 8204, 8365, 8367, 2372, 6590, 19356, 1800, 13102, 15896, 17193, 10085, 2203, 11853, 1020, 8738, 17863, 6135, 3323, 2456, 16960, 6617, 19003, 15578, 6139, 13592, 6446, 17568, 8080, 11247, 10691, 9287, 6418, 7503, 12329, 4117, 1992, 3147, 11881, 1684, 12132, 1857, 4963, 2686, 14642, 13677, 9102, 208, 6258, 3263, 865, 14349, 7426, 15399, 9836, 6077, 1979, 18875, 7010, 14368, 3778, 2680, 2468, 10003, 18468, 11307, 17397, 13251, 12623, 10689, 12445, 19913, 522, 11706, 2209, 12927, 8332, 5197, 2073, 19412, 813, 3672, 2406, 14731, 18393, 5090, 1404, 5131, 1749, 18458, 3252, 19225, 19715, 16712, 13851, 1629, 15721, 17544, 9503, 18197, 8091, 1478, 6660, 3335, 17079, 15120, 11914, 19982, 4044, 2408, 6183, 211, 19456, 4540, 2027, 4308, 5720, 7742, 4158, 19948, 11673, 394, 2035, 10558, 18238, 14287, 8924, 18911, 1704, 1153, 6562, 10490, 11676, 18111, 17306, 3897, 13878, 7832, 10290, 2827, 13760, 13857, 6944, 456, 10131, 15093, 6211, 8151, 16173, 6001, 17851, 19565, 15095, 11443, 4347, 8035, 4731, 14073, 18724, 18405, 13818, 642, 17392, 18876, 12710, 565, 9933, 1450, 18541, 4718, 5474, 19950, 18020, 11508, 10988, 1799, 14121, 14546, 3330, 5623, 13844, 18169, 16784, 3682, 16718, 16268, 3406, 9378, 11615, 2505, 11783, 3530, 18686, 12816, 11996, 10086, 4429, 14989, 5267, 9025, 17587, 19657, 9028, 13435, 16023, 17108, 15575, 13756, 17542, 6049, 5519, 3251, 13144, 18368, 768, 14055, 7988, 8635, 11367, 7121, 16782, 16187, 15692, 16022, 12068, 3630, 5891, 11840, 12158, 2169, 12845, 10048, 16059, 1867, 19818, 6397, 4956, 2896, 17605, 7234, 10487, 2172, 18400, 5878, 297, 8264, 10121, 19228, 19921, 10432, 8460, 18563, 15857, 12108, 1262, 17546, 12488, 7797, 9147, 16293, 16657, 6724, 7696, 2684, 4883, 16096, 8245, 5864, 2939, 17114, 4652, 8548, 19353, 9864, 2630, 14284, 19592, 14605, 15311, 12388, 16983, 5215, 3394, 16465, 4124, 19245, 2791, 6771, 2112, 14675, 12261, 2557, 12737, 3540, 5171, 8482, 17091, 10165, 1844, 17382, 11184, 11511, 6177, 14674, 11256, 16413, 19909, 16379, 990, 547, 4240, 4426, 10788, 6444, 3549, 5030, 893, 12715, 5565, 16200, 16694, 1039, 8064, 14677, 14598, 11591, 10984, 9553, 10672, 11686, 9315, 1862, 18297, 17072, 13599, 18823, 5945, 15975, 10673, 3624, 1078, 10376, 16295, 5934, 8333, 6603, 5052, 13827, 18885, 8066, 18529, 11250, 14288, 18345, 12082, 576, 830, 11426, 7983, 1184, 5980, 1607, 19320, 4493, 19081, 7699, 9911, 19065, 15066, 9212, 4580, 8998, 19073, 18277, 6292, 9144, 17422, 13692, 3643, 12934, 12028, 182, 1918, 6569, 2515, 14745, 3697, 6386, 16821, 10047, 13010, 12556, 3202, 4377, 8775, 12350, 9485, 1596, 12324, 4967, 14839, 13193, 17356, 9727, 19666, 18315, 11521, 462, 2006, 760, 16423, 12310, 9982, 15895, 119, 11012, 13616, 19496, 6079, 1802, 6762, 15208, 5335, 16292, 1580, 15798, 16589, 7726, 6844, 7879, 9317, 2652, 9057, 4876, 3777, 11548, 8286, 2610, 16803, 7513, 5813, 13757, 6196, 15598, 567, 15347, 7679, 19046, 6302, 1606, 8047, 14461, 16516, 11402, 9094, 18496, 11302, 6324, 490, 6837, 18247, 12643, 14199, 2020, 7583, 4102, 10364, 1994, 6894, 15753, 10890, 18029, 9393, 6138, 19033, 8857, 147, 17921, 12184, 5889, 1272, 15165, 6237, 303, 18397, 11614, 790, 3708, 70, 6304, 13607, 9554, 18474, 14441, 4659, 12414, 17916, 6552, 18868, 10774, 4066, 17964, 12263, 16986, 11235, 5705, 18260, 9979, 6441, 7342, 8471, 14576, 16581, 16489, 19809, 16611, 14687, 10846, 882, 3347, 653, 138, 9677, 3741, 14036, 7298, 2419, 17549, 5172, 4557, 14061, 12420, 9986, 5920, 12535, 11396, 12982, 18232, 9530, 17883, 14285, 13186, 16631, 2031, 671, 9572, 8956, 10172, 4662, 3951, 11169, 5257, 3098, 2582, 15219, 696, 8887, 15637, 4014, 3743, 13216, 18050, 3867, 8413, 7387, 8727, 8458, 17454, 378, 4434, 1297, 4647, 17030, 1149, 14716, 10292, 5394, 7253, 9179, 2862, 10796, 10161, 5392, 6843, 5363, 233, 12681, 10726, 11890, 5564, 16639, 5002, 5403, 14573, 6499, 12355, 12176, 14481, 14558, 13306, 12212, 16738, 10080, 8, 5999, 19639, 10917, 10520, 4610, 14333, 12533, 12544, 18509, 18931, 19546, 10526, 19782, 7027, 7247, 2184, 10626, 13768, 9034, 18216, 1416, 10215, 19958, 2906, 14084, 9854, 19844, 5942, 14415, 19392, 7878, 4948, 2764, 10544, 4858, 17730, 7725, 2300, 15436, 13719, 6682, 4496, 5184, 9148, 16877, 17131, 2271, 16760, 13381, 9496, 3605, 6503, 16347, 12742, 18409, 15506, 10211, 17192, 795, 16727, 13752, 16855, 3856, 13670, 832, 1345, 17498, 12953, 5273, 15144, 8551, 13909, 4564, 10111, 1301, 1074, 12915, 4895, 13479, 2212, 12803, 16452, 8424, 7113, 2322, 8526, 89, 10646, 5218, 17057, 19054, 12703, 11843, 5059, 4474, 11146, 15076, 13914, 12086, 16628, 9748, 19379, 19765, 6710, 9051, 14145, 14440, 1102, 6032, 18699, 28, 12034, 4327, 18294, 15476, 301, 6634, 10093, 7417, 12315, 7226, 10216, 11701, 13772, 95, 4063, 15729, 13142, 18957, 14238, 18727, 6209, 19931, 1635, 11580, 2998, 18392, 13366, 10813, 10828, 11057, 4779, 15142, 5478, 13716, 10762, 13100, 10860, 15126, 18219, 5193, 4586, 5836, 15594, 17749, 15382, 3065, 19643, 13885, 3364, 14945, 17034, 7838, 6676, 14319, 19066, 2343, 11456, 6893, 4271, 18385, 11638, 4532, 8023, 1107, 11653, 1822, 5664, 14900, 12659, 16433, 6733, 19801, 16083, 12854, 973, 17820, 19713, 19231, 9620, 7485, 9896, 13962, 5772, 15783, 5150, 9701, 4743, 14228, 12027, 15589, 4245, 13628, 755, 2046, 9805, 5018, 5246, 8513, 19376, 16011, 17400, 6031, 2354, 10546, 18994, 18507, 1439, 16771, 4122, 12773, 17686, 14522, 19936, 4266, 10279, 8304, 12170, 14338, 19337, 11063, 18321, 6901, 8836, 8376, 3167, 1933, 4029, 13301, 12874, 2270, 7973, 3494, 982, 1958, 15310, 6199, 11468, 4059, 1044, 16762, 18613, 16055, 14356, 18578, 8556, 10407, 6205, 13572, 15250, 6451, 16355, 18891, 8029, 17310, 326, 10642, 19644, 18164, 1024, 19175, 308, 3143, 14543, 4619, 9331, 13290, 1874, 2881, 17764, 19015, 14777, 11233, 236, 5051, 11353, 5178, 15192, 6398, 7870, 17258, 4657, 12748, 19096, 2852, 2398, 8986, 19778, 2594, 5952, 5458, 6543, 12588, 18223, 17395, 6529, 15339, 16009, 17403, 15147, 6644, 5969, 13903, 18789, 2580, 13608, 12903, 3348, 19349, 14015, 3786, 10263, 9099, 9868, 17465, 13033, 18268, 18079, 1501, 10536, 7448, 6524, 1703, 5211, 19569, 19896, 2229, 15024, 7502, 11205, 4209, 4577, 14078, 2422, 17953, 9173, 1920, 5471, 19711, 15929, 1081, 19035, 317, 780, 15233, 11118, 9355, 5237, 7975, 3883, 4220, 14471, 18502, 12581, 5532, 7937, 15893, 1257, 8373, 7873, 11475, 6424, 1726, 9746, 1019, 14566, 15301, 1208, 11704, 10589, 10761, 13831, 18624, 14354, 17156, 18525, 6364, 3850, 9230, 14691, 12402, 12011, 11575, 3695, 16526, 6050, 2829, 10981, 10155, 8299, 9043, 5378, 12831, 17688, 15845, 5108, 15162, 10566, 2101, 16843, 944, 18847, 18709, 2507, 15811, 18381, 6116, 19109, 3680, 5572, 7769, 13015, 9520, 5455, 6409, 369, 2428, 1192, 9204, 13316, 2830, 5174, 14678, 605, 10564, 18002, 6780, 10638, 13986, 13775, 6729, 16198, 738, 9751, 18221, 13262, 6469, 19965, 7998, 1018, 10857, 7453, 5913, 11034, 18097, 19362, 15543, 11746, 2094, 13551, 4511, 6760, 18531, 9566, 11490, 5345, 18883, 8202, 11489, 2576, 5624, 18292, 11043, 19659, 4022, 8334, 6227, 13513, 12442, 17259, 9506, 7365, 4937, 142, 17770, 3302, 11040, 4291, 4512, 11121, 17268, 7595, 15887, 205, 44, 18855, 15826, 11705, 15048, 10845, 4484, 8423, 15697, 12026, 731, 17273, 682, 1071, 5035, 2238, 969, 2314, 19438, 7393, 254, 10017, 15930, 6047, 2926, 5490, 13602, 14366, 2025, 2772, 1350, 10333, 6925, 10702, 3459, 546, 15163, 19777, 3656, 6263, 1449, 19719, 71, 16259, 4471, 641, 15548, 5865, 18913, 11467, 1119, 3853, 7544, 18678, 13925, 14010, 5900, 19933, 954, 1037, 13613, 16829, 13349, 9893, 3269, 16529, 5390, 10406, 18904, 5992, 6360, 12607, 10081, 11332, 16114, 10496, 13355, 7346, 7398, 12260, 18461, 2441, 9639, 5927, 11816, 15665, 17933, 15218, 3499, 7704, 7603, 18176, 12302, 17990, 15994, 11448, 12095, 17018, 7332, 8335, 4575, 15020, 19807, 12814, 1064, 12917, 9035, 12422, 10614, 16548, 4464, 11689, 13976, 833, 1493, 2384, 12657, 4172, 10968, 6151, 6005, 5940, 6586, 16560, 14817, 5904, 4216, 526, 3169, 4574, 2623, 16382, 16139, 3151, 7260, 10717, 4680, 15978, 15268, 7279, 3721, 14331, 5439, 15022, 9838, 19697, 15183, 3622, 6203, 15852, 18040, 9303, 2182, 3008, 10521, 6051, 3904, 8875, 19394, 771, 12947, 8161, 12553, 5896, 19523, 1691, 7626, 2504, 1495, 7967, 717, 18282, 7536, 13537, 2476, 16678, 2413, 4432, 1098, 9211, 7676, 486, 10051, 4398, 12443, 2501, 19816, 9916, 8447, 11100, 12530, 9386, 5042, 879, 12718, 6134, 14577, 17129, 2495, 17507, 4632, 11835, 3340, 1833, 368, 16091, 3613, 10935, 14273, 13172, 7386, 9070, 17811, 1951, 6002, 14894, 15902, 18667, 1224, 14240, 12867, 8770, 15479, 9666, 10338, 13069, 11515, 4352, 13946, 7708, 9048, 10130, 16531, 10836, 14398, 3177, 17786, 1294, 3600, 15864, 10818, 1528, 7072, 6285, 12959, 18877, 220, 1648, 2947, 12118, 8221, 19250, 1364, 15888, 18064, 7254, 6783, 2932, 17608, 14360, 10513, 8885, 2410, 18961, 18166, 1231, 14984, 5505, 17492, 19430, 19414, 11432, 5254, 14373, 5790, 12081, 18973, 10545, 14377, 16463, 6254, 13433, 9467, 3762, 18293, 510, 2387, 188, 5628, 13547, 6652, 4690, 4225, 13758, 16640, 307, 11311, 7788, 2395, 1312, 12527, 19974, 14898, 16763, 13565, 15181, 11640, 6808, 9044, 8072, 3153, 16786, 9813, 11222, 6251, 16243, 9984, 9152, 4369, 17633, 5350, 2532, 18070, 12720, 465, 12956, 1280, 11618, 12830, 1692, 11963, 19136, 4085, 12288, 14058, 5722, 12545, 1457, 12897, 14765, 4514, 81, 19125, 5168, 12464, 2185, 16207, 5795, 11234, 2230, 15645, 5974, 10709, 1464, 6788, 2199, 15427, 2242, 11486, 1644, 8237, 15878, 17070, 3865, 11850, 11168, 19154, 1171, 14382, 12186, 14821, 9498, 19459, 19255, 7675, 7810, 11295, 17482, 9294, 16675, 12654, 17969, 19123, 13170, 13739, 14741, 1982, 10326, 17680, 8983, 9568, 6461, 11749, 15489, 11066, 12799, 16335, 5721, 8190, 15440, 9789, 8572, 18420, 13323, 15016, 6088, 2671, 7238, 18705, 6709, 18725, 14927, 5422, 6821, 9824, 12304, 1355, 17667, 7378, 8891, 8810, 16056, 18670, 14958, 13829, 1248, 6934, 6413, 6255, 14148, 10665, 16820, 2560, 4249, 18433, 17081, 14640, 16284, 19988, 6919, 11236, 1812, 11951, 6920, 1390, 13955, 14500, 13051, 15055, 2487, 7517, 12891, 2196, 13951, 3594, 15408, 2160, 13338, 1400, 6240, 7483, 8230, 14433, 13245, 17214, 8610, 14256, 14519, 2168, 14722, 14667, 15324, 15628, 15700, 10982, 8754, 2092, 1090, 5463, 14494, 18881, 17738, 2448, 1446, 4019, 15898, 3205, 13632, 2743, 5268, 16186, 516, 18618, 7828, 14893, 9433, 15794, 16104, 12697, 19006, 14454, 13185, 13660, 14495, 4101, 15992, 524, 2248, 2041, 1423, 17261, 2625, 12723, 3278, 9229, 9139, 17805, 12172, 2426, 3715, 17417, 8314, 899, 12975, 12200, 3953, 8790, 7648, 14808, 4568, 6206, 12605, 10233, 13462, 12438, 3043, 19279, 12632, 16344, 4387, 14266, 10563, 19604, 13346, 6509, 3413, 15800, 18622, 10065, 10940, 13042, 12738, 1032, 16984, 1836, 16012, 8071, 3632, 5512, 11874, 17402, 1759, 1696, 10706, 15122, 11917, 3431, 5067, 9769, 12644, 16799, 11803, 2821, 1267, 5036, 16426, 4009, 7073, 351, 8902, 10186, 3214, 13889, 1306, 3308, 4537, 16238, 17687, 13279, 4678, 3893, 6311, 7982, 10568, 2629, 2587, 18650, 14237, 5153, 5743, 11609, 15173, 4720, 3173, 18810, 14627, 4566, 4204, 15573, 4192, 4076, 11864, 6080, 9368, 11103, 13683, 12919, 19526, 216, 7641, 18728, 6835, 8243, 15331, 8405, 15453, 6443, 5469, 2948, 8665, 7087, 2725, 13331, 9713, 5282, 9424, 14884, 2256, 10289, 9219, 15982, 15632, 17562, 13166, 16689, 3374, 14340, 12063, 18609, 17431, 3025, 2462, 13928, 2938, 12159, 15439, 11851, 4128, 12189, 3277, 2165, 14379, 9848, 11952, 1061, 13234, 12249, 12201, 9537, 14485, 14957, 18083, 18617, 13334, 6228, 7280, 17585, 1205, 11699, 10884, 14013, 1529, 3719, 16166, 13931, 10999, 8984, 14057, 5012, 7120, 15053, 2310, 904, 15779, 6579, 19252, 203, 1715, 8746, 7697, 10624, 15908, 16381, 19408, 12618, 2009, 11210, 14416, 6076, 9841, 15409, 10669, 8932, 19646, 15810, 16065, 11513, 5308, 9106, 12313, 18579, 7718, 568, 19323, 8532, 3986, 5334, 12358, 13723, 9575, 12529, 5262, 12463, 17092, 11365, 12888, 3247, 14572, 17893, 54, 12564, 9829, 160, 13727, 4788, 9488, 11090, 15984, 9820, 8279, 4368, 14838, 16695, 1886, 10392, 7924, 17918, 11955, 19055, 1022, 3901, 1448, 9556, 3244, 18290, 6983, 4766, 4968, 11161, 15959, 13082, 19477, 13726, 18096, 8280, 736, 4056, 16380, 17267, 19566, 10309, 5765, 14743, 4750, 9112, 7753, 10009, 10012, 6816, 8537, 16376, 11282, 18975, 13948, 4097, 11703, 7100, 3829, 13264, 45, 7894, 12060, 15858, 7727, 3386, 18017, 15197, 1456, 17481, 18700, 10178, 17149, 6939, 17909, 18842, 18740, 3687, 14581, 13705, 18661, 2565, 5697, 12687, 11873, 4982, 2249, 4219, 3958, 5833, 8124, 17539, 12948, 15462, 12811, 13959, 12348, 19928, 6494, 10415, 1125, 5427, 9685, 16497, 16604, 13843, 17440, 16070, 1002, 18184, 4143, 17914, 5297, 10394, 18245, 2200, 4365, 9140, 7730, 10193, 1712, 184, 7628, 17428, 11941, 11451, 17410, 14863, 6394, 9290, 4334, 5020, 13662, 665, 14458, 19103, 2323, 18853, 16404, 11831, 235, 17751, 6926, 2705, 4593, 1169, 15979, 171, 1930, 17074, 17809, 12568, 13312, 5643, 8122, 11710, 18833, 3290, 9071, 6058, 1134, 1233, 14727, 15237, 15577, 18822, 7344, 11190, 18429, 4492, 2987, 6261, 5270, 18688, 15545, 12572, 2917, 11630, 19209, 15718, 6948, 16940, 11120, 3799, 107, 10570, 12142, 11504, 10273, 11273, 11772, 11879, 1803, 4160, 9543, 25, 12740, 4477, 699, 14615, 8344, 18818, 10362, 592, 4321, 13071, 6621, 577, 7, 4412, 19121, 9435, 991, 11751, 599, 7713, 4955, 19202, 11789, 1831, 16054, 8573, 18745, 10470, 7041, 16146, 1864, 1368, 13383, 9215, 19114, 6945, 4067, 15028, 402, 8559, 1717, 12616, 7423, 8903, 9453, 5544, 15328, 14403, 15569, 19212, 375, 2111, 17046, 14272, 3066, 14866, 154, 19736, 11606, 6483, 1519, 3434, 2418, 12238, 9232, 18594, 16774, 5957, 5238, 7340, 19164, 13929, 4427, 17740, 6260, 16773, 12166, 16949, 17453, 16938, 11200, 19383, 1066, 13219, 7826, 18274, 14193, 13197, 17566, 13784, 8782, 7104, 5196, 7994, 17616, 17597, 4792, 14853, 432, 13800, 15555, 13540, 4724, 16696, 2526, 2749, 7970, 2592, 3015, 4544, 13190, 10505, 19793, 8196, 1000, 12693, 1470, 10924, 7501, 11691, 16338, 6881, 1006, 12778, 12049, 8698, 2147, 9133, 3907, 6342, 9264, 19561, 14644, 9637, 16664, 431, 1947, 2603, 3301, 17844, 5620, 13455, 11130, 900, 11927, 3495, 10457, 16178, 2192, 18341, 9414, 14835, 15611, 7690, 227, 8284, 8207, 6093, 14449, 12277, 65, 5209, 12004, 100, 18431, 16592, 13497, 762, 7773, 11207, 5159, 5247, 4467, 9570, 10734, 7095, 4023, 18464, 6160, 19332, 15563, 2277, 19142, 8479, 1637, 9995, 3633, 5226, 5877, 3412, 11932, 2805, 7163, 3801, 3811, 7262, 17801, 17240, 8358, 19409, 7289, 14241, 10867, 8784, 17833, 8807, 7996, 9252, 8483, 2307, 9964, 15727, 347, 6068, 4730, 11251, 19512, 1776, 12609, 19540, 7045, 8156, 13563, 7165, 13664, 9436, 2834, 8022, 12127, 14300, 19510, 17455, 14517, 17097, 1201, 11778, 11203, 6968, 16357, 1869, 8777, 4208, 10882, 14246, 19396, 13030, 9515, 9682, 7487, 13083, 17380, 9055, 9508, 2727, 1394, 703, 12582, 996, 16777, 9977, 4073, 7926, 7065, 10134, 3793, 3972, 12436, 6372, 16701, 19340, 6656, 14549, 1148, 15248, 12369, 15217, 93, 18110, 19739, 9971, 3041, 15585, 12929, 4630, 12483, 103, 17469, 12030, 8708, 9887, 15920, 10226, 1832, 18932, 15735, 3681, 1244, 19641, 12942, 1779, 5222, 10949, 10881, 17543, 11480, 8359, 968, 2688, 10274, 566, 19903, 18899, 1633, 18151, 7112, 18379, 17203, 12864, 6536, 6498, 5593, 6038, 2296, 19242, 8239, 6950, 9009, 9385, 9127, 16745, 10817, 12171, 15862, 14206, 17372, 2401, 645, 4708, 12013, 11926, 9988, 16242, 11378, 4070, 16263, 10188, 16306, 18518, 5849, 3091, 10342, 7339, 4355, 19522, 930, 12513, 3685, 7015, 6161, 8347, 13446, 4787, 8684, 5563, 13425, 8102, 15527, 4473, 16884, 9061, 18760, 5906, 7086, 17477, 11985, 5677, 17474, 14781, 8643, 18671, 5646, 9545, 5031, 611, 18976, 7435, 4970, 268, 1434, 8863, 4563, 1915, 17102, 16795, 5779, 18901, 13695, 16302, 18004, 1113, 18356, 14587, 12601, 3182, 5493, 1509, 15713, 7135, 1051, 2700, 16725, 8441, 17583, 18038, 12636, 1601, 16978, 4977, 17207, 10723, 5547, 18577, 6616, 1959, 1213, 12802, 15176, 9442, 7210, 5077, 1990, 11510, 9878, 1527, 7956, 14971, 4134, 5136, 16723, 13605, 11588, 2857, 2158, 9544, 8356, 3740, 7290, 8191, 1036, 2485, 1706, 14187, 19020, 18629, 6568, 10403, 1405, 15145, 14051, 13016, 8421, 6305, 1372, 12514, 3548, 17675, 18441, 10842, 11285, 18200, 19148, 2899, 17405, 15832, 12949, 1132, 14907, 3132, 12239, 1569, 17614, 7659, 3663, 14548, 3493, 18721, 1587, 3309, 15894, 3286, 13395, 1952, 681, 17599, 3094, 3362, 14151, 1840, 7749, 13176, 12470, 18134, 9845, 13027, 3671, 17387, 5024, 319, 16134, 11218, 12429, 778, 12863, 6629, 9697, 3502, 10630, 15355, 1859, 2833, 769, 5918, 1011, 4609, 6121, 14469, 6367, 6886, 7141, 16692, 2457, 12916, 6947, 19258, 4912, 3768, 4169, 15525, 19338, 6113, 19030, 2042, 17796, 17505, 6519, 15193, 11721, 2289, 4404, 650, 6448, 13651, 12782, 16499, 3372, 19858, 11259, 19232, 2808, 6204, 15933, 8391, 11593, 12596, 19454, 6103, 17418, 10853, 17938, 3384, 9569, 11526, 17446, 13522, 6054, 12646, 6588, 9936, 17199, 16427, 12859, 3505, 8590, 7116, 6278, 1491, 15419, 7425, 6221, 18731, 9187, 18128, 7684, 14735, 8061, 17367, 2941, 1452, 3528, 9413, 2019, 14788, 18075, 11627, 5134, 9997, 16903, 8768, 15837, 2292, 19433, 4003, 6487, 12274, 13217, 15986, 685, 11728, 7492, 17475, 1260, 6112, 10243, 12072, 2320, 10404, 11868, 17017, 5111, 2075, 4364, 2636, 2541, 12837, 17638, 19381, 6521, 6012, 18545, 917, 8364, 9030, 12426, 15925, 14304, 4988, 11877, 18524, 10750, 19078, 1273, 11724, 8231, 14539, 15623, 8007, 3791, 18168, 12641, 13157, 9439, 16039, 4920, 19091, 10990, 10893, 14746, 6106, 14508, 1590, 3138, 2880, 5637, 2309, 1719, 9860, 12143, 11466, 8429, 662, 10099, 3769, 1166, 12541, 8594, 5328, 9243, 4847, 11683, 9837, 19277, 10629, 5595, 9786, 1181, 8455, 17255, 4448, 17318, 2729, 6572, 19593, 17798, 16787, 10485, 6248, 3941, 6322, 8958, 9898, 8948, 12401, 7549, 17357, 12316, 2609, 16074, 14737, 1616, 5915, 15105, 6136, 1954, 11244, 9525, 4579, 14797, 4737, 10171, 1591, 7440, 15583, 7921, 1091, 12090, 9726, 14210, 8137, 19437, 11687, 8975, 17508, 17860, 6956, 770, 19401, 858, 16458, 9153, 16116, 5754, 18762, 7779, 4386, 19922, 10170, 16467, 11231, 8929, 15922, 12218, 5946, 8312, 17746, 9073, 12015, 7733, 113, 11030, 7577, 19899, 16857, 13417, 16942, 600, 915, 8584, 3914, 6776, 13794, 3212, 15387, 14431, 4881, 4494, 7170, 2542, 5399, 3004, 12511, 2044, 14355, 7960, 9491, 15642, 17652, 19276, 6829, 537, 8841, 12281, 14574, 9381, 8438, 8318, 7228, 2455, 9655, 7236, 7943, 14184, 19834, 17581, 17747, 6391, 6730, 14889, 4860, 18845, 10095, 2183, 9306, 3565, 14264, 14506, 11293, 10793, 6931, 4121, 15756, 10529, 10246, 11559, 15748, 3754, 8530, 19361, 16040, 14999, 12406, 5256, 10312, 5048, 10152, 6865, 12793, 6791, 4210, 18408, 5385, 14426, 4032, 4517, 13059, 724, 16191, 11922, 7443, 7017, 17547, 13995, 8077, 13937, 10283, 18589, 6774, 12283, 7677, 3351, 9843, 7431, 18257, 5890, 9494, 12688, 14870, 11001, 17264, 14932, 9258, 19634, 10337, 8640, 12928, 19040, 10500, 17897, 7220, 7223, 7471, 11969, 794, 3705, 14518, 15008, 6657, 11330, 19855, 19576, 10865, 24, 16856, 9603, 18145, 5140, 270, 6637, 6745, 8624, 10973, 19745, 5405, 10306, 15559, 4950, 10555, 8906, 19701, 13267, 5413, 4057, 16473, 14619, 12752, 19473, 17847, 14117, 9063, 396, 3457, 13520, 3803, 15098, 3545, 15968, 3433, 12700, 78, 3586, 3420, 6442, 5084, 5483, 18056, 6459, 11444, 18114, 6997, 4168, 1910, 15809, 13620, 450, 13044, 2318, 2268, 18201, 19572, 12153, 15075, 15107, 3523, 4927, 5445, 12390, 10213, 17165, 13135, 7815, 18415, 12173, 549, 1881, 17646, 12376, 13254, 8168, 3694, 6704, 6716, 19285, 8852, 17345, 640, 15128, 11395, 1059, 4428, 2221, 10538, 10410, 4666, 983, 10686, 6462, 6827, 757, 4501, 7016, 18177, 12029, 803, 18143, 5863, 18378, 4974, 13007, 15914, 480, 2191, 2569, 16106, 6416, 1568, 16872, 5157, 2198, 10462, 961, 17611, 19677, 1511, 16556, 4244, 10468, 4793, 15456, 14436, 2618, 6784, 1143, 12810, 15129, 13353, 17162, 2717, 12419, 18708, 12872, 7033, 10792, 7242, 5576, 15303, 39, 19047, 140, 18428, 844, 5321, 18826, 2783, 10139, 13859, 17136, 11875, 1939, 4228, 7632, 18450, 11077, 14244, 3357, 9710, 1748, 1407, 10733, 17355, 3521, 868, 3485, 2678, 10327, 15006, 10957, 6181, 6596, 13805, 12957, 12077, 16801, 1265, 14388, 8729, 6300, 12640, 12589, 6930, 6623, 14047, 17215, 15345, 17343, 8201, 390, 11880, 221, 16618, 18149, 16505, 12408, 16331, 13075, 17145, 13785, 12236, 4405, 11434, 13819, 9591, 12542, 14664, 14849, 8819, 5938, 14798, 15116, 8146, 5783, 9863, 12851, 15152, 15512, 3615, 6189, 12639, 17715, 14387, 15026, 8176, 19241, 3968, 17194, 17473, 11757, 4691, 15625, 9733, 8851, 5359, 18088, 18717, 13967, 5342, 17243, 16948, 19513, 14092, 14221, 11506, 3461, 9036, 3092, 5397, 1392, 14877, 8242, 8253, 951, 10560, 10481, 16578, 9967, 866, 5161, 17341, 10800, 12933, 8542, 15736, 2980, 15329, 16779, 4375, 18641, 4808, 8803, 10421, 7611, 9125, 9471, 13470, 8940, 11083, 11215, 7814, 12784, 12033, 4560, 18337, 5887, 4859, 12579, 13046, 8408, 4754, 8806, 14267, 3891, 5025, 5688, 8338, 19998, 15047, 16945, 2037, 6790, 1366, 17383, 3215, 15480, 7088, 8694, 2393, 5528, 59, 3256, 17095, 918, 12363, 16952, 1146, 18414, 18719, 11668, 19010, 3946, 2909, 1176, 11589, 12521, 5590, 2490, 13198, 1488, 5206, 1473, 18979, 11531, 10456, 1435, 13586, 9052, 12650, 10760, 16999, 15714, 4319, 17003, 4897, 19317, 6767, 5065, 9960, 11561, 921, 19848, 7822, 12062, 8013, 118, 6713, 8589, 3028, 17892, 5003, 18652, 19025, 15052, 11655, 18233, 215, 3835, 16160, 15554, 19544, 14551, 5079, 4253, 9206, 12549, 10692, 3819, 14923, 5735, 17724, 10889, 984, 1270, 7390, 972, 16480, 17024, 12456, 3489, 17186, 11988, 13855, 6830, 3827, 2789, 6597, 12776, 11602, 13998, 17472, 16761, 14861, 2713, 9344, 3661, 19261, 14342, 7591, 10320, 4215, 2679, 1017, 8796, 19504, 4069, 19204, 1084, 3305, 1583, 11306, 2463, 11514, 16221, 17919, 16674, 17080, 19537, 10722, 11351, 6033, 12461, 19864, 10598, 9817, 12889, 7849, 2100, 16740, 11981, 64, 5686, 15972, 4725, 6295, 3316, 15774, 14756, 16098, 13972, 1221, 17999, 5086, 1077, 16870, 90, 16115, 17187, 9450, 13866, 12902, 6540, 14197, 11350, 14940, 13188, 2291, 18105, 1978, 13595, 13981, 17009, 6870, 11242, 2898, 1193, 17643, 14791, 9134, 7395, 4924, 2768, 324, 1339, 14021, 17994, 13218, 15860, 10477, 31, 11, 14714, 16894, 16810, 5635, 9762, 377, 7694, 7624, 1595, 7971, 1391, 10633, 16491, 12471, 10371, 18806, 15536, 5704, 3515, 13647, 7821, 15935, 7199, 18122, 16311, 17700, 19633, 9998, 12886, 8801, 9678, 14115, 6898, 14200, 13064, 13145, 5850, 19889, 5008, 14253, 329, 18902, 18382, 16547, 13802, 6186, 15901, 9131, 6291, 18916, 6801, 1785, 19585, 3737, 16358, 17519, 18511, 12198, 16736, 16237, 19291, 13430, 5011, 2667, 9002, 15288, 472, 971, 11733, 16068, 11020, 4049, 17398, 7602, 12417, 11870, 13597, 10991, 10054, 14470, 7090, 2325, 11802, 14421, 14045, 12680, 14265, 6282, 14251, 2964, 11493, 6823, 2837, 8248, 11824, 8991, 8939, 12074, 1046, 19662, 19403, 5361, 19977, 112, 18205, 8538, 18831, 9182, 19993, 4475, 2386, 8652, 14194, 11739, 4033, 9774, 19280, 9672, 13270, 1105, 16577, 12107, 11535, 18256, 5689, 374, 463, 5039, 5921, 3598, 416, 9563, 10869, 12213, 18747, 894, 6942, 17941, 1483, 2756, 14736, 4422, 3011, 16939, 457, 7350, 2282, 8773, 4490, 8498, 3083, 6649, 12656, 2708, 9001, 8262, 11557, 5102, 1371, 187, 365, 10074, 8521, 8466, 17553, 1178, 15292, 16769, 8115, 7906, 6234, 8350, 7524, 17393, 5539, 11447, 5586, 5581, 7499, 18519, 7942, 7338, 12465, 12965, 2634, 10453, 15997, 9867, 9611, 10784, 6202, 9295, 11539, 12820, 3338, 7239, 7292, 17262, 523, 9567, 735, 16018, 5319, 7011, 2224, 13063, 16549, 6910, 1863, 4103, 19955, 204, 14757, 202, 1362, 8133, 7227, 9422, 18116, 5598, 12538, 5817, 1977, 14733, 617, 6859, 18838, 12882, 15114, 16776, 14095, 6662, 18669, 3271, 16033, 3910, 19573, 14739, 15851, 16260, 17998, 18044, 19897, 18746, 9198, 9712, 13453, 13639, 6168, 7987, 15272, 11338, 18366, 3577, 4061, 18642, 8328, 10594, 8674, 10996, 4685, 10789, 19571, 2651, 19817, 8926, 1075, 3376, 15694, 2699, 7057, 1376, 17155, 11279, 13032, 10585, 19875, 5227, 12001, 15155, 13519, 13066, 16667, 15818, 14589, 19811, 14407, 4361, 17995, 15693, 15802, 17201, 6328, 9831, 9788, 13466, 13514, 14114, 15526, 4727, 9643, 8792, 6357, 16716, 3909, 3267, 3587, 10771, 4774, 7639, 1924, 5384, 15231, 2489, 16153, 10725, 18185, 5575, 6476, 4263, 19536, 10975, 1300, 10901, 3770, 8185, 2704, 6060, 720, 4635, 16804, 18523, 16672, 11647, 19960, 3496, 6905, 8270, 3892, 1575, 3504, 10539, 11563, 8598, 11206, 14534, 14178, 15344, 3243, 6516, 11075, 4224, 3538, 3543, 16886, 16367, 17957, 7940, 3512, 4870, 6587, 6585, 5947, 18396, 9963, 8465, 6566, 11404, 11882, 3201, 12092, 4312, 16208, 11712, 8499, 11779, 659, 11209, 19113, 1593, 7644, 309, 14497, 4372, 4969, 18188, 17971, 17249, 730, 9989, 6466, 2922, 9780, 5191, 7194, 7770, 19839, 4198, 4207, 7117, 7564, 15390, 6092, 2125, 12844, 7715, 3861, 17301, 272, 7461, 13055, 6201, 2313, 1953, 8543, 5845, 6965, 14854, 8125, 18329, 18271, 4871, 12032, 11594, 18355, 10694, 10625, 6385, 12301, 15910, 7224, 5708, 6700, 17236, 9900, 15119, 19879, 12701, 17285, 2346, 3573, 10627, 7803, 2142, 3798, 18750, 9657, 17681, 13211, 6993, 15813, 7265, 1931, 19358, 19183, 2107, 3716, 3812, 9675, 12818, 10833, 16555, 10961, 3949, 2786, 12914, 17253, 4255, 4660, 5966, 18011, 2344, 5396, 17934, 18123, 5973, 1956, 11750, 1455, 6078, 11424, 3038, 17900, 1007, 3009, 4318, 7789, 15384, 1430, 13552, 1935, 7118, 19446, 10028, 16837, 1426, 16991, 3684, 18852, 4141, 2483, 15740, 13905, 13001, 14665, 17293, 8310, 19384, 15435, 4131, 15865, 7034, 12235, 16247, 16032, 9598, 5822, 1714, 6200, 9004, 1264, 4230, 13472, 2458, 16885, 12528, 19538, 17044, 4026, 4810, 17125, 7212, 608, 6691, 10005, 9892, 19308, 12305, 13507, 9176, 16017, 13991, 10577, 1967, 16698, 16398, 1476, 17982, 4705, 12835, 16044, 10522, 2179, 3755, 17146, 15980, 5768, 4668, 12671, 11817, 4944, 10714, 2842, 9513, 7823, 14883, 4965, 4093, 12341, 12378, 5658, 4326, 11590, 798, 11811, 6551, 3675, 15879, 6253, 1798, 17575, 12894, 8322, 9731, 19747, 16935, 4692, 1554, 17020, 12725, 10398, 9526, 5592, 19009, 1194, 9958, 10370, 5736, 14647, 6173, 10814, 6230, 1949, 726, 15765, 6085, 2599, 8776, 10837, 2759, 131, 10089, 14631, 10667, 15919, 6663, 426, 17344, 6611, 12054, 14328, 17527, 123, 3674, 7561, 11195, 11554, 1682, 12475, 17377, 2858, 16981, 3954, 12005, 6687, 11341, 12678, 14578, 1670, 16002, 12387, 3948, 7927, 5305, 9341, 2429, 9067, 3014, 6672, 2590, 1585, 17075, 9648, 4726, 4533, 9088, 12690, 12045, 7623, 11495, 17205, 1669, 3239, 4764, 7555, 4447, 12248, 18386, 17669, 2612, 1100, 4281, 11126, 17989, 609, 2276, 19246, 17159, 14738, 4976, 1789, 10931, 16918, 16432, 6164, 13945, 4885, 16323, 12476, 5437, 668, 9143, 10863, 8397, 19450, 11717, 3165, 7915, 1513, 19393, 11024, 12014, 13518, 7144, 389, 10100, 4646, 14020, 12057, 5701, 4939, 9559, 985, 2133, 6539, 13533, 4843, 10310, 3535, 5524, 19074, 18940, 1656, 15151, 4796, 249, 18583, 18296, 16874, 17803, 13304, 16593, 18930, 17042, 10790, 1406, 2028, 5453, 5726, 7327, 3575, 17140, 2301, 18141, 9031, 8017, 8326, 5376, 4311, 8141, 16742, 16607, 172, 5447, 1988, 13443, 16833, 14509, 18963, 19178, 17002, 4543, 14371, 14982, 11488, 14155, 7901, 10740, 15416, 1892, 2606, 10651, 5931, 9745, 13311, 6606, 17173, 7961, 4853, 15897, 14541, 1866, 6010, 19959, 7050, 6523, 12373, 3691, 19497, 515, 4400, 19198, 7186, 8214, 3491, 1534, 281, 10427, 506, 18580, 8856, 10652, 15018, 1899, 2432, 680, 6977, 13653, 14141, 1047, 5760, 5717, 6537, 6334, 11359, 2524, 19833, 742, 13638, 12491, 3149, 18770, 4149, 5022, 2545, 12628, 19724, 8732, 15260, 14692, 6095, 3752, 16616, 13260, 19590, 1600, 12638, 13101, 19626, 18956, 17968, 2923, 11089, 17445, 17164, 6222, 11530, 8748, 14071, 7307, 12061, 1730, 14341, 19580, 8520, 16171, 16699, 14391, 18795, 6506, 2949, 7478, 1186, 18279, 252, 10444, 17823, 877, 15947, 7035, 17391, 7672, 2540, 19814, 7025, 19326, 14815, 19528, 10562, 2007, 1040, 16175, 13164, 3884, 9345, 2666, 10262, 8128, 6107, 15099, 10511, 17734, 691, 19877, 2793, 5110, 10900, 8285, 5400, 17532, 8766, 14034, 10414, 19768, 16135, 13934, 14584, 13541, 1875, 2739, 7466, 18779, 7780, 15931, 14435, 1594, 4239, 8101, 15755, 16226, 16962, 19249, 18997, 18021, 4596, 9791, 7872, 16845, 15458, 5450, 13681, 13742, 18573, 6708, 6061, 15900, 9617, 6794, 19378, 1736, 15349, 11713, 5804, 16325, 5895, 8440, 7851, 14230, 9630, 18071, 4913, 15918, 11743, 1690, 19904, 9920, 14913, 811, 17981, 3916, 15590, 8686, 6932, 14980, 18346, 16428, 9992, 9873, 14561, 15612, 4957, 212, 5367, 9360, 7084, 17047, 10265, 654, 6573, 598, 4163, 7449, 6526, 18304, 6643, 6216, 8989, 13088, 12895, 12989, 4062, 19215, 2016, 17232, 6336, 13393, 14704, 15882, 15188, 17328, 94, 7634, 7184, 582, 13880, 8552, 7893, 10390, 11463, 1313, 16933, 15270, 17037, 2286, 16342, 9265, 7863, 4811, 18167, 8152, 2358, 10645, 1521, 1641, 10431, 7410, 15500, 18246, 14438, 11947, 16444, 14292, 104, 16662, 18264, 14322, 6761, 7022, 2669, 13603, 2002, 12505, 274, 1725, 11289, 2736, 9811, 19174, 9225, 8936, 15429, 10272, 7008, 15121, 7613, 7980, 11658, 17731, 16332, 16944, 10904, 3921, 256, 18062, 19286, 18568, 5066, 1226, 13232, 13124, 8142, 6239, 8758, 10872, 17411, 12501, 15413, 4289, 16614, 19333, 16817, 19400, 12331, 12627, 15071, 2340, 16460, 6874, 9210, 12649, 14917, 15057, 8618, 6515, 10899, 10724, 7534, 2281, 10497, 3996, 14339, 5848, 13854, 7597, 3628, 14969, 914, 1065, 19211, 6137, 6243, 6316, 17780, 13392, 2994, 9335, 19865, 14394, 15463, 10388, 6707, 229, 12303, 357, 5027, 17490, 15433, 10187, 1672, 9653, 3328, 11596, 10088, 8879, 15013, 11080, 1871, 2348, 11690, 4795, 2673, 10769, 11433, 16080, 11173, 12428, 7557, 3276, 17729, 7964, 16006, 1422, 14258, 5029, 19341, 4820, 2306, 19306, 8553, 2213, 14150, 4874, 17865, 5138, 8759, 8370, 6408, 1708, 3961, 13128, 886, 8468, 14098, 2895, 10434, 17886, 2302, 11254, 9196, 3582, 14656, 16973, 860, 2882, 2523, 1028, 5221, 5917, 10635, 6339, 10647, 8965, 13576, 4802, 5771, 16067, 17296, 8808, 8223, 9703, 7519, 4047, 17958, 9975, 17360, 8800, 11474, 2887, 8566, 11857, 8753, 2824, 10429, 17438, 18163, 508, 5840, 19305, 7554, 12080, 16016, 17200, 5001, 8987, 13078, 4702, 6293, 401, 18759, 14107, 5130, 6069, 11439, 3723, 1189, 4751, 12984, 834, 3473, 14016, 5679, 16632, 5727, 3903, 19665, 6017, 7719, 15560, 12199, 12065, 19501, 5631, 8804, 16082, 1251, 16144, 2317, 10662, 2962, 15406, 13890, 2437, 15875, 18984, 9649, 1720, 16685, 3926, 9286, 14164, 15788, 13398, 8864, 4274, 18836, 12852, 7325, 16099, 7515, 2132, 11897, 15381, 8250, 16081, 11904, 15437, 5588, 9468, 12000, 14998, 2614, 12151, 8705, 1563, 19270, 12181, 7132, 6457, 440, 19880, 17962, 15264, 5714, 5857, 1062, 3940, 4455, 18108, 13328, 8687, 13614, 5755, 11239, 12109, 8082, 12635, 10861, 2331, 8342, 1737, 18030, 13923, 7444, 9037, 18278, 13833, 16049, 18434, 16887, 13899, 9899, 9373, 4184, 7629, 7562, 7811, 7800, 13977, 19145, 18744, 7188, 10220, 1038, 18144, 2181, 6273, 7219, 3955, 14424, 4351, 889, 14633, 16165, 18042, 9240, 6111, 11403, 12924, 15742, 5800, 8529, 875, 4599, 1089, 3841, 14279, 4360, 18604, 6022, 9592, 11759, 19062, 7827, 18892, 926, 7371, 3606, 14139, 15701, 17788, 12019, 2509, 9406, 77, 387, 7207, 7802, 5930, 16719, 6436, 15318, 17626, 5757, 16869, 2294, 6035, 9608, 18150, 11950, 10844, 128, 4768, 114, 18016, 12094, 3207, 17922, 1742, 15039, 1399, 10255, 13798, 1156, 4040, 19640, 18909, 10732, 15532, 9135, 19638, 5105, 10928, 6953, 14229, 17426, 17336, 9438, 12210, 11578, 3125, 6653, 4600, 17619, 14350, 6402, 6354, 6913, 5047, 12592, 2771, 10952, 6986, 1516, 927, 19342, 11068, 13183, 672, 16391, 13587, 3906, 15115, 10746, 14708, 4545, 7246, 13104, 13072, 14001, 7248, 10811, 16217, 7569, 9261, 16482, 19907, 17480, 9409, 9695, 10094, 9249, 1846, 5034, 8252, 3101, 19322, 3501, 4187, 2170, 8215, 6561, 17488, 15470, 6071, 17299, 15185, 15378, 13150, 6848, 10147, 5026, 14160, 19704, 14505, 13009, 2745, 9531, 19563, 6747, 10962, 4330, 19687, 18189, 18982, 18547, 6475, 9725, 5078, 8897, 19800, 16815, 15710, 9312, 18662, 8546, 8486, 3088, 7208, 13593, 16027, 4055, 18371, 16867, 1388, 3581, 9609, 2578, 13143, 6879, 8184, 2970, 15232, 15035, 8951, 1180, 2572, 222, 3293, 1353, 7840, 11619, 4606, 15708, 2533, 9642, 7000, 13049, 18514, 9849, 14198, 3248, 9749, 11929, 19139, 10020, 17319, 8033, 18203, 17664, 4081, 7736, 6839, 13640, 3492, 19137, 17763, 11995, 6473, 8181, 17683, 17876, 9750, 2396, 12162, 11022, 16715, 7273, 8200, 2434, 18376, 19347, 3075, 3046, 952, 8282, 4962, 9403, 7892, 4582, 17188, 11376, 1283, 18322, 15305, 3468, 6153, 1498, 19943, 10751, 9047, 1804, 10382, 9130, 5569, 10609, 18666, 6014, 14401, 16687, 6949, 13615, 18229, 5513, 5867, 2450, 18259, 2825, 10466, 7364, 6208, 19102, 19428, 11552, 1960, 2228, 19653, 9040, 5964, 2330, 11622, 19463, 13591, 9656, 17695, 2635, 318, 6975, 10202, 17904, 18934, 1914, 17181, 16683, 16770, 16089, 19194, 3349, 8109, 11421, 16594, 14101, 11405, 5070, 16184, 18422, 9273, 1657, 11374, 3676, 12226, 16554, 9066, 7500, 134, 12083, 17279, 13738, 13718, 4135, 12484, 3258, 343, 13249, 7509, 9318, 18006, 15909, 425, 2697, 15319, 11035, 15011, 16987, 12103, 11191, 6981, 7946, 5220, 1325, 4391, 9449, 7593, 6800, 17351, 627, 5315, 4098, 14025, 8300, 4997, 14188, 16167, 15749, 3947, 15705, 18953, 18787, 9866, 9604, 14948, 5387, 15084, 18241, 9773, 18540, 12747, 18564, 17670, 13449, 10826, 15681, 652, 14563, 17483, 17384, 2275, 12427, 19059, 3261, 6732, 11182, 1955, 974, 2944, 7665, 18091, 279, 19560, 7837, 3027, 18213, 17882, 7978, 8817, 9251, 15730, 3566, 7918, 358, 13788, 3529, 9154, 18258, 19444, 16608, 15160, 4278, 1489, 314, 10008, 5347, 7981, 12713, 3373, 3358, 19732, 17606, 518, 5317, 7211, 8086, 6899, 5116, 6614, 108, 9313, 1639, 17582, 14590, 14760, 18600, 9253, 14324, 4165, 3784, 4909, 19072, 5056, 16374, 11518, 8496, 18749, 1229, 5948, 1987, 17937, 4336, 2290, 4758, 7203, 1157, 15872, 16568, 15161, 12832, 15081, 7454, 1912, 11902, 15434, 5639, 1711, 6378, 19112, 19786, 821, 5423, 4786, 2077, 1586, 15791, 7540, 7768, 14826, 5882, 3620, 9298, 14553, 10357, 11278, 12364, 6484, 15703, 12031, 17550, 10385, 7081, 16445, 19499, 6825, 5691, 6763, 3727, 3191, 17888, 36, 18265, 8722, 19539, 12815, 12767, 10980, 8608, 6550, 11316, 13325, 19648, 18174, 17672, 2742, 16805, 10026, 4054, 5977, 8495, 10856, 10698, 3877, 13534, 2640, 15641, 5666, 12836, 16086, 14142, 14460, 8786, 13320, 4998, 1966, 13573, 9534, 9026, 12439, 9316, 12279, 7909, 3785, 17041, 19210, 5621, 8555, 7149, 7370, 19874, 1810, 19004, 6090, 16580, 4775, 3642, 19762, 17925, 17565, 16245, 10271, 2351, 11672, 13708, 8464, 18460, 3076, 6567, 18208, 206, 12822, 15187, 8121, 7786, 18792, 9011, 17537, 12960, 1072, 15287, 9853, 12477, 8916, 8000, 15770, 8430, 14978, 12294, 11193, 8018, 14535, 5669, 2820, 4591, 1787, 18581, 12141, 5661, 2407, 3230, 2424, 9771, 519, 7450, 3285, 18210, 2649, 4148, 10018, 17304, 4042, 17269, 17761, 8962, 18996, 16385, 2543, 3828, 11965, 8793, 6592, 15221, 5303, 10242, 6053, 15834, 84, 14959, 18442, 19243, 5415, 14855, 710, 9718, 7397, 6118, 9913, 14648, 8164, 7222, 3404, 325, 18706, 6460, 3279, 1177, 1026, 1903, 19696, 17704, 7532, 8679, 4453, 5951, 11478, 17692, 17329, 8034, 5885, 17224, 8175, 11913, 7798, 5556, 15824, 19852, 3150, 16019, 16112, 6954, 18995, 1770, 17790, 7565, 13337, 8167, 17352, 3471, 12599, 5761, 18693, 6376, 1894, 12257, 8403, 1861, 9665, 296, 4873, 10507, 19673, 13704, 391, 13448, 4194, 14028, 5207, 14983, 3200, 16668, 4159, 8734, 3862, 14681, 4349, 6692, 11944, 13678, 12905, 10022, 10785, 305, 13489, 13707, 1788, 4711, 10851, 1235, 12617, 4878, 10378, 4231, 18357, 3825, 6797, 891, 18080, 10532, 1223, 18494, 3635, 15112, 4397, 6150, 11110, 2360, 19152, 15861, 11901, 7200, 2026, 13278, 149, 496, 11937, 15965, 596, 18729, 16026, 12113, 11287, 7631, 14307, 15337, 5032, 19678, 2841, 8816, 6777, 18424, 9861, 14201, 2030, 16348, 19008, 10418, 7989, 11047, 13644, 4722, 10587, 3393, 1971, 7473, 1318, 15300, 9189, 18626, 1900, 16752, 7171, 2716, 9888, 385, 16193, 13536, 13908, 8418, 5514, 19402, 4784, 9108, 11982, 13434, 15445, 10030, 9320, 16915, 18049, 8656, 17789, 16653, 9573, 13839, 1245, 19706, 5967, 677, 7001, 6943, 16953, 1459, 1993, 260, 2278, 15363, 494, 14976, 15733, 4258, 1436, 6546, 19783, 10280, 13626, 12660, 12020, 11127, 16252, 9193, 7351, 11496, 7744, 9412, 746, 12732, 231, 18008, 9079, 14363, 17831, 19591, 2897, 9808, 4836, 11435, 9288, 3610, 14950, 4815, 1613, 4499, 10060, 8100, 1731, 354, 4552, 17401, 12354, 1611, 63, 3175, 1754, 16415, 19144, 1817, 3427, 11769, 9228, 19221, 7422, 14325, 5971, 7734, 14006, 8420, 15649, 12843, 17443, 9421, 17386, 12500, 10888, 15333, 4010, 5147, 11158, 2999, 5410, 18416, 2661, 16370, 1106, 1555, 5712, 11891, 15205, 9262, 19192, 3579, 7530, 5802, 11377, 15495, 2258, 2631, 13483, 13437, 16021, 10175, 18318, 5632, 15946, 6937, 11436, 5809, 6512, 19021, 16319, 5499, 7897, 11790, 3304, 2135, 14118, 17753, 18903, 1049, 8346, 9540, 1965, 19609, 19620, 12694, 13700, 2177, 18587, 5033}; int n = sizeof(arr)/sizeof(arr[0]); cout << n << "\n"; // bubbleSort(arr, n); bubbleSortOptimized(arr, n); cout <<"Sorted array: \n"; // printArray(arr, n); uint64_t tick2 = rdtsc(); uint64_t timeDif = tick2 - tick; // difference double var = 1e+9; double time = (double)(timeDif / (3.00 * var)); cout << time << "\n"; return 0; }
Editor is loading...