Instantly share code, notes, and snippets.

@dmadisetti /2d.html
Last active Mar 28, 2016

Embed
What would you like to do?
For the up and coming blog post
<!doctype>
<html>
<head>
<title>Visualizing primes</title>
<style>
body {
font-family: Monospace;
background-color: #fff;
margin: 0px;
overflow: hidden;
}
.dg.a.main,.dg.ac {
margin: 0 !important;
}
.display {
right: 0;
float: right;
clear: both;
margin-top: 20px;
padding: 10px;
background-color: #3c3c3c;
width: 100%;
box-sizing: border-box;
}
.display input{
background-color: #555;
border: 0;
color: #fff;
padding: 3px;
width: 30px;
}
#part {
display: inline;
}
</style>
<script type="text/javascript">
var data = [[], [0], [1, 1, 0, 5761453], [0, 0, 2, 0, 1264047, 1616470, 1, 1616470, 1264465], [0, 0, 1, 0, 0, 1277323, 0, 1603180, 0, 0, 0, 1, 0, 1603181, 0, 1277769], [0, 0, 2, 0, 0, 0, 254927, 446974, 437747, 300650, 0, 368515, 240205, 393605, 438171, 1, 340508, 413201, 240083, 446681, 0, 476348, 340114, 369039, 254684], [0, 0, 1, 0, 0, 0, 0, 1264047, 0, 0, 0, 1616470, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1616470, 0, 0, 0, 1264465], [0, 0, 1, 0, 1, 0, 0, 0, 91588, 141038, 193966, 172147, 194698, 166586, 0, 214217, 91317, 127421, 187820, 144618, 194721, 0, 145946, 233982, 87792, 132382, 188083, 172028, 0, 186680, 152333, 212084, 87478, 127055, 194455, 1, 145910, 195471, 152126, 234127, 91333, 141410, 0, 175682, 145972, 186824, 146130, 214592, 91440], [0, 0, 1, 0, 0, 0, 0, 0, 0, 256764, 0, 400908, 0, 381389, 0, 400909, 0, 0, 0, 1, 0, 0, 0, 0, 0, 400907, 0, 256722, 0, 400802, 0, 382113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381750, 0, 401380, 0, 257420, 0, 399983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400549, 0, 381533, 0, 400923, 0, 257401], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 90635, 200472, 0, 139244, 232081, 0, 191633, 105894, 0, 167468, 90698, 1, 239223, 138605, 0, 132564, 191782, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 191559, 106521, 0, 90959, 200106, 0, 138683, 232532, 0, 132726, 191563, 0, 167042, 90948, 0, 239460, 138539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138713, 231957, 0, 191674, 106277, 0, 90947, 200630, 0, 238858, 139129, 0, 132218, 192260, 0, 166911, 90941], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 254927, 0, 437747, 0, 0, 0, 446974, 0, 300650, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 340508, 0, 240083, 0, 1, 0, 413201, 0, 446681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368515, 0, 393604, 0, 0, 0, 240205, 0, 438171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 476348, 0, 369039, 0, 0, 0, 340114, 0, 254684], [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24756, 74722, 82358, 44472, 66210, 36482, 103828, 51589, 61631, 30054, 0, 57559, 21334, 65262, 81078, 43132, 69892, 30672, 100757, 44951, 61695, 0, 35047, 59200, 21460, 71904, 80337, 52928, 69524, 32468, 100990, 52014, 0, 63826, 34891, 57245, 23554, 66042, 83226, 44133, 69112, 30347, 103442, 0, 55562, 73002, 36168, 66548, 23151, 78651, 83527, 53043, 69832, 36848, 0, 102898, 49093, 61257, 29027, 55038, 23290, 65632, 80535, 43110, 66176, 1, 34304, 110229, 50664, 64064, 29278, 66731, 23459, 72257, 81144, 44356, 0, 69044, 31947, 101012, 50656, 61274, 36293, 57258, 21539, 64879, 82270, 0, 50452, 71183, 31437, 109921, 49386, 73297, 34674, 59512, 21335, 74730, 0, 82655, 50729, 69009, 34594, 102484, 55266, 63780, 35360, 57708, 24770], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251176, 0, 0, 0, 441038, 0, 380610, 0, 0, 0, 367197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334124, 0, 0, 0, 250985, 0, 474553, 0, 0, 0, 380820, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381085, 0, 0, 0, 366807, 0, 251176, 0, 0, 0, 441428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473636, 0, 0, 0, 381652, 0, 334157, 0, 0, 0, 251008], [0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13010, 36474, 55735, 30918, 63325, 42444, 77038, 22814, 38463, 23609, 48968, 27334, 0, 52107, 12610, 31726, 55764, 26200, 62547, 36057, 76827, 19775, 38896, 18835, 48827, 0, 26801, 58097, 11250, 33380, 56468, 32330, 61466, 40356, 75826, 20666, 39122, 24066, 0, 48083, 25397, 51448, 11326, 31569, 55663, 25862, 61182, 35264, 75965, 19522, 38709, 0, 19300, 49189, 25412, 56476, 12622, 37016, 53257, 26177, 61141, 39964, 76943, 22932, 0, 37015, 18930, 48303, 26040, 52400, 13187, 30417, 53569, 25642, 61496, 35932, 77367, 0, 24336, 44313, 21983, 58042, 27890, 61081, 12920, 36842, 55601, 32143, 62760, 42218, 0, 77202, 23272, 38232, 22354, 48829, 27369, 52520, 12517, 31816, 56840, 26300, 62816, 0, 40554, 82955, 20407, 41512, 22283, 58338, 26015, 56286, 11409, 33600, 55665, 30962, 0, 61549, 38741, 75828, 20402, 38501, 21865, 48425, 25239, 51306, 11243, 31492, 55455, 1, 26891, 63548, 38502, 83566, 23035, 43879, 18902, 49194, 25219, 58538, 12477, 36532, 0, 53284, 26644, 61002, 40209, 77307, 24579, 37250, 19064, 48524, 27086, 52269, 12875], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91588, 0, 193966, 0, 194698, 0, 0, 0, 141038, 0, 172147, 0, 166586, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145946, 0, 87792, 0, 188083, 0, 0, 0, 233982, 0, 132382, 0, 172028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145910, 0, 152126, 0, 91333, 0, 1, 0, 195471, 0, 234127, 0, 141410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214217, 0, 127420, 0, 144618, 0, 0, 0, 91317, 0, 187820, 0, 194721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186680, 0, 212084, 0, 127055, 0, 0, 0, 152333, 0, 87478, 0, 194455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175682, 0, 186824, 0, 214592, 0, 0, 0, 145972, 0, 146130, 0, 91440], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31218, 88876, 0, 70054, 0, 0, 170941, 60690, 0, 0, 138086, 0, 113227, 46892, 0, 101748, 32350, 1, 173117, 0, 0, 63953, 139187, 0, 0, 52270, 0, 44617, 112983, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113080, 49564, 0, 32284, 0, 0, 83368, 173290, 0, 0, 77765, 0, 52535, 138267, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40988, 111888, 0, 91263, 0, 0, 32014, 71022, 0, 0, 173509, 0, 138778, 60808, 0, 139885, 54892, 0, 46490, 0, 0, 129216, 31912, 0, 0, 83507, 0, 63572, 170889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53428, 140389, 0, 113613, 0, 0, 46768, 90714, 0, 0, 32195, 0, 173116, 70091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67538, 174659, 0, 140043, 0, 0, 54434, 112317, 0, 0, 49578, 0, 32282, 89259, 0, 172099, 67607, 0, 53289, 0, 0, 139575, 41231, 0, 0, 113404, 0, 101983, 30844], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43677, 0, 118081, 0, 98749, 0, 130415, 0, 84743, 0, 82205, 0, 92283, 0, 69853, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70273, 0, 43331, 0, 118020, 0, 99095, 0, 130578, 0, 84892, 0, 82450, 0, 91828, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92313, 0, 70636, 0, 43595, 0, 117725, 0, 98773, 0, 130104, 0, 84850, 0, 82278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82634, 0, 92349, 0, 70275, 0, 43680, 0, 117535, 0, 98492, 0, 130190, 0, 85301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84923, 0, 82402, 0, 91897, 0, 70259, 0, 43421, 0, 118220, 0, 98460, 0, 130382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129919, 0, 85131, 0, 82251, 0, 91975, 0, 70137, 0, 43368, 0, 118081, 0, 99215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98512, 0, 129917, 0, 85207, 0, 82184, 0, 92152, 0, 70723, 0, 43768, 0, 117796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117755, 0, 98619, 0, 130281, 0, 85123, 0, 82625, 0, 92073, 0, 70177, 0, 43297], [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5028, 27487, 37152, 14841, 32806, 13772, 55324, 18074, 27514, 8993, 30167, 9763, 36889, 15345, 21795, 4918, 0, 15568, 4397, 25095, 36830, 14464, 33368, 12036, 54583, 16403, 27547, 8740, 30838, 8316, 36416, 13573, 21973, 0, 5929, 16127, 4307, 28303, 37492, 18483, 33599, 12425, 54469, 19500, 27630, 10880, 31099, 8507, 36287, 15216, 0, 22381, 6143, 15668, 5413, 25890, 38485, 14771, 33413, 12290, 55162, 16674, 28306, 9040, 31010, 8477, 36935, 0, 16348, 25554, 6326, 18113, 5130, 30289, 37821, 17508, 33506, 15062, 55583, 19461, 28317, 10772, 30523, 9957, 0, 36509, 15328, 22097, 4901, 15108, 5185, 25596, 37377, 14425, 32696, 11880, 55572, 16659, 27393, 8846, 30479, 0, 10526, 41410, 15585, 22038, 5016, 19682, 5384, 28837, 37350, 14938, 32573, 15061, 55687, 19367, 27438, 9194, 0, 30686, 8492, 36269, 15247, 21683, 5997, 15838, 4364, 24974, 37703, 14531, 33617, 12209, 54524, 16394, 27476, 0, 10610, 31298, 8583, 39491, 15290, 26016, 5755, 16226, 4366, 28933, 37563, 17348, 33841, 12352, 54394, 18142, 0, 27906, 10573, 30862, 9712, 36700, 16348, 22240, 5818, 15782, 5332, 25426, 37669, 14681, 33654, 11984, 55191, 0, 19663, 32310, 11153, 36032, 10144, 43399, 16390, 26077, 5972, 19328, 5221, 30088, 38396, 18487, 33447, 14014, 0, 55408, 18127, 27523, 9000, 30320, 10047, 36738, 15248, 22060, 4943, 15190, 5178, 25564, 37478, 14467, 32709, 1, 14125, 59129, 18620, 28015, 9042, 35991, 9827, 39864, 15201, 21894, 4821, 18198, 5459, 28252, 37044, 14635, 0, 33652, 12315, 54714, 18507, 27685, 11026, 30730, 8444, 36641, 15704, 22031, 6164, 15570, 4436, 25396, 37197, 0, 17346, 34074, 12325, 59433, 18097, 32194, 10385, 31040, 8287, 41437, 15564, 25590, 6204, 16320, 4307, 27247, 0, 38183, 17381, 33974, 14182, 55404, 19769, 27652, 10706, 30968, 10706, 36527, 16267, 22187, 5899, 15478, 5046], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90635, 0, 0, 0, 232081, 0, 191633, 0, 0, 0, 200472, 0, 139244, 0, 0, 0, 105894, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132726, 0, 0, 0, 90948, 0, 239460, 0, 0, 0, 191563, 0, 167042, 0, 0, 0, 138539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138713, 0, 0, 0, 106277, 0, 90947, 0, 0, 0, 231957, 0, 191674, 0, 0, 0, 200630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167468, 0, 0, 0, 138605, 0, 132564, 0, 0, 0, 90698, 0, 239223, 0, 0, 0, 191782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191559, 0, 0, 0, 200106, 0, 138683, 0, 0, 0, 106521, 0, 90959, 0, 0, 0, 232532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238858, 0, 0, 0, 192260, 0, 166911, 0, 0, 0, 139129, 0, 132218, 0, 0, 0, 90941], [0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3377, 14175, 30344, 13285, 31537, 17161, 47150, 8065, 21375, 9974, 27718, 14590, 32266, 4914, 17816, 4791, 13993, 7294, 0, 22621, 3222, 12074, 30166, 11215, 31117, 14469, 47020, 6859, 21411, 7824, 27831, 12005, 32386, 3997, 17722, 4140, 14048, 0, 6847, 24108, 2736, 12266, 30158, 13089, 30713, 15676, 46562, 7062, 21527, 9190, 27465, 13582, 32120, 4172, 17935, 4952, 0, 13937, 6558, 22195, 2768, 11861, 30064, 11102, 30741, 14386, 46858, 6975, 21295, 7777, 27434, 12050, 31992, 4035, 18098, 0, 4238, 14152, 6976, 24825, 3297, 15130, 29441, 11217, 31162, 16673, 47455, 8481, 21036, 7865, 27506, 13408, 32402, 4884, 0, 17561, 4232, 13993, 6604, 22447, 3159, 11714, 29437, 11202, 30966, 14390, 47117, 6723, 20943, 7671, 27497, 12011, 32275, 0, 5037, 20570, 4925, 16426, 7191, 26629, 3192, 14103, 30177, 14404, 31928, 17042, 47079, 8561, 21349, 9214, 27891, 14517, 0, 32333, 5115, 17978, 5373, 14318, 7750, 22410, 3500, 12246, 30266, 11258, 31788, 14241, 47321, 6873, 21487, 7795, 28141, 0, 13497, 36419, 4226, 18376, 5114, 17722, 6967, 25020, 2714, 12117, 30122, 14278, 30985, 17054, 46973, 7002, 21515, 9946, 0, 27720, 13702, 31843, 4252, 17963, 5005, 14088, 6705, 22138, 2752, 12057, 30101, 11311, 31154, 14320, 46832, 6978, 21276, 0, 7880, 27741, 13605, 35024, 4671, 20933, 4145, 14075, 6732, 25255, 3348, 14177, 29226, 11408, 30823, 15716, 47138, 8193, 0, 20918, 7752, 27629, 13279, 32283, 4739, 17819, 4193, 13843, 6977, 22669, 3267, 11942, 29346, 11162, 30683, 14377, 47180, 0, 8492, 24640, 9492, 32832, 14609, 37977, 4765, 21195, 5170, 17424, 7719, 26328, 3238, 14758, 29928, 13092, 31275, 17052, 0, 47105, 8160, 21436, 9179, 27710, 14519, 32484, 4635, 18048, 5240, 14206, 7140, 22363, 3308, 11970, 29877, 11316, 31341, 0, 16287, 50501, 7067, 21582, 9217, 32778, 13318, 35006, 4143, 18423, 5267, 16464, 6606, 24766, 2649, 12422, 29884, 13444, 0, 31210, 16137, 46705, 7141, 21318, 9308, 27713, 13582, 32045, 4227, 18101, 5055, 13782, 6957, 22084, 2789, 11802, 30007, 1, 11243, 31690, 15671, 50379, 8175, 24262, 7797, 28230, 13491, 36429, 5060, 20948, 4217, 14148, 6586, 24165, 3148, 14414, 0, 29522, 11252, 31265, 16368, 47064, 8601, 20948, 7793, 27754, 13739, 32466, 4966, 17724, 4132, 13947, 7102, 22419, 3379], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35548, 0, 116257, 0, 0, 0, 161132, 0, 77834, 0, 91639, 0, 102924, 0, 0, 0, 62193, 0, 72461, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78737, 0, 38616, 0, 1, 0, 130288, 0, 161239, 0, 91813, 0, 81460, 0, 0, 0, 76285, 0, 61829, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62570, 0, 51844, 0, 0, 0, 38870, 0, 116088, 0, 121797, 0, 145041, 0, 0, 0, 81321, 0, 102771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112642, 0, 62978, 0, 0, 0, 78735, 0, 35094, 0, 125442, 0, 121503, 0, 0, 0, 91620, 0, 92101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92209, 0, 102738, 0, 0, 0, 61985, 0, 72549, 0, 35531, 0, 115828, 0, 0, 0, 161664, 0, 77806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91563, 0, 81281, 0, 0, 0, 76469, 0, 62160, 0, 78395, 0, 38726, 0, 0, 0, 130159, 0, 161453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121395, 0, 144822, 0, 0, 0, 81221, 0, 103272, 0, 62753, 0, 51897, 0, 0, 0, 38793, 0, 116040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125324, 0, 121731, 0, 0, 0, 91601, 0, 91880, 0, 112940, 0, 62827, 0, 0, 0, 78158, 0, 35609], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6889, 34034, 0, 25279, 94136, 0, 0, 21046, 0, 20551, 101108, 0, 60360, 0, 0, 12520, 50273, 0, 41663, 12192, 0, 44087, 7827, 1, 95060, 25271, 0, 0, 78670, 0, 67221, 26204, 0, 16176, 0, 0, 54550, 13062, 0, 10446, 41572, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45851, 12855, 0, 7564, 37397, 0, 0, 94352, 0, 79193, 27667, 0, 27561, 0, 0, 66263, 17788, 0, 12941, 50448, 0, 11145, 41894, 0, 44163, 8372, 0, 1, 26077, 0, 23099, 94485, 0, 81000, 0, 0, 17036, 66058, 0, 54319, 12635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55792, 13837, 0, 11198, 42764, 0, 0, 7861, 0, 95879, 34562, 0, 33454, 0, 0, 80647, 27263, 0, 16135, 60580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60371, 16223, 0, 11649, 46186, 0, 0, 12589, 0, 7189, 42422, 0, 34547, 0, 0, 94317, 27466, 0, 26310, 100905, 0, 11766, 50076, 0, 45064, 9528, 0, 0, 34711, 0, 35620, 7183, 0, 95940, 0, 0, 23139, 79483, 0, 67189, 20506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21131, 83231, 0, 50094, 12407, 0, 0, 38350, 0, 34617, 12657, 0, 7835, 0, 0, 25709, 94254, 0, 78923, 21142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79033, 20627, 0, 20489, 83359, 0, 0, 12427, 0, 9697, 46067, 0, 42856, 0, 0, 8313, 37440, 0, 25542, 94117, 0, 23214, 79255, 0, 66783, 20703, 0, 0, 49772, 0, 45420, 11528, 0, 11199, 0, 0, 44187, 7717, 0, 94883, 25377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25664, 94440, 0, 79304, 20776, 0, 0, 83024, 0, 49993, 16175, 0, 13862, 0, 0, 42101, 12976, 0, 7866, 33913, 0, 95108, 25847, 0, 23233, 79385, 0, 0, 21093, 0, 11695, 60146, 0, 55560, 0, 0, 11185, 46258, 0, 43877, 6903], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24756, 0, 82358, 0, 66210, 0, 103828, 0, 61631, 0, 0, 0, 74722, 0, 44472, 0, 36482, 0, 51589, 0, 30054, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35047, 0, 21460, 0, 80337, 0, 69524, 0, 100990, 0, 0, 0, 59200, 0, 71904, 0, 52928, 0, 32468, 0, 52014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55562, 0, 36168, 0, 23151, 0, 83527, 0, 69832, 0, 0, 0, 73002, 0, 66548, 0, 78651, 0, 53043, 0, 36848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34304, 0, 50664, 0, 29278, 0, 23459, 0, 81144, 0, 1, 0, 110229, 0, 64064, 0, 66731, 0, 72257, 0, 44356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50452, 0, 31437, 0, 49386, 0, 34674, 0, 21335, 0, 0, 0, 71183, 0, 109921, 0, 73297, 0, 59512, 0, 74730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57559, 0, 65261, 0, 43132, 0, 30672, 0, 44951, 0, 0, 0, 21334, 0, 81078, 0, 69892, 0, 100757, 0, 61695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63826, 0, 57245, 0, 66042, 0, 44133, 0, 30347, 0, 0, 0, 34891, 0, 23554, 0, 83226, 0, 69112, 0, 103442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102898, 0, 61257, 0, 55038, 0, 65632, 0, 43110, 0, 0, 0, 49093, 0, 29027, 0, 23290, 0, 80535, 0, 66176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69044, 0, 101012, 0, 61274, 0, 57258, 0, 64879, 0, 0, 0, 31947, 0, 50656, 0, 36293, 0, 21539, 0, 82270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82655, 0, 69009, 0, 102484, 0, 63780, 0, 57708, 0, 0, 0, 50729, 0, 34594, 0, 55266, 0, 35360, 0, 24770], [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1441, 12861, 23280, 5568, 22350, 7262, 37467, 11217, 17261, 3234, 20916, 3884, 25583, 5727, 14795, 2350, 10045, 3285, 17886, 4207, 9723, 1535, 0, 8259, 1231, 11880, 23209, 5535, 22266, 5924, 37294, 9820, 17321, 3229, 21123, 3169, 25468, 4918, 14808, 2443, 10370, 2611, 17609, 3607, 9689, 0, 1999, 8410, 1230, 13258, 23481, 6990, 22551, 5888, 37234, 11079, 17333, 4171, 20878, 3359, 25415, 5580, 14618, 3134, 10367, 2608, 17886, 4306, 0, 9771, 1871, 8333, 1458, 11819, 23443, 5682, 22317, 5892, 37552, 9761, 17292, 3241, 21080, 3208, 25657, 4945, 14883, 2362, 10409, 2608, 18196, 0, 4358, 11778, 1977, 9745, 1498, 14090, 23571, 6746, 22482, 7569, 37296, 11832, 17276, 3958, 20948, 3746, 25782, 5886, 14925, 3008, 10256, 3245, 0, 18117, 4214, 9881, 1566, 8115, 1484, 11895, 23115, 5795, 22234, 5847, 37431, 9802, 17304, 3107, 20773, 3066, 25716, 4977, 14907, 2250, 10263, 0, 3242, 19459, 4030, 9846, 1622, 9455, 1561, 12803, 23321, 5694, 21898, 7010, 37377, 10951, 17164, 3170, 21040, 3765, 25701, 5610, 14703, 2402, 0, 10217, 2664, 17837, 4118, 9622, 1895, 8019, 1197, 11737, 23483, 5573, 22365, 5859, 37279, 9734, 17213, 3211, 20915, 3334, 25761, 4853, 14809, 0, 2894, 10496, 2635, 19992, 4075, 12477, 2104, 8348, 1198, 13543, 23478, 6876, 22505, 5899, 37180, 11242, 17434, 4060, 20995, 3326, 25476, 5584, 0, 14944, 2749, 10333, 3099, 17836, 4349, 9944, 1852, 8178, 1538, 11850, 23597, 5781, 22541, 5810, 37310, 9802, 17433, 3273, 21085, 3116, 25586, 0, 5973, 17097, 2896, 11813, 3376, 21128, 4762, 11521, 1852, 10461, 1373, 13929, 23499, 6838, 22350, 7051, 37539, 11960, 17305, 4114, 21017, 3784, 0, 25833, 5414, 14783, 2413, 10240, 3126, 17908, 4037, 9754, 1567, 8189, 1400, 11777, 23341, 5587, 22202, 5926, 37319, 9824, 17164, 3214, 20976, 0, 4032, 28886, 5809, 15044, 2368, 12969, 3278, 20037, 4267, 9876, 1628, 10355, 1537, 14074, 23166, 5733, 22131, 7573, 37472, 11118, 17284, 3234, 0, 20909, 3294, 25308, 5336, 14853, 2837, 10302, 2655, 17706, 4181, 9798, 1852, 8294, 1173, 11885, 23085, 5691, 22377, 5924, 37257, 9875, 17263, 0, 3796, 21070, 3172, 27787, 5575, 17517, 3014, 10366, 2663, 20234, 4057, 11652, 1865, 8239, 1268, 13138, 23353, 6658, 22388, 5904, 37247, 10948, 0, 17348, 4012, 20939, 4029, 25846, 6222, 14959, 3026, 10320, 3408, 17889, 4749, 9890, 2216, 8306, 1526, 11836, 23651, 5756, 22487, 6011, 37558, 0, 11825, 19871, 3859, 24606, 3939, 29973, 6233, 17771, 2822, 12823, 3124, 21236, 4317, 12337, 1919, 9526, 1582, 14027, 23556, 7074, 22572, 7156, 0, 37445, 11131, 17268, 3227, 20691, 3908, 25931, 5496, 14862, 2425, 10281, 3301, 18070, 4115, 9864, 1597, 8132, 1454, 11925, 23337, 5588, 21908, 1, 6898, 40125, 10708, 17468, 3235, 24751, 4099, 27767, 5324, 15113, 2378, 11938, 3085, 19943, 4041, 9862, 1631, 9651, 1521, 13537, 23374, 5652, 0, 22393, 6025, 37136, 10939, 17328, 3937, 21157, 3218, 25362, 5714, 14600, 2895, 10333, 2635, 18009, 3984, 10054, 1832, 8189, 1183, 11622, 23376, 0, 6735, 22570, 5919, 40289, 11127, 19908, 4028, 21102, 3234, 28905, 5358, 17170, 2829, 10367, 2721, 19306, 4133, 11586, 1895, 8232, 1241, 13075, 0, 23448, 6554, 22562, 6970, 37441, 11871, 17435, 3922, 20733, 4052, 25782, 5936, 14904, 3012, 10516, 3125, 17754, 4421, 9916, 1984, 8207, 1410], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39826, 0, 0, 0, 148384, 0, 128977, 0, 0, 0, 129767, 0, 85775, 0, 0, 0, 71696, 0, 61288, 0, 0, 0, 54068, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61259, 0, 0, 0, 39712, 0, 148259, 0, 0, 0, 129108, 0, 105864, 0, 0, 0, 85802, 0, 89292, 0, 0, 0, 60997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61376, 0, 0, 0, 53820, 0, 39641, 0, 0, 0, 148678, 0, 129103, 0, 0, 0, 129869, 0, 85936, 0, 0, 0, 71822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88755, 0, 0, 0, 61571, 0, 61478, 0, 0, 0, 39842, 0, 148268, 0, 0, 0, 129390, 0, 105373, 0, 0, 0, 85615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85944, 0, 0, 0, 72213, 0, 61160, 0, 0, 0, 53795, 0, 39631, 0, 0, 0, 148745, 0, 129185, 0, 0, 0, 129567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105546, 0, 0, 0, 85775, 0, 88803, 0, 0, 0, 61654, 0, 61455, 0, 0, 0, 39696, 0, 148199, 0, 0, 0, 129061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129177, 0, 0, 0, 129533, 0, 85768, 0, 0, 0, 71676, 0, 61429, 0, 0, 0, 53585, 0, 39831, 0, 0, 0, 149252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147898, 0, 0, 0, 129285, 0, 106159, 0, 0, 0, 85772, 0, 88715, 0, 0, 0, 61406, 0, 61147, 0, 0, 0, 39779], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1294, 8353, 30800, 8964, 0, 11046, 54055, 4840, 20131, 0, 25163, 8010, 35059, 3280, 0, 3470, 16499, 5765, 25042, 0, 9767, 2207, 11117, 3103, 0, 16660, 1556, 7836, 30830, 0, 31444, 11404, 48723, 4743, 0, 4951, 20639, 7214, 35268, 0, 18525, 2903, 13202, 5611, 0, 2107, 11473, 1753, 11288, 0, 3428, 19339, 1543, 8516, 1, 9275, 32002, 11315, 54447, 0, 24889, 5191, 20708, 7881, 0, 3739, 23139, 3041, 16486, 0, 26636, 2890, 11432, 2256, 0, 14478, 3497, 16560, 1293, 0, 31022, 9413, 31465, 11066, 0, 4566, 24767, 5087, 25377, 0, 38955, 3710, 18717, 3540, 0, 6246, 26629, 2079, 9711, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9724, 2118, 11257, 3102, 0, 1271, 8392, 30858, 8669, 0, 11316, 54326, 4638, 20145, 0, 25246, 8149, 35355, 3218, 0, 3482, 16578, 5687, 24520, 0, 2269, 11433, 1863, 11145, 0, 16544, 1641, 8045, 30587, 0, 31506, 11417, 48803, 4693, 0, 4998, 20593, 7017, 35327, 0, 18481, 2968, 13158, 5737, 0, 26718, 2872, 11356, 2261, 0, 3453, 19359, 1550, 8334, 0, 9306, 31875, 11422, 54248, 0, 24965, 5194, 20588, 7901, 0, 3711, 23479, 2871, 16570, 0, 6125, 26501, 2204, 9759, 0, 14390, 3578, 16508, 1326, 0, 30874, 9346, 31561, 11259, 0, 4640, 24807, 4895, 25169, 0, 39095, 3704, 18747, 3412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3496, 16502, 5587, 25128, 0, 9870, 2185, 11157, 3072, 0, 1292, 8434, 30606, 8686, 0, 11338, 54195, 4809, 20255, 0, 25032, 8040, 35123, 3189, 0, 18552, 2986, 13323, 5577, 0, 2195, 11629, 1727, 11412, 0, 16461, 1548, 7830, 30545, 0, 31353, 11477, 48474, 4788, 0, 4948, 20552, 7148, 35413, 0, 3728, 23451, 3047, 16510, 0, 26757, 2772, 11430, 2210, 0, 3600, 19108, 1592, 8393, 0, 9199, 32065, 11386, 54128, 0, 25013, 5196, 20659, 8077, 0, 38947, 3796, 18446, 3348, 0, 6280, 26514, 2089, 9799, 0, 14383, 3568, 16826, 1259, 0, 31064, 9211, 31297, 11129, 0, 4672, 24899, 5157, 25211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25308, 8041, 35209, 3183, 0, 3417, 16549, 5688, 24823, 0, 9822, 2172, 11102, 3102, 0, 1267, 8412, 30668, 8861, 0, 11210, 54368, 4848, 20122, 0, 5059, 20736, 7069, 35197, 0, 18536, 2935, 13247, 5566, 0, 2142, 11425, 1782, 11164, 0, 16524, 1562, 8029, 30800, 0, 31494, 11441, 48652, 4778, 0, 24836, 5143, 20735, 8004, 0, 3701, 23431, 2911, 16656, 0, 26617, 2955, 11407, 2215, 0, 3503, 19299, 1552, 8308, 0, 9332, 31926, 11323, 54343, 0, 4615, 24800, 5017, 25350, 0, 39043, 3826, 18441, 3392, 0, 6320, 26819, 2162, 9754, 0, 14392, 3528, 16589, 1248, 0, 31063, 9123, 31374, 11278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11358, 54448, 4718, 20111, 0, 25203, 7945, 35108, 3249, 0, 3516, 16397, 5587, 24885, 0, 9785, 2254, 11457, 3177, 0, 1234, 8345, 30704, 8633, 0, 31563, 11325, 48732, 4789, 0, 5001, 20554, 7124, 35173, 0, 18574, 2962, 13306, 5605, 0, 2089, 11437, 1744, 11191, 0, 16539, 1609, 7804, 30944, 0, 9188, 32001, 11421, 53832, 0, 24954, 5222, 20899, 8045, 0, 3754, 23281, 2913, 16592, 0, 26751, 2917, 11451, 2244, 0, 3455, 19094, 1531, 8224, 0, 30619, 9231, 31431, 11279, 0, 4649, 24818, 4908, 25200, 0, 38944, 3698, 18716, 3545, 0, 6369, 26787, 2161, 9711, 0, 14597, 3544, 16602, 1269], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13010, 0, 55735, 0, 63325, 0, 77038, 0, 38463, 0, 48968, 0, 0, 0, 36474, 0, 30918, 0, 42444, 0, 22814, 0, 23609, 0, 27334, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26801, 0, 11250, 0, 56468, 0, 61466, 0, 75826, 0, 39122, 0, 0, 0, 58097, 0, 33380, 0, 32330, 0, 40356, 0, 20666, 0, 24066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19300, 0, 25412, 0, 12622, 0, 53257, 0, 61141, 0, 76943, 0, 0, 0, 49189, 0, 56476, 0, 37016, 0, 26177, 0, 39964, 0, 22932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24336, 0, 21983, 0, 27890, 0, 12920, 0, 55601, 0, 62760, 0, 0, 0, 44313, 0, 58042, 0, 61081, 0, 36842, 0, 32143, 0, 42218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40554, 0, 20407, 0, 22283, 0, 26015, 0, 11409, 0, 55665, 0, 0, 0, 82955, 0, 41512, 0, 58338, 0, 56286, 0, 33600, 0, 30962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26891, 0, 38502, 0, 23035, 0, 18902, 0, 25219, 0, 12477, 0, 1, 0, 63548, 0, 83566, 0, 43879, 0, 49194, 0, 58538, 0, 36532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52107, 0, 31725, 0, 26200, 0, 36057, 0, 19775, 0, 18835, 0, 0, 0, 12610, 0, 55764, 0, 62547, 0, 76827, 0, 38896, 0, 48827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48083, 0, 51448, 0, 31569, 0, 25862, 0, 35264, 0, 19522, 0, 0, 0, 25397, 0, 11326, 0, 55663, 0, 61182, 0, 75965, 0, 38709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37015, 0, 48303, 0, 52400, 0, 30417, 0, 25642, 0, 35932, 0, 0, 0, 18930, 0, 26040, 0, 13187, 0, 53569, 0, 61496, 0, 77367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77202, 0, 38232, 0, 48829, 0, 52520, 0, 31816, 0, 26300, 0, 0, 0, 23272, 0, 22354, 0, 27369, 0, 12517, 0, 56840, 0, 62816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61549, 0, 75828, 0, 38501, 0, 48425, 0, 51306, 0, 31492, 0, 0, 0, 38741, 0, 20402, 0, 21865, 0, 25239, 0, 11243, 0, 55455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53284, 0, 61002, 0, 77307, 0, 37250, 0, 48524, 0, 52269, 0, 0, 0, 26644, 0, 40209, 0, 24579, 0, 19064, 0, 27086, 0, 12875], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1944, 14780, 0, 12515, 50682, 0, 44188, 8108, 0, 6544, 48804, 0, 30880, 6892, 0, 4864, 25024, 0, 21631, 3295, 0, 2848, 19989, 0, 14532, 2228, 0, 13706, 1885, 1, 50941, 12673, 0, 7914, 44279, 0, 38054, 6493, 0, 5822, 30640, 0, 33265, 4810, 0, 4075, 21896, 0, 23164, 2808, 0, 3141, 14760, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14637, 2402, 0, 1842, 14531, 0, 12588, 50742, 0, 44184, 8041, 0, 6479, 48698, 0, 31024, 7027, 0, 4986, 25096, 0, 21811, 3300, 0, 2852, 19976, 0, 3096, 14654, 0, 13699, 1932, 0, 51177, 12544, 0, 7848, 44348, 0, 37876, 6650, 0, 5895, 30497, 0, 33345, 4886, 0, 4020, 21841, 0, 22903, 2802, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2727, 19989, 0, 14642, 2366, 0, 1835, 14604, 0, 12710, 50544, 0, 44463, 8150, 0, 6524, 48839, 0, 30761, 6826, 0, 4794, 25081, 0, 21974, 3364, 0, 22940, 2849, 0, 3066, 14726, 0, 13526, 1911, 0, 50569, 12643, 0, 7841, 44724, 0, 38082, 6512, 0, 5980, 30714, 0, 33252, 4926, 0, 3960, 21792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21786, 3345, 0, 2804, 19928, 0, 14695, 2292, 0, 1946, 14617, 0, 12818, 50567, 0, 44407, 7954, 0, 6547, 48763, 0, 30827, 6767, 0, 5009, 24971, 0, 4003, 21821, 0, 23239, 2773, 0, 3093, 14755, 0, 13775, 1807, 0, 50867, 12504, 0, 7692, 44288, 0, 38003, 6548, 0, 5730, 30890, 0, 33429, 4916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4814, 24926, 0, 21878, 3403, 0, 2874, 20137, 0, 14676, 2420, 0, 1941, 14687, 0, 12297, 50809, 0, 44341, 8097, 0, 6488, 48627, 0, 30804, 6942, 0, 33393, 4883, 0, 4010, 21954, 0, 22996, 2839, 0, 3138, 14856, 0, 13594, 1902, 0, 50782, 12767, 0, 7724, 44247, 0, 37920, 6485, 0, 5959, 30835, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30694, 6900, 0, 4817, 24668, 0, 21795, 3412, 0, 2819, 19961, 0, 14876, 2345, 0, 1977, 14604, 0, 12690, 50497, 0, 44369, 8177, 0, 6557, 48852, 0, 5783, 30954, 0, 33285, 4880, 0, 3977, 21882, 0, 23194, 2764, 0, 3089, 14584, 0, 13606, 1950, 0, 50988, 12656, 0, 7828, 44144, 0, 38066, 6504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6542, 48986, 0, 30793, 6984, 0, 4997, 24807, 0, 21733, 3295, 0, 2891, 19768, 0, 14692, 2362, 0, 1962, 14587, 0, 12868, 50504, 0, 44249, 8148, 0, 38402, 6481, 0, 5943, 30699, 0, 33188, 4983, 0, 3901, 21817, 0, 22909, 2920, 0, 3123, 14586, 0, 13549, 1950, 0, 50608, 12698, 0, 7719, 44405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44244, 8109, 0, 6650, 48714, 0, 30856, 6675, 0, 4957, 25066, 0, 21963, 3397, 0, 2852, 19856, 0, 14720, 2364, 0, 1907, 14749, 0, 12536, 50368, 0, 7721, 44156, 0, 38242, 6509, 0, 5836, 30832, 0, 33357, 4932, 0, 3918, 21779, 0, 23027, 2809, 0, 3104, 14601, 0, 13763, 1896, 0, 50885, 12614, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12768, 50487, 0, 44192, 8132, 0, 6430, 48738, 0, 30725, 6753, 0, 4911, 25127, 0, 22013, 3407, 0, 2819, 20000, 0, 14610, 2231, 0, 1842, 14810, 0, 50548, 12719, 0, 7658, 44458, 0, 38228, 6474, 0, 5913, 30972, 0, 33023, 4950, 0, 3888, 22033, 0, 22943, 2858, 0, 3176, 14868, 0, 13578, 1883], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11837, 0, 68811, 0, 54715, 0, 0, 0, 50381, 0, 55071, 0, 63446, 0, 34132, 0, 28282, 0, 42465, 0, 0, 0, 20257, 0, 30737, 0, 19692, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14284, 0, 14448, 0, 68065, 0, 0, 0, 90191, 0, 43099, 0, 55310, 0, 58479, 0, 29745, 0, 25885, 0, 0, 0, 26668, 0, 23106, 0, 30790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26522, 0, 14504, 0, 11546, 0, 1, 0, 55239, 0, 90346, 0, 50624, 0, 46265, 0, 61476, 0, 34185, 0, 0, 0, 42788, 0, 26666, 0, 20104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26074, 0, 20881, 0, 26337, 0, 0, 0, 11662, 0, 68160, 0, 54717, 0, 80962, 0, 42663, 0, 45873, 0, 0, 0, 33943, 0, 25875, 0, 42739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40973, 0, 22654, 0, 21020, 0, 0, 0, 14872, 0, 14426, 0, 69041, 0, 52461, 0, 83517, 0, 42557, 0, 0, 0, 61260, 0, 29172, 0, 28258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22190, 0, 40978, 0, 26051, 0, 0, 0, 26526, 0, 14463, 0, 11861, 0, 66085, 0, 52113, 0, 81157, 0, 0, 0, 46655, 0, 58520, 0, 33909, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33769, 0, 28126, 0, 42891, 0, 0, 0, 20023, 0, 30676, 0, 19853, 0, 11850, 0, 68747, 0, 54627, 0, 0, 0, 50377, 0, 55663, 0, 63595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58861, 0, 29436, 0, 25772, 0, 0, 0, 27076, 0, 23371, 0, 30750, 0, 14322, 0, 14163, 0, 68361, 0, 0, 0, 90047, 0, 42806, 0, 55178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46364, 0, 61359, 0, 33923, 0, 0, 0, 42197, 0, 26992, 0, 20106, 0, 26759, 0, 14787, 0, 11679, 0, 0, 0, 55247, 0, 90123, 0, 50576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80980, 0, 42931, 0, 46033, 0, 0, 0, 34220, 0, 25448, 0, 42519, 0, 26201, 0, 20945, 0, 26375, 0, 0, 0, 11492, 0, 68337, 0, 54746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52434, 0, 83374, 0, 42572, 0, 0, 0, 61417, 0, 29418, 0, 28411, 0, 40812, 0, 22539, 0, 20906, 0, 0, 0, 14784, 0, 14462, 0, 68745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65538, 0, 52567, 0, 81342, 0, 0, 0, 46082, 0, 58740, 0, 33870, 0, 21869, 0, 41166, 0, 26042, 0, 0, 0, 26709, 0, 14407, 0, 11800], [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 610, 8740, 17472, 2357, 16705, 3040, 28749, 4351, 12656, 1818, 15816, 2682, 20106, 3280, 10854, 1203, 7883, 1191, 13935, 1885, 7302, 930, 6233, 791, 9141, 1311, 4245, 544, 0, 4513, 448, 7599, 17393, 2416, 16702, 2557, 28691, 3831, 12908, 1772, 15899, 2055, 19607, 2918, 10808, 1252, 7745, 1008, 13975, 1633, 7305, 911, 6415, 673, 9226, 1102, 4362, 0, 753, 4561, 476, 8558, 17229, 2931, 16686, 2451, 28535, 4475, 12698, 2171, 16037, 2025, 19798, 3287, 10899, 1493, 7912, 928, 13909, 1816, 7385, 1186, 6301, 674, 9220, 1202, 0, 4209, 684, 4644, 550, 7783, 17532, 2495, 16623, 2481, 28623, 3965, 12723, 1786, 15943, 2036, 19791, 3001, 10946, 1173, 7906, 1052, 13952, 1649, 7384, 923, 6273, 682, 9171, 0, 1433, 5115, 675, 5346, 583, 9233, 17339, 2895, 16650, 3076, 28687, 4636, 12909, 2257, 15981, 2423, 19868, 3451, 10996, 1530, 7898, 1164, 13814, 1978, 7461, 1157, 6300, 826, 0, 9260, 1199, 4323, 519, 4493, 604, 7755, 17321, 2431, 16589, 2464, 28764, 3924, 12828, 1722, 15862, 1998, 19685, 2928, 10831, 1161, 7925, 965, 13745, 1600, 7478, 930, 6355, 0, 932, 10054, 1190, 4390, 558, 5551, 556, 8643, 17362, 2492, 16624, 3009, 28508, 4391, 12896, 1823, 15885, 2607, 19812, 3385, 10924, 1137, 7865, 1166, 13753, 1921, 7389, 895, 0, 6287, 629, 9210, 1264, 4282, 698, 4494, 422, 7636, 17282, 2408, 16625, 2448, 28633, 3988, 12707, 1718, 16018, 2044, 19734, 2937, 10951, 1162, 7929, 993, 14146, 1648, 7476, 0, 1167, 6564, 671, 10233, 1223, 5485, 703, 4565, 460, 8635, 17251, 3112, 16695, 2531, 28677, 4505, 12775, 2302, 16005, 2162, 19830, 3360, 10898, 1547, 7945, 940, 13662, 1979, 0, 7424, 1119, 6281, 808, 9186, 1254, 4367, 610, 4516, 597, 7759, 17529, 2467, 16763, 2408, 28548, 3865, 12905, 1853, 15974, 2071, 19940, 2845, 10958, 1150, 7894, 900, 13833, 0, 2136, 8782, 1115, 7559, 839, 10781, 1261, 5163, 668, 5826, 592, 9377, 17399, 3124, 16715, 2872, 28570, 4612, 12638, 2333, 15960, 2553, 19996, 3487, 10897, 1443, 7891, 1181, 0, 13830, 1766, 7335, 918, 6402, 817, 8932, 1256, 4275, 561, 4615, 570, 7738, 17218, 2548, 16561, 2451, 28830, 4055, 12900, 1792, 15740, 2013, 19880, 2815, 10733, 1194, 8002, 0, 1239, 15099, 1732, 7366, 935, 7392, 866, 10008, 1177, 4258, 560, 5411, 524, 8780, 17213, 2437, 16707, 2869, 28537, 4387, 12683, 1895, 15968, 2386, 19970, 3149, 11011, 1135, 0, 7906, 1003, 13797, 1841, 7399, 1052, 6362, 667, 8989, 1281, 4345, 675, 4555, 433, 7745, 17476, 2381, 16656, 2440, 28488, 3870, 12790, 1816, 16055, 2105, 19724, 3002, 10949, 0, 1606, 7954, 1021, 15536, 1940, 9258, 1136, 6355, 708, 10690, 1303, 5206, 664, 4579, 411, 8758, 17435, 2939, 16596, 2456, 28515, 4422, 12820, 2218, 15977, 2163, 19960, 3305, 0, 11062, 1457, 8031, 1193, 13750, 1974, 7305, 1099, 6325, 938, 9120, 1370, 4311, 681, 4611, 559, 7758, 17423, 2466, 16685, 2457, 28930, 3894, 12717, 1752, 15788, 2081, 19864, 0, 3785, 12623, 1415, 9238, 1175, 16296, 1985, 8907, 1146, 7965, 864, 10727, 1298, 5357, 657, 5394, 536, 9410, 17333, 3067, 16657, 2982, 28729, 4596, 12919, 2183, 15991, 2650, 0, 20007, 3298, 10808, 1150, 7798, 1276, 13830, 1854, 7580, 916, 6291, 882, 9140, 1247, 4299, 499, 4679, 587, 7672, 17422, 2576, 16557, 2452, 28637, 3797, 12831, 1755, 15887, 0, 2592, 22331, 3294, 10980, 1240, 9910, 1295, 15790, 1836, 7429, 902, 8051, 896, 10638, 1179, 4363, 583, 5760, 602, 8819, 17534, 2464, 16533, 3252, 28490, 4596, 12757, 1749, 0, 15965, 2015, 19721, 3240, 10815, 1429, 7891, 996, 14190, 1931, 7472, 1074, 6353, 694, 9137, 1149, 4315, 640, 4559, 493, 7692, 17255, 2319, 16469, 2436, 28605, 3895, 12845, 0, 2303, 15964, 2069, 21414, 3150, 12764, 1421, 7996, 972, 15533, 1869, 8962, 1141, 6508, 676, 9907, 1216, 5224, 682, 4546, 415, 8579, 17305, 2911, 16804, 2488, 28657, 4265, 0, 12921, 2089, 15982, 2456, 19764, 3337, 10836, 1381, 7913, 1312, 14001, 1947, 7493, 1137, 6355, 759, 9128, 1306, 4297, 663, 4556, 539, 7747, 17352, 2482, 16704, 2422, 28805, 1, 4778, 14851, 2183, 18899, 2441, 23127, 3406, 12849, 1467, 9880, 1230, 16276, 2016, 9367, 1143, 7442, 817, 10707, 1311, 5513, 657, 5635, 545, 9413, 17302, 2952, 16565, 3011, 0, 28737, 4302, 12812, 1805, 15971, 2597, 19842, 3215, 10742, 1219, 7899, 1158, 13711, 1913, 7444, 919, 6240, 842, 9190, 1266, 4344, 489, 4608, 559, 7719, 17312, 2353, 16479, 0, 3195, 30713, 4217, 12897, 1784, 18675, 2557, 21266, 3199, 11023, 1213, 9167, 1174, 15321, 1698, 7457, 920, 7623, 803, 10098, 1274, 4272, 569, 5382, 575, 8556, 17414, 2453, 0, 16591, 2490, 28488, 4221, 12761, 2137, 16072, 2108, 19924, 3433, 10923, 1339, 7993, 1011, 13889, 1783, 7396, 1172, 6412, 696, 8980, 1213, 4375, 656, 4563, 468, 7712, 17307, 0, 3063, 16749, 2535, 30754, 4250, 14874, 2136, 16029, 2135, 22523, 3340, 12727, 1428, 7931, 983, 15005, 1819, 8700, 1110, 6272, 658, 9940, 1213, 5187, 671, 4634, 475, 8691, 0, 17526, 3123, 16500, 3095, 28809, 4933, 12884, 2258, 16078, 2611, 19787, 3678, 10925, 1606, 7950, 1304, 13790, 2084, 7496, 1181, 6404, 949, 9155, 1431, 4281, 764, 4619, 616], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31218, 0, 0, 0, 0, 0, 170941, 0, 0, 0, 138086, 0, 113227, 0, 0, 0, 88876, 0, 70054, 0, 0, 0, 60690, 0, 0, 0, 0, 0, 46892, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40988, 0, 0, 0, 0, 0, 32014, 0, 0, 0, 173509, 0, 138778, 0, 0, 0, 111888, 0, 91263, 0, 0, 0, 71022, 0, 0, 0, 0, 0, 60808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53428, 0, 0, 0, 0, 0, 46768, 0, 0, 0, 32195, 0, 173116, 0, 0, 0, 140389, 0, 113613, 0, 0, 0, 90714, 0, 0, 0, 0, 0, 70091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67538, 0, 0, 0, 0, 0, 54434, 0, 0, 0, 49578, 0, 32282, 0, 0, 0, 174659, 0, 140043, 0, 0, 0, 112317, 0, 0, 0, 0, 0, 89259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101748, 0, 0, 0, 0, 0, 63953, 0, 0, 0, 52270, 0, 44617, 0, 0, 0, 32350, 0, 173117, 0, 0, 0, 139187, 0, 0, 0, 0, 0, 112983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113080, 0, 0, 0, 0, 0, 83368, 0, 0, 0, 77765, 0, 52535, 0, 0, 0, 49564, 0, 32284, 0, 0, 0, 173290, 0, 0, 0, 0, 0, 138267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139885, 0, 0, 0, 0, 0, 129216, 0, 0, 0, 83507, 0, 63572, 0, 0, 0, 54892, 0, 46490, 0, 0, 0, 31912, 0, 0, 0, 0, 0, 170889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172099, 0, 0, 0, 0, 0, 139575, 0, 0, 0, 113404, 0, 101983, 0, 0, 0, 67607, 0, 53289, 0, 0, 0, 41231, 0, 0, 0, 0, 0, 30844], [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 2798, 15560, 3021, 15794, 4596, 26458, 2103, 11735, 2493, 14947, 3442, 18421, 1614, 10038, 1238, 7393, 2015, 12998, 994, 6740, 832, 5916, 1318, 8497, 695, 3914, 600, 4403, 1083, 0, 7216, 292, 2185, 15598, 2291, 15801, 3662, 26602, 1638, 11726, 2011, 14887, 2749, 18276, 1108, 9917, 901, 7420, 1550, 12916, 820, 6833, 673, 6034, 1097, 8493, 557, 3930, 466, 4382, 0, 947, 8020, 231, 2201, 15434, 2899, 15607, 4116, 26269, 1651, 11714, 2465, 14924, 2948, 18443, 1087, 10104, 1152, 7509, 1846, 13168, 842, 6821, 810, 5964, 1128, 8686, 514, 3994, 620, 0, 4209, 948, 7328, 244, 2300, 15502, 2298, 15843, 3697, 26527, 1621, 11776, 1915, 14821, 2697, 18427, 1128, 10038, 939, 7570, 1522, 12864, 788, 6824, 603, 5949, 962, 8408, 467, 3963, 0, 467, 4243, 902, 8159, 286, 2602, 15467, 2277, 15724, 4228, 26720, 2076, 11700, 1921, 14940, 2923, 18293, 1300, 9911, 927, 7543, 1743, 12905, 1064, 6800, 688, 5960, 1191, 8457, 709, 0, 3942, 439, 4210, 949, 7315, 303, 2121, 15537, 2378, 15870, 3798, 26558, 1675, 11619, 1969, 14947, 2711, 18255, 1124, 9887, 959, 7309, 1534, 13132, 832, 6631, 671, 5948, 953, 8500, 0, 574, 4579, 537, 5170, 1054, 8764, 313, 2648, 15520, 2984, 15611, 4261, 26615, 2036, 11650, 2285, 14997, 3394, 18399, 1381, 9995, 1097, 7521, 1896, 13030, 1076, 6664, 847, 5981, 1375, 0, 8529, 600, 3951, 571, 4318, 1033, 7170, 305, 2275, 15399, 2336, 15676, 3680, 26711, 1715, 11735, 1966, 14793, 2787, 18517, 1052, 9979, 911, 7421, 1472, 13040, 801, 6787, 641, 5986, 0, 1175, 9370, 484, 4036, 563, 5214, 948, 8156, 269, 2140, 15480, 2914, 15605, 4216, 26688, 1715, 11644, 2385, 14876, 3139, 18343, 1087, 9807, 1120, 7415, 1784, 13096, 867, 6764, 881, 0, 5918, 1132, 8423, 518, 3896, 518, 4289, 935, 7148, 245, 2251, 15693, 2330, 15631, 3600, 26639, 1604, 11711, 1963, 14880, 2727, 18298, 1075, 10081, 957, 7448, 1531, 12742, 872, 6869, 0, 650, 5801, 1145, 9549, 657, 4884, 475, 4458, 972, 8041, 338, 2814, 15510, 2299, 15853, 4078, 26676, 2166, 11622, 2020, 14937, 3243, 18494, 1390, 9918, 897, 7413, 1807, 12997, 1156, 0, 6863, 636, 5930, 1144, 8430, 658, 3915, 431, 4462, 916, 7260, 300, 2129, 15358, 2306, 15692, 3682, 26683, 1691, 11661, 1929, 15146, 2734, 18157, 1096, 10076, 899, 7363, 1556, 13086, 0, 1025, 8222, 766, 6975, 1249, 10027, 653, 4694, 617, 5507, 1078, 8713, 306, 2756, 15527, 2694, 15779, 4295, 26433, 2089, 11714, 2454, 14976, 3259, 18362, 1308, 9942, 1186, 7410, 1964, 0, 12744, 1042, 6732, 694, 6041, 1277, 8633, 601, 3999, 560, 4363, 1041, 7173, 300, 2100, 15532, 2393, 15716, 3684, 26566, 1606, 11602, 1878, 14990, 2787, 18431, 1050, 9955, 889, 7492, 0, 1718, 13863, 839, 6808, 742, 7037, 1108, 9277, 493, 4038, 529, 5145, 915, 8306, 253, 2366, 15463, 2797, 15660, 4119, 26516, 1673, 11680, 2311, 14863, 2907, 18269, 1089, 10073, 1175, 0, 7609, 1659, 12854, 814, 6886, 768, 6013, 1138, 8515, 520, 4041, 529, 4321, 965, 7077, 265, 2272, 15458, 2319, 15642, 3563, 26421, 1703, 11612, 1916, 15051, 2740, 18276, 1124, 10083, 0, 951, 7463, 1703, 14431, 1071, 8458, 639, 6005, 1151, 10040, 581, 4833, 452, 4269, 1021, 7998, 318, 2765, 15588, 2325, 15637, 4132, 26649, 2102, 11784, 1920, 14898, 3040, 18313, 1439, 0, 10181, 980, 7445, 1743, 12993, 1045, 6793, 629, 5979, 1159, 8420, 593, 3917, 453, 4308, 970, 7005, 303, 2220, 15323, 2361, 15758, 3747, 26574, 1646, 11660, 1921, 15034, 2716, 18164, 0, 1258, 11548, 1121, 8761, 1838, 14999, 1116, 8115, 796, 7570, 1220, 9857, 585, 4786, 534, 5190, 974, 8776, 311, 2858, 15453, 2837, 15582, 4325, 26766, 1942, 11793, 2488, 15044, 3430, 0, 18514, 1313, 9992, 1152, 7437, 1946, 12926, 1110, 6688, 823, 6077, 1228, 8442, 663, 3933, 544, 4336, 1064, 7232, 331, 2279, 15530, 2311, 15580, 3605, 26517, 1683, 11777, 1935, 14947, 0, 3095, 20857, 1082, 10038, 1192, 9370, 1828, 14468, 816, 6794, 874, 7703, 1187, 9904, 506, 3966, 605, 5502, 944, 8157, 233, 2152, 15594, 2888, 15629, 4073, 26673, 1708, 11764, 2485, 0, 14941, 3151, 18322, 1116, 9874, 1133, 7472, 1691, 12996, 815, 6676, 796, 6016, 1156, 8434, 503, 3928, 627, 4216, 1008, 7220, 241, 2189, 15636, 2320, 15781, 3610, 26539, 1688, 11896, 0, 1967, 14756, 2956, 19765, 1307, 11886, 909, 7417, 1767, 14712, 1076, 8155, 631, 6182, 1121, 9362, 584, 4613, 445, 4391, 920, 7999, 322, 2571, 15417, 2309, 15731, 4048, 26663, 2050, 0, 11505, 1934, 14964, 2971, 18262, 1311, 10118, 901, 7423, 1761, 13042, 1056, 6760, 634, 5976, 1157, 8584, 627, 3973, 437, 4372, 997, 7299, 309, 2114, 15415, 2216, 15678, 3687, 26539, 0, 1946, 13524, 2393, 17501, 3207, 21308, 1371, 11729, 1169, 9385, 1840, 15136, 1095, 8551, 754, 6886, 1224, 10059, 608, 4998, 531, 5331, 1074, 8762, 267, 2616, 15493, 2852, 15785, 4611, 0, 26266, 1931, 11821, 2339, 14884, 3279, 18397, 1248, 10092, 1190, 7572, 1844, 12999, 1040, 6742, 751, 6007, 1206, 8389, 636, 4017, 522, 4300, 1030, 7127, 343, 2215, 15516, 2290, 15824, 0, 3986, 28715, 1663, 11768, 2324, 17572, 2951, 19868, 1117, 10005, 1136, 8747, 1656, 14327, 851, 6760, 741, 7038, 1146, 9638, 479, 3936, 565, 5149, 1009, 7938, 253, 2259, 15513, 2893, 0, 15591, 3873, 26763, 1633, 11813, 2339, 15133, 2973, 18448, 1108, 10084, 1116, 7387, 1694, 12773, 909, 6788, 808, 5934, 1177, 8325, 519, 3926, 503, 4330, 939, 7154, 219, 2266, 15352, 1, 2399, 15978, 3959, 28550, 1935, 13593, 1945, 14928, 3085, 20626, 1330, 11555, 917, 7505, 1684, 13931, 995, 8046, 637, 5810, 1127, 9477, 602, 4580, 426, 4283, 955, 8229, 319, 2824, 0, 15470, 2363, 15854, 3959, 26733, 1953, 11526, 1954, 14943, 3091, 18234, 1280, 9968, 930, 7431, 1687, 12881, 1028, 6765, 672, 5999, 1137, 8456, 594, 3957, 479, 4253, 980, 7201, 325], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4897, 0, 32954, 0, 35366, 0, 51996, 0, 25279, 0, 32509, 0, 36189, 0, 20597, 0, 16857, 0, 26096, 0, 14231, 0, 13263, 0, 17197, 0, 8477, 0, 9796, 0, 14331, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14465, 0, 4936, 0, 33154, 0, 35108, 0, 52131, 0, 25091, 0, 32767, 0, 36019, 0, 20578, 0, 16736, 0, 25839, 0, 14406, 0, 13166, 0, 17295, 0, 8624, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10124, 0, 14598, 0, 4889, 0, 32968, 0, 34999, 0, 51904, 0, 25154, 0, 32529, 0, 36226, 0, 20553, 0, 17001, 0, 25831, 0, 14254, 0, 13265, 0, 17298, 0, 8728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8630, 0, 9959, 0, 14448, 0, 4963, 0, 32957, 0, 34989, 0, 51913, 0, 25186, 0, 32536, 0, 36187, 0, 20711, 0, 16869, 0, 25844, 0, 14291, 0, 13271, 0, 17294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17294, 0, 8562, 0, 9884, 0, 14469, 0, 4890, 0, 33186, 0, 34987, 0, 51901, 0, 25281, 0, 32475, 0, 36045, 0, 20733, 0, 16791, 0, 25868, 0, 14311, 0, 13225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13166, 0, 17230, 0, 8472, 0, 9866, 0, 14544, 0, 4907, 0, 33140, 0, 35237, 0, 51793, 0, 25378, 0, 32641, 0, 36049, 0, 20491, 0, 16811, 0, 26004, 0, 14348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14147, 0, 12994, 0, 17201, 0, 8521, 0, 9939, 0, 14750, 0, 5024, 0, 33142, 0, 34999, 0, 51637, 0, 25378, 0, 32670, 0, 36337, 0, 20698, 0, 16920, 0, 25902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26062, 0, 14083, 0, 13133, 0, 17166, 0, 8593, 0, 9948, 0, 14649, 0, 5012, 0, 32856, 0, 35217, 0, 51910, 0, 25365, 0, 32624, 0, 36051, 0, 20565, 0, 16728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16934, 0, 26124, 0, 14348, 0, 13326, 0, 17292, 0, 8649, 0, 10021, 0, 14497, 0, 4989, 0, 32907, 0, 34804, 0, 51830, 0, 24975, 0, 32570, 0, 36277, 0, 20428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20668, 0, 16798, 0, 25897, 0, 14404, 0, 13302, 0, 17286, 0, 8552, 0, 9880, 0, 14562, 0, 4861, 0, 33130, 0, 35177, 0, 51979, 0, 25220, 0, 32507, 0, 35929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36012, 0, 20918, 0, 16847, 0, 25991, 0, 14288, 0, 13135, 0, 17144, 0, 8569, 0, 9951, 0, 14567, 0, 4858, 0, 32935, 0, 35232, 0, 51800, 0, 25254, 0, 32452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32825, 0, 36140, 0, 20676, 0, 16893, 0, 25905, 0, 14147, 0, 13142, 0, 17362, 0, 8643, 0, 10063, 0, 14440, 0, 4955, 0, 32829, 0, 35065, 0, 51864, 0, 25459, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25089, 0, 32775, 0, 36186, 0, 20640, 0, 16805, 0, 25993, 0, 14146, 0, 13221, 0, 17259, 0, 8590, 0, 9782, 0, 14417, 0, 4935, 0, 33173, 0, 35016, 0, 52035, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51696, 0, 25237, 0, 32498, 0, 35992, 0, 20446, 0, 16744, 0, 26141, 0, 14435, 0, 13264, 0, 17286, 0, 8640, 0, 10068, 0, 14656, 0, 4906, 0, 32796, 0, 35195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35097, 0, 51993, 0, 25272, 0, 32427, 0, 35865, 0, 20731, 0, 16918, 0, 25732, 0, 14269, 0, 13293, 0, 17356, 0, 8566, 0, 10011, 0, 14544, 0, 4906, 0, 33020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32929, 0, 35013, 0, 52050, 0, 25318, 0, 32667, 0, 36108, 0, 20372, 0, 16643, 0, 25908, 0, 14306, 0, 13188, 0, 17274, 0, 8741, 0, 9966, 0, 14591, 0, 4914], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 814, 8380, 0, 6594, 50076, 0, 42354, 6829, 0, 4753, 0, 0, 36199, 3141, 0, 2717, 28067, 0, 24708, 2195, 0, 0, 20250, 0, 17073, 1683, 0, 1713, 16315, 0, 13042, 1079, 0, 7726, 793, 1, 49646, 6318, 0, 5631, 42524, 0, 36130, 0, 0, 4043, 28355, 0, 30390, 3377, 0, 3500, 19269, 0, 0, 2098, 0, 2074, 16023, 0, 14100, 1753, 0, 1161, 13155, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12448, 979, 0, 784, 7828, 0, 6046, 49846, 0, 42331, 0, 0, 5811, 46111, 0, 28453, 3863, 0, 3332, 21708, 0, 0, 2632, 0, 2168, 18786, 0, 15049, 1750, 0, 1742, 16262, 0, 946, 12327, 0, 7295, 825, 0, 49667, 6397, 0, 5133, 0, 0, 42268, 4322, 0, 3052, 33367, 0, 36569, 2463, 0, 0, 23459, 0, 25395, 2046, 0, 1965, 15002, 0, 14154, 1625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1622, 15197, 0, 12668, 947, 0, 682, 8465, 0, 5799, 1, 0, 49472, 6443, 0, 4357, 55344, 0, 33580, 2917, 0, 0, 25728, 0, 24136, 2402, 0, 2030, 18826, 0, 15989, 1621, 0, 13512, 1622, 0, 852, 13059, 0, 7439, 839, 0, 49533, 0, 0, 6567, 42608, 0, 36257, 5695, 0, 4272, 28322, 0, 0, 3202, 0, 3598, 24207, 0, 25381, 2148, 0, 2034, 17017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14833, 1589, 0, 1586, 15152, 0, 12708, 1030, 0, 690, 0, 0, 7303, 49726, 0, 42300, 8427, 0, 5719, 46345, 0, 0, 3408, 0, 3129, 26171, 0, 23017, 2658, 0, 2118, 20288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1581, 15746, 0, 12442, 1384, 0, 1290, 12372, 0, 10235, 0, 0, 752, 6444, 0, 5040, 49985, 0, 42361, 5252, 0, 0, 46154, 0, 28388, 2967, 0, 2430, 21998, 0, 19269, 2175, 0, 23738, 1936, 0, 2023, 14896, 0, 13446, 1623, 0, 958, 0, 0, 9304, 805, 0, 49857, 8163, 0, 7165, 42379, 0, 0, 5639, 0, 4435, 33076, 0, 36657, 3334, 0, 3658, 24902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22732, 2424, 0, 2067, 18428, 0, 14935, 1924, 0, 1579, 0, 0, 15983, 925, 0, 846, 10076, 0, 8153, 49797, 0, 0, 8425, 0, 5526, 55140, 0, 33243, 3923, 0, 3418, 28511, 0, 2691, 19238, 0, 19542, 1580, 0, 1515, 12630, 0, 11312, 0, 0, 959, 10248, 0, 5823, 839, 0, 49751, 4885, 0, 0, 42357, 0, 36202, 4194, 0, 3102, 28275, 0, 30243, 2656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2376, 22144, 0, 19301, 1904, 0, 1552, 15635, 0, 12541, 0, 0, 1614, 12522, 0, 10054, 929, 0, 793, 6379, 0, 0, 49954, 0, 42284, 6296, 0, 4288, 46119, 0, 28144, 3179, 0, 35850, 2749, 0, 3273, 22740, 0, 23598, 1992, 0, 1786, 0, 0, 15881, 1503, 0, 905, 15794, 0, 9146, 735, 0, 0, 7259, 0, 6460, 49431, 0, 42741, 5801, 0, 4087, 36232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2958, 28348, 0, 30249, 2390, 0, 2644, 19141, 0, 19568, 0, 0, 1795, 12586, 0, 11027, 1530, 0, 911, 10148, 0, 0, 734, 0, 49558, 5946, 0, 5172, 42515, 0, 36246, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4717, 45991, 0, 28241, 3127, 0, 2715, 22009, 0, 19323, 0, 0, 1969, 15399, 0, 12456, 1808, 0, 1671, 12534, 0, 0, 953, 0, 821, 8564, 0, 6300, 50029, 0, 42419, 6831, 0, 36220, 4298, 0, 3242, 28189, 0, 30316, 2577, 0, 2582, 0, 0, 23803, 1541, 0, 1572, 14824, 0, 13357, 1316, 0, 0, 12526, 0, 7425, 742, 0, 49490, 6021, 0, 5581, 42267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42638, 6284, 0, 4281, 46120, 0, 28225, 3136, 0, 2285, 0, 0, 22612, 1899, 0, 1515, 18556, 0, 15018, 1398, 0, 0, 15212, 0, 12908, 1010, 0, 793, 7617, 0, 6584, 49923, 0, 5340, 42318, 0, 36402, 4428, 0, 3151, 28250, 0, 30323, 0, 0, 3242, 19167, 0, 19546, 2050, 0, 1962, 12676, 0, 0, 1614, 0, 918, 12592, 0, 7307, 800, 0, 49562, 6613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5744, 49773, 0, 42234, 6379, 0, 4225, 46302, 0, 28338, 0, 0, 2780, 21864, 0, 19362, 2488, 0, 2072, 15682, 0, 0, 1599, 0, 1610, 14983, 0, 12274, 1050, 0, 831, 8374, 0, 49496, 5930, 0, 5207, 42506, 0, 36087, 4643, 0, 2998, 0, 0, 35907, 2385, 0, 2526, 22860, 0, 23968, 1563, 0, 0, 14918, 0, 13769, 1630, 0, 962, 12327, 0, 7682, 794], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5028, 0, 37152, 0, 32806, 0, 55324, 0, 27514, 0, 30167, 0, 36889, 0, 21795, 0, 0, 0, 27487, 0, 14841, 0, 13772, 0, 18074, 0, 8993, 0, 9763, 0, 15345, 0, 4918, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5929, 0, 4307, 0, 37492, 0, 33599, 0, 54469, 0, 27630, 0, 31099, 0, 36287, 0, 0, 0, 16127, 0, 28303, 0, 18483, 0, 12425, 0, 19500, 0, 10880, 0, 8507, 0, 15216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16348, 0, 6326, 0, 5130, 0, 37821, 0, 33506, 0, 55583, 0, 28317, 0, 30523, 0, 0, 0, 25554, 0, 18113, 0, 30289, 0, 17508, 0, 15062, 0, 19461, 0, 10772, 0, 9957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10526, 0, 15585, 0, 5016, 0, 5384, 0, 37350, 0, 32573, 0, 55687, 0, 27438, 0, 0, 0, 41410, 0, 22038, 0, 19682, 0, 28837, 0, 14938, 0, 15061, 0, 19367, 0, 9194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10610, 0, 8583, 0, 15290, 0, 5755, 0, 4366, 0, 37563, 0, 33841, 0, 54394, 0, 0, 0, 31298, 0, 39491, 0, 26016, 0, 16226, 0, 28933, 0, 17348, 0, 12352, 0, 18142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19663, 0, 11153, 0, 10144, 0, 16390, 0, 5972, 0, 5221, 0, 38396, 0, 33447, 0, 0, 0, 32310, 0, 36032, 0, 43399, 0, 26077, 0, 19328, 0, 30088, 0, 18487, 0, 14014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14125, 0, 18620, 0, 9042, 0, 9827, 0, 15201, 0, 4821, 0, 5459, 0, 37044, 0, 1, 0, 59129, 0, 28015, 0, 35991, 0, 39864, 0, 21894, 0, 18198, 0, 28252, 0, 14635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17346, 0, 12325, 0, 18097, 0, 10385, 0, 8287, 0, 15564, 0, 6204, 0, 4307, 0, 0, 0, 34074, 0, 59433, 0, 32194, 0, 31040, 0, 41437, 0, 25590, 0, 16320, 0, 27247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15568, 0, 25094, 0, 14464, 0, 12036, 0, 16403, 0, 8740, 0, 8316, 0, 13573, 0, 0, 0, 4397, 0, 36830, 0, 33368, 0, 54583, 0, 27547, 0, 30838, 0, 36416, 0, 21973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22381, 0, 15668, 0, 25890, 0, 14771, 0, 12290, 0, 16674, 0, 9040, 0, 8477, 0, 0, 0, 6143, 0, 5413, 0, 38485, 0, 33413, 0, 55162, 0, 28306, 0, 31010, 0, 36935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36509, 0, 22097, 0, 15108, 0, 25596, 0, 14425, 0, 11880, 0, 16659, 0, 8846, 0, 0, 0, 15328, 0, 4901, 0, 5185, 0, 37377, 0, 32696, 0, 55572, 0, 27393, 0, 30479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30686, 0, 36269, 0, 21683, 0, 15838, 0, 24974, 0, 14531, 0, 12209, 0, 16394, 0, 0, 0, 8492, 0, 15247, 0, 5997, 0, 4364, 0, 37703, 0, 33617, 0, 54524, 0, 27476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27906, 0, 30862, 0, 36700, 0, 22240, 0, 15782, 0, 25426, 0, 14681, 0, 11984, 0, 0, 0, 10573, 0, 9712, 0, 16348, 0, 5818, 0, 5332, 0, 37669, 0, 33654, 0, 55191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55408, 0, 27523, 0, 30320, 0, 36738, 0, 22060, 0, 15190, 0, 25564, 0, 14467, 0, 0, 0, 18127, 0, 9000, 0, 10047, 0, 15248, 0, 4943, 0, 5178, 0, 37478, 0, 32709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33652, 0, 54714, 0, 27685, 0, 30730, 0, 36641, 0, 22031, 0, 15570, 0, 25396, 0, 0, 0, 12315, 0, 18507, 0, 11026, 0, 8444, 0, 15704, 0, 6164, 0, 4436, 0, 37197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38183, 0, 33974, 0, 55404, 0, 27652, 0, 30968, 0, 36527, 0, 22187, 0, 15478, 0, 0, 0, 17381, 0, 14182, 0, 19769, 0, 10706, 0, 10706, 0, 16267, 0, 5899, 0, 5046], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 7835, 29894, 3125, 0, 2908, 0, 4382, 22734, 0, 29537, 1768, 39627, 0, 0, 1661, 17210, 1278, 25997, 0, 0, 1149, 10825, 913, 0, 1495, 10786, 0, 7099, 0, 12102, 1236, 5520, 540, 0, 4239, 361, 7000, 30008, 0, 29889, 0, 44699, 5156, 0, 2522, 17193, 1656, 0, 0, 17206, 1611, 13053, 1214, 0, 0, 13224, 1296, 10740, 0, 16409, 1753, 0, 676, 0, 639, 12683, 1100, 5586, 0, 346, 5922, 472, 7897, 1, 3213, 0, 3015, 59013, 0, 22906, 2414, 22695, 0, 0, 3751, 17670, 1229, 17262, 0, 0, 2423, 13263, 621, 0, 1299, 22598, 0, 7980, 0, 9267, 905, 12700, 1218, 0, 4240, 372, 5533, 490, 0, 30182, 0, 29560, 3869, 0, 5908, 22774, 2438, 0, 0, 39674, 3803, 13117, 1251, 0, 0, 26832, 2585, 7533, 0, 14358, 1262, 0, 1509, 0, 512, 9488, 641, 12193, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10968, 1057, 4024, 341, 0, 347, 0, 29844, 3092, 0, 4093, 52030, 5162, 0, 0, 22574, 2360, 34274, 3263, 0, 0, 13094, 1284, 22779, 0, 9956, 1163, 0, 975, 0, 1585, 8055, 685, 7200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7486, 675, 12319, 1270, 0, 501, 0, 324, 9331, 0, 4290, 29574, 3057, 0, 0, 30038, 3213, 22553, 2419, 0, 0, 22722, 2109, 17095, 0, 30055, 3280, 0, 1135, 0, 1297, 22879, 1692, 10744, 0, 536, 7108, 596, 10547, 0, 4274, 0, 4330, 453, 0, 30094, 3338, 29505, 0, 0, 5056, 23000, 1766, 22495, 0, 0, 3154, 17516, 949, 0, 1691, 30136, 0, 9783, 0, 14358, 1230, 16642, 1483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 6088, 367, 6916, 0, 9270, 0, 3008, 276, 0, 496, 6330, 29962, 0, 0, 2831, 51757, 3800, 17459, 0, 0, 1675, 35378, 2401, 0, 907, 17295, 0, 22670, 0, 7568, 711, 10779, 854, 0, 16934, 1617, 8012, 734, 0, 409, 0, 918, 5294, 0, 5468, 266, 7701, 0, 0, 29676, 2925, 51974, 5121, 0, 0, 17296, 1657, 35525, 0, 17315, 2214, 0, 1290, 0, 2461, 13065, 1298, 10789, 0, 699, 17278, 1304, 8123, 0, 5346, 0, 9351, 1100, 0, 475, 3434, 253, 0, 0, 4287, 29763, 2183, 51915, 0, 0, 3043, 17448, 1758, 0, 3145, 22629, 0, 13215, 0, 26999, 2452, 12914, 1069, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9877, 928, 10742, 902, 0, 1245, 0, 545, 6870, 0, 12536, 890, 5615, 0, 0, 308, 8133, 29816, 3322, 0, 0, 51805, 5146, 17496, 0, 22722, 2359, 0, 3320, 0, 1257, 17130, 1250, 25793, 0, 1669, 9886, 656, 10857, 0, 14312, 0, 6097, 511, 0, 645, 9258, 904, 0, 0, 4153, 356, 5874, 29840, 0, 0, 2190, 51803, 3718, 0, 1886, 22624, 0, 34312, 0, 13147, 1192, 13091, 1240, 0, 25916, 2384, 9884, 933, 0, 881, 0, 1320, 8081, 0, 9451, 461, 12535, 0, 0, 477, 5886, 365, 8015, 0, 0, 29817, 2871, 51959, 0, 23045, 3170, 0, 2428, 0, 3759, 17290, 1659, 17238, 0, 1277, 25888, 1970, 9854, 0, 10883, 0, 14631, 1575, 0, 739, 5377, 491, 0, 0, 5593, 518, 4119, 298, 0, 0, 4209, 29628, 2799, 0, 5186, 29830, 0, 22738, 0, 39570, 3857, 17333, 1676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17344, 1539, 13056, 1327, 0, 2000, 0, 878, 10857, 0, 19580, 1276, 10691, 0, 0, 468, 12561, 844, 5593, 0, 0, 223, 7753, 29858, 0, 29585, 3051, 0, 5190, 0, 2500, 22395, 1675, 39791, 0, 2870, 17397, 1119, 12961, 0, 22812, 0, 10002, 889, 0, 928, 14903, 1294, 0, 0, 5384, 493, 9266, 906, 0, 0, 3317, 243, 6367, 0, 3251, 29608, 0, 51840, 0, 22921, 2378, 17292, 1713, 0, 39733, 3730, 13159, 1184, 0, 1728, 0, 2068, 10004, 0, 18813, 907, 19692, 0, 0, 740, 9481, 621, 12518, 0, 0, 524, 5424, 479, 0, 29788, 4321, 0, 3989, 0, 6029, 22992, 2582, 29489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22469, 2276, 34314, 3151, 0, 1179, 0, 1349, 25845, 0, 10125, 846, 10764, 0, 0, 1500, 8001, 513, 6935, 0, 0, 1067, 5286, 293, 0, 435, 9486, 0, 3149, 0, 3874, 59227, 5179, 22942, 0, 1851, 17104, 1712, 30255, 0, 13105, 0, 9800, 1355, 0, 2026, 9910, 846, 0, 0, 14443, 1339, 6115, 507, 0, 0, 9510, 842, 2962, 0, 4180, 365, 0, 29982, 0, 29540, 3033, 45033, 4388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4442, 22632, 1909, 22681, 0, 34233, 0, 13158, 1193, 0, 1718, 22718, 1979, 0, 0, 10910, 874, 14147, 1337, 0, 0, 5341, 478, 9225, 0, 4301, 509, 0, 344, 0, 29940, 3287, 29693, 2889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2965, 52153, 4379, 17385, 0, 22309, 0, 30115, 3223, 0, 1237, 12845, 1337, 0, 0, 9722, 876, 10681, 896, 0, 0, 8161, 684, 7015, 0, 10857, 1228, 0, 359, 0, 467, 7964, 29939, 3120, 0, 29585, 2820, 45179, 4267, 0, 1870, 0, 1714, 34373, 0, 13121, 1238, 13079, 0, 0, 2152, 9989, 635, 10680, 0, 0, 1300, 8102, 365, 0, 596, 12348, 0, 3932, 0, 5589, 490, 6862, 29878, 0, 3233, 29628, 2908, 51967, 0, 22850, 0, 17123, 2348, 0, 3673, 17304, 1551, 0, 0, 26015, 2472, 9785, 871, 0, 0, 17188, 1645, 6071, 0, 7229, 755, 0, 1039, 0, 413, 5876, 340, 7890, 0, 29768, 3234, 29572, 2949, 0, 4459, 0, 1827, 22598, 0, 39590, 2905, 17349, 0, 0, 1388, 25930, 1817, 9926, 0, 0, 771, 16888, 1074, 0, 514, 7433, 0, 10984, 0, 4123, 349, 4275, 326], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10216, 0, 0, 0, 84101, 0, 71867, 0, 0, 0, 77108, 0, 49630, 0, 0, 0, 39624, 0, 34962, 0, 0, 0, 31998, 0, 23840, 0, 0, 0, 23185, 0, 20053, 0, 0, 0, 13345, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12411, 0, 0, 0, 10266, 0, 83231, 0, 0, 0, 71826, 0, 61673, 0, 0, 0, 49473, 0, 53912, 0, 0, 0, 35119, 0, 36724, 0, 0, 0, 23906, 0, 21614, 0, 0, 0, 19918, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20166, 0, 0, 0, 13465, 0, 10181, 0, 0, 0, 84164, 0, 71846, 0, 0, 0, 77165, 0, 49249, 0, 0, 0, 39579, 0, 35181, 0, 0, 0, 31898, 0, 23979, 0, 0, 0, 23291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21621, 0, 0, 0, 19966, 0, 12458, 0, 0, 0, 10175, 0, 82871, 0, 0, 0, 72040, 0, 61927, 0, 0, 0, 49499, 0, 53611, 0, 0, 0, 35204, 0, 36880, 0, 0, 0, 24021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23808, 0, 0, 0, 23187, 0, 19693, 0, 0, 0, 13469, 0, 10250, 0, 0, 0, 84133, 0, 71867, 0, 0, 0, 76791, 0, 49711, 0, 0, 0, 40030, 0, 35157, 0, 0, 0, 31962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36758, 0, 0, 0, 24079, 0, 21249, 0, 0, 0, 20009, 0, 12544, 0, 0, 0, 10222, 0, 82837, 0, 0, 0, 72003, 0, 62107, 0, 0, 0, 49585, 0, 53730, 0, 0, 0, 35219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35055, 0, 0, 0, 31716, 0, 23960, 0, 0, 0, 23222, 0, 20144, 0, 0, 0, 13441, 0, 10402, 0, 0, 0, 84266, 0, 71966, 0, 0, 0, 76957, 0, 49417, 0, 0, 0, 39484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53871, 0, 0, 0, 35266, 0, 36710, 0, 0, 0, 24011, 0, 21432, 0, 0, 0, 19968, 0, 12532, 0, 0, 0, 10297, 0, 82795, 0, 0, 0, 71820, 0, 62323, 0, 0, 0, 49180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49243, 0, 0, 0, 39735, 0, 35287, 0, 0, 0, 32031, 0, 24180, 0, 0, 0, 23179, 0, 20055, 0, 0, 0, 13498, 0, 10298, 0, 0, 0, 83864, 0, 71669, 0, 0, 0, 76995, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62456, 0, 0, 0, 49274, 0, 53896, 0, 0, 0, 35013, 0, 36852, 0, 0, 0, 23874, 0, 21464, 0, 0, 0, 19866, 0, 12599, 0, 0, 0, 10306, 0, 82620, 0, 0, 0, 71847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71818, 0, 0, 0, 76883, 0, 49565, 0, 0, 0, 39741, 0, 35195, 0, 0, 0, 32001, 0, 24066, 0, 0, 0, 23245, 0, 19714, 0, 0, 0, 13281, 0, 10357, 0, 0, 0, 84436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82506, 0, 0, 0, 72134, 0, 62067, 0, 0, 0, 49504, 0, 53441, 0, 0, 0, 35223, 0, 36757, 0, 0, 0, 24044, 0, 21488, 0, 0, 0, 20031, 0, 12503, 0, 0, 0, 10277]];
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dat-gui/0.5.1/dat.gui.min.js"></script>
</head>
<body>
<canvas id="canvas" width="800" height="800"></canvas>
<script type="text/javascript">
window.colors = []
var width = 800;
function build(base){
window.colors = [];
context.fillStyle = 'rgb(255,255,255)';
context.fillRect(0, 0, width, width);
for(var i = 0; i < base; i++){
window.colors[i] = []
for(var j = 0; j < base; j++){
var val = 230 - Math.floor(230 * subset[i * base + j]/max);
context.fillStyle = 'rgb(' + val + ',' + val + ',' + (val + 25) + ')';
window.colors[i][j] = context.fillStyle;
context.fillRect(i * size, j * size, size, size);
}
}
}
var Control = function(){
this.base = 10;
}
var control = new Control();
var gui = new dat.GUI();
var baseController = gui.add(control, 'base', 2, 36).step(1);
baseController.onChange(function(value) {
lastx = lasty = 0;
size = Math.floor(width/value);
subset = data[value];
max = Math.max.apply(Math,subset);
build(value);
});
var subset = data[control.base],
max = Math.max.apply(Math,subset),
size = Math.floor(width/control.base),
canvas = document.getElementById("canvas"),
display = document.createElement('div'),
context = canvas.getContext("2d");
display.className = 'display';
display.innerHTML = "Primes ending in <input id='first'> followed by <input id='second'>";
display.innerHTML += "<br/> That's <div id='part'></div> of the total 5761455 primes";
var lastx = lasty = 0;
var set = false;
function change(){
var x = parseInt(document.querySelector("#first").value,control.base);
var y = parseInt(document.querySelector("#second").value,control.base);
mouse(false,x,y);
}
function mouse(event,x,y){
var x = x;
var y = y;
if(event){
var x = Math.floor(event.clientX/size);
var y = Math.floor(event.clientY/size);
}
if(x >= control.base || y >= control.base) return;
if(isNaN(x + y)) return;
if(lastx != x || lasty != y){
context.fillStyle = window.colors[lastx][lasty];
context.fillRect(lastx * size,lasty * size, size, size);
lastx = x;
lasty = y;
context.fillStyle = 'rgba(255,0,0,0.6)';
context.fillRect(x * size,y * size, size, size);
if(document.querySelector(".dg.main")){
if(!set){
document.querySelector(".dg.main").appendChild(display);
set = true;
document.querySelector("#first").addEventListener('keyup', change, false)
document.querySelector("#second").addEventListener('keyup', change, false)
}
document.querySelector("#first").value = x.toString(control.base)
document.querySelector("#second").value = y.toString(control.base)
document.querySelector("#part").innerHTML = subset[x * control.base + y];
}
}
}
build(control.base);
window.onload = function(){
canvas.addEventListener( 'mousemove', mouse, false );
}
</script>
</body>
</html>
This file has been truncated, but you can view the full file.
<!DOCTYPE html>
<html lang="en">
<head>
<title>three.js webgl - interactive cubes (gpu)</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<style>
body {
font-family: Monospace;
background-color: #f0f0f0;
margin: 0px;
overflow: hidden;
}
.dg.a.main,.dg.ac {
margin: 0 !important;
}
.display {
right: 0;
float: right;
clear: both;
margin-top: 20px;
padding: 10px;
background-color: #3c3c3c;
width: 100%;
box-sizing: border-box;
}
.display input{
background-color: #555;
border: 0;
color: #fff;
padding: 3px;
width: 30px;
}
#part {
display: inline;
}
</style>
<script type="text/javascript">
View Raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment