diff options
Diffstat (limited to '3dc/TABLES.C')
| -rw-r--r-- | 3dc/TABLES.C | 16460 |
1 files changed, 16460 insertions, 0 deletions
diff --git a/3dc/TABLES.C b/3dc/TABLES.C new file mode 100644 index 0000000..f3f1efd --- /dev/null +++ b/3dc/TABLES.C @@ -0,0 +1,16460 @@ +#include "system.h" + +/* + + SIN and COS tables. The table starts with SIN and overlaps with COS. + 360 degrees = 4,096 angles to index the table. Values are shifted up + 16 times i.e. x 65,536. + + Also ARCCOS, ARCSIN and ARCTAN + +*/ + +#if PSX + int sine[]={}; + int cosine[]={}; +#else +int oneoversin[4096]; + +int sine[]={ + + 0, + 100, + 201, + 301, + 402, + 502, + 603, + 703, + 804, + 904, + 1005, + 1105, + 1206, + 1306, + 1407, + 1507, + 1608, + 1708, + 1809, + 1909, + 2010, + 2110, + 2211, + 2311, + 2412, + 2512, + 2613, + 2713, + 2814, + 2914, + 3014, + 3115, + 3215, + 3316, + 3416, + 3516, + 3617, + 3717, + 3818, + 3918, + 4018, + 4119, + 4219, + 4319, + 4420, + 4520, + 4620, + 4720, + 4821, + 4921, + 5021, + 5121, + 5222, + 5322, + 5422, + 5522, + 5622, + 5722, + 5823, + 5923, + 6023, + 6123, + 6223, + 6323, + 6423, + 6523, + 6623, + 6723, + 6823, + 6923, + 7023, + 7123, + 7223, + 7323, + 7423, + 7523, + 7623, + 7722, + 7822, + 7922, + 8022, + 8122, + 8221, + 8321, + 8421, + 8520, + 8620, + 8720, + 8819, + 8919, + 9019, + 9118, + 9218, + 9317, + 9417, + 9516, + 9616, + 9715, + 9814, + 9914, + 10013, + 10113, + 10212, + 10311, + 10410, + 10510, + 10609, + 10708, + 10807, + 10906, + 11006, + 11105, + 11204, + 11303, + 11402, + 11501, + 11600, + 11699, + 11797, + 11896, + 11995, + 12094, + 12193, + 12292, + 12390, + 12489, + 12588, + 12686, + 12785, + 12884, + 12982, + 13081, + 13179, + 13278, + 13376, + 13474, + 13573, + 13671, + 13769, + 13868, + 13966, + 14064, + 14162, + 14260, + 14359, + 14457, + 14555, + 14653, + 14751, + 14849, + 14946, + 15044, + 15142, + 15240, + 15338, + 15435, + 15533, + 15631, + 15728, + 15826, + 15923, + 16021, + 16118, + 16216, + 16313, + 16411, + 16508, + 16605, + 16702, + 16800, + 16897, + 16994, + 17091, + 17188, + 17285, + 17382, + 17479, + 17576, + 17672, + 17769, + 17866, + 17963, + 18059, + 18156, + 18253, + 18349, + 18446, + 18542, + 18638, + 18735, + 18831, + 18927, + 19024, + 19120, + 19216, + 19312, + 19408, + 19504, + 19600, + 19696, + 19792, + 19888, + 19983, + 20079, + 20175, + 20270, + 20366, + 20461, + 20557, + 20652, + 20748, + 20843, + 20938, + 21034, + 21129, + 21224, + 21319, + 21414, + 21509, + 21604, + 21699, + 21794, + 21889, + 21983, + 22078, + 22173, + 22267, + 22362, + 22456, + 22551, + 22645, + 22739, + 22833, + 22928, + 23022, + 23116, + 23210, + 23304, + 23398, + 23492, + 23586, + 23679, + 23773, + 23867, + 23960, + 24054, + 24147, + 24241, + 24334, + 24427, + 24521, + 24614, + 24707, + 24800, + 24893, + 24986, + 25079, + 25172, + 25265, + 25357, + 25450, + 25543, + 25635, + 25728, + 25820, + 25913, + 26005, + 26097, + 26189, + 26281, + 26373, + 26465, + 26557, + 26649, + 26741, + 26833, + 26925, + 27016, + 27108, + 27199, + 27291, + 27382, + 27473, + 27565, + 27656, + 27747, + 27838, + 27929, + 28020, + 28111, + 28201, + 28292, + 28383, + 28473, + 28564, + 28654, + 28745, + 28835, + 28925, + 29015, + 29105, + 29196, + 29285, + 29375, + 29465, + 29555, + 29645, + 29734, + 29824, + 29913, + 30003, + 30092, + 30181, + 30271, + 30360, + 30449, + 30538, + 30627, + 30715, + 30804, + 30893, + 30982, + 31070, + 31159, + 31247, + 31335, + 31424, + 31512, + 31600, + 31688, + 31776, + 31864, + 31952, + 32039, + 32127, + 32215, + 32302, + 32390, + 32477, + 32564, + 32651, + 32738, + 32826, + 32912, + 32999, + 33086, + 33173, + 33260, + 33346, + 33433, + 33519, + 33605, + 33692, + 33778, + 33864, + 33950, + 34036, + 34122, + 34208, + 34293, + 34379, + 34465, + 34550, + 34635, + 34721, + 34806, + 34891, + 34976, + 35061, + 35146, + 35231, + 35316, + 35400, + 35485, + 35569, + 35654, + 35738, + 35822, + 35906, + 35990, + 36074, + 36158, + 36242, + 36326, + 36409, + 36493, + 36576, + 36660, + 36743, + 36826, + 36909, + 36992, + 37075, + 37158, + 37241, + 37324, + 37406, + 37489, + 37571, + 37653, + 37736, + 37818, + 37900, + 37982, + 38064, + 38146, + 38227, + 38309, + 38390, + 38472, + 38553, + 38634, + 38716, + 38797, + 38878, + 38958, + 39039, + 39120, + 39201, + 39281, + 39362, + 39442, + 39522, + 39602, + 39682, + 39762, + 39842, + 39922, + 40002, + 40081, + 40161, + 40240, + 40319, + 40399, + 40478, + 40557, + 40636, + 40714, + 40793, + 40872, + 40950, + 41029, + 41107, + 41185, + 41263, + 41342, + 41419, + 41497, + 41575, + 41653, + 41730, + 41808, + 41885, + 41962, + 42040, + 42117, + 42194, + 42271, + 42347, + 42424, + 42501, + 42577, + 42653, + 42730, + 42806, + 42882, + 42958, + 43034, + 43110, + 43185, + 43261, + 43336, + 43412, + 43487, + 43562, + 43637, + 43712, + 43787, + 43862, + 43936, + 44011, + 44085, + 44160, + 44234, + 44308, + 44382, + 44456, + 44530, + 44603, + 44677, + 44750, + 44824, + 44897, + 44970, + 45043, + 45116, + 45189, + 45262, + 45335, + 45407, + 45480, + 45552, + 45624, + 45696, + 45768, + 45840, + 45912, + 45984, + 46055, + 46127, + 46198, + 46269, + 46340, + 46411, + 46482, + 46553, + 46624, + 46695, + 46765, + 46835, + 46906, + 46976, + 47046, + 47116, + 47186, + 47255, + 47325, + 47394, + 47464, + 47533, + 47602, + 47671, + 47740, + 47809, + 47878, + 47946, + 48015, + 48083, + 48151, + 48219, + 48288, + 48355, + 48423, + 48491, + 48558, + 48626, + 48693, + 48760, + 48828, + 48895, + 48961, + 49028, + 49095, + 49161, + 49228, + 49294, + 49360, + 49426, + 49492, + 49558, + 49624, + 49690, + 49755, + 49820, + 49886, + 49951, + 50016, + 50081, + 50146, + 50210, + 50275, + 50339, + 50403, + 50468, + 50532, + 50596, + 50660, + 50723, + 50787, + 50850, + 50914, + 50977, + 51040, + 51103, + 51166, + 51229, + 51291, + 51354, + 51416, + 51478, + 51541, + 51603, + 51665, + 51726, + 51788, + 51850, + 51911, + 51972, + 52033, + 52095, + 52155, + 52216, + 52277, + 52338, + 52398, + 52458, + 52518, + 52579, + 52639, + 52698, + 52758, + 52818, + 52877, + 52936, + 52996, + 53055, + 53114, + 53172, + 53231, + 53290, + 53348, + 53407, + 53465, + 53523, + 53581, + 53639, + 53696, + 53754, + 53811, + 53869, + 53926, + 53983, + 54040, + 54097, + 54153, + 54210, + 54266, + 54323, + 54379, + 54435, + 54491, + 54546, + 54602, + 54658, + 54713, + 54768, + 54823, + 54879, + 54933, + 54988, + 55043, + 55097, + 55152, + 55206, + 55260, + 55314, + 55368, + 55422, + 55475, + 55529, + 55582, + 55635, + 55688, + 55741, + 55794, + 55847, + 55899, + 55952, + 56004, + 56056, + 56108, + 56160, + 56212, + 56263, + 56315, + 56366, + 56417, + 56468, + 56519, + 56570, + 56621, + 56671, + 56722, + 56772, + 56822, + 56872, + 56922, + 56972, + 57022, + 57071, + 57120, + 57170, + 57219, + 57268, + 57316, + 57365, + 57414, + 57462, + 57510, + 57558, + 57606, + 57654, + 57702, + 57750, + 57797, + 57844, + 57892, + 57939, + 57986, + 58032, + 58079, + 58125, + 58172, + 58218, + 58264, + 58310, + 58356, + 58402, + 58447, + 58493, + 58538, + 58583, + 58628, + 58673, + 58718, + 58762, + 58807, + 58851, + 58895, + 58939, + 58983, + 59027, + 59070, + 59114, + 59157, + 59200, + 59243, + 59286, + 59329, + 59372, + 59414, + 59457, + 59499, + 59541, + 59583, + 59625, + 59666, + 59708, + 59749, + 59790, + 59831, + 59872, + 59913, + 59954, + 59994, + 60035, + 60075, + 60115, + 60155, + 60195, + 60235, + 60274, + 60313, + 60353, + 60392, + 60431, + 60470, + 60508, + 60547, + 60585, + 60624, + 60662, + 60700, + 60737, + 60775, + 60813, + 60850, + 60887, + 60924, + 60961, + 60998, + 61035, + 61071, + 61108, + 61144, + 61180, + 61216, + 61252, + 61288, + 61323, + 61359, + 61394, + 61429, + 61464, + 61499, + 61533, + 61568, + 61602, + 61637, + 61671, + 61705, + 61738, + 61772, + 61805, + 61839, + 61872, + 61905, + 61938, + 61971, + 62003, + 62036, + 62068, + 62100, + 62133, + 62164, + 62196, + 62228, + 62259, + 62291, + 62322, + 62353, + 62384, + 62414, + 62445, + 62475, + 62506, + 62536, + 62566, + 62596, + 62625, + 62655, + 62684, + 62714, + 62743, + 62772, + 62800, + 62829, + 62858, + 62886, + 62914, + 62942, + 62970, + 62998, + 63026, + 63053, + 63080, + 63108, + 63135, + 63162, + 63188, + 63215, + 63241, + 63268, + 63294, + 63320, + 63346, + 63371, + 63397, + 63422, + 63447, + 63473, + 63498, + 63522, + 63547, + 63571, + 63596, + 63620, + 63644, + 63668, + 63692, + 63715, + 63739, + 63762, + 63785, + 63808, + 63831, + 63854, + 63876, + 63899, + 63921, + 63943, + 63965, + 63987, + 64009, + 64030, + 64051, + 64073, + 64094, + 64115, + 64135, + 64156, + 64176, + 64197, + 64217, + 64237, + 64257, + 64276, + 64296, + 64315, + 64334, + 64353, + 64372, + 64391, + 64410, + 64428, + 64447, + 64465, + 64483, + 64501, + 64518, + 64536, + 64553, + 64571, + 64588, + 64605, + 64622, + 64638, + 64655, + 64671, + 64687, + 64703, + 64719, + 64735, + 64751, + 64766, + 64781, + 64796, + 64811, + 64826, + 64841, + 64855, + 64870, + 64884, + 64898, + 64912, + 64926, + 64939, + 64953, + 64966, + 64979, + 64992, + 65005, + 65018, + 65030, + 65043, + 65055, + 65067, + 65079, + 65091, + 65102, + 65114, + 65125, + 65136, + 65147, + 65158, + 65169, + 65179, + 65190, + 65200, + 65210, + 65220, + 65230, + 65239, + 65249, + 65258, + 65267, + 65276, + 65285, + 65294, + 65302, + 65311, + 65319, + 65327, + 65335, + 65343, + 65350, + 65358, + 65365, + 65372, + 65379, + 65386, + 65393, + 65400, + 65406, + 65412, + 65418, + 65424, + 65430, + 65436, + 65441, + 65446, + 65452, + 65457, + 65461, + 65466, + 65471, + 65475, + 65479, + 65483, + 65487, + 65491, + 65495, + 65498, + 65501, + 65505, + 65508, + 65511, + 65513, + 65516, + 65518, + 65520, + 65522, + 65524, + 65526, + 65528, + 65529, + 65531, + 65532, + 65533, + 65534, + 65534, + 65535, + 65535, + 65535, + 65535, + 65535, + 65535, + 65535, + 65534, + 65534, + 65533, + 65532, + 65531, + 65529, + 65528, + 65526, + 65524, + 65522, + 65520, + 65518, + 65516, + 65513, + 65511, + 65508, + 65505, + 65501, + 65498, + 65495, + 65491, + 65487, + 65483, + 65479, + 65475, + 65471, + 65466, + 65461, + 65457, + 65452, + 65446, + 65441, + 65436, + 65430, + 65424, + 65418, + 65412, + 65406, + 65400, + 65393, + 65386, + 65379, + 65372, + 65365, + 65358, + 65350, + 65343, + 65335, + 65327, + 65319, + 65311, + 65302, + 65294, + 65285, + 65276, + 65267, + 65258, + 65249, + 65239, + 65230, + 65220, + 65210, + 65200, + 65190, + 65179, + 65169, + 65158, + 65147, + 65136, + 65125, + 65114, + 65102, + 65091, + 65079, + 65067, + 65055, + 65043, + 65030, + 65018, + 65005, + 64992, + 64979, + 64966, + 64953, + 64939, + 64926, + 64912, + 64898, + 64884, + 64870, + 64855, + 64841, + 64826, + 64811, + 64796, + 64781, + 64766, + 64751, + 64735, + 64719, + 64703, + 64687, + 64671, + 64655, + 64638, + 64622, + 64605, + 64588, + 64571, + 64553, + 64536, + 64518, + 64501, + 64483, + 64465, + 64447, + 64428, + 64410, + 64391, + 64372, + 64353, + 64334, + 64315, + 64296, + 64276, + 64257, + 64237, + 64217, + 64197, + 64176, + 64156, + 64135, + 64115, + 64094, + 64073, + 64051, + 64030, + 64009, + 63987, + 63965, + 63943, + 63921, + 63899, + 63876, + 63854, + 63831, + 63808, + 63785, + 63762, + 63739, + 63715, + 63692, + 63668, + 63644, + 63620, + 63596, + 63571, + 63547, + 63522, + 63498, + 63473, + 63447, + 63422, + 63397, + 63371, + 63346, + 63320, + 63294, + 63268, + 63241, + 63215, + 63188, + 63162, + 63135, + 63108, + 63080, + 63053, + 63026, + 62998, + 62970, + 62942, + 62914, + 62886, + 62858, + 62829, + 62800, + 62772, + 62743, + 62714, + 62684, + 62655, + 62625, + 62596, + 62566, + 62536, + 62506, + 62475, + 62445, + 62414, + 62384, + 62353, + 62322, + 62291, + 62259, + 62228, + 62196, + 62164, + 62133, + 62100, + 62068, + 62036, + 62003, + 61971, + 61938, + 61905, + 61872, + 61839, + 61805, + 61772, + 61738, + 61705, + 61671, + 61637, + 61602, + 61568, + 61533, + 61499, + 61464, + 61429, + 61394, + 61359, + 61323, + 61288, + 61252, + 61216, + 61180, + 61144, + 61108, + 61071, + 61035, + 60998, + 60961, + 60924, + 60887, + 60850, + 60813, + 60775, + 60737, + 60700, + 60662, + 60624, + 60585, + 60547, + 60508, + 60470, + 60431, + 60392, + 60353, + 60313, + 60274, + 60235, + 60195, + 60155, + 60115, + 60075, + 60035, + 59994, + 59954, + 59913, + 59872, + 59831, + 59790, + 59749, + 59708, + 59666, + 59625, + 59583, + 59541, + 59499, + 59457, + 59414, + 59372, + 59329, + 59286, + 59243, + 59200, + 59157, + 59114, + 59070, + 59027, + 58983, + 58939, + 58895, + 58851, + 58807, + 58762, + 58718, + 58673, + 58628, + 58583, + 58538, + 58493, + 58447, + 58402, + 58356, + 58310, + 58264, + 58218, + 58172, + 58125, + 58079, + 58032, + 57986, + 57939, + 57892, + 57844, + 57797, + 57750, + 57702, + 57654, + 57606, + 57558, + 57510, + 57462, + 57414, + 57365, + 57316, + 57268, + 57219, + 57170, + 57120, + 57071, + 57022, + 56972, + 56922, + 56872, + 56822, + 56772, + 56722, + 56671, + 56621, + 56570, + 56519, + 56468, + 56417, + 56366, + 56315, + 56263, + 56212, + 56160, + 56108, + 56056, + 56004, + 55952, + 55899, + 55847, + 55794, + 55741, + 55688, + 55635, + 55582, + 55529, + 55475, + 55422, + 55368, + 55314, + 55260, + 55206, + 55152, + 55097, + 55043, + 54988, + 54933, + 54879, + 54823, + 54768, + 54713, + 54658, + 54602, + 54546, + 54491, + 54435, + 54379, + 54323, + 54266, + 54210, + 54153, + 54097, + 54040, + 53983, + 53926, + 53869, + 53811, + 53754, + 53696, + 53639, + 53581, + 53523, + 53465, + 53407, + 53348, + 53290, + 53231, + 53172, + 53114, + 53055, + 52996, + 52936, + 52877, + 52818, + 52758, + 52698, + 52639, + 52579, + 52518, + 52458, + 52398, + 52338, + 52277, + 52216, + 52155, + 52095, + 52033, + 51972, + 51911, + 51850, + 51788, + 51726, + 51665, + 51603, + 51541, + 51478, + 51416, + 51354, + 51291, + 51229, + 51166, + 51103, + 51040, + 50977, + 50914, + 50850, + 50787, + 50723, + 50660, + 50596, + 50532, + 50468, + 50403, + 50339, + 50275, + 50210, + 50146, + 50081, + 50016, + 49951, + 49886, + 49820, + 49755, + 49690, + 49624, + 49558, + 49492, + 49426, + 49360, + 49294, + 49228, + 49161, + 49095, + 49028, + 48961, + 48895, + 48828, + 48760, + 48693, + 48626, + 48558, + 48491, + 48423, + 48355, + 48288, + 48219, + 48151, + 48083, + 48015, + 47946, + 47878, + 47809, + 47740, + 47671, + 47602, + 47533, + 47464, + 47394, + 47325, + 47255, + 47186, + 47116, + 47046, + 46976, + 46906, + 46835, + 46765, + 46695, + 46624, + 46553, + 46482, + 46411, + 46340, + 46269, + 46198, + 46127, + 46055, + 45984, + 45912, + 45840, + 45768, + 45696, + 45624, + 45552, + 45480, + 45407, + 45335, + 45262, + 45189, + 45116, + 45043, + 44970, + 44897, + 44824, + 44750, + 44677, + 44603, + 44530, + 44456, + 44382, + 44308, + 44234, + 44160, + 44085, + 44011, + 43936, + 43862, + 43787, + 43712, + 43637, + 43562, + 43487, + 43412, + 43336, + 43261, + 43185, + 43110, + 43034, + 42958, + 42882, + 42806, + 42730, + 42653, + 42577, + 42501, + 42424, + 42347, + 42271, + 42194, + 42117, + 42040, + 41962, + 41885, + 41808, + 41730, + 41653, + 41575, + 41497, + 41419, + 41342, + 41263, + 41185, + 41107, + 41029, + 40950, + 40872, + 40793, + 40714, + 40636, + 40557, + 40478, + 40399, + 40319, + 40240, + 40161, + 40081, + 40002, + 39922, + 39842, + 39762, + 39682, + 39602, + 39522, + 39442, + 39362, + 39281, + 39201, + 39120, + 39039, + 38958, + 38878, + 38797, + 38716, + 38634, + 38553, + 38472, + 38390, + 38309, + 38227, + 38146, + 38064, + 37982, + 37900, + 37818, + 37736, + 37653, + 37571, + 37489, + 37406, + 37324, + 37241, + 37158, + 37075, + 36992, + 36909, + 36826, + 36743, + 36660, + 36576, + 36493, + 36409, + 36326, + 36242, + 36158, + 36074, + 35990, + 35906, + 35822, + 35738, + 35654, + 35569, + 35485, + 35400, + 35316, + 35231, + 35146, + 35061, + 34976, + 34891, + 34806, + 34721, + 34635, + 34550, + 34465, + 34379, + 34293, + 34208, + 34122, + 34036, + 33950, + 33864, + 33778, + 33692, + 33605, + 33519, + 33433, + 33346, + 33260, + 33173, + 33086, + 32999, + 32912, + 32826, + 32738, + 32651, + 32564, + 32477, + 32390, + 32302, + 32215, + 32127, + 32039, + 31952, + 31864, + 31776, + 31688, + 31600, + 31512, + 31424, + 31335, + 31247, + 31159, + 31070, + 30982, + 30893, + 30804, + 30715, + 30627, + 30538, + 30449, + 30360, + 30271, + 30181, + 30092, + 30003, + 29913, + 29824, + 29734, + 29645, + 29555, + 29465, + 29375, + 29285, + 29196, + 29105, + 29015, + 28925, + 28835, + 28745, + 28654, + 28564, + 28473, + 28383, + 28292, + 28201, + 28111, + 28020, + 27929, + 27838, + 27747, + 27656, + 27565, + 27473, + 27382, + 27291, + 27199, + 27108, + 27016, + 26925, + 26833, + 26741, + 26649, + 26557, + 26465, + 26373, + 26281, + 26189, + 26097, + 26005, + 25913, + 25820, + 25728, + 25635, + 25543, + 25450, + 25357, + 25265, + 25172, + 25079, + 24986, + 24893, + 24800, + 24707, + 24614, + 24521, + 24427, + 24334, + 24241, + 24147, + 24054, + 23960, + 23867, + 23773, + 23679, + 23586, + 23492, + 23398, + 23304, + 23210, + 23116, + 23022, + 22928, + 22833, + 22739, + 22645, + 22551, + 22456, + 22362, + 22267, + 22173, + 22078, + 21983, + 21889, + 21794, + 21699, + 21604, + 21509, + 21414, + 21319, + 21224, + 21129, + 21034, + 20938, + 20843, + 20748, + 20652, + 20557, + 20461, + 20366, + 20270, + 20175, + 20079, + 19983, + 19888, + 19792, + 19696, + 19600, + 19504, + 19408, + 19312, + 19216, + 19120, + 19024, + 18927, + 18831, + 18735, + 18638, + 18542, + 18446, + 18349, + 18253, + 18156, + 18059, + 17963, + 17866, + 17769, + 17672, + 17576, + 17479, + 17382, + 17285, + 17188, + 17091, + 16994, + 16897, + 16800, + 16702, + 16605, + 16508, + 16411, + 16313, + 16216, + 16118, + 16021, + 15923, + 15826, + 15728, + 15631, + 15533, + 15435, + 15338, + 15240, + 15142, + 15044, + 14946, + 14849, + 14751, + 14653, + 14555, + 14457, + 14359, + 14260, + 14162, + 14064, + 13966, + 13868, + 13769, + 13671, + 13573, + 13474, + 13376, + 13278, + 13179, + 13081, + 12982, + 12884, + 12785, + 12686, + 12588, + 12489, + 12390, + 12292, + 12193, + 12094, + 11995, + 11896, + 11797, + 11699, + 11600, + 11501, + 11402, + 11303, + 11204, + 11105, + 11006, + 10906, + 10807, + 10708, + 10609, + 10510, + 10410, + 10311, + 10212, + 10113, + 10013, + 9914, + 9814, + 9715, + 9616, + 9516, + 9417, + 9317, + 9218, + 9118, + 9019, + 8919, + 8819, + 8720, + 8620, + 8520, + 8421, + 8321, + 8221, + 8122, + 8022, + 7922, + 7822, + 7722, + 7623, + 7523, + 7423, + 7323, + 7223, + 7123, + 7023, + 6923, + 6823, + 6723, + 6623, + 6523, + 6423, + 6323, + 6223, + 6123, + 6023, + 5923, + 5823, + 5722, + 5622, + 5522, + 5422, + 5322, + 5222, + 5121, + 5021, + 4921, + 4821, + 4720, + 4620, + 4520, + 4420, + 4319, + 4219, + 4119, + 4018, + 3918, + 3818, + 3717, + 3617, + 3516, + 3416, + 3316, + 3215, + 3115, + 3014, + 2914, + 2814, + 2713, + 2613, + 2512, + 2412, + 2311, + 2211, + 2110, + 2010, + 1909, + 1809, + 1708, + 1608, + 1507, + 1407, + 1306, + 1206, + 1105, + 1005, + 904, + 804, + 703, + 603, + 502, + 402, + 301, + 201, + 100, + 0, + -101, + -202, + -302, + -403, + -503, + -604, + -704, + -805, + -905, + -1006, + -1106, + -1207, + -1307, + -1408, + -1508, + -1609, + -1709, + -1810, + -1910, + -2011, + -2111, + -2212, + -2312, + -2413, + -2513, + -2614, + -2714, + -2814, + -2915, + -3015, + -3116, + -3216, + -3317, + -3417, + -3517, + -3618, + -3718, + -3819, + -3919, + -4019, + -4120, + -4220, + -4320, + -4421, + -4521, + -4621, + -4721, + -4822, + -4922, + -5022, + -5122, + -5223, + -5323, + -5423, + -5523, + -5623, + -5723, + -5824, + -5924, + -6024, + -6124, + -6224, + -6324, + -6424, + -6524, + -6624, + -6724, + -6824, + -6924, + -7024, + -7124, + -7224, + -7324, + -7424, + -7524, + -7624, + -7723, + -7823, + -7923, + -8023, + -8123, + -8222, + -8322, + -8422, + -8521, + -8621, + -8721, + -8820, + -8920, + -9020, + -9119, + -9219, + -9318, + -9418, + -9517, + -9617, + -9716, + -9815, + -9915, + -10014, + -10114, + -10213, + -10312, + -10411, + -10511, + -10610, + -10709, + -10808, + -10907, + -11007, + -11106, + -11205, + -11304, + -11403, + -11502, + -11601, + -11700, + -11798, + -11897, + -11996, + -12095, + -12194, + -12293, + -12391, + -12490, + -12589, + -12687, + -12786, + -12885, + -12983, + -13082, + -13180, + -13279, + -13377, + -13475, + -13574, + -13672, + -13770, + -13869, + -13967, + -14065, + -14163, + -14261, + -14360, + -14458, + -14556, + -14654, + -14752, + -14850, + -14947, + -15045, + -15143, + -15241, + -15339, + -15436, + -15534, + -15632, + -15729, + -15827, + -15924, + -16022, + -16119, + -16217, + -16314, + -16412, + -16509, + -16606, + -16703, + -16801, + -16898, + -16995, + -17092, + -17189, + -17286, + -17383, + -17480, + -17577, + -17673, + -17770, + -17867, + -17964, + -18060, + -18157, + -18254, + -18350, + -18447, + -18543, + -18639, + -18736, + -18832, + -18928, + -19025, + -19121, + -19217, + -19313, + -19409, + -19505, + -19601, + -19697, + -19793, + -19889, + -19984, + -20080, + -20176, + -20271, + -20367, + -20462, + -20558, + -20653, + -20749, + -20844, + -20939, + -21035, + -21130, + -21225, + -21320, + -21415, + -21510, + -21605, + -21700, + -21795, + -21889, + -21984, + -22079, + -22174, + -22268, + -22363, + -22457, + -22552, + -22646, + -22740, + -22834, + -22929, + -23023, + -23117, + -23211, + -23305, + -23399, + -23493, + -23587, + -23680, + -23774, + -23868, + -23961, + -24055, + -24148, + -24242, + -24335, + -24428, + -24522, + -24615, + -24708, + -24801, + -24894, + -24987, + -25080, + -25173, + -25266, + -25358, + -25451, + -25544, + -25636, + -25729, + -25821, + -25914, + -26006, + -26098, + -26190, + -26282, + -26374, + -26466, + -26558, + -26650, + -26742, + -26834, + -26926, + -27017, + -27109, + -27200, + -27292, + -27383, + -27474, + -27566, + -27657, + -27748, + -27839, + -27930, + -28021, + -28112, + -28202, + -28293, + -28384, + -28474, + -28565, + -28655, + -28746, + -28836, + -28926, + -29016, + -29106, + -29197, + -29286, + -29376, + -29466, + -29556, + -29646, + -29735, + -29825, + -29914, + -30004, + -30093, + -30182, + -30272, + -30361, + -30450, + -30539, + -30628, + -30716, + -30805, + -30894, + -30983, + -31071, + -31160, + -31248, + -31336, + -31425, + -31513, + -31601, + -31689, + -31777, + -31865, + -31953, + -32040, + -32128, + -32216, + -32303, + -32391, + -32478, + -32565, + -32652, + -32739, + -32827, + -32913, + -33000, + -33087, + -33174, + -33261, + -33347, + -33434, + -33520, + -33606, + -33693, + -33779, + -33865, + -33951, + -34037, + -34123, + -34209, + -34294, + -34380, + -34466, + -34551, + -34636, + -34722, + -34807, + -34892, + -34977, + -35062, + -35147, + -35232, + -35317, + -35401, + -35486, + -35570, + -35655, + -35739, + -35823, + -35907, + -35991, + -36075, + -36159, + -36243, + -36327, + -36410, + -36494, + -36577, + -36661, + -36744, + -36827, + -36910, + -36993, + -37076, + -37159, + -37242, + -37325, + -37407, + -37490, + -37572, + -37654, + -37737, + -37819, + -37901, + -37983, + -38065, + -38147, + -38228, + -38310, + -38391, + -38473, + -38554, + -38635, + -38717, + -38798, + -38879, + -38959, + -39040, + -39121, + -39202, + -39282, + -39362, + -39443, + -39523, + -39603, + -39683, + -39763, + -39843, + -39923, + -40003, + -40082, + -40162, + -40241, + -40320, + -40400, + -40479, + -40558, + -40637, + -40715, + -40794, + -40873, + -40951, + -41030, + -41108, + -41186, + -41264, + -41343, + -41420, + -41498, + -41576, + -41654, + -41731, + -41809, + -41886, + -41963, + -42041, + -42118, + -42195, + -42272, + -42348, + -42425, + -42502, + -42578, + -42654, + -42731, + -42807, + -42883, + -42959, + -43035, + -43111, + -43186, + -43262, + -43337, + -43413, + -43488, + -43563, + -43638, + -43713, + -43788, + -43863, + -43937, + -44012, + -44086, + -44161, + -44235, + -44309, + -44383, + -44457, + -44531, + -44604, + -44678, + -44751, + -44825, + -44898, + -44971, + -45044, + -45117, + -45190, + -45263, + -45336, + -45408, + -45481, + -45553, + -45625, + -45697, + -45769, + -45841, + -45913, + -45985, + -46056, + -46128, + -46199, + -46270, + -46341, + -46412, + -46483, + -46554, + -46625, + -46696, + -46766, + -46836, + -46907, + -46977, + -47047, + -47117, + -47187, + -47256, + -47326, + -47395, + -47465, + -47534, + -47603, + -47672, + -47741, + -47810, + -47879, + -47947, + -48016, + -48084, + -48152, + -48220, + -48289, + -48356, + -48424, + -48492, + -48559, + -48627, + -48694, + -48761, + -48829, + -48896, + -48962, + -49029, + -49096, + -49162, + -49229, + -49295, + -49361, + -49427, + -49493, + -49559, + -49625, + -49691, + -49756, + -49821, + -49887, + -49952, + -50017, + -50082, + -50146, + -50211, + -50276, + -50340, + -50404, + -50469, + -50533, + -50597, + -50661, + -50724, + -50788, + -50851, + -50915, + -50978, + -51041, + -51104, + -51167, + -51230, + -51292, + -51355, + -51417, + -51479, + -51542, + -51604, + -51666, + -51727, + -51789, + -51851, + -51912, + -51973, + -52034, + -52096, + -52156, + -52217, + -52278, + -52339, + -52399, + -52459, + -52519, + -52580, + -52640, + -52699, + -52759, + -52819, + -52878, + -52937, + -52997, + -53056, + -53115, + -53173, + -53232, + -53291, + -53349, + -53408, + -53466, + -53524, + -53582, + -53640, + -53697, + -53755, + -53812, + -53870, + -53927, + -53984, + -54041, + -54098, + -54154, + -54211, + -54267, + -54324, + -54380, + -54436, + -54492, + -54547, + -54603, + -54659, + -54714, + -54769, + -54824, + -54880, + -54934, + -54989, + -55044, + -55098, + -55153, + -55207, + -55261, + -55315, + -55369, + -55423, + -55476, + -55530, + -55583, + -55636, + -55689, + -55742, + -55795, + -55848, + -55900, + -55953, + -56005, + -56057, + -56109, + -56161, + -56213, + -56264, + -56316, + -56367, + -56418, + -56469, + -56520, + -56571, + -56622, + -56672, + -56723, + -56773, + -56823, + -56873, + -56923, + -56973, + -57023, + -57072, + -57121, + -57171, + -57220, + -57269, + -57317, + -57366, + -57415, + -57463, + -57511, + -57559, + -57607, + -57655, + -57703, + -57751, + -57798, + -57845, + -57893, + -57940, + -57987, + -58033, + -58080, + -58126, + -58173, + -58219, + -58265, + -58311, + -58357, + -58403, + -58448, + -58494, + -58539, + -58584, + -58629, + -58674, + -58719, + -58763, + -58808, + -58852, + -58896, + -58940, + -58984, + -59028, + -59071, + -59115, + -59158, + -59201, + -59244, + -59287, + -59330, + -59373, + -59415, + -59458, + -59500, + -59542, + -59584, + -59626, + -59667, + -59709, + -59750, + -59791, + -59832, + -59873, + -59914, + -59955, + -59995, + -60036, + -60076, + -60116, + -60156, + -60196, + -60236, + -60275, + -60314, + -60354, + -60393, + -60432, + -60471, + -60509, + -60548, + -60586, + -60625, + -60663, + -60701, + -60738, + -60776, + -60814, + -60851, + -60888, + -60925, + -60962, + -60999, + -61036, + -61072, + -61109, + -61145, + -61181, + -61217, + -61253, + -61289, + -61324, + -61360, + -61395, + -61430, + -61465, + -61500, + -61534, + -61569, + -61603, + -61638, + -61672, + -61706, + -61739, + -61773, + -61806, + -61840, + -61873, + -61906, + -61939, + -61972, + -62004, + -62037, + -62069, + -62101, + -62134, + -62165, + -62197, + -62229, + -62260, + -62292, + -62323, + -62354, + -62385, + -62415, + -62446, + -62476, + -62507, + -62537, + -62567, + -62597, + -62626, + -62656, + -62685, + -62715, + -62744, + -62773, + -62801, + -62830, + -62859, + -62887, + -62915, + -62943, + -62971, + -62999, + -63027, + -63054, + -63081, + -63109, + -63136, + -63163, + -63189, + -63216, + -63242, + -63269, + -63295, + -63321, + -63347, + -63372, + -63398, + -63423, + -63448, + -63474, + -63499, + -63523, + -63548, + -63572, + -63597, + -63621, + -63645, + -63669, + -63693, + -63716, + -63740, + -63763, + -63786, + -63809, + -63832, + -63855, + -63877, + -63900, + -63922, + -63944, + -63966, + -63988, + -64010, + -64031, + -64052, + -64074, + -64095, + -64116, + -64136, + -64157, + -64177, + -64198, + -64218, + -64238, + -64258, + -64277, + -64297, + -64316, + -64335, + -64354, + -64373, + -64392, + -64411, + -64429, + -64448, + -64466, + -64484, + -64502, + -64519, + -64537, + -64554, + -64572, + -64589, + -64606, + -64623, + -64639, + -64656, + -64672, + -64688, + -64704, + -64720, + -64736, + -64752, + -64767, + -64782, + -64797, + -64812, + -64827, + -64842, + -64856, + -64871, + -64885, + -64899, + -64913, + -64927, + -64940, + -64954, + -64967, + -64980, + -64993, + -65006, + -65019, + -65031, + -65044, + -65056, + -65068, + -65080, + -65092, + -65103, + -65115, + -65126, + -65137, + -65148, + -65159, + -65170, + -65180, + -65191, + -65201, + -65211, + -65221, + -65231, + -65240, + -65250, + -65259, + -65268, + -65277, + -65286, + -65295, + -65303, + -65312, + -65320, + -65328, + -65336, + -65344, + -65351, + -65359, + -65366, + -65373, + -65380, + -65387, + -65394, + -65401, + -65407, + -65413, + -65419, + -65425, + -65431, + -65437, + -65442, + -65447, + -65453, + -65458, + -65462, + -65467, + -65472, + -65476, + -65480, + -65484, + -65488, + -65492, + -65496, + -65499, + -65502, + -65506, + -65509, + -65512, + -65514, + -65517, + -65519, + -65521, + -65523, + -65525, + -65527, + -65529, + -65530, + -65532, + -65533, + -65534, + -65535, + -65535, + -65536, + -65536, + -65536, + -65536, + -65536, + -65536, + -65536, + -65535, + -65535, + -65534, + -65533, + -65532, + -65530, + -65529, + -65527, + -65525, + -65523, + -65521, + -65519, + -65517, + -65514, + -65512, + -65509, + -65506, + -65502, + -65499, + -65496, + -65492, + -65488, + -65484, + -65480, + -65476, + -65472, + -65467, + -65462, + -65458, + -65453, + -65447, + -65442, + -65437, + -65431, + -65425, + -65419, + -65413, + -65407, + -65401, + -65394, + -65387, + -65380, + -65373, + -65366, + -65359, + -65351, + -65344, + -65336, + -65328, + -65320, + -65312, + -65303, + -65295, + -65286, + -65277, + -65268, + -65259, + -65250, + -65240, + -65231, + -65221, + -65211, + -65201, + -65191, + -65180, + -65170, + -65159, + -65148, + -65137, + -65126, + -65115, + -65103, + -65092, + -65080, + -65068, + -65056, + -65044, + -65031, + -65019, + -65006, + -64993, + -64980, + -64967, + -64954, + -64940, + -64927, + -64913, + -64899, + -64885, + -64871, + -64856, + -64842, + -64827, + -64812, + -64797, + -64782, + -64767, + -64752, + -64736, + -64720, + -64704, + -64688, + -64672, + -64656, + -64639, + -64623, + -64606, + -64589, + -64572, + -64554, + -64537, + -64519, + -64502, + -64484, + -64466, + -64448, + -64429, + -64411, + -64392, + -64373, + -64354, + -64335, + -64316, + -64297, + -64277, + -64258, + -64238, + -64218, + -64198, + -64177, + -64157, + -64136, + -64116, + -64095, + -64074, + -64052, + -64031, + -64010, + -63988, + -63966, + -63944, + -63922, + -63900, + -63877, + -63855, + -63832, + -63809, + -63786, + -63763, + -63740, + -63716, + -63693, + -63669, + -63645, + -63621, + -63597, + -63572, + -63548, + -63523, + -63499, + -63474, + -63448, + -63423, + -63398, + -63372, + -63347, + -63321, + -63295, + -63269, + -63242, + -63216, + -63189, + -63163, + -63136, + -63109, + -63081, + -63054, + -63027, + -62999, + -62971, + -62943, + -62915, + -62887, + -62859, + -62830, + -62801, + -62773, + -62744, + -62715, + -62685, + -62656, + -62626, + -62597, + -62567, + -62537, + -62507, + -62476, + -62446, + -62415, + -62385, + -62354, + -62323, + -62292, + -62260, + -62229, + -62197, + -62165, + -62134, + -62101, + -62069, + -62037, + -62004, + -61972, + -61939, + -61906, + -61873, + -61840, + -61806, + -61773, + -61739, + -61706, + -61672, + -61638, + -61603, + -61569, + -61534, + -61500, + -61465, + -61430, + -61395, + -61360, + -61324, + -61289, + -61253, + -61217, + -61181, + -61145, + -61109, + -61072, + -61036, + -60999, + -60962, + -60925, + -60888, + -60851, + -60814, + -60776, + -60738, + -60701, + -60663, + -60625, + -60586, + -60548, + -60509, + -60471, + -60432, + -60393, + -60354, + -60314, + -60275, + -60236, + -60196, + -60156, + -60116, + -60076, + -60036, + -59995, + -59955, + -59914, + -59873, + -59832, + -59791, + -59750, + -59709, + -59667, + -59626, + -59584, + -59542, + -59500, + -59458, + -59415, + -59373, + -59330, + -59287, + -59244, + -59201, + -59158, + -59115, + -59071, + -59028, + -58984, + -58940, + -58896, + -58852, + -58808, + -58763, + -58719, + -58674, + -58629, + -58584, + -58539, + -58494, + -58448, + -58403, + -58357, + -58311, + -58265, + -58219, + -58173, + -58126, + -58080, + -58033, + -57987, + -57940, + -57893, + -57845, + -57798, + -57751, + -57703, + -57655, + -57607, + -57559, + -57511, + -57463, + -57415, + -57366, + -57317, + -57269, + -57220, + -57171, + -57121, + -57072, + -57023, + -56973, + -56923, + -56873, + -56823, + -56773, + -56723, + -56672, + -56622, + -56571, + -56520, + -56469, + -56418, + -56367, + -56316, + -56264, + -56213, + -56161, + -56109, + -56057, + -56005, + -55953, + -55900, + -55848, + -55795, + -55742, + -55689, + -55636, + -55583, + -55530, + -55476, + -55423, + -55369, + -55315, + -55261, + -55207, + -55153, + -55098, + -55044, + -54989, + -54934, + -54880, + -54824, + -54769, + -54714, + -54659, + -54603, + -54547, + -54492, + -54436, + -54380, + -54324, + -54267, + -54211, + -54154, + -54098, + -54041, + -53984, + -53927, + -53870, + -53812, + -53755, + -53697, + -53640, + -53582, + -53524, + -53466, + -53408, + -53349, + -53291, + -53232, + -53173, + -53115, + -53056, + -52997, + -52937, + -52878, + -52819, + -52759, + -52699, + -52640, + -52580, + -52519, + -52459, + -52399, + -52339, + -52278, + -52217, + -52156, + -52096, + -52034, + -51973, + -51912, + -51851, + -51789, + -51727, + -51666, + -51604, + -51542, + -51479, + -51417, + -51355, + -51292, + -51230, + -51167, + -51104, + -51041, + -50978, + -50915, + -50851, + -50788, + -50724, + -50661, + -50597, + -50533, + -50469, + -50404, + -50340, + -50276, + -50211, + -50147, + -50082, + -50017, + -49952, + -49887, + -49821, + -49756, + -49691, + -49625, + -49559, + -49493, + -49427, + -49361, + -49295, + -49229, + -49162, + -49096, + -49029, + -48962, + -48896, + -48829, + -48761, + -48694, + -48627, + -48559, + -48492, + -48424, + -48356, + -48289, + -48220, + -48152, + -48084, + -48016, + -47947, + -47879, + -47810, + -47741, + -47672, + -47603, + -47534, + -47465, + -47395, + -47326, + -47256, + -47187, + -47117, + -47047, + -46977, + -46907, + -46836, + -46766, + -46696, + -46625, + -46554, + -46483, + -46412, + -46341, + -46270, + -46199, + -46128, + -46056, + -45985, + -45913, + -45841, + -45769, + -45697, + -45625, + -45553, + -45481, + -45408, + -45336, + -45263, + -45190, + -45117, + -45044, + -44971, + -44898, + -44825, + -44751, + -44678, + -44604, + -44531, + -44457, + -44383, + -44309, + -44235, + -44161, + -44086, + -44012, + -43937, + -43863, + -43788, + -43713, + -43638, + -43563, + -43488, + -43413, + -43337, + -43262, + -43186, + -43111, + -43035, + -42959, + -42883, + -42807, + -42731, + -42654, + -42578, + -42502, + -42425, + -42348, + -42272, + -42195, + -42118, + -42041, + -41963, + -41886, + -41809, + -41731, + -41654, + -41576, + -41498, + -41420, + -41343, + -41264, + -41186, + -41108, + -41030, + -40951, + -40873, + -40794, + -40715, + -40637, + -40558, + -40479, + -40400, + -40320, + -40241, + -40162, + -40082, + -40003, + -39923, + -39843, + -39763, + -39683, + -39603, + -39523, + -39443, + -39363, + -39282, + -39202, + -39121, + -39040, + -38959, + -38879, + -38798, + -38717, + -38635, + -38554, + -38473, + -38391, + -38310, + -38228, + -38147, + -38065, + -37983, + -37901, + -37819, + -37737, + -37654, + -37572, + -37490, + -37407, + -37325, + -37242, + -37159, + -37076, + -36993, + -36910, + -36827, + -36744, + -36661, + -36577, + -36494, + -36410, + -36327, + -36243, + -36159, + -36075, + -35991, + -35907, + -35823, + -35739, + -35655, + -35570, + -35486, + -35401, + -35317, + -35232, + -35147, + -35062, + -34977, + -34892, + -34807, + -34722, + -34636, + -34551, + -34466, + -34380, + -34294, + -34209, + -34123, + -34037, + -33951, + -33865, + -33779, + -33693, + -33606, + -33520, + -33434, + -33347, + -33261, + -33174, + -33087, + -33000, + -32914, + -32827, + -32739, + -32652, + -32565, + -32478, + -32391, + -32303, + -32216, + -32128, + -32040, + -31953, + -31865, + -31777, + -31689, + -31601, + -31513, + -31425, + -31336, + -31248, + -31160, + -31071, + -30983, + -30894, + -30805, + -30716, + -30628, + -30539, + -30450, + -30361, + -30272, + -30182, + -30093, + -30004, + -29914, + -29825, + -29735, + -29646, + -29556, + -29466, + -29376, + -29287, + -29197, + -29106, + -29016, + -28926, + -28836, + -28746, + -28655, + -28565, + -28474, + -28384, + -28293, + -28202, + -28112, + -28021, + -27930, + -27839, + -27748, + -27657, + -27566, + -27474, + -27383, + -27292, + -27200, + -27109, + -27017, + -26926, + -26834, + -26742, + -26650, + -26558, + -26466, + -26374, + -26282, + -26190, + -26098, + -26006, + -25914, + -25821, + -25729, + -25636, + -25544, + -25451, + -25358, + -25266, + -25173, + -25080, + -24987, + -24894, + -24801, + -24708, + -24615, + -24522, + -24428, + -24335, + -24242, + -24148, + -24055, + -23961, + -23868, + -23774, + -23680, + -23587, + -23493, + -23399, + -23305, + -23211, + -23117, + -23023, + -22929, + -22834, + -22740, + -22646, + -22552, + -22457, + -22363, + -22268, + -22174, + -22079, + -21984, + -21890, + -21795, + -21700, + -21605, + -21510, + -21415, + -21320, + -21225, + -21130, + -21035, + -20939, + -20844, + -20749, + -20653, + -20558, + -20462, + -20367, + -20271, + -20176, + -20080, + -19984, + -19889, + -19793, + -19697, + -19601, + -19505, + -19409, + -19313, + -19217, + -19121, + -19025, + -18928, + -18832, + -18736, + -18639, + -18543, + -18447, + -18350, + -18254, + -18157, + -18060, + -17964, + -17867, + -17770, + -17673, + -17577, + -17480, + -17383, + -17286, + -17189, + -17092, + -16995, + -16898, + -16801, + -16703, + -16606, + -16509, + -16412, + -16314, + -16217, + -16119, + -16022, + -15924, + -15827, + -15729, + -15632, + -15534, + -15436, + -15339, + -15241, + -15143, + -15045, + -14947, + -14850, + -14752, + -14654, + -14556, + -14458, + -14360, + -14261, + -14163, + -14065, + -13967, + -13869, + -13770, + -13672, + -13574, + -13475, + -13377, + -13279, + -13180, + -13082, + -12983, + -12885, + -12786, + -12687, + -12589, + -12490, + -12391, + -12293, + -12194, + -12095, + -11996, + -11897, + -11798, + -11700, + -11601, + -11502, + -11403, + -11304, + -11205, + -11106, + -11007, + -10907, + -10808, + -10709, + -10610, + -10511, + -10411, + -10312, + -10213, + -10114, + -10014, + -9915, + -9815, + -9716, + -9617, + -9517, + -9418, + -9318, + -9219, + -9119, + -9020, + -8920, + -8820, + -8721, + -8621, + -8521, + -8422, + -8322, + -8222, + -8123, + -8023, + -7923, + -7823, + -7723, + -7624, + -7524, + -7424, + -7324, + -7224, + -7124, + -7024, + -6924, + -6824, + -6724, + -6624, + -6524, + -6424, + -6324, + -6224, + -6124, + -6024, + -5924, + -5824, + -5723, + -5623, + -5523, + -5423, + -5323, + -5223, + -5122, + -5022, + -4922, + -4822, + -4721, + -4621, + -4521, + -4421, + -4320, + -4220, + -4120, + -4019, + -3919, + -3819, + -3718, + -3618, + -3517, + -3417, + -3317, + -3216, + -3116, + -3015, + -2915, + -2815, + -2714, + -2614, + -2513, + -2413, + -2312, + -2212, + -2111, + -2011, + -1910, + -1810, + -1709, + -1609, + -1508, + -1408, + -1307, + -1207, + -1106, + -1006, + -905, + -805, + -704, + -604, + -503, + -403, + -302, + -202, + -101 + +}; + +int cosine[]={ + + 65536, + 65535, + 65535, + 65535, + 65534, + 65534, + 65533, + 65532, + 65531, + 65529, + 65528, + 65526, + 65524, + 65522, + 65520, + 65518, + 65516, + 65513, + 65511, + 65508, + 65505, + 65501, + 65498, + 65495, + 65491, + 65487, + 65483, + 65479, + 65475, + 65471, + 65466, + 65461, + 65457, + 65452, + 65446, + 65441, + 65436, + 65430, + 65424, + 65418, + 65412, + 65406, + 65400, + 65393, + 65386, + 65379, + 65372, + 65365, + 65358, + 65350, + 65343, + 65335, + 65327, + 65319, + 65311, + 65302, + 65294, + 65285, + 65276, + 65267, + 65258, + 65249, + 65239, + 65230, + 65220, + 65210, + 65200, + 65190, + 65179, + 65169, + 65158, + 65147, + 65136, + 65125, + 65114, + 65102, + 65091, + 65079, + 65067, + 65055, + 65043, + 65030, + 65018, + 65005, + 64992, + 64979, + 64966, + 64953, + 64939, + 64926, + 64912, + 64898, + 64884, + 64870, + 64855, + 64841, + 64826, + 64811, + 64796, + 64781, + 64766, + 64751, + 64735, + 64719, + 64703, + 64687, + 64671, + 64655, + 64638, + 64622, + 64605, + 64588, + 64571, + 64553, + 64536, + 64518, + 64501, + 64483, + 64465, + 64447, + 64428, + 64410, + 64391, + 64372, + 64353, + 64334, + 64315, + 64296, + 64276, + 64257, + 64237, + 64217, + 64197, + 64176, + 64156, + 64135, + 64115, + 64094, + 64073, + 64051, + 64030, + 64009, + 63987, + 63965, + 63943, + 63921, + 63899, + 63876, + 63854, + 63831, + 63808, + 63785, + 63762, + 63739, + 63715, + 63692, + 63668, + 63644, + 63620, + 63596, + 63571, + 63547, + 63522, + 63498, + 63473, + 63447, + 63422, + 63397, + 63371, + 63346, + 63320, + 63294, + 63268, + 63241, + 63215, + 63188, + 63162, + 63135, + 63108, + 63080, + 63053, + 63026, + 62998, + 62970, + 62942, + 62914, + 62886, + 62858, + 62829, + 62800, + 62772, + 62743, + 62714, + 62684, + 62655, + 62625, + 62596, + 62566, + 62536, + 62506, + 62475, + 62445, + 62414, + 62384, + 62353, + 62322, + 62291, + 62259, + 62228, + 62196, + 62164, + 62133, + 62100, + 62068, + 62036, + 62003, + 61971, + 61938, + 61905, + 61872, + 61839, + 61805, + 61772, + 61738, + 61705, + 61671, + 61637, + 61602, + 61568, + 61533, + 61499, + 61464, + 61429, + 61394, + 61359, + 61323, + 61288, + 61252, + 61216, + 61180, + 61144, + 61108, + 61071, + 61035, + 60998, + 60961, + 60924, + 60887, + 60850, + 60813, + 60775, + 60737, + 60700, + 60662, + 60624, + 60585, + 60547, + 60508, + 60470, + 60431, + 60392, + 60353, + 60313, + 60274, + 60235, + 60195, + 60155, + 60115, + 60075, + 60035, + 59994, + 59954, + 59913, + 59872, + 59831, + 59790, + 59749, + 59708, + 59666, + 59625, + 59583, + 59541, + 59499, + 59457, + 59414, + 59372, + 59329, + 59286, + 59243, + 59200, + 59157, + 59114, + 59070, + 59027, + 58983, + 58939, + 58895, + 58851, + 58807, + 58762, + 58718, + 58673, + 58628, + 58583, + 58538, + 58493, + 58447, + 58402, + 58356, + 58310, + 58264, + 58218, + 58172, + 58125, + 58079, + 58032, + 57986, + 57939, + 57892, + 57844, + 57797, + 57750, + 57702, + 57654, + 57606, + 57558, + 57510, + 57462, + 57414, + 57365, + 57316, + 57268, + 57219, + 57170, + 57120, + 57071, + 57022, + 56972, + 56922, + 56872, + 56822, + 56772, + 56722, + 56671, + 56621, + 56570, + 56519, + 56468, + 56417, + 56366, + 56315, + 56263, + 56212, + 56160, + 56108, + 56056, + 56004, + 55952, + 55899, + 55847, + 55794, + 55741, + 55688, + 55635, + 55582, + 55529, + 55475, + 55422, + 55368, + 55314, + 55260, + 55206, + 55152, + 55097, + 55043, + 54988, + 54933, + 54879, + 54823, + 54768, + 54713, + 54658, + 54602, + 54546, + 54491, + 54435, + 54379, + 54323, + 54266, + 54210, + 54153, + 54097, + 54040, + 53983, + 53926, + 53869, + 53811, + 53754, + 53696, + 53639, + 53581, + 53523, + 53465, + 53407, + 53348, + 53290, + 53231, + 53172, + 53114, + 53055, + 52996, + 52936, + 52877, + 52818, + 52758, + 52698, + 52639, + 52579, + 52518, + 52458, + 52398, + 52338, + 52277, + 52216, + 52155, + 52095, + 52033, + 51972, + 51911, + 51850, + 51788, + 51726, + 51665, + 51603, + 51541, + 51478, + 51416, + 51354, + 51291, + 51229, + 51166, + 51103, + 51040, + 50977, + 50914, + 50850, + 50787, + 50723, + 50660, + 50596, + 50532, + 50468, + 50403, + 50339, + 50275, + 50210, + 50146, + 50081, + 50016, + 49951, + 49886, + 49820, + 49755, + 49690, + 49624, + 49558, + 49492, + 49426, + 49360, + 49294, + 49228, + 49161, + 49095, + 49028, + 48961, + 48895, + 48828, + 48760, + 48693, + 48626, + 48558, + 48491, + 48423, + 48355, + 48288, + 48219, + 48151, + 48083, + 48015, + 47946, + 47878, + 47809, + 47740, + 47671, + 47602, + 47533, + 47464, + 47394, + 47325, + 47255, + 47186, + 47116, + 47046, + 46976, + 46906, + 46835, + 46765, + 46695, + 46624, + 46553, + 46482, + 46411, + 46340, + 46269, + 46198, + 46127, + 46055, + 45984, + 45912, + 45840, + 45768, + 45696, + 45624, + 45552, + 45480, + 45407, + 45335, + 45262, + 45189, + 45116, + 45043, + 44970, + 44897, + 44824, + 44750, + 44677, + 44603, + 44530, + 44456, + 44382, + 44308, + 44234, + 44160, + 44085, + 44011, + 43936, + 43862, + 43787, + 43712, + 43637, + 43562, + 43487, + 43412, + 43336, + 43261, + 43185, + 43110, + 43034, + 42958, + 42882, + 42806, + 42730, + 42653, + 42577, + 42501, + 42424, + 42347, + 42271, + 42194, + 42117, + 42040, + 41962, + 41885, + 41808, + 41730, + 41653, + 41575, + 41497, + 41419, + 41342, + 41263, + 41185, + 41107, + 41029, + 40950, + 40872, + 40793, + 40714, + 40636, + 40557, + 40478, + 40399, + 40319, + 40240, + 40161, + 40081, + 40002, + 39922, + 39842, + 39762, + 39682, + 39602, + 39522, + 39442, + 39362, + 39281, + 39201, + 39120, + 39039, + 38958, + 38878, + 38797, + 38716, + 38634, + 38553, + 38472, + 38390, + 38309, + 38227, + 38146, + 38064, + 37982, + 37900, + 37818, + 37736, + 37653, + 37571, + 37489, + 37406, + 37324, + 37241, + 37158, + 37075, + 36992, + 36909, + 36826, + 36743, + 36660, + 36576, + 36493, + 36409, + 36326, + 36242, + 36158, + 36074, + 35990, + 35906, + 35822, + 35738, + 35654, + 35569, + 35485, + 35400, + 35316, + 35231, + 35146, + 35061, + 34976, + 34891, + 34806, + 34721, + 34635, + 34550, + 34465, + 34379, + 34293, + 34208, + 34122, + 34036, + 33950, + 33864, + 33778, + 33692, + 33605, + 33519, + 33433, + 33346, + 33260, + 33173, + 33086, + 32999, + 32912, + 32826, + 32738, + 32651, + 32564, + 32477, + 32390, + 32302, + 32215, + 32127, + 32039, + 31952, + 31864, + 31776, + 31688, + 31600, + 31512, + 31424, + 31335, + 31247, + 31159, + 31070, + 30982, + 30893, + 30804, + 30715, + 30627, + 30538, + 30449, + 30360, + 30271, + 30181, + 30092, + 30003, + 29913, + 29824, + 29734, + 29645, + 29555, + 29465, + 29375, + 29285, + 29196, + 29105, + 29015, + 28925, + 28835, + 28745, + 28654, + 28564, + 28473, + 28383, + 28292, + 28201, + 28111, + 28020, + 27929, + 27838, + 27747, + 27656, + 27565, + 27473, + 27382, + 27291, + 27199, + 27108, + 27016, + 26925, + 26833, + 26741, + 26649, + 26557, + 26465, + 26373, + 26281, + 26189, + 26097, + 26005, + 25913, + 25820, + 25728, + 25635, + 25543, + 25450, + 25357, + 25265, + 25172, + 25079, + 24986, + 24893, + 24800, + 24707, + 24614, + 24521, + 24427, + 24334, + 24241, + 24147, + 24054, + 23960, + 23867, + 23773, + 23679, + 23586, + 23492, + 23398, + 23304, + 23210, + 23116, + 23022, + 22928, + 22833, + 22739, + 22645, + 22551, + 22456, + 22362, + 22267, + 22173, + 22078, + 21983, + 21889, + 21794, + 21699, + 21604, + 21509, + 21414, + 21319, + 21224, + 21129, + 21034, + 20938, + 20843, + 20748, + 20652, + 20557, + 20461, + 20366, + 20270, + 20175, + 20079, + 19983, + 19888, + 19792, + 19696, + 19600, + 19504, + 19408, + 19312, + 19216, + 19120, + 19024, + 18927, + 18831, + 18735, + 18638, + 18542, + 18446, + 18349, + 18253, + 18156, + 18059, + 17963, + 17866, + 17769, + 17672, + 17576, + 17479, + 17382, + 17285, + 17188, + 17091, + 16994, + 16897, + 16800, + 16702, + 16605, + 16508, + 16411, + 16313, + 16216, + 16118, + 16021, + 15923, + 15826, + 15728, + 15631, + 15533, + 15435, + 15338, + 15240, + 15142, + 15044, + 14946, + 14849, + 14751, + 14653, + 14555, + 14457, + 14359, + 14260, + 14162, + 14064, + 13966, + 13868, + 13769, + 13671, + 13573, + 13474, + 13376, + 13278, + 13179, + 13081, + 12982, + 12884, + 12785, + 12686, + 12588, + 12489, + 12390, + 12292, + 12193, + 12094, + 11995, + 11896, + 11797, + 11699, + 11600, + 11501, + 11402, + 11303, + 11204, + 11105, + 11006, + 10906, + 10807, + 10708, + 10609, + 10510, + 10410, + 10311, + 10212, + 10113, + 10013, + 9914, + 9814, + 9715, + 9616, + 9516, + 9417, + 9317, + 9218, + 9118, + 9019, + 8919, + 8819, + 8720, + 8620, + 8520, + 8421, + 8321, + 8221, + 8122, + 8022, + 7922, + 7822, + 7722, + 7623, + 7523, + 7423, + 7323, + 7223, + 7123, + 7023, + 6923, + 6823, + 6723, + 6623, + 6523, + 6423, + 6323, + 6223, + 6123, + 6023, + 5923, + 5823, + 5722, + 5622, + 5522, + 5422, + 5322, + 5222, + 5121, + 5021, + 4921, + 4821, + 4720, + 4620, + 4520, + 4420, + 4319, + 4219, + 4119, + 4018, + 3918, + 3818, + 3717, + 3617, + 3516, + 3416, + 3316, + 3215, + 3115, + 3014, + 2914, + 2814, + 2713, + 2613, + 2512, + 2412, + 2311, + 2211, + 2110, + 2010, + 1909, + 1809, + 1708, + 1608, + 1507, + 1407, + 1306, + 1206, + 1105, + 1005, + 904, + 804, + 703, + 603, + 502, + 402, + 301, + 201, + 100, + 0, + -101, + -202, + -302, + -403, + -503, + -604, + -704, + -805, + -905, + -1006, + -1106, + -1207, + -1307, + -1408, + -1508, + -1609, + -1709, + -1810, + -1910, + -2011, + -2111, + -2212, + -2312, + -2413, + -2513, + -2614, + -2714, + -2814, + -2915, + -3015, + -3116, + -3216, + -3317, + -3417, + -3517, + -3618, + -3718, + -3819, + -3919, + -4019, + -4120, + -4220, + -4320, + -4421, + -4521, + -4621, + -4721, + -4822, + -4922, + -5022, + -5122, + -5223, + -5323, + -5423, + -5523, + -5623, + -5723, + -5824, + -5924, + -6024, + -6124, + -6224, + -6324, + -6424, + -6524, + -6624, + -6724, + -6824, + -6924, + -7024, + -7124, + -7224, + -7324, + -7424, + -7524, + -7624, + -7723, + -7823, + -7923, + -8023, + -8123, + -8222, + -8322, + -8422, + -8521, + -8621, + -8721, + -8820, + -8920, + -9020, + -9119, + -9219, + -9318, + -9418, + -9517, + -9617, + -9716, + -9815, + -9915, + -10014, + -10114, + -10213, + -10312, + -10411, + -10511, + -10610, + -10709, + -10808, + -10907, + -11007, + -11106, + -11205, + -11304, + -11403, + -11502, + -11601, + -11700, + -11798, + -11897, + -11996, + -12095, + -12194, + -12293, + -12391, + -12490, + -12589, + -12687, + -12786, + -12885, + -12983, + -13082, + -13180, + -13279, + -13377, + -13475, + -13574, + -13672, + -13770, + -13869, + -13967, + -14065, + -14163, + -14261, + -14360, + -14458, + -14556, + -14654, + -14752, + -14850, + -14947, + -15045, + -15143, + -15241, + -15339, + -15436, + -15534, + -15632, + -15729, + -15827, + -15924, + -16022, + -16119, + -16217, + -16314, + -16412, + -16509, + -16606, + -16703, + -16801, + -16898, + -16995, + -17092, + -17189, + -17286, + -17383, + -17480, + -17577, + -17673, + -17770, + -17867, + -17964, + -18060, + -18157, + -18254, + -18350, + -18447, + -18543, + -18639, + -18736, + -18832, + -18928, + -19025, + -19121, + -19217, + -19313, + -19409, + -19505, + -19601, + -19697, + -19793, + -19889, + -19984, + -20080, + -20176, + -20271, + -20367, + -20462, + -20558, + -20653, + -20749, + -20844, + -20939, + -21035, + -21130, + -21225, + -21320, + -21415, + -21510, + -21605, + -21700, + -21795, + -21889, + -21984, + -22079, + -22174, + -22268, + -22363, + -22457, + -22552, + -22646, + -22740, + -22834, + -22929, + -23023, + -23117, + -23211, + -23305, + -23399, + -23493, + -23587, + -23680, + -23774, + -23868, + -23961, + -24055, + -24148, + -24242, + -24335, + -24428, + -24522, + -24615, + -24708, + -24801, + -24894, + -24987, + -25080, + -25173, + -25266, + -25358, + -25451, + -25544, + -25636, + -25729, + -25821, + -25914, + -26006, + -26098, + -26190, + -26282, + -26374, + -26466, + -26558, + -26650, + -26742, + -26834, + -26926, + -27017, + -27109, + -27200, + -27292, + -27383, + -27474, + -27566, + -27657, + -27748, + -27839, + -27930, + -28021, + -28112, + -28202, + -28293, + -28384, + -28474, + -28565, + -28655, + -28746, + -28836, + -28926, + -29016, + -29106, + -29197, + -29286, + -29376, + -29466, + -29556, + -29646, + -29735, + -29825, + -29914, + -30004, + -30093, + -30182, + -30272, + -30361, + -30450, + -30539, + -30628, + -30716, + -30805, + -30894, + -30983, + -31071, + -31160, + -31248, + -31336, + -31425, + -31513, + -31601, + -31689, + -31777, + -31865, + -31953, + -32040, + -32128, + -32216, + -32303, + -32391, + -32478, + -32565, + -32652, + -32739, + -32827, + -32913, + -33000, + -33087, + -33174, + -33261, + -33347, + -33434, + -33520, + -33606, + -33693, + -33779, + -33865, + -33951, + -34037, + -34123, + -34209, + -34294, + -34380, + -34466, + -34551, + -34636, + -34722, + -34807, + -34892, + -34977, + -35062, + -35147, + -35232, + -35317, + -35401, + -35486, + -35570, + -35655, + -35739, + -35823, + -35907, + -35991, + -36075, + -36159, + -36243, + -36327, + -36410, + -36494, + -36577, + -36661, + -36744, + -36827, + -36910, + -36993, + -37076, + -37159, + -37242, + -37325, + -37407, + -37490, + -37572, + -37654, + -37737, + -37819, + -37901, + -37983, + -38065, + -38147, + -38228, + -38310, + -38391, + -38473, + -38554, + -38635, + -38717, + -38798, + -38879, + -38959, + -39040, + -39121, + -39202, + -39282, + -39362, + -39443, + -39523, + -39603, + -39683, + -39763, + -39843, + -39923, + -40003, + -40082, + -40162, + -40241, + -40320, + -40400, + -40479, + -40558, + -40637, + -40715, + -40794, + -40873, + -40951, + -41030, + -41108, + -41186, + -41264, + -41343, + -41420, + -41498, + -41576, + -41654, + -41731, + -41809, + -41886, + -41963, + -42041, + -42118, + -42195, + -42272, + -42348, + -42425, + -42502, + -42578, + -42654, + -42731, + -42807, + -42883, + -42959, + -43035, + -43111, + -43186, + -43262, + -43337, + -43413, + -43488, + -43563, + -43638, + -43713, + -43788, + -43863, + -43937, + -44012, + -44086, + -44161, + -44235, + -44309, + -44383, + -44457, + -44531, + -44604, + -44678, + -44751, + -44825, + -44898, + -44971, + -45044, + -45117, + -45190, + -45263, + -45336, + -45408, + -45481, + -45553, + -45625, + -45697, + -45769, + -45841, + -45913, + -45985, + -46056, + -46128, + -46199, + -46270, + -46341, + -46412, + -46483, + -46554, + -46625, + -46696, + -46766, + -46836, + -46907, + -46977, + -47047, + -47117, + -47187, + -47256, + -47326, + -47395, + -47465, + -47534, + -47603, + -47672, + -47741, + -47810, + -47879, + -47947, + -48016, + -48084, + -48152, + -48220, + -48289, + -48356, + -48424, + -48492, + -48559, + -48627, + -48694, + -48761, + -48829, + -48896, + -48962, + -49029, + -49096, + -49162, + -49229, + -49295, + -49361, + -49427, + -49493, + -49559, + -49625, + -49691, + -49756, + -49821, + -49887, + -49952, + -50017, + -50082, + -50147, + -50211, + -50276, + -50340, + -50404, + -50469, + -50533, + -50597, + -50661, + -50724, + -50788, + -50851, + -50915, + -50978, + -51041, + -51104, + -51167, + -51230, + -51292, + -51355, + -51417, + -51479, + -51542, + -51604, + -51666, + -51727, + -51789, + -51851, + -51912, + -51973, + -52034, + -52096, + -52156, + -52217, + -52278, + -52339, + -52399, + -52459, + -52519, + -52580, + -52640, + -52699, + -52759, + -52819, + -52878, + -52937, + -52997, + -53056, + -53115, + -53173, + -53232, + -53291, + -53349, + -53408, + -53466, + -53524, + -53582, + -53640, + -53697, + -53755, + -53812, + -53870, + -53927, + -53984, + -54041, + -54098, + -54154, + -54211, + -54267, + -54324, + -54380, + -54436, + -54492, + -54547, + -54603, + -54659, + -54714, + -54769, + -54824, + -54880, + -54934, + -54989, + -55044, + -55098, + -55153, + -55207, + -55261, + -55315, + -55369, + -55423, + -55476, + -55530, + -55583, + -55636, + -55689, + -55742, + -55795, + -55848, + -55900, + -55953, + -56005, + -56057, + -56109, + -56161, + -56213, + -56264, + -56316, + -56367, + -56418, + -56469, + -56520, + -56571, + -56622, + -56672, + -56723, + -56773, + -56823, + -56873, + -56923, + -56973, + -57023, + -57072, + -57121, + -57171, + -57220, + -57269, + -57317, + -57366, + -57415, + -57463, + -57511, + -57559, + -57607, + -57655, + -57703, + -57751, + -57798, + -57845, + -57893, + -57940, + -57987, + -58033, + -58080, + -58126, + -58173, + -58219, + -58265, + -58311, + -58357, + -58403, + -58448, + -58494, + -58539, + -58584, + -58629, + -58674, + -58719, + -58763, + -58808, + -58852, + -58896, + -58940, + -58984, + -59028, + -59071, + -59115, + -59158, + -59201, + -59244, + -59287, + -59330, + -59373, + -59415, + -59458, + -59500, + -59542, + -59584, + -59626, + -59667, + -59709, + -59750, + -59791, + -59832, + -59873, + -59914, + -59955, + -59995, + -60036, + -60076, + -60116, + -60156, + -60196, + -60236, + -60275, + -60314, + -60354, + -60393, + -60432, + -60471, + -60509, + -60548, + -60586, + -60625, + -60663, + -60701, + -60738, + -60776, + -60814, + -60851, + -60888, + -60925, + -60962, + -60999, + -61036, + -61072, + -61109, + -61145, + -61181, + -61217, + -61253, + -61289, + -61324, + -61360, + -61395, + -61430, + -61465, + -61500, + -61534, + -61569, + -61603, + -61638, + -61672, + -61706, + -61739, + -61773, + -61806, + -61840, + -61873, + -61906, + -61939, + -61972, + -62004, + -62037, + -62069, + -62101, + -62134, + -62165, + -62197, + -62229, + -62260, + -62292, + -62323, + -62354, + -62385, + -62415, + -62446, + -62476, + -62507, + -62537, + -62567, + -62597, + -62626, + -62656, + -62685, + -62715, + -62744, + -62773, + -62801, + -62830, + -62859, + -62887, + -62915, + -62943, + -62971, + -62999, + -63027, + -63054, + -63081, + -63109, + -63136, + -63163, + -63189, + -63216, + -63242, + -63269, + -63295, + -63321, + -63347, + -63372, + -63398, + -63423, + -63448, + -63474, + -63499, + -63523, + -63548, + -63572, + -63597, + -63621, + -63645, + -63669, + -63693, + -63716, + -63740, + -63763, + -63786, + -63809, + -63832, + -63855, + -63877, + -63900, + -63922, + -63944, + -63966, + -63988, + -64010, + -64031, + -64052, + -64074, + -64095, + -64116, + -64136, + -64157, + -64177, + -64198, + -64218, + -64238, + -64258, + -64277, + -64297, + -64316, + -64335, + -64354, + -64373, + -64392, + -64411, + -64429, + -64448, + -64466, + -64484, + -64502, + -64519, + -64537, + -64554, + -64572, + -64589, + -64606, + -64623, + -64639, + -64656, + -64672, + -64688, + -64704, + -64720, + -64736, + -64752, + -64767, + -64782, + -64797, + -64812, + -64827, + -64842, + -64856, + -64871, + -64885, + -64899, + -64913, + -64927, + -64940, + -64954, + -64967, + -64980, + -64993, + -65006, + -65019, + -65031, + -65044, + -65056, + -65068, + -65080, + -65092, + -65103, + -65115, + -65126, + -65137, + -65148, + -65159, + -65170, + -65180, + -65191, + -65201, + -65211, + -65221, + -65231, + -65240, + -65250, + -65259, + -65268, + -65277, + -65286, + -65295, + -65303, + -65312, + -65320, + -65328, + -65336, + -65344, + -65351, + -65359, + -65366, + -65373, + -65380, + -65387, + -65394, + -65401, + -65407, + -65413, + -65419, + -65425, + -65431, + -65437, + -65442, + -65447, + -65453, + -65458, + -65462, + -65467, + -65472, + -65476, + -65480, + -65484, + -65488, + -65492, + -65496, + -65499, + -65502, + -65506, + -65509, + -65512, + -65514, + -65517, + -65519, + -65521, + -65523, + -65525, + -65527, + -65529, + -65530, + -65532, + -65533, + -65534, + -65535, + -65535, + -65536, + -65536, + -65536, + -65536, + -65536, + -65536, + -65536, + -65535, + -65535, + -65534, + -65533, + -65532, + -65530, + -65529, + -65527, + -65525, + -65523, + -65521, + -65519, + -65517, + -65514, + -65512, + -65509, + -65506, + -65502, + -65499, + -65496, + -65492, + -65488, + -65484, + -65480, + -65476, + -65472, + -65467, + -65462, + -65458, + -65453, + -65447, + -65442, + -65437, + -65431, + -65425, + -65419, + -65413, + -65407, + -65401, + -65394, + -65387, + -65380, + -65373, + -65366, + -65359, + -65351, + -65344, + -65336, + -65328, + -65320, + -65312, + -65303, + -65295, + -65286, + -65277, + -65268, + -65259, + -65250, + -65240, + -65231, + -65221, + -65211, + -65201, + -65191, + -65180, + -65170, + -65159, + -65148, + -65137, + -65126, + -65115, + -65103, + -65092, + -65080, + -65068, + -65056, + -65044, + -65031, + -65019, + -65006, + -64993, + -64980, + -64967, + -64954, + -64940, + -64927, + -64913, + -64899, + -64885, + -64871, + -64856, + -64842, + -64827, + -64812, + -64797, + -64782, + -64767, + -64752, + -64736, + -64720, + -64704, + -64688, + -64672, + -64656, + -64639, + -64623, + -64606, + -64589, + -64572, + -64554, + -64537, + -64519, + -64502, + -64484, + -64466, + -64448, + -64429, + -64411, + -64392, + -64373, + -64354, + -64335, + -64316, + -64297, + -64277, + -64258, + -64238, + -64218, + -64198, + -64177, + -64157, + -64136, + -64116, + -64095, + -64074, + -64052, + -64031, + -64010, + -63988, + -63966, + -63944, + -63922, + -63900, + -63877, + -63855, + -63832, + -63809, + -63786, + -63763, + -63740, + -63716, + -63693, + -63669, + -63645, + -63621, + -63597, + -63572, + -63548, + -63523, + -63499, + -63474, + -63448, + -63423, + -63398, + -63372, + -63347, + -63321, + -63295, + -63269, + -63242, + -63216, + -63189, + -63163, + -63136, + -63109, + -63081, + -63054, + -63027, + -62999, + -62971, + -62943, + -62915, + -62887, + -62859, + -62830, + -62801, + -62773, + -62744, + -62715, + -62685, + -62656, + -62626, + -62597, + -62567, + -62537, + -62507, + -62476, + -62446, + -62415, + -62385, + -62354, + -62323, + -62292, + -62260, + -62229, + -62197, + -62165, + -62134, + -62101, + -62069, + -62037, + -62004, + -61972, + -61939, + -61906, + -61873, + -61840, + -61806, + -61773, + -61739, + -61706, + -61672, + -61638, + -61603, + -61569, + -61534, + -61500, + -61465, + -61430, + -61395, + -61360, + -61324, + -61289, + -61253, + -61217, + -61181, + -61145, + -61109, + -61072, + -61036, + -60999, + -60962, + -60925, + -60888, + -60851, + -60814, + -60776, + -60738, + -60701, + -60663, + -60625, + -60586, + -60548, + -60509, + -60471, + -60432, + -60393, + -60354, + -60314, + -60275, + -60236, + -60196, + -60156, + -60116, + -60076, + -60036, + -59995, + -59955, + -59914, + -59873, + -59832, + -59791, + -59750, + -59709, + -59667, + -59626, + -59584, + -59542, + -59500, + -59458, + -59415, + -59373, + -59330, + -59287, + -59244, + -59201, + -59158, + -59115, + -59071, + -59028, + -58984, + -58940, + -58896, + -58852, + -58808, + -58763, + -58719, + -58674, + -58629, + -58584, + -58539, + -58494, + -58448, + -58403, + -58357, + -58311, + -58265, + -58219, + -58173, + -58126, + -58080, + -58033, + -57987, + -57940, + -57893, + -57845, + -57798, + -57751, + -57703, + -57655, + -57607, + -57559, + -57511, + -57463, + -57415, + -57366, + -57317, + -57269, + -57220, + -57171, + -57121, + -57072, + -57023, + -56973, + -56923, + -56873, + -56823, + -56773, + -56723, + -56672, + -56622, + -56571, + -56520, + -56469, + -56418, + -56367, + -56316, + -56264, + -56213, + -56161, + -56109, + -56057, + -56005, + -55953, + -55900, + -55848, + -55795, + -55742, + -55689, + -55636, + -55583, + -55530, + -55476, + -55423, + -55369, + -55315, + -55261, + -55207, + -55153, + -55098, + -55044, + -54989, + -54934, + -54880, + -54824, + -54769, + -54714, + -54659, + -54603, + -54547, + -54492, + -54436, + -54380, + -54324, + -54267, + -54211, + -54154, + -54098, + -54041, + -53984, + -53927, + -53870, + -53812, + -53755, + -53697, + -53640, + -53582, + -53524, + -53466, + -53408, + -53349, + -53291, + -53232, + -53173, + -53115, + -53056, + -52997, + -52937, + -52878, + -52819, + -52759, + -52699, + -52640, + -52580, + -52519, + -52459, + -52399, + -52339, + -52278, + -52217, + -52156, + -52096, + -52034, + -51973, + -51912, + -51851, + -51789, + -51727, + -51666, + -51604, + -51542, + -51479, + -51417, + -51355, + -51292, + -51230, + -51167, + -51104, + -51041, + -50978, + -50915, + -50851, + -50788, + -50724, + -50661, + -50597, + -50533, + -50469, + -50404, + -50340, + -50276, + -50211, + -50147, + -50082, + -50017, + -49952, + -49887, + -49821, + -49756, + -49691, + -49625, + -49559, + -49493, + -49427, + -49361, + -49295, + -49229, + -49162, + -49096, + -49029, + -48962, + -48896, + -48829, + -48761, + -48694, + -48627, + -48559, + -48492, + -48424, + -48356, + -48289, + -48220, + -48152, + -48084, + -48016, + -47947, + -47879, + -47810, + -47741, + -47672, + -47603, + -47534, + -47465, + -47395, + -47326, + -47256, + -47187, + -47117, + -47047, + -46977, + -46907, + -46836, + -46766, + -46696, + -46625, + -46554, + -46483, + -46412, + -46341, + -46270, + -46199, + -46128, + -46056, + -45985, + -45913, + -45841, + -45769, + -45697, + -45625, + -45553, + -45481, + -45408, + -45336, + -45263, + -45190, + -45117, + -45044, + -44971, + -44898, + -44825, + -44751, + -44678, + -44604, + -44531, + -44457, + -44383, + -44309, + -44235, + -44161, + -44086, + -44012, + -43937, + -43863, + -43788, + -43713, + -43638, + -43563, + -43488, + -43413, + -43337, + -43262, + -43186, + -43111, + -43035, + -42959, + -42883, + -42807, + -42731, + -42654, + -42578, + -42502, + -42425, + -42348, + -42272, + -42195, + -42118, + -42041, + -41963, + -41886, + -41809, + -41731, + -41654, + -41576, + -41498, + -41420, + -41343, + -41264, + -41186, + -41108, + -41030, + -40951, + -40873, + -40794, + -40715, + -40637, + -40558, + -40479, + -40400, + -40320, + -40241, + -40162, + -40082, + -40003, + -39923, + -39843, + -39763, + -39683, + -39603, + -39523, + -39443, + -39363, + -39282, + -39202, + -39121, + -39040, + -38959, + -38879, + -38798, + -38717, + -38635, + -38554, + -38473, + -38391, + -38310, + -38228, + -38147, + -38065, + -37983, + -37901, + -37819, + -37737, + -37654, + -37572, + -37490, + -37407, + -37325, + -37242, + -37159, + -37076, + -36993, + -36910, + -36827, + -36744, + -36661, + -36577, + -36494, + -36410, + -36327, + -36243, + -36159, + -36075, + -35991, + -35907, + -35823, + -35739, + -35655, + -35570, + -35486, + -35401, + -35317, + -35232, + -35147, + -35062, + -34977, + -34892, + -34807, + -34722, + -34636, + -34551, + -34466, + -34380, + -34294, + -34209, + -34123, + -34037, + -33951, + -33865, + -33779, + -33693, + -33606, + -33520, + -33434, + -33347, + -33261, + -33174, + -33087, + -33000, + -32914, + -32827, + -32739, + -32652, + -32565, + -32478, + -32391, + -32303, + -32216, + -32128, + -32040, + -31953, + -31865, + -31777, + -31689, + -31601, + -31513, + -31425, + -31336, + -31248, + -31160, + -31071, + -30983, + -30894, + -30805, + -30716, + -30628, + -30539, + -30450, + -30361, + -30272, + -30182, + -30093, + -30004, + -29914, + -29825, + -29735, + -29646, + -29556, + -29466, + -29376, + -29287, + -29197, + -29106, + -29016, + -28926, + -28836, + -28746, + -28655, + -28565, + -28474, + -28384, + -28293, + -28202, + -28112, + -28021, + -27930, + -27839, + -27748, + -27657, + -27566, + -27474, + -27383, + -27292, + -27200, + -27109, + -27017, + -26926, + -26834, + -26742, + -26650, + -26558, + -26466, + -26374, + -26282, + -26190, + -26098, + -26006, + -25914, + -25821, + -25729, + -25636, + -25544, + -25451, + -25358, + -25266, + -25173, + -25080, + -24987, + -24894, + -24801, + -24708, + -24615, + -24522, + -24428, + -24335, + -24242, + -24148, + -24055, + -23961, + -23868, + -23774, + -23680, + -23587, + -23493, + -23399, + -23305, + -23211, + -23117, + -23023, + -22929, + -22834, + -22740, + -22646, + -22552, + -22457, + -22363, + -22268, + -22174, + -22079, + -21984, + -21890, + -21795, + -21700, + -21605, + -21510, + -21415, + -21320, + -21225, + -21130, + -21035, + -20939, + -20844, + -20749, + -20653, + -20558, + -20462, + -20367, + -20271, + -20176, + -20080, + -19984, + -19889, + -19793, + -19697, + -19601, + -19505, + -19409, + -19313, + -19217, + -19121, + -19025, + -18928, + -18832, + -18736, + -18639, + -18543, + -18447, + -18350, + -18254, + -18157, + -18060, + -17964, + -17867, + -17770, + -17673, + -17577, + -17480, + -17383, + -17286, + -17189, + -17092, + -16995, + -16898, + -16801, + -16703, + -16606, + -16509, + -16412, + -16314, + -16217, + -16119, + -16022, + -15924, + -15827, + -15729, + -15632, + -15534, + -15436, + -15339, + -15241, + -15143, + -15045, + -14947, + -14850, + -14752, + -14654, + -14556, + -14458, + -14360, + -14261, + -14163, + -14065, + -13967, + -13869, + -13770, + -13672, + -13574, + -13475, + -13377, + -13279, + -13180, + -13082, + -12983, + -12885, + -12786, + -12687, + -12589, + -12490, + -12391, + -12293, + -12194, + -12095, + -11996, + -11897, + -11798, + -11700, + -11601, + -11502, + -11403, + -11304, + -11205, + -11106, + -11007, + -10907, + -10808, + -10709, + -10610, + -10511, + -10411, + -10312, + -10213, + -10114, + -10014, + -9915, + -9815, + -9716, + -9617, + -9517, + -9418, + -9318, + -9219, + -9119, + -9020, + -8920, + -8820, + -8721, + -8621, + -8521, + -8422, + -8322, + -8222, + -8123, + -8023, + -7923, + -7823, + -7723, + -7624, + -7524, + -7424, + -7324, + -7224, + -7124, + -7024, + -6924, + -6824, + -6724, + -6624, + -6524, + -6424, + -6324, + -6224, + -6124, + -6024, + -5924, + -5824, + -5723, + -5623, + -5523, + -5423, + -5323, + -5223, + -5122, + -5022, + -4922, + -4822, + -4721, + -4621, + -4521, + -4421, + -4320, + -4220, + -4120, + -4019, + -3919, + -3819, + -3718, + -3618, + -3517, + -3417, + -3317, + -3216, + -3116, + -3015, + -2915, + -2815, + -2714, + -2614, + -2513, + -2413, + -2312, + -2212, + -2111, + -2011, + -1910, + -1810, + -1709, + -1609, + -1508, + -1408, + -1307, + -1207, + -1106, + -1006, + -905, + -805, + -704, + -604, + -503, + -403, + -302, + -202, + -101, + -1, + 100, + 201, + 301, + 402, + 502, + 603, + 703, + 804, + 904, + 1005, + 1105, + 1206, + 1306, + 1407, + 1507, + 1608, + 1708, + 1809, + 1909, + 2010, + 2110, + 2211, + 2311, + 2412, + 2512, + 2613, + 2713, + 2813, + 2914, + 3014, + 3115, + 3215, + 3316, + 3416, + 3516, + 3617, + 3717, + 3818, + 3918, + 4018, + 4119, + 4219, + 4319, + 4419, + 4520, + 4620, + 4720, + 4821, + 4921, + 5021, + 5121, + 5222, + 5322, + 5422, + 5522, + 5622, + 5722, + 5823, + 5923, + 6023, + 6123, + 6223, + 6323, + 6423, + 6523, + 6623, + 6723, + 6823, + 6923, + 7023, + 7123, + 7223, + 7323, + 7423, + 7523, + 7623, + 7722, + 7822, + 7922, + 8022, + 8122, + 8221, + 8321, + 8421, + 8520, + 8620, + 8720, + 8819, + 8919, + 9019, + 9118, + 9218, + 9317, + 9417, + 9516, + 9616, + 9715, + 9814, + 9914, + 10013, + 10113, + 10212, + 10311, + 10410, + 10510, + 10609, + 10708, + 10807, + 10906, + 11005, + 11105, + 11204, + 11303, + 11402, + 11501, + 11600, + 11699, + 11797, + 11896, + 11995, + 12094, + 12193, + 12292, + 12390, + 12489, + 12588, + 12686, + 12785, + 12884, + 12982, + 13081, + 13179, + 13278, + 13376, + 13474, + 13573, + 13671, + 13769, + 13868, + 13966, + 14064, + 14162, + 14260, + 14359, + 14457, + 14555, + 14653, + 14751, + 14849, + 14946, + 15044, + 15142, + 15240, + 15338, + 15435, + 15533, + 15631, + 15728, + 15826, + 15923, + 16021, + 16118, + 16216, + 16313, + 16411, + 16508, + 16605, + 16702, + 16800, + 16897, + 16994, + 17091, + 17188, + 17285, + 17382, + 17479, + 17576, + 17672, + 17769, + 17866, + 17963, + 18059, + 18156, + 18253, + 18349, + 18446, + 18542, + 18638, + 18735, + 18831, + 18927, + 19024, + 19120, + 19216, + 19312, + 19408, + 19504, + 19600, + 19696, + 19792, + 19888, + 19983, + 20079, + 20175, + 20270, + 20366, + 20461, + 20557, + 20652, + 20748, + 20843, + 20938, + 21034, + 21129, + 21224, + 21319, + 21414, + 21509, + 21604, + 21699, + 21794, + 21888, + 21983, + 22078, + 22173, + 22267, + 22362, + 22456, + 22551, + 22645, + 22739, + 22833, + 22928, + 23022, + 23116, + 23210, + 23304, + 23398, + 23492, + 23586, + 23679, + 23773, + 23867, + 23960, + 24054, + 24147, + 24241, + 24334, + 24427, + 24521, + 24614, + 24707, + 24800, + 24893, + 24986, + 25079, + 25172, + 25265, + 25357, + 25450, + 25543, + 25635, + 25728, + 25820, + 25913, + 26005, + 26097, + 26189, + 26281, + 26373, + 26465, + 26557, + 26649, + 26741, + 26833, + 26925, + 27016, + 27108, + 27199, + 27291, + 27382, + 27473, + 27565, + 27656, + 27747, + 27838, + 27929, + 28020, + 28111, + 28201, + 28292, + 28383, + 28473, + 28564, + 28654, + 28745, + 28835, + 28925, + 29015, + 29105, + 29196, + 29285, + 29375, + 29465, + 29555, + 29645, + 29734, + 29824, + 29913, + 30003, + 30092, + 30181, + 30271, + 30360, + 30449, + 30538, + 30627, + 30715, + 30804, + 30893, + 30982, + 31070, + 31159, + 31247, + 31335, + 31424, + 31512, + 31600, + 31688, + 31776, + 31864, + 31952, + 32039, + 32127, + 32215, + 32302, + 32390, + 32477, + 32564, + 32651, + 32738, + 32826, + 32912, + 32999, + 33086, + 33173, + 33260, + 33346, + 33433, + 33519, + 33605, + 33692, + 33778, + 33864, + 33950, + 34036, + 34122, + 34208, + 34293, + 34379, + 34465, + 34550, + 34635, + 34721, + 34806, + 34891, + 34976, + 35061, + 35146, + 35231, + 35316, + 35400, + 35485, + 35569, + 35654, + 35738, + 35822, + 35906, + 35990, + 36074, + 36158, + 36242, + 36326, + 36409, + 36493, + 36576, + 36660, + 36743, + 36826, + 36909, + 36992, + 37075, + 37158, + 37241, + 37324, + 37406, + 37489, + 37571, + 37653, + 37736, + 37818, + 37900, + 37982, + 38064, + 38146, + 38227, + 38309, + 38390, + 38472, + 38553, + 38634, + 38716, + 38797, + 38878, + 38958, + 39039, + 39120, + 39201, + 39281, + 39361, + 39442, + 39522, + 39602, + 39682, + 39762, + 39842, + 39922, + 40002, + 40081, + 40161, + 40240, + 40319, + 40399, + 40478, + 40557, + 40636, + 40714, + 40793, + 40872, + 40950, + 41029, + 41107, + 41185, + 41263, + 41342, + 41419, + 41497, + 41575, + 41653, + 41730, + 41808, + 41885, + 41962, + 42040, + 42117, + 42194, + 42271, + 42347, + 42424, + 42501, + 42577, + 42653, + 42730, + 42806, + 42882, + 42958, + 43034, + 43110, + 43185, + 43261, + 43336, + 43412, + 43487, + 43562, + 43637, + 43712, + 43787, + 43862, + 43936, + 44011, + 44085, + 44160, + 44234, + 44308, + 44382, + 44456, + 44530, + 44603, + 44677, + 44750, + 44824, + 44897, + 44970, + 45043, + 45116, + 45189, + 45262, + 45335, + 45407, + 45480, + 45552, + 45624, + 45696, + 45768, + 45840, + 45912, + 45984, + 46055, + 46127, + 46198, + 46269, + 46340, + 46411, + 46482, + 46553, + 46624, + 46695, + 46765, + 46835, + 46906, + 46976, + 47046, + 47116, + 47186, + 47255, + 47325, + 47394, + 47464, + 47533, + 47602, + 47671, + 47740, + 47809, + 47878, + 47946, + 48015, + 48083, + 48151, + 48219, + 48288, + 48355, + 48423, + 48491, + 48558, + 48626, + 48693, + 48760, + 48828, + 48895, + 48961, + 49028, + 49095, + 49161, + 49228, + 49294, + 49360, + 49426, + 49492, + 49558, + 49624, + 49690, + 49755, + 49820, + 49886, + 49951, + 50016, + 50081, + 50145, + 50210, + 50275, + 50339, + 50403, + 50468, + 50532, + 50596, + 50660, + 50723, + 50787, + 50850, + 50914, + 50977, + 51040, + 51103, + 51166, + 51229, + 51291, + 51354, + 51416, + 51478, + 51541, + 51603, + 51665, + 51726, + 51788, + 51850, + 51911, + 51972, + 52033, + 52095, + 52155, + 52216, + 52277, + 52338, + 52398, + 52458, + 52518, + 52579, + 52639, + 52698, + 52758, + 52818, + 52877, + 52936, + 52996, + 53055, + 53114, + 53172, + 53231, + 53290, + 53348, + 53407, + 53465, + 53523, + 53581, + 53639, + 53696, + 53754, + 53811, + 53869, + 53926, + 53983, + 54040, + 54097, + 54153, + 54210, + 54266, + 54323, + 54379, + 54435, + 54491, + 54546, + 54602, + 54658, + 54713, + 54768, + 54823, + 54879, + 54933, + 54988, + 55043, + 55097, + 55152, + 55206, + 55260, + 55314, + 55368, + 55422, + 55475, + 55529, + 55582, + 55635, + 55688, + 55741, + 55794, + 55847, + 55899, + 55952, + 56004, + 56056, + 56108, + 56160, + 56212, + 56263, + 56315, + 56366, + 56417, + 56468, + 56519, + 56570, + 56621, + 56671, + 56722, + 56772, + 56822, + 56872, + 56922, + 56972, + 57022, + 57071, + 57120, + 57170, + 57219, + 57268, + 57316, + 57365, + 57414, + 57462, + 57510, + 57558, + 57606, + 57654, + 57702, + 57750, + 57797, + 57844, + 57892, + 57939, + 57986, + 58032, + 58079, + 58125, + 58172, + 58218, + 58264, + 58310, + 58356, + 58402, + 58447, + 58493, + 58538, + 58583, + 58628, + 58673, + 58718, + 58762, + 58807, + 58851, + 58895, + 58939, + 58983, + 59027, + 59070, + 59114, + 59157, + 59200, + 59243, + 59286, + 59329, + 59372, + 59414, + 59457, + 59499, + 59541, + 59583, + 59625, + 59666, + 59708, + 59749, + 59790, + 59831, + 59872, + 59913, + 59954, + 59994, + 60035, + 60075, + 60115, + 60155, + 60195, + 60235, + 60274, + 60313, + 60353, + 60392, + 60431, + 60470, + 60508, + 60547, + 60585, + 60624, + 60662, + 60700, + 60737, + 60775, + 60813, + 60850, + 60887, + 60924, + 60961, + 60998, + 61035, + 61071, + 61108, + 61144, + 61180, + 61216, + 61252, + 61288, + 61323, + 61359, + 61394, + 61429, + 61464, + 61499, + 61533, + 61568, + 61602, + 61637, + 61671, + 61705, + 61738, + 61772, + 61805, + 61839, + 61872, + 61905, + 61938, + 61971, + 62003, + 62036, + 62068, + 62100, + 62133, + 62164, + 62196, + 62228, + 62259, + 62291, + 62322, + 62353, + 62384, + 62414, + 62445, + 62475, + 62506, + 62536, + 62566, + 62596, + 62625, + 62655, + 62684, + 62714, + 62743, + 62772, + 62800, + 62829, + 62858, + 62886, + 62914, + 62942, + 62970, + 62998, + 63026, + 63053, + 63080, + 63108, + 63135, + 63162, + 63188, + 63215, + 63241, + 63268, + 63294, + 63320, + 63346, + 63371, + 63397, + 63422, + 63447, + 63473, + 63498, + 63522, + 63547, + 63571, + 63596, + 63620, + 63644, + 63668, + 63692, + 63715, + 63739, + 63762, + 63785, + 63808, + 63831, + 63854, + 63876, + 63899, + 63921, + 63943, + 63965, + 63987, + 64009, + 64030, + 64051, + 64073, + 64094, + 64115, + 64135, + 64156, + 64176, + 64197, + 64217, + 64237, + 64257, + 64276, + 64296, + 64315, + 64334, + 64353, + 64372, + 64391, + 64410, + 64428, + 64447, + 64465, + 64483, + 64501, + 64518, + 64536, + 64553, + 64571, + 64588, + 64605, + 64622, + 64638, + 64655, + 64671, + 64687, + 64703, + 64719, + 64735, + 64751, + 64766, + 64781, + 64796, + 64811, + 64826, + 64841, + 64855, + 64870, + 64884, + 64898, + 64912, + 64926, + 64939, + 64953, + 64966, + 64979, + 64992, + 65005, + 65018, + 65030, + 65043, + 65055, + 65067, + 65079, + 65091, + 65102, + 65114, + 65125, + 65136, + 65147, + 65158, + 65169, + 65179, + 65190, + 65200, + 65210, + 65220, + 65230, + 65239, + 65249, + 65258, + 65267, + 65276, + 65285, + 65294, + 65302, + 65311, + 65319, + 65327, + 65335, + 65343, + 65350, + 65358, + 65365, + 65372, + 65379, + 65386, + 65393, + 65400, + 65406, + 65412, + 65418, + 65424, + 65430, + 65436, + 65441, + 65446, + 65452, + 65457, + 65461, + 65466, + 65471, + 65475, + 65479, + 65483, + 65487, + 65491, + 65495, + 65498, + 65501, + 65505, + 65508, + 65511, + 65513, + 65516, + 65518, + 65520, + 65522, + 65524, + 65526, + 65528, + 65529, + 65531, + 65532, + 65533, + 65534, + 65534, + 65535, + 65535, + 65535 + +}; + +#endif + +short ArcCosTable[]={ + + 2047, + 2027, + 2019, + 2012, + 2007, + 2002, + 1998, + 1994, + 1990, + 1986, + 1983, + 1980, + 1977, + 1974, + 1971, + 1969, + 1966, + 1963, + 1961, + 1959, + 1956, + 1954, + 1952, + 1950, + 1948, + 1946, + 1944, + 1942, + 1940, + 1938, + 1936, + 1934, + 1932, + 1930, + 1929, + 1927, + 1925, + 1923, + 1922, + 1920, + 1918, + 1917, + 1915, + 1914, + 1912, + 1911, + 1909, + 1908, + 1906, + 1905, + 1903, + 1902, + 1900, + 1899, + 1897, + 1896, + 1895, + 1893, + 1892, + 1891, + 1889, + 1888, + 1887, + 1885, + 1884, + 1883, + 1882, + 1880, + 1879, + 1878, + 1877, + 1875, + 1874, + 1873, + 1872, + 1871, + 1869, + 1868, + 1867, + 1866, + 1865, + 1864, + 1862, + 1861, + 1860, + 1859, + 1858, + 1857, + 1856, + 1855, + 1854, + 1852, + 1851, + 1850, + 1849, + 1848, + 1847, + 1846, + 1845, + 1844, + 1843, + 1842, + 1841, + 1840, + 1839, + 1838, + 1837, + 1836, + 1835, + 1834, + 1833, + 1832, + 1831, + 1830, + 1829, + 1828, + 1827, + 1826, + 1825, + 1824, + 1823, + 1822, + 1821, + 1820, + 1819, + 1819, + 1818, + 1817, + 1816, + 1815, + 1814, + 1813, + 1812, + 1811, + 1810, + 1809, + 1809, + 1808, + 1807, + 1806, + 1805, + 1804, + 1803, + 1802, + 1802, + 1801, + 1800, + 1799, + 1798, + 1797, + 1796, + 1796, + 1795, + 1794, + 1793, + 1792, + 1791, + 1791, + 1790, + 1789, + 1788, + 1787, + 1786, + 1786, + 1785, + 1784, + 1783, + 1782, + 1782, + 1781, + 1780, + 1779, + 1778, + 1778, + 1777, + 1776, + 1775, + 1774, + 1774, + 1773, + 1772, + 1771, + 1771, + 1770, + 1769, + 1768, + 1768, + 1767, + 1766, + 1765, + 1764, + 1764, + 1763, + 1762, + 1761, + 1761, + 1760, + 1759, + 1758, + 1758, + 1757, + 1756, + 1756, + 1755, + 1754, + 1753, + 1753, + 1752, + 1751, + 1750, + 1750, + 1749, + 1748, + 1748, + 1747, + 1746, + 1745, + 1745, + 1744, + 1743, + 1743, + 1742, + 1741, + 1740, + 1740, + 1739, + 1738, + 1738, + 1737, + 1736, + 1736, + 1735, + 1734, + 1734, + 1733, + 1732, + 1731, + 1731, + 1730, + 1729, + 1729, + 1728, + 1727, + 1727, + 1726, + 1725, + 1725, + 1724, + 1723, + 1723, + 1722, + 1721, + 1721, + 1720, + 1719, + 1719, + 1718, + 1717, + 1717, + 1716, + 1715, + 1715, + 1714, + 1713, + 1713, + 1712, + 1712, + 1711, + 1710, + 1710, + 1709, + 1708, + 1708, + 1707, + 1706, + 1706, + 1705, + 1705, + 1704, + 1703, + 1703, + 1702, + 1701, + 1701, + 1700, + 1699, + 1699, + 1698, + 1698, + 1697, + 1696, + 1696, + 1695, + 1694, + 1694, + 1693, + 1693, + 1692, + 1691, + 1691, + 1690, + 1690, + 1689, + 1688, + 1688, + 1687, + 1687, + 1686, + 1685, + 1685, + 1684, + 1684, + 1683, + 1682, + 1682, + 1681, + 1681, + 1680, + 1679, + 1679, + 1678, + 1678, + 1677, + 1676, + 1676, + 1675, + 1675, + 1674, + 1673, + 1673, + 1672, + 1672, + 1671, + 1671, + 1670, + 1669, + 1669, + 1668, + 1668, + 1667, + 1666, + 1666, + 1665, + 1665, + 1664, + 1664, + 1663, + 1662, + 1662, + 1661, + 1661, + 1660, + 1660, + 1659, + 1658, + 1658, + 1657, + 1657, + 1656, + 1656, + 1655, + 1655, + 1654, + 1653, + 1653, + 1652, + 1652, + 1651, + 1651, + 1650, + 1649, + 1649, + 1648, + 1648, + 1647, + 1647, + 1646, + 1646, + 1645, + 1645, + 1644, + 1643, + 1643, + 1642, + 1642, + 1641, + 1641, + 1640, + 1640, + 1639, + 1639, + 1638, + 1637, + 1637, + 1636, + 1636, + 1635, + 1635, + 1634, + 1634, + 1633, + 1633, + 1632, + 1632, + 1631, + 1630, + 1630, + 1629, + 1629, + 1628, + 1628, + 1627, + 1627, + 1626, + 1626, + 1625, + 1625, + 1624, + 1624, + 1623, + 1623, + 1622, + 1621, + 1621, + 1620, + 1620, + 1619, + 1619, + 1618, + 1618, + 1617, + 1617, + 1616, + 1616, + 1615, + 1615, + 1614, + 1614, + 1613, + 1613, + 1612, + 1612, + 1611, + 1611, + 1610, + 1610, + 1609, + 1609, + 1608, + 1608, + 1607, + 1607, + 1606, + 1605, + 1605, + 1604, + 1604, + 1603, + 1603, + 1602, + 1602, + 1601, + 1601, + 1600, + 1600, + 1599, + 1599, + 1598, + 1598, + 1597, + 1597, + 1596, + 1596, + 1595, + 1595, + 1594, + 1594, + 1593, + 1593, + 1592, + 1592, + 1591, + 1591, + 1590, + 1590, + 1589, + 1589, + 1589, + 1588, + 1588, + 1587, + 1587, + 1586, + 1586, + 1585, + 1585, + 1584, + 1584, + 1583, + 1583, + 1582, + 1582, + 1581, + 1581, + 1580, + 1580, + 1579, + 1579, + 1578, + 1578, + 1577, + 1577, + 1576, + 1576, + 1575, + 1575, + 1574, + 1574, + 1573, + 1573, + 1573, + 1572, + 1572, + 1571, + 1571, + 1570, + 1570, + 1569, + 1569, + 1568, + 1568, + 1567, + 1567, + 1566, + 1566, + 1565, + 1565, + 1564, + 1564, + 1563, + 1563, + 1563, + 1562, + 1562, + 1561, + 1561, + 1560, + 1560, + 1559, + 1559, + 1558, + 1558, + 1557, + 1557, + 1556, + 1556, + 1556, + 1555, + 1555, + 1554, + 1554, + 1553, + 1553, + 1552, + 1552, + 1551, + 1551, + 1550, + 1550, + 1550, + 1549, + 1549, + 1548, + 1548, + 1547, + 1547, + 1546, + 1546, + 1545, + 1545, + 1544, + 1544, + 1544, + 1543, + 1543, + 1542, + 1542, + 1541, + 1541, + 1540, + 1540, + 1539, + 1539, + 1539, + 1538, + 1538, + 1537, + 1537, + 1536, + 1536, + 1535, + 1535, + 1535, + 1534, + 1534, + 1533, + 1533, + 1532, + 1532, + 1531, + 1531, + 1530, + 1530, + 1530, + 1529, + 1529, + 1528, + 1528, + 1527, + 1527, + 1526, + 1526, + 1526, + 1525, + 1525, + 1524, + 1524, + 1523, + 1523, + 1523, + 1522, + 1522, + 1521, + 1521, + 1520, + 1520, + 1519, + 1519, + 1519, + 1518, + 1518, + 1517, + 1517, + 1516, + 1516, + 1515, + 1515, + 1515, + 1514, + 1514, + 1513, + 1513, + 1512, + 1512, + 1512, + 1511, + 1511, + 1510, + 1510, + 1509, + 1509, + 1509, + 1508, + 1508, + 1507, + 1507, + 1506, + 1506, + 1505, + 1505, + 1505, + 1504, + 1504, + 1503, + 1503, + 1502, + 1502, + 1502, + 1501, + 1501, + 1500, + 1500, + 1499, + 1499, + 1499, + 1498, + 1498, + 1497, + 1497, + 1497, + 1496, + 1496, + 1495, + 1495, + 1494, + 1494, + 1494, + 1493, + 1493, + 1492, + 1492, + 1491, + 1491, + 1491, + 1490, + 1490, + 1489, + 1489, + 1488, + 1488, + 1488, + 1487, + 1487, + 1486, + 1486, + 1486, + 1485, + 1485, + 1484, + 1484, + 1483, + 1483, + 1483, + 1482, + 1482, + 1481, + 1481, + 1481, + 1480, + 1480, + 1479, + 1479, + 1478, + 1478, + 1478, + 1477, + 1477, + 1476, + 1476, + 1476, + 1475, + 1475, + 1474, + 1474, + 1473, + 1473, + 1473, + 1472, + 1472, + 1471, + 1471, + 1471, + 1470, + 1470, + 1469, + 1469, + 1469, + 1468, + 1468, + 1467, + 1467, + 1466, + 1466, + 1466, + 1465, + 1465, + 1464, + 1464, + 1464, + 1463, + 1463, + 1462, + 1462, + 1462, + 1461, + 1461, + 1460, + 1460, + 1460, + 1459, + 1459, + 1458, + 1458, + 1458, + 1457, + 1457, + 1456, + 1456, + 1456, + 1455, + 1455, + 1454, + 1454, + 1453, + 1453, + 1453, + 1452, + 1452, + 1451, + 1451, + 1451, + 1450, + 1450, + 1449, + 1449, + 1449, + 1448, + 1448, + 1447, + 1447, + 1447, + 1446, + 1446, + 1445, + 1445, + 1445, + 1444, + 1444, + 1443, + 1443, + 1443, + 1442, + 1442, + 1441, + 1441, + 1441, + 1440, + 1440, + 1440, + 1439, + 1439, + 1438, + 1438, + 1438, + 1437, + 1437, + 1436, + 1436, + 1436, + 1435, + 1435, + 1434, + 1434, + 1434, + 1433, + 1433, + 1432, + 1432, + 1432, + 1431, + 1431, + 1430, + 1430, + 1430, + 1429, + 1429, + 1428, + 1428, + 1428, + 1427, + 1427, + 1427, + 1426, + 1426, + 1425, + 1425, + 1425, + 1424, + 1424, + 1423, + 1423, + 1423, + 1422, + 1422, + 1421, + 1421, + 1421, + 1420, + 1420, + 1420, + 1419, + 1419, + 1418, + 1418, + 1418, + 1417, + 1417, + 1416, + 1416, + 1416, + 1415, + 1415, + 1414, + 1414, + 1414, + 1413, + 1413, + 1413, + 1412, + 1412, + 1411, + 1411, + 1411, + 1410, + 1410, + 1409, + 1409, + 1409, + 1408, + 1408, + 1408, + 1407, + 1407, + 1406, + 1406, + 1406, + 1405, + 1405, + 1405, + 1404, + 1404, + 1403, + 1403, + 1403, + 1402, + 1402, + 1401, + 1401, + 1401, + 1400, + 1400, + 1400, + 1399, + 1399, + 1398, + 1398, + 1398, + 1397, + 1397, + 1397, + 1396, + 1396, + 1395, + 1395, + 1395, + 1394, + 1394, + 1394, + 1393, + 1393, + 1392, + 1392, + 1392, + 1391, + 1391, + 1390, + 1390, + 1390, + 1389, + 1389, + 1389, + 1388, + 1388, + 1387, + 1387, + 1387, + 1386, + 1386, + 1386, + 1385, + 1385, + 1384, + 1384, + 1384, + 1383, + 1383, + 1383, + 1382, + 1382, + 1381, + 1381, + 1381, + 1380, + 1380, + 1380, + 1379, + 1379, + 1379, + 1378, + 1378, + 1377, + 1377, + 1377, + 1376, + 1376, + 1376, + 1375, + 1375, + 1374, + 1374, + 1374, + 1373, + 1373, + 1373, + 1372, + 1372, + 1371, + 1371, + 1371, + 1370, + 1370, + 1370, + 1369, + 1369, + 1369, + 1368, + 1368, + 1367, + 1367, + 1367, + 1366, + 1366, + 1366, + 1365, + 1365, + 1364, + 1364, + 1364, + 1363, + 1363, + 1363, + 1362, + 1362, + 1362, + 1361, + 1361, + 1360, + 1360, + 1360, + 1359, + 1359, + 1359, + 1358, + 1358, + 1358, + 1357, + 1357, + 1356, + 1356, + 1356, + 1355, + 1355, + 1355, + 1354, + 1354, + 1353, + 1353, + 1353, + 1352, + 1352, + 1352, + 1351, + 1351, + 1351, + 1350, + 1350, + 1349, + 1349, + 1349, + 1348, + 1348, + 1348, + 1347, + 1347, + 1347, + 1346, + 1346, + 1346, + 1345, + 1345, + 1344, + 1344, + 1344, + 1343, + 1343, + 1343, + 1342, + 1342, + 1342, + 1341, + 1341, + 1340, + 1340, + 1340, + 1339, + 1339, + 1339, + 1338, + 1338, + 1338, + 1337, + 1337, + 1337, + 1336, + 1336, + 1335, + 1335, + 1335, + 1334, + 1334, + 1334, + 1333, + 1333, + 1333, + 1332, + 1332, + 1331, + 1331, + 1331, + 1330, + 1330, + 1330, + 1329, + 1329, + 1329, + 1328, + 1328, + 1328, + 1327, + 1327, + 1327, + 1326, + 1326, + 1325, + 1325, + 1325, + 1324, + 1324, + 1324, + 1323, + 1323, + 1323, + 1322, + 1322, + 1322, + 1321, + 1321, + 1320, + 1320, + 1320, + 1319, + 1319, + 1319, + 1318, + 1318, + 1318, + 1317, + 1317, + 1317, + 1316, + 1316, + 1316, + 1315, + 1315, + 1314, + 1314, + 1314, + 1313, + 1313, + 1313, + 1312, + 1312, + 1312, + 1311, + 1311, + 1311, + 1310, + 1310, + 1310, + 1309, + 1309, + 1308, + 1308, + 1308, + 1307, + 1307, + 1307, + 1306, + 1306, + 1306, + 1305, + 1305, + 1305, + 1304, + 1304, + 1304, + 1303, + 1303, + 1303, + 1302, + 1302, + 1301, + 1301, + 1301, + 1300, + 1300, + 1300, + 1299, + 1299, + 1299, + 1298, + 1298, + 1298, + 1297, + 1297, + 1297, + 1296, + 1296, + 1296, + 1295, + 1295, + 1294, + 1294, + 1294, + 1293, + 1293, + 1293, + 1292, + 1292, + 1292, + 1291, + 1291, + 1291, + 1290, + 1290, + 1290, + 1289, + 1289, + 1289, + 1288, + 1288, + 1288, + 1287, + 1287, + 1286, + 1286, + 1286, + 1285, + 1285, + 1285, + 1284, + 1284, + 1284, + 1283, + 1283, + 1283, + 1282, + 1282, + 1282, + 1281, + 1281, + 1281, + 1280, + 1280, + 1280, + 1279, + 1279, + 1279, + 1278, + 1278, + 1278, + 1277, + 1277, + 1276, + 1276, + 1276, + 1275, + 1275, + 1275, + 1274, + 1274, + 1274, + 1273, + 1273, + 1273, + 1272, + 1272, + 1272, + 1271, + 1271, + 1271, + 1270, + 1270, + 1270, + 1269, + 1269, + 1269, + 1268, + 1268, + 1268, + 1267, + 1267, + 1267, + 1266, + 1266, + 1266, + 1265, + 1265, + 1265, + 1264, + 1264, + 1263, + 1263, + 1263, + 1262, + 1262, + 1262, + 1261, + 1261, + 1261, + 1260, + 1260, + 1260, + 1259, + 1259, + 1259, + 1258, + 1258, + 1258, + 1257, + 1257, + 1257, + 1256, + 1256, + 1256, + 1255, + 1255, + 1255, + 1254, + 1254, + 1254, + 1253, + 1253, + 1253, + 1252, + 1252, + 1252, + 1251, + 1251, + 1251, + 1250, + 1250, + 1250, + 1249, + 1249, + 1249, + 1248, + 1248, + 1248, + 1247, + 1247, + 1247, + 1246, + 1246, + 1245, + 1245, + 1245, + 1244, + 1244, + 1244, + 1243, + 1243, + 1243, + 1242, + 1242, + 1242, + 1241, + 1241, + 1241, + 1240, + 1240, + 1240, + 1239, + 1239, + 1239, + 1238, + 1238, + 1238, + 1237, + 1237, + 1237, + 1236, + 1236, + 1236, + 1235, + 1235, + 1235, + 1234, + 1234, + 1234, + 1233, + 1233, + 1233, + 1232, + 1232, + 1232, + 1231, + 1231, + 1231, + 1230, + 1230, + 1230, + 1229, + 1229, + 1229, + 1228, + 1228, + 1228, + 1227, + 1227, + 1227, + 1226, + 1226, + 1226, + 1225, + 1225, + 1225, + 1224, + 1224, + 1224, + 1223, + 1223, + 1223, + 1222, + 1222, + 1222, + 1221, + 1221, + 1221, + 1220, + 1220, + 1220, + 1219, + 1219, + 1219, + 1218, + 1218, + 1218, + 1217, + 1217, + 1217, + 1216, + 1216, + 1216, + 1215, + 1215, + 1215, + 1214, + 1214, + 1214, + 1213, + 1213, + 1213, + 1212, + 1212, + 1212, + 1211, + 1211, + 1211, + 1210, + 1210, + 1210, + 1209, + 1209, + 1209, + 1208, + 1208, + 1208, + 1207, + 1207, + 1207, + 1206, + 1206, + 1206, + 1205, + 1205, + 1205, + 1204, + 1204, + 1204, + 1203, + 1203, + 1203, + 1202, + 1202, + 1202, + 1201, + 1201, + 1201, + 1200, + 1200, + 1200, + 1199, + 1199, + 1199, + 1198, + 1198, + 1198, + 1197, + 1197, + 1197, + 1196, + 1196, + 1196, + 1195, + 1195, + 1195, + 1194, + 1194, + 1194, + 1193, + 1193, + 1193, + 1192, + 1192, + 1192, + 1192, + 1191, + 1191, + 1191, + 1190, + 1190, + 1190, + 1189, + 1189, + 1189, + 1188, + 1188, + 1188, + 1187, + 1187, + 1187, + 1186, + 1186, + 1186, + 1185, + 1185, + 1185, + 1184, + 1184, + 1184, + 1183, + 1183, + 1183, + 1182, + 1182, + 1182, + 1181, + 1181, + 1181, + 1180, + 1180, + 1180, + 1179, + 1179, + 1179, + 1178, + 1178, + 1178, + 1177, + 1177, + 1177, + 1176, + 1176, + 1176, + 1175, + 1175, + 1175, + 1174, + 1174, + 1174, + 1173, + 1173, + 1173, + 1172, + 1172, + 1172, + 1172, + 1171, + 1171, + 1171, + 1170, + 1170, + 1170, + 1169, + 1169, + 1169, + 1168, + 1168, + 1168, + 1167, + 1167, + 1167, + 1166, + 1166, + 1166, + 1165, + 1165, + 1165, + 1164, + 1164, + 1164, + 1163, + 1163, + 1163, + 1162, + 1162, + 1162, + 1161, + 1161, + 1161, + 1160, + 1160, + 1160, + 1159, + 1159, + 1159, + 1158, + 1158, + 1158, + 1157, + 1157, + 1157, + 1157, + 1156, + 1156, + 1156, + 1155, + 1155, + 1155, + 1154, + 1154, + 1154, + 1153, + 1153, + 1153, + 1152, + 1152, + 1152, + 1151, + 1151, + 1151, + 1150, + 1150, + 1150, + 1149, + 1149, + 1149, + 1148, + 1148, + 1148, + 1147, + 1147, + 1147, + 1146, + 1146, + 1146, + 1145, + 1145, + 1145, + 1145, + 1144, + 1144, + 1144, + 1143, + 1143, + 1143, + 1142, + 1142, + 1142, + 1141, + 1141, + 1141, + 1140, + 1140, + 1140, + 1139, + 1139, + 1139, + 1138, + 1138, + 1138, + 1137, + 1137, + 1137, + 1136, + 1136, + 1136, + 1135, + 1135, + 1135, + 1134, + 1134, + 1134, + 1134, + 1133, + 1133, + 1133, + 1132, + 1132, + 1132, + 1131, + 1131, + 1131, + 1130, + 1130, + 1130, + 1129, + 1129, + 1129, + 1128, + 1128, + 1128, + 1127, + 1127, + 1127, + 1126, + 1126, + 1126, + 1125, + 1125, + 1125, + 1124, + 1124, + 1124, + 1124, + 1123, + 1123, + 1123, + 1122, + 1122, + 1122, + 1121, + 1121, + 1121, + 1120, + 1120, + 1120, + 1119, + 1119, + 1119, + 1118, + 1118, + 1118, + 1117, + 1117, + 1117, + 1116, + 1116, + 1116, + 1115, + 1115, + 1115, + 1115, + 1114, + 1114, + 1114, + 1113, + 1113, + 1113, + 1112, + 1112, + 1112, + 1111, + 1111, + 1111, + 1110, + 1110, + 1110, + 1109, + 1109, + 1109, + 1108, + 1108, + 1108, + 1107, + 1107, + 1107, + 1106, + 1106, + 1106, + 1106, + 1105, + 1105, + 1105, + 1104, + 1104, + 1104, + 1103, + 1103, + 1103, + 1102, + 1102, + 1102, + 1101, + 1101, + 1101, + 1100, + 1100, + 1100, + 1099, + 1099, + 1099, + 1098, + 1098, + 1098, + 1098, + 1097, + 1097, + 1097, + 1096, + 1096, + 1096, + 1095, + 1095, + 1095, + 1094, + 1094, + 1094, + 1093, + 1093, + 1093, + 1092, + 1092, + 1092, + 1091, + 1091, + 1091, + 1090, + 1090, + 1090, + 1090, + 1089, + 1089, + 1089, + 1088, + 1088, + 1088, + 1087, + 1087, + 1087, + 1086, + 1086, + 1086, + 1085, + 1085, + 1085, + 1084, + 1084, + 1084, + 1083, + 1083, + 1083, + 1082, + 1082, + 1082, + 1082, + 1081, + 1081, + 1081, + 1080, + 1080, + 1080, + 1079, + 1079, + 1079, + 1078, + 1078, + 1078, + 1077, + 1077, + 1077, + 1076, + 1076, + 1076, + 1075, + 1075, + 1075, + 1074, + 1074, + 1074, + 1074, + 1073, + 1073, + 1073, + 1072, + 1072, + 1072, + 1071, + 1071, + 1071, + 1070, + 1070, + 1070, + 1069, + 1069, + 1069, + 1068, + 1068, + 1068, + 1067, + 1067, + 1067, + 1067, + 1066, + 1066, + 1066, + 1065, + 1065, + 1065, + 1064, + 1064, + 1064, + 1063, + 1063, + 1063, + 1062, + 1062, + 1062, + 1061, + 1061, + 1061, + 1060, + 1060, + 1060, + 1059, + 1059, + 1059, + 1059, + 1058, + 1058, + 1058, + 1057, + 1057, + 1057, + 1056, + 1056, + 1056, + 1055, + 1055, + 1055, + 1054, + 1054, + 1054, + 1053, + 1053, + 1053, + 1052, + 1052, + 1052, + 1052, + 1051, + 1051, + 1051, + 1050, + 1050, + 1050, + 1049, + 1049, + 1049, + 1048, + 1048, + 1048, + 1047, + 1047, + 1047, + 1046, + 1046, + 1046, + 1045, + 1045, + 1045, + 1045, + 1044, + 1044, + 1044, + 1043, + 1043, + 1043, + 1042, + 1042, + 1042, + 1041, + 1041, + 1041, + 1040, + 1040, + 1040, + 1039, + 1039, + 1039, + 1038, + 1038, + 1038, + 1038, + 1037, + 1037, + 1037, + 1036, + 1036, + 1036, + 1035, + 1035, + 1035, + 1034, + 1034, + 1034, + 1033, + 1033, + 1033, + 1032, + 1032, + 1032, + 1031, + 1031, + 1031, + 1031, + 1030, + 1030, + 1030, + 1029, + 1029, + 1029, + 1028, + 1028, + 1028, + 1027, + 1027, + 1027, + 1026, + 1026, + 1026, + 1025, + 1025, + 1025, + 1024, + 1024, + 1024, + 1024, + 1023, + 1023, + 1023, + 1022, + 1022, + 1022, + 1021, + 1021, + 1021, + 1020, + 1020, + 1020, + 1019, + 1019, + 1019, + 1018, + 1018, + 1018, + 1017, + 1017, + 1017, + 1016, + 1016, + 1016, + 1016, + 1015, + 1015, + 1015, + 1014, + 1014, + 1014, + 1013, + 1013, + 1013, + 1012, + 1012, + 1012, + 1011, + 1011, + 1011, + 1010, + 1010, + 1010, + 1009, + 1009, + 1009, + 1009, + 1008, + 1008, + 1008, + 1007, + 1007, + 1007, + 1006, + 1006, + 1006, + 1005, + 1005, + 1005, + 1004, + 1004, + 1004, + 1003, + 1003, + 1003, + 1002, + 1002, + 1002, + 1002, + 1001, + 1001, + 1001, + 1000, + 1000, + 1000, + 999, + 999, + 999, + 998, + 998, + 998, + 997, + 997, + 997, + 996, + 996, + 996, + 995, + 995, + 995, + 995, + 994, + 994, + 994, + 993, + 993, + 993, + 992, + 992, + 992, + 991, + 991, + 991, + 990, + 990, + 990, + 989, + 989, + 989, + 988, + 988, + 988, + 988, + 987, + 987, + 987, + 986, + 986, + 986, + 985, + 985, + 985, + 984, + 984, + 984, + 983, + 983, + 983, + 982, + 982, + 982, + 981, + 981, + 981, + 980, + 980, + 980, + 980, + 979, + 979, + 979, + 978, + 978, + 978, + 977, + 977, + 977, + 976, + 976, + 976, + 975, + 975, + 975, + 974, + 974, + 974, + 973, + 973, + 973, + 973, + 972, + 972, + 972, + 971, + 971, + 971, + 970, + 970, + 970, + 969, + 969, + 969, + 968, + 968, + 968, + 967, + 967, + 967, + 966, + 966, + 966, + 965, + 965, + 965, + 965, + 964, + 964, + 964, + 963, + 963, + 963, + 962, + 962, + 962, + 961, + 961, + 961, + 960, + 960, + 960, + 959, + 959, + 959, + 958, + 958, + 958, + 957, + 957, + 957, + 957, + 956, + 956, + 956, + 955, + 955, + 955, + 954, + 954, + 954, + 953, + 953, + 953, + 952, + 952, + 952, + 951, + 951, + 951, + 950, + 950, + 950, + 949, + 949, + 949, + 949, + 948, + 948, + 948, + 947, + 947, + 947, + 946, + 946, + 946, + 945, + 945, + 945, + 944, + 944, + 944, + 943, + 943, + 943, + 942, + 942, + 942, + 941, + 941, + 941, + 941, + 940, + 940, + 940, + 939, + 939, + 939, + 938, + 938, + 938, + 937, + 937, + 937, + 936, + 936, + 936, + 935, + 935, + 935, + 934, + 934, + 934, + 933, + 933, + 933, + 932, + 932, + 932, + 932, + 931, + 931, + 931, + 930, + 930, + 930, + 929, + 929, + 929, + 928, + 928, + 928, + 927, + 927, + 927, + 926, + 926, + 926, + 925, + 925, + 925, + 924, + 924, + 924, + 923, + 923, + 923, + 923, + 922, + 922, + 922, + 921, + 921, + 921, + 920, + 920, + 920, + 919, + 919, + 919, + 918, + 918, + 918, + 917, + 917, + 917, + 916, + 916, + 916, + 915, + 915, + 915, + 914, + 914, + 914, + 913, + 913, + 913, + 913, + 912, + 912, + 912, + 911, + 911, + 911, + 910, + 910, + 910, + 909, + 909, + 909, + 908, + 908, + 908, + 907, + 907, + 907, + 906, + 906, + 906, + 905, + 905, + 905, + 904, + 904, + 904, + 903, + 903, + 903, + 902, + 902, + 902, + 902, + 901, + 901, + 901, + 900, + 900, + 900, + 899, + 899, + 899, + 898, + 898, + 898, + 897, + 897, + 897, + 896, + 896, + 896, + 895, + 895, + 895, + 894, + 894, + 894, + 893, + 893, + 893, + 892, + 892, + 892, + 891, + 891, + 891, + 890, + 890, + 890, + 890, + 889, + 889, + 889, + 888, + 888, + 888, + 887, + 887, + 887, + 886, + 886, + 886, + 885, + 885, + 885, + 884, + 884, + 884, + 883, + 883, + 883, + 882, + 882, + 882, + 881, + 881, + 881, + 880, + 880, + 880, + 879, + 879, + 879, + 878, + 878, + 878, + 877, + 877, + 877, + 876, + 876, + 876, + 875, + 875, + 875, + 875, + 874, + 874, + 874, + 873, + 873, + 873, + 872, + 872, + 872, + 871, + 871, + 871, + 870, + 870, + 870, + 869, + 869, + 869, + 868, + 868, + 868, + 867, + 867, + 867, + 866, + 866, + 866, + 865, + 865, + 865, + 864, + 864, + 864, + 863, + 863, + 863, + 862, + 862, + 862, + 861, + 861, + 861, + 860, + 860, + 860, + 859, + 859, + 859, + 858, + 858, + 858, + 857, + 857, + 857, + 856, + 856, + 856, + 855, + 855, + 855, + 855, + 854, + 854, + 854, + 853, + 853, + 853, + 852, + 852, + 852, + 851, + 851, + 851, + 850, + 850, + 850, + 849, + 849, + 849, + 848, + 848, + 848, + 847, + 847, + 847, + 846, + 846, + 846, + 845, + 845, + 845, + 844, + 844, + 844, + 843, + 843, + 843, + 842, + 842, + 842, + 841, + 841, + 841, + 840, + 840, + 840, + 839, + 839, + 839, + 838, + 838, + 838, + 837, + 837, + 837, + 836, + 836, + 836, + 835, + 835, + 835, + 834, + 834, + 834, + 833, + 833, + 833, + 832, + 832, + 832, + 831, + 831, + 831, + 830, + 830, + 830, + 829, + 829, + 829, + 828, + 828, + 828, + 827, + 827, + 827, + 826, + 826, + 826, + 825, + 825, + 825, + 824, + 824, + 824, + 823, + 823, + 823, + 822, + 822, + 822, + 821, + 821, + 821, + 820, + 820, + 820, + 819, + 819, + 819, + 818, + 818, + 818, + 817, + 817, + 817, + 816, + 816, + 816, + 815, + 815, + 815, + 814, + 814, + 814, + 813, + 813, + 813, + 812, + 812, + 812, + 811, + 811, + 811, + 810, + 810, + 810, + 809, + 809, + 809, + 808, + 808, + 808, + 807, + 807, + 807, + 806, + 806, + 806, + 805, + 805, + 805, + 804, + 804, + 804, + 803, + 803, + 803, + 802, + 802, + 802, + 801, + 801, + 800, + 800, + 800, + 799, + 799, + 799, + 798, + 798, + 798, + 797, + 797, + 797, + 796, + 796, + 796, + 795, + 795, + 795, + 794, + 794, + 794, + 793, + 793, + 793, + 792, + 792, + 792, + 791, + 791, + 791, + 790, + 790, + 790, + 789, + 789, + 789, + 788, + 788, + 788, + 787, + 787, + 787, + 786, + 786, + 786, + 785, + 785, + 785, + 784, + 784, + 784, + 783, + 783, + 782, + 782, + 782, + 781, + 781, + 781, + 780, + 780, + 780, + 779, + 779, + 779, + 778, + 778, + 778, + 777, + 777, + 777, + 776, + 776, + 776, + 775, + 775, + 775, + 774, + 774, + 774, + 773, + 773, + 773, + 772, + 772, + 772, + 771, + 771, + 771, + 770, + 770, + 769, + 769, + 769, + 768, + 768, + 768, + 767, + 767, + 767, + 766, + 766, + 766, + 765, + 765, + 765, + 764, + 764, + 764, + 763, + 763, + 763, + 762, + 762, + 762, + 761, + 761, + 761, + 760, + 760, + 759, + 759, + 759, + 758, + 758, + 758, + 757, + 757, + 757, + 756, + 756, + 756, + 755, + 755, + 755, + 754, + 754, + 754, + 753, + 753, + 753, + 752, + 752, + 751, + 751, + 751, + 750, + 750, + 750, + 749, + 749, + 749, + 748, + 748, + 748, + 747, + 747, + 747, + 746, + 746, + 746, + 745, + 745, + 744, + 744, + 744, + 743, + 743, + 743, + 742, + 742, + 742, + 741, + 741, + 741, + 740, + 740, + 740, + 739, + 739, + 739, + 738, + 738, + 737, + 737, + 737, + 736, + 736, + 736, + 735, + 735, + 735, + 734, + 734, + 734, + 733, + 733, + 733, + 732, + 732, + 731, + 731, + 731, + 730, + 730, + 730, + 729, + 729, + 729, + 728, + 728, + 728, + 727, + 727, + 727, + 726, + 726, + 725, + 725, + 725, + 724, + 724, + 724, + 723, + 723, + 723, + 722, + 722, + 722, + 721, + 721, + 720, + 720, + 720, + 719, + 719, + 719, + 718, + 718, + 718, + 717, + 717, + 717, + 716, + 716, + 716, + 715, + 715, + 714, + 714, + 714, + 713, + 713, + 713, + 712, + 712, + 712, + 711, + 711, + 710, + 710, + 710, + 709, + 709, + 709, + 708, + 708, + 708, + 707, + 707, + 707, + 706, + 706, + 705, + 705, + 705, + 704, + 704, + 704, + 703, + 703, + 703, + 702, + 702, + 701, + 701, + 701, + 700, + 700, + 700, + 699, + 699, + 699, + 698, + 698, + 698, + 697, + 697, + 696, + 696, + 696, + 695, + 695, + 695, + 694, + 694, + 694, + 693, + 693, + 692, + 692, + 692, + 691, + 691, + 691, + 690, + 690, + 689, + 689, + 689, + 688, + 688, + 688, + 687, + 687, + 687, + 686, + 686, + 685, + 685, + 685, + 684, + 684, + 684, + 683, + 683, + 683, + 682, + 682, + 681, + 681, + 681, + 680, + 680, + 680, + 679, + 679, + 678, + 678, + 678, + 677, + 677, + 677, + 676, + 676, + 676, + 675, + 675, + 674, + 674, + 674, + 673, + 673, + 673, + 672, + 672, + 671, + 671, + 671, + 670, + 670, + 670, + 669, + 669, + 668, + 668, + 668, + 667, + 667, + 667, + 666, + 666, + 666, + 665, + 665, + 664, + 664, + 664, + 663, + 663, + 663, + 662, + 662, + 661, + 661, + 661, + 660, + 660, + 660, + 659, + 659, + 658, + 658, + 658, + 657, + 657, + 657, + 656, + 656, + 655, + 655, + 655, + 654, + 654, + 653, + 653, + 653, + 652, + 652, + 652, + 651, + 651, + 650, + 650, + 650, + 649, + 649, + 649, + 648, + 648, + 647, + 647, + 647, + 646, + 646, + 646, + 645, + 645, + 644, + 644, + 644, + 643, + 643, + 642, + 642, + 642, + 641, + 641, + 641, + 640, + 640, + 639, + 639, + 639, + 638, + 638, + 638, + 637, + 637, + 636, + 636, + 636, + 635, + 635, + 634, + 634, + 634, + 633, + 633, + 633, + 632, + 632, + 631, + 631, + 631, + 630, + 630, + 629, + 629, + 629, + 628, + 628, + 627, + 627, + 627, + 626, + 626, + 626, + 625, + 625, + 624, + 624, + 624, + 623, + 623, + 622, + 622, + 622, + 621, + 621, + 620, + 620, + 620, + 619, + 619, + 619, + 618, + 618, + 617, + 617, + 617, + 616, + 616, + 615, + 615, + 615, + 614, + 614, + 613, + 613, + 613, + 612, + 612, + 611, + 611, + 611, + 610, + 610, + 609, + 609, + 609, + 608, + 608, + 607, + 607, + 607, + 606, + 606, + 606, + 605, + 605, + 604, + 604, + 604, + 603, + 603, + 602, + 602, + 602, + 601, + 601, + 600, + 600, + 600, + 599, + 599, + 598, + 598, + 598, + 597, + 597, + 596, + 596, + 596, + 595, + 595, + 594, + 594, + 594, + 593, + 593, + 592, + 592, + 591, + 591, + 591, + 590, + 590, + 589, + 589, + 589, + 588, + 588, + 587, + 587, + 587, + 586, + 586, + 585, + 585, + 585, + 584, + 584, + 583, + 583, + 583, + 582, + 582, + 581, + 581, + 581, + 580, + 580, + 579, + 579, + 578, + 578, + 578, + 577, + 577, + 576, + 576, + 576, + 575, + 575, + 574, + 574, + 574, + 573, + 573, + 572, + 572, + 571, + 571, + 571, + 570, + 570, + 569, + 569, + 569, + 568, + 568, + 567, + 567, + 566, + 566, + 566, + 565, + 565, + 564, + 564, + 564, + 563, + 563, + 562, + 562, + 561, + 561, + 561, + 560, + 560, + 559, + 559, + 559, + 558, + 558, + 557, + 557, + 556, + 556, + 556, + 555, + 555, + 554, + 554, + 553, + 553, + 553, + 552, + 552, + 551, + 551, + 550, + 550, + 550, + 549, + 549, + 548, + 548, + 548, + 547, + 547, + 546, + 546, + 545, + 545, + 545, + 544, + 544, + 543, + 543, + 542, + 542, + 542, + 541, + 541, + 540, + 540, + 539, + 539, + 538, + 538, + 538, + 537, + 537, + 536, + 536, + 535, + 535, + 535, + 534, + 534, + 533, + 533, + 532, + 532, + 532, + 531, + 531, + 530, + 530, + 529, + 529, + 528, + 528, + 528, + 527, + 527, + 526, + 526, + 525, + 525, + 524, + 524, + 524, + 523, + 523, + 522, + 522, + 521, + 521, + 521, + 520, + 520, + 519, + 519, + 518, + 518, + 517, + 517, + 517, + 516, + 516, + 515, + 515, + 514, + 514, + 513, + 513, + 512, + 512, + 512, + 511, + 511, + 510, + 510, + 509, + 509, + 508, + 508, + 508, + 507, + 507, + 506, + 506, + 505, + 505, + 504, + 504, + 503, + 503, + 503, + 502, + 502, + 501, + 501, + 500, + 500, + 499, + 499, + 498, + 498, + 497, + 497, + 497, + 496, + 496, + 495, + 495, + 494, + 494, + 493, + 493, + 492, + 492, + 491, + 491, + 491, + 490, + 490, + 489, + 489, + 488, + 488, + 487, + 487, + 486, + 486, + 485, + 485, + 484, + 484, + 484, + 483, + 483, + 482, + 482, + 481, + 481, + 480, + 480, + 479, + 479, + 478, + 478, + 477, + 477, + 476, + 476, + 475, + 475, + 474, + 474, + 474, + 473, + 473, + 472, + 472, + 471, + 471, + 470, + 470, + 469, + 469, + 468, + 468, + 467, + 467, + 466, + 466, + 465, + 465, + 464, + 464, + 463, + 463, + 462, + 462, + 461, + 461, + 460, + 460, + 459, + 459, + 458, + 458, + 458, + 457, + 457, + 456, + 456, + 455, + 455, + 454, + 454, + 453, + 453, + 452, + 452, + 451, + 451, + 450, + 450, + 449, + 449, + 448, + 448, + 447, + 447, + 446, + 446, + 445, + 445, + 444, + 444, + 443, + 443, + 442, + 442, + 441, + 440, + 440, + 439, + 439, + 438, + 438, + 437, + 437, + 436, + 436, + 435, + 435, + 434, + 434, + 433, + 433, + 432, + 432, + 431, + 431, + 430, + 430, + 429, + 429, + 428, + 428, + 427, + 427, + 426, + 426, + 425, + 424, + 424, + 423, + 423, + 422, + 422, + 421, + 421, + 420, + 420, + 419, + 419, + 418, + 418, + 417, + 417, + 416, + 415, + 415, + 414, + 414, + 413, + 413, + 412, + 412, + 411, + 411, + 410, + 410, + 409, + 408, + 408, + 407, + 407, + 406, + 406, + 405, + 405, + 404, + 404, + 403, + 402, + 402, + 401, + 401, + 400, + 400, + 399, + 399, + 398, + 398, + 397, + 396, + 396, + 395, + 395, + 394, + 394, + 393, + 392, + 392, + 391, + 391, + 390, + 390, + 389, + 389, + 388, + 387, + 387, + 386, + 386, + 385, + 385, + 384, + 383, + 383, + 382, + 382, + 381, + 381, + 380, + 379, + 379, + 378, + 378, + 377, + 376, + 376, + 375, + 375, + 374, + 374, + 373, + 372, + 372, + 371, + 371, + 370, + 369, + 369, + 368, + 368, + 367, + 366, + 366, + 365, + 365, + 364, + 363, + 363, + 362, + 362, + 361, + 360, + 360, + 359, + 359, + 358, + 357, + 357, + 356, + 356, + 355, + 354, + 354, + 353, + 353, + 352, + 351, + 351, + 350, + 349, + 349, + 348, + 348, + 347, + 346, + 346, + 345, + 344, + 344, + 343, + 342, + 342, + 341, + 341, + 340, + 339, + 339, + 338, + 337, + 337, + 336, + 335, + 335, + 334, + 334, + 333, + 332, + 332, + 331, + 330, + 330, + 329, + 328, + 328, + 327, + 326, + 326, + 325, + 324, + 324, + 323, + 322, + 322, + 321, + 320, + 320, + 319, + 318, + 318, + 317, + 316, + 316, + 315, + 314, + 313, + 313, + 312, + 311, + 311, + 310, + 309, + 309, + 308, + 307, + 307, + 306, + 305, + 304, + 304, + 303, + 302, + 302, + 301, + 300, + 299, + 299, + 298, + 297, + 297, + 296, + 295, + 294, + 294, + 293, + 292, + 291, + 291, + 290, + 289, + 289, + 288, + 287, + 286, + 286, + 285, + 284, + 283, + 283, + 282, + 281, + 280, + 279, + 279, + 278, + 277, + 276, + 276, + 275, + 274, + 273, + 273, + 272, + 271, + 270, + 269, + 269, + 268, + 267, + 266, + 265, + 265, + 264, + 263, + 262, + 261, + 261, + 260, + 259, + 258, + 257, + 256, + 256, + 255, + 254, + 253, + 252, + 251, + 251, + 250, + 249, + 248, + 247, + 246, + 245, + 245, + 244, + 243, + 242, + 241, + 240, + 239, + 238, + 238, + 237, + 236, + 235, + 234, + 233, + 232, + 231, + 230, + 229, + 228, + 228, + 227, + 226, + 225, + 224, + 223, + 222, + 221, + 220, + 219, + 218, + 217, + 216, + 215, + 214, + 213, + 212, + 211, + 210, + 209, + 208, + 207, + 206, + 205, + 204, + 203, + 202, + 201, + 200, + 199, + 198, + 197, + 196, + 195, + 193, + 192, + 191, + 190, + 189, + 188, + 187, + 186, + 185, + 183, + 182, + 181, + 180, + 179, + 178, + 176, + 175, + 174, + 173, + 172, + 170, + 169, + 168, + 167, + 165, + 164, + 163, + 162, + 160, + 159, + 158, + 156, + 155, + 154, + 152, + 151, + 150, + 148, + 147, + 145, + 144, + 142, + 141, + 139, + 138, + 136, + 135, + 133, + 132, + 130, + 129, + 127, + 125, + 124, + 122, + 120, + 118, + 117, + 115, + 113, + 111, + 109, + 107, + 105, + 103, + 101, + 99, + 97, + 95, + 93, + 91, + 88, + 86, + 84, + 81, + 78, + 76, + 73, + 70, + 67, + 64, + 61, + 57, + 53, + 49, + 45, + 40, + 35, + 28, + 0 + +}; + +short ArcSineTable[]={ + + -1023, + -1004, + -996, + -989, + -984, + -979, + -975, + -971, + -967, + -963, + -960, + -957, + -954, + -951, + -948, + -946, + -943, + -940, + -938, + -936, + -933, + -931, + -929, + -927, + -925, + -923, + -921, + -919, + -917, + -915, + -913, + -911, + -909, + -907, + -906, + -904, + -902, + -900, + -899, + -897, + -895, + -894, + -892, + -891, + -889, + -888, + -886, + -885, + -883, + -882, + -880, + -879, + -877, + -876, + -874, + -873, + -872, + -870, + -869, + -868, + -866, + -865, + -864, + -862, + -861, + -860, + -859, + -857, + -856, + -855, + -854, + -852, + -851, + -850, + -849, + -848, + -846, + -845, + -844, + -843, + -842, + -841, + -839, + -838, + -837, + -836, + -835, + -834, + -833, + -832, + -831, + -829, + -828, + -827, + -826, + -825, + -824, + -823, + -822, + -821, + -820, + -819, + -818, + -817, + -816, + -815, + -814, + -813, + -812, + -811, + -810, + -809, + -808, + -807, + -806, + -805, + -804, + -803, + -802, + -801, + -800, + -799, + -798, + -797, + -796, + -796, + -795, + -794, + -793, + -792, + -791, + -790, + -789, + -788, + -787, + -786, + -786, + -785, + -784, + -783, + -782, + -781, + -780, + -779, + -779, + -778, + -777, + -776, + -775, + -774, + -773, + -773, + -772, + -771, + -770, + -769, + -768, + -768, + -767, + -766, + -765, + -764, + -763, + -763, + -762, + -761, + -760, + -759, + -759, + -758, + -757, + -756, + -755, + -755, + -754, + -753, + -752, + -751, + -751, + -750, + -749, + -748, + -748, + -747, + -746, + -745, + -745, + -744, + -743, + -742, + -741, + -741, + -740, + -739, + -738, + -738, + -737, + -736, + -735, + -735, + -734, + -733, + -733, + -732, + -731, + -730, + -730, + -729, + -728, + -727, + -727, + -726, + -725, + -725, + -724, + -723, + -722, + -722, + -721, + -720, + -720, + -719, + -718, + -717, + -717, + -716, + -715, + -715, + -714, + -713, + -713, + -712, + -711, + -711, + -710, + -709, + -708, + -708, + -707, + -706, + -706, + -705, + -704, + -704, + -703, + -702, + -702, + -701, + -700, + -700, + -699, + -698, + -698, + -697, + -696, + -696, + -695, + -694, + -694, + -693, + -692, + -692, + -691, + -690, + -690, + -689, + -689, + -688, + -687, + -687, + -686, + -685, + -685, + -684, + -683, + -683, + -682, + -682, + -681, + -680, + -680, + -679, + -678, + -678, + -677, + -676, + -676, + -675, + -675, + -674, + -673, + -673, + -672, + -671, + -671, + -670, + -670, + -669, + -668, + -668, + -667, + -667, + -666, + -665, + -665, + -664, + -664, + -663, + -662, + -662, + -661, + -661, + -660, + -659, + -659, + -658, + -658, + -657, + -656, + -656, + -655, + -655, + -654, + -653, + -653, + -652, + -652, + -651, + -650, + -650, + -649, + -649, + -648, + -648, + -647, + -646, + -646, + -645, + -645, + -644, + -643, + -643, + -642, + -642, + -641, + -641, + -640, + -639, + -639, + -638, + -638, + -637, + -637, + -636, + -635, + -635, + -634, + -634, + -633, + -633, + -632, + -632, + -631, + -630, + -630, + -629, + -629, + -628, + -628, + -627, + -626, + -626, + -625, + -625, + -624, + -624, + -623, + -623, + -622, + -622, + -621, + -620, + -620, + -619, + -619, + -618, + -618, + -617, + -617, + -616, + -616, + -615, + -614, + -614, + -613, + -613, + -612, + -612, + -611, + -611, + -610, + -610, + -609, + -609, + -608, + -607, + -607, + -606, + -606, + -605, + -605, + -604, + -604, + -603, + -603, + -602, + -602, + -601, + -601, + -600, + -600, + -599, + -598, + -598, + -597, + -597, + -596, + -596, + -595, + -595, + -594, + -594, + -593, + -593, + -592, + -592, + -591, + -591, + -590, + -590, + -589, + -589, + -588, + -588, + -587, + -587, + -586, + -586, + -585, + -585, + -584, + -584, + -583, + -582, + -582, + -581, + -581, + -580, + -580, + -579, + -579, + -578, + -578, + -577, + -577, + -576, + -576, + -575, + -575, + -574, + -574, + -573, + -573, + -572, + -572, + -571, + -571, + -570, + -570, + -569, + -569, + -568, + -568, + -567, + -567, + -566, + -566, + -566, + -565, + -565, + -564, + -564, + -563, + -563, + -562, + -562, + -561, + -561, + -560, + -560, + -559, + -559, + -558, + -558, + -557, + -557, + -556, + -556, + -555, + -555, + -554, + -554, + -553, + -553, + -552, + -552, + -551, + -551, + -550, + -550, + -550, + -549, + -549, + -548, + -548, + -547, + -547, + -546, + -546, + -545, + -545, + -544, + -544, + -543, + -543, + -542, + -542, + -541, + -541, + -540, + -540, + -540, + -539, + -539, + -538, + -538, + -537, + -537, + -536, + -536, + -535, + -535, + -534, + -534, + -533, + -533, + -533, + -532, + -532, + -531, + -531, + -530, + -530, + -529, + -529, + -528, + -528, + -527, + -527, + -527, + -526, + -526, + -525, + -525, + -524, + -524, + -523, + -523, + -522, + -522, + -521, + -521, + -521, + -520, + -520, + -519, + -519, + -518, + -518, + -517, + -517, + -516, + -516, + -516, + -515, + -515, + -514, + -514, + -513, + -513, + -512, + -512, + -512, + -511, + -511, + -510, + -510, + -509, + -509, + -508, + -508, + -507, + -507, + -507, + -506, + -506, + -505, + -505, + -504, + -504, + -503, + -503, + -503, + -502, + -502, + -501, + -501, + -500, + -500, + -500, + -499, + -499, + -498, + -498, + -497, + -497, + -496, + -496, + -496, + -495, + -495, + -494, + -494, + -493, + -493, + -492, + -492, + -492, + -491, + -491, + -490, + -490, + -489, + -489, + -489, + -488, + -488, + -487, + -487, + -486, + -486, + -486, + -485, + -485, + -484, + -484, + -483, + -483, + -482, + -482, + -482, + -481, + -481, + -480, + -480, + -479, + -479, + -479, + -478, + -478, + -477, + -477, + -476, + -476, + -476, + -475, + -475, + -474, + -474, + -474, + -473, + -473, + -472, + -472, + -471, + -471, + -471, + -470, + -470, + -469, + -469, + -468, + -468, + -468, + -467, + -467, + -466, + -466, + -465, + -465, + -465, + -464, + -464, + -463, + -463, + -463, + -462, + -462, + -461, + -461, + -460, + -460, + -460, + -459, + -459, + -458, + -458, + -458, + -457, + -457, + -456, + -456, + -455, + -455, + -455, + -454, + -454, + -453, + -453, + -453, + -452, + -452, + -451, + -451, + -450, + -450, + -450, + -449, + -449, + -448, + -448, + -448, + -447, + -447, + -446, + -446, + -446, + -445, + -445, + -444, + -444, + -443, + -443, + -443, + -442, + -442, + -441, + -441, + -441, + -440, + -440, + -439, + -439, + -439, + -438, + -438, + -437, + -437, + -437, + -436, + -436, + -435, + -435, + -435, + -434, + -434, + -433, + -433, + -433, + -432, + -432, + -431, + -431, + -430, + -430, + -430, + -429, + -429, + -428, + -428, + -428, + -427, + -427, + -426, + -426, + -426, + -425, + -425, + -424, + -424, + -424, + -423, + -423, + -422, + -422, + -422, + -421, + -421, + -420, + -420, + -420, + -419, + -419, + -418, + -418, + -418, + -417, + -417, + -417, + -416, + -416, + -415, + -415, + -415, + -414, + -414, + -413, + -413, + -413, + -412, + -412, + -411, + -411, + -411, + -410, + -410, + -409, + -409, + -409, + -408, + -408, + -407, + -407, + -407, + -406, + -406, + -405, + -405, + -405, + -404, + -404, + -404, + -403, + -403, + -402, + -402, + -402, + -401, + -401, + -400, + -400, + -400, + -399, + -399, + -398, + -398, + -398, + -397, + -397, + -397, + -396, + -396, + -395, + -395, + -395, + -394, + -394, + -393, + -393, + -393, + -392, + -392, + -391, + -391, + -391, + -390, + -390, + -390, + -389, + -389, + -388, + -388, + -388, + -387, + -387, + -386, + -386, + -386, + -385, + -385, + -385, + -384, + -384, + -383, + -383, + -383, + -382, + -382, + -382, + -381, + -381, + -380, + -380, + -380, + -379, + -379, + -378, + -378, + -378, + -377, + -377, + -377, + -376, + -376, + -375, + -375, + -375, + -374, + -374, + -374, + -373, + -373, + -372, + -372, + -372, + -371, + -371, + -371, + -370, + -370, + -369, + -369, + -369, + -368, + -368, + -367, + -367, + -367, + -366, + -366, + -366, + -365, + -365, + -364, + -364, + -364, + -363, + -363, + -363, + -362, + -362, + -361, + -361, + -361, + -360, + -360, + -360, + -359, + -359, + -358, + -358, + -358, + -357, + -357, + -357, + -356, + -356, + -356, + -355, + -355, + -354, + -354, + -354, + -353, + -353, + -353, + -352, + -352, + -351, + -351, + -351, + -350, + -350, + -350, + -349, + -349, + -348, + -348, + -348, + -347, + -347, + -347, + -346, + -346, + -346, + -345, + -345, + -344, + -344, + -344, + -343, + -343, + -343, + -342, + -342, + -341, + -341, + -341, + -340, + -340, + -340, + -339, + -339, + -339, + -338, + -338, + -337, + -337, + -337, + -336, + -336, + -336, + -335, + -335, + -335, + -334, + -334, + -333, + -333, + -333, + -332, + -332, + -332, + -331, + -331, + -330, + -330, + -330, + -329, + -329, + -329, + -328, + -328, + -328, + -327, + -327, + -326, + -326, + -326, + -325, + -325, + -325, + -324, + -324, + -324, + -323, + -323, + -323, + -322, + -322, + -321, + -321, + -321, + -320, + -320, + -320, + -319, + -319, + -319, + -318, + -318, + -317, + -317, + -317, + -316, + -316, + -316, + -315, + -315, + -315, + -314, + -314, + -314, + -313, + -313, + -312, + -312, + -312, + -311, + -311, + -311, + -310, + -310, + -310, + -309, + -309, + -308, + -308, + -308, + -307, + -307, + -307, + -306, + -306, + -306, + -305, + -305, + -305, + -304, + -304, + -304, + -303, + -303, + -302, + -302, + -302, + -301, + -301, + -301, + -300, + -300, + -300, + -299, + -299, + -299, + -298, + -298, + -297, + -297, + -297, + -296, + -296, + -296, + -295, + -295, + -295, + -294, + -294, + -294, + -293, + -293, + -293, + -292, + -292, + -291, + -291, + -291, + -290, + -290, + -290, + -289, + -289, + -289, + -288, + -288, + -288, + -287, + -287, + -287, + -286, + -286, + -285, + -285, + -285, + -284, + -284, + -284, + -283, + -283, + -283, + -282, + -282, + -282, + -281, + -281, + -281, + -280, + -280, + -280, + -279, + -279, + -278, + -278, + -278, + -277, + -277, + -277, + -276, + -276, + -276, + -275, + -275, + -275, + -274, + -274, + -274, + -273, + -273, + -273, + -272, + -272, + -271, + -271, + -271, + -270, + -270, + -270, + -269, + -269, + -269, + -268, + -268, + -268, + -267, + -267, + -267, + -266, + -266, + -266, + -265, + -265, + -265, + -264, + -264, + -263, + -263, + -263, + -262, + -262, + -262, + -261, + -261, + -261, + -260, + -260, + -260, + -259, + -259, + -259, + -258, + -258, + -258, + -257, + -257, + -257, + -256, + -256, + -256, + -255, + -255, + -255, + -254, + -254, + -253, + -253, + -253, + -252, + -252, + -252, + -251, + -251, + -251, + -250, + -250, + -250, + -249, + -249, + -249, + -248, + -248, + -248, + -247, + -247, + -247, + -246, + -246, + -246, + -245, + -245, + -245, + -244, + -244, + -244, + -243, + -243, + -243, + -242, + -242, + -242, + -241, + -241, + -240, + -240, + -240, + -239, + -239, + -239, + -238, + -238, + -238, + -237, + -237, + -237, + -236, + -236, + -236, + -235, + -235, + -235, + -234, + -234, + -234, + -233, + -233, + -233, + -232, + -232, + -232, + -231, + -231, + -231, + -230, + -230, + -230, + -229, + -229, + -229, + -228, + -228, + -228, + -227, + -227, + -227, + -226, + -226, + -226, + -225, + -225, + -225, + -224, + -224, + -224, + -223, + -223, + -222, + -222, + -222, + -221, + -221, + -221, + -220, + -220, + -220, + -219, + -219, + -219, + -218, + -218, + -218, + -217, + -217, + -217, + -216, + -216, + -216, + -215, + -215, + -215, + -214, + -214, + -214, + -213, + -213, + -213, + -212, + -212, + -212, + -211, + -211, + -211, + -210, + -210, + -210, + -209, + -209, + -209, + -208, + -208, + -208, + -207, + -207, + -207, + -206, + -206, + -206, + -205, + -205, + -205, + -204, + -204, + -204, + -203, + -203, + -203, + -202, + -202, + -202, + -201, + -201, + -201, + -200, + -200, + -200, + -199, + -199, + -199, + -198, + -198, + -198, + -197, + -197, + -197, + -196, + -196, + -196, + -195, + -195, + -195, + -194, + -194, + -194, + -193, + -193, + -193, + -192, + -192, + -192, + -191, + -191, + -191, + -190, + -190, + -190, + -189, + -189, + -189, + -188, + -188, + -188, + -187, + -187, + -187, + -186, + -186, + -186, + -185, + -185, + -185, + -184, + -184, + -184, + -183, + -183, + -183, + -182, + -182, + -182, + -181, + -181, + -181, + -180, + -180, + -180, + -179, + -179, + -179, + -178, + -178, + -178, + -177, + -177, + -177, + -176, + -176, + -176, + -175, + -175, + -175, + -174, + -174, + -174, + -173, + -173, + -173, + -172, + -172, + -172, + -171, + -171, + -171, + -170, + -170, + -170, + -169, + -169, + -169, + -169, + -168, + -168, + -168, + -167, + -167, + -167, + -166, + -166, + -166, + -165, + -165, + -165, + -164, + -164, + -164, + -163, + -163, + -163, + -162, + -162, + -162, + -161, + -161, + -161, + -160, + -160, + -160, + -159, + -159, + -159, + -158, + -158, + -158, + -157, + -157, + -157, + -156, + -156, + -156, + -155, + -155, + -155, + -154, + -154, + -154, + -153, + -153, + -153, + -152, + -152, + -152, + -151, + -151, + -151, + -150, + -150, + -150, + -149, + -149, + -149, + -149, + -148, + -148, + -148, + -147, + -147, + -147, + -146, + -146, + -146, + -145, + -145, + -145, + -144, + -144, + -144, + -143, + -143, + -143, + -142, + -142, + -142, + -141, + -141, + -141, + -140, + -140, + -140, + -139, + -139, + -139, + -138, + -138, + -138, + -137, + -137, + -137, + -136, + -136, + -136, + -135, + -135, + -135, + -134, + -134, + -134, + -134, + -133, + -133, + -133, + -132, + -132, + -132, + -131, + -131, + -131, + -130, + -130, + -130, + -129, + -129, + -129, + -128, + -128, + -128, + -127, + -127, + -127, + -126, + -126, + -126, + -125, + -125, + -125, + -124, + -124, + -124, + -123, + -123, + -123, + -122, + -122, + -122, + -122, + -121, + -121, + -121, + -120, + -120, + -120, + -119, + -119, + -119, + -118, + -118, + -118, + -117, + -117, + -117, + -116, + -116, + -116, + -115, + -115, + -115, + -114, + -114, + -114, + -113, + -113, + -113, + -112, + -112, + -112, + -111, + -111, + -111, + -111, + -110, + -110, + -110, + -109, + -109, + -109, + -108, + -108, + -108, + -107, + -107, + -107, + -106, + -106, + -106, + -105, + -105, + -105, + -104, + -104, + -104, + -103, + -103, + -103, + -102, + -102, + -102, + -101, + -101, + -101, + -101, + -100, + -100, + -100, + -99, + -99, + -99, + -98, + -98, + -98, + -97, + -97, + -97, + -96, + -96, + -96, + -95, + -95, + -95, + -94, + -94, + -94, + -93, + -93, + -93, + -92, + -92, + -92, + -92, + -91, + -91, + -91, + -90, + -90, + -90, + -89, + -89, + -89, + -88, + -88, + -88, + -87, + -87, + -87, + -86, + -86, + -86, + -85, + -85, + -85, + -84, + -84, + -84, + -83, + -83, + -83, + -83, + -82, + -82, + -82, + -81, + -81, + -81, + -80, + -80, + -80, + -79, + -79, + -79, + -78, + -78, + -78, + -77, + -77, + -77, + -76, + -76, + -76, + -75, + -75, + -75, + -75, + -74, + -74, + -74, + -73, + -73, + -73, + -72, + -72, + -72, + -71, + -71, + -71, + -70, + -70, + -70, + -69, + -69, + -69, + -68, + -68, + -68, + -67, + -67, + -67, + -67, + -66, + -66, + -66, + -65, + -65, + -65, + -64, + -64, + -64, + -63, + -63, + -63, + -62, + -62, + -62, + -61, + -61, + -61, + -60, + -60, + -60, + -59, + -59, + -59, + -59, + -58, + -58, + -58, + -57, + -57, + -57, + -56, + -56, + -56, + -55, + -55, + -55, + -54, + -54, + -54, + -53, + -53, + -53, + -52, + -52, + -52, + -51, + -51, + -51, + -51, + -50, + -50, + -50, + -49, + -49, + -49, + -48, + -48, + -48, + -47, + -47, + -47, + -46, + -46, + -46, + -45, + -45, + -45, + -44, + -44, + -44, + -44, + -43, + -43, + -43, + -42, + -42, + -42, + -41, + -41, + -41, + -40, + -40, + -40, + -39, + -39, + -39, + -38, + -38, + -38, + -37, + -37, + -37, + -36, + -36, + -36, + -36, + -35, + -35, + -35, + -34, + -34, + -34, + -33, + -33, + -33, + -32, + -32, + -32, + -31, + -31, + -31, + -30, + -30, + -30, + -29, + -29, + -29, + -29, + -28, + -28, + -28, + -27, + -27, + -27, + -26, + -26, + -26, + -25, + -25, + -25, + -24, + -24, + -24, + -23, + -23, + -23, + -22, + -22, + -22, + -22, + -21, + -21, + -21, + -20, + -20, + -20, + -19, + -19, + -19, + -18, + -18, + -18, + -17, + -17, + -17, + -16, + -16, + -16, + -15, + -15, + -15, + -15, + -14, + -14, + -14, + -13, + -13, + -13, + -12, + -12, + -12, + -11, + -11, + -11, + -10, + -10, + -10, + -9, + -9, + -9, + -8, + -8, + -8, + -8, + -7, + -7, + -7, + -6, + -6, + -6, + -5, + -5, + -5, + -4, + -4, + -4, + -3, + -3, + -3, + -2, + -2, + -2, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 2, + 2, + 2, + 3, + 3, + 3, + 4, + 4, + 4, + 5, + 5, + 5, + 6, + 6, + 6, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 9, + 9, + 9, + 10, + 10, + 10, + 11, + 11, + 11, + 12, + 12, + 12, + 13, + 13, + 13, + 14, + 14, + 14, + 14, + 15, + 15, + 15, + 16, + 16, + 16, + 17, + 17, + 17, + 18, + 18, + 18, + 19, + 19, + 19, + 20, + 20, + 20, + 21, + 21, + 21, + 21, + 22, + 22, + 22, + 23, + 23, + 23, + 24, + 24, + 24, + 25, + 25, + 25, + 26, + 26, + 26, + 27, + 27, + 27, + 28, + 28, + 28, + 28, + 29, + 29, + 29, + 30, + 30, + 30, + 31, + 31, + 31, + 32, + 32, + 32, + 33, + 33, + 33, + 34, + 34, + 34, + 35, + 35, + 35, + 35, + 36, + 36, + 36, + 37, + 37, + 37, + 38, + 38, + 38, + 39, + 39, + 39, + 40, + 40, + 40, + 41, + 41, + 41, + 42, + 42, + 42, + 43, + 43, + 43, + 43, + 44, + 44, + 44, + 45, + 45, + 45, + 46, + 46, + 46, + 47, + 47, + 47, + 48, + 48, + 48, + 49, + 49, + 49, + 50, + 50, + 50, + 50, + 51, + 51, + 51, + 52, + 52, + 52, + 53, + 53, + 53, + 54, + 54, + 54, + 55, + 55, + 55, + 56, + 56, + 56, + 57, + 57, + 57, + 58, + 58, + 58, + 58, + 59, + 59, + 59, + 60, + 60, + 60, + 61, + 61, + 61, + 62, + 62, + 62, + 63, + 63, + 63, + 64, + 64, + 64, + 65, + 65, + 65, + 66, + 66, + 66, + 66, + 67, + 67, + 67, + 68, + 68, + 68, + 69, + 69, + 69, + 70, + 70, + 70, + 71, + 71, + 71, + 72, + 72, + 72, + 73, + 73, + 73, + 74, + 74, + 74, + 74, + 75, + 75, + 75, + 76, + 76, + 76, + 77, + 77, + 77, + 78, + 78, + 78, + 79, + 79, + 79, + 80, + 80, + 80, + 81, + 81, + 81, + 82, + 82, + 82, + 82, + 83, + 83, + 83, + 84, + 84, + 84, + 85, + 85, + 85, + 86, + 86, + 86, + 87, + 87, + 87, + 88, + 88, + 88, + 89, + 89, + 89, + 90, + 90, + 90, + 91, + 91, + 91, + 91, + 92, + 92, + 92, + 93, + 93, + 93, + 94, + 94, + 94, + 95, + 95, + 95, + 96, + 96, + 96, + 97, + 97, + 97, + 98, + 98, + 98, + 99, + 99, + 99, + 100, + 100, + 100, + 100, + 101, + 101, + 101, + 102, + 102, + 102, + 103, + 103, + 103, + 104, + 104, + 104, + 105, + 105, + 105, + 106, + 106, + 106, + 107, + 107, + 107, + 108, + 108, + 108, + 109, + 109, + 109, + 110, + 110, + 110, + 110, + 111, + 111, + 111, + 112, + 112, + 112, + 113, + 113, + 113, + 114, + 114, + 114, + 115, + 115, + 115, + 116, + 116, + 116, + 117, + 117, + 117, + 118, + 118, + 118, + 119, + 119, + 119, + 120, + 120, + 120, + 121, + 121, + 121, + 121, + 122, + 122, + 122, + 123, + 123, + 123, + 124, + 124, + 124, + 125, + 125, + 125, + 126, + 126, + 126, + 127, + 127, + 127, + 128, + 128, + 128, + 129, + 129, + 129, + 130, + 130, + 130, + 131, + 131, + 131, + 132, + 132, + 132, + 133, + 133, + 133, + 133, + 134, + 134, + 134, + 135, + 135, + 135, + 136, + 136, + 136, + 137, + 137, + 137, + 138, + 138, + 138, + 139, + 139, + 139, + 140, + 140, + 140, + 141, + 141, + 141, + 142, + 142, + 142, + 143, + 143, + 143, + 144, + 144, + 144, + 145, + 145, + 145, + 146, + 146, + 146, + 147, + 147, + 147, + 148, + 148, + 148, + 148, + 149, + 149, + 149, + 150, + 150, + 150, + 151, + 151, + 151, + 152, + 152, + 152, + 153, + 153, + 153, + 154, + 154, + 154, + 155, + 155, + 155, + 156, + 156, + 156, + 157, + 157, + 157, + 158, + 158, + 158, + 159, + 159, + 159, + 160, + 160, + 160, + 161, + 161, + 161, + 162, + 162, + 162, + 163, + 163, + 163, + 164, + 164, + 164, + 165, + 165, + 165, + 166, + 166, + 166, + 167, + 167, + 167, + 168, + 168, + 168, + 168, + 169, + 169, + 169, + 170, + 170, + 170, + 171, + 171, + 171, + 172, + 172, + 172, + 173, + 173, + 173, + 174, + 174, + 174, + 175, + 175, + 175, + 176, + 176, + 176, + 177, + 177, + 177, + 178, + 178, + 178, + 179, + 179, + 179, + 180, + 180, + 180, + 181, + 181, + 181, + 182, + 182, + 182, + 183, + 183, + 183, + 184, + 184, + 184, + 185, + 185, + 185, + 186, + 186, + 186, + 187, + 187, + 187, + 188, + 188, + 188, + 189, + 189, + 189, + 190, + 190, + 190, + 191, + 191, + 191, + 192, + 192, + 192, + 193, + 193, + 193, + 194, + 194, + 194, + 195, + 195, + 195, + 196, + 196, + 196, + 197, + 197, + 197, + 198, + 198, + 198, + 199, + 199, + 199, + 200, + 200, + 200, + 201, + 201, + 201, + 202, + 202, + 202, + 203, + 203, + 203, + 204, + 204, + 204, + 205, + 205, + 205, + 206, + 206, + 206, + 207, + 207, + 207, + 208, + 208, + 208, + 209, + 209, + 209, + 210, + 210, + 210, + 211, + 211, + 211, + 212, + 212, + 212, + 213, + 213, + 213, + 214, + 214, + 214, + 215, + 215, + 215, + 216, + 216, + 216, + 217, + 217, + 217, + 218, + 218, + 218, + 219, + 219, + 219, + 220, + 220, + 220, + 221, + 221, + 221, + 222, + 222, + 223, + 223, + 223, + 224, + 224, + 224, + 225, + 225, + 225, + 226, + 226, + 226, + 227, + 227, + 227, + 228, + 228, + 228, + 229, + 229, + 229, + 230, + 230, + 230, + 231, + 231, + 231, + 232, + 232, + 232, + 233, + 233, + 233, + 234, + 234, + 234, + 235, + 235, + 235, + 236, + 236, + 236, + 237, + 237, + 237, + 238, + 238, + 238, + 239, + 239, + 239, + 240, + 240, + 241, + 241, + 241, + 242, + 242, + 242, + 243, + 243, + 243, + 244, + 244, + 244, + 245, + 245, + 245, + 246, + 246, + 246, + 247, + 247, + 247, + 248, + 248, + 248, + 249, + 249, + 249, + 250, + 250, + 250, + 251, + 251, + 251, + 252, + 252, + 252, + 253, + 253, + 254, + 254, + 254, + 255, + 255, + 255, + 256, + 256, + 256, + 257, + 257, + 257, + 258, + 258, + 258, + 259, + 259, + 259, + 260, + 260, + 260, + 261, + 261, + 261, + 262, + 262, + 262, + 263, + 263, + 264, + 264, + 264, + 265, + 265, + 265, + 266, + 266, + 266, + 267, + 267, + 267, + 268, + 268, + 268, + 269, + 269, + 269, + 270, + 270, + 270, + 271, + 271, + 272, + 272, + 272, + 273, + 273, + 273, + 274, + 274, + 274, + 275, + 275, + 275, + 276, + 276, + 276, + 277, + 277, + 277, + 278, + 278, + 279, + 279, + 279, + 280, + 280, + 280, + 281, + 281, + 281, + 282, + 282, + 282, + 283, + 283, + 283, + 284, + 284, + 284, + 285, + 285, + 286, + 286, + 286, + 287, + 287, + 287, + 288, + 288, + 288, + 289, + 289, + 289, + 290, + 290, + 290, + 291, + 291, + 292, + 292, + 292, + 293, + 293, + 293, + 294, + 294, + 294, + 295, + 295, + 295, + 296, + 296, + 296, + 297, + 297, + 298, + 298, + 298, + 299, + 299, + 299, + 300, + 300, + 300, + 301, + 301, + 301, + 302, + 302, + 303, + 303, + 303, + 304, + 304, + 304, + 305, + 305, + 305, + 306, + 306, + 306, + 307, + 307, + 307, + 308, + 308, + 309, + 309, + 309, + 310, + 310, + 310, + 311, + 311, + 311, + 312, + 312, + 313, + 313, + 313, + 314, + 314, + 314, + 315, + 315, + 315, + 316, + 316, + 316, + 317, + 317, + 318, + 318, + 318, + 319, + 319, + 319, + 320, + 320, + 320, + 321, + 321, + 322, + 322, + 322, + 323, + 323, + 323, + 324, + 324, + 324, + 325, + 325, + 325, + 326, + 326, + 327, + 327, + 327, + 328, + 328, + 328, + 329, + 329, + 329, + 330, + 330, + 331, + 331, + 331, + 332, + 332, + 332, + 333, + 333, + 334, + 334, + 334, + 335, + 335, + 335, + 336, + 336, + 336, + 337, + 337, + 338, + 338, + 338, + 339, + 339, + 339, + 340, + 340, + 340, + 341, + 341, + 342, + 342, + 342, + 343, + 343, + 343, + 344, + 344, + 345, + 345, + 345, + 346, + 346, + 346, + 347, + 347, + 347, + 348, + 348, + 349, + 349, + 349, + 350, + 350, + 350, + 351, + 351, + 352, + 352, + 352, + 353, + 353, + 353, + 354, + 354, + 355, + 355, + 355, + 356, + 356, + 356, + 357, + 357, + 357, + 358, + 358, + 359, + 359, + 359, + 360, + 360, + 360, + 361, + 361, + 362, + 362, + 362, + 363, + 363, + 363, + 364, + 364, + 365, + 365, + 365, + 366, + 366, + 366, + 367, + 367, + 368, + 368, + 368, + 369, + 369, + 370, + 370, + 370, + 371, + 371, + 371, + 372, + 372, + 373, + 373, + 373, + 374, + 374, + 374, + 375, + 375, + 376, + 376, + 376, + 377, + 377, + 377, + 378, + 378, + 379, + 379, + 379, + 380, + 380, + 381, + 381, + 381, + 382, + 382, + 382, + 383, + 383, + 384, + 384, + 384, + 385, + 385, + 385, + 386, + 386, + 387, + 387, + 387, + 388, + 388, + 389, + 389, + 389, + 390, + 390, + 390, + 391, + 391, + 392, + 392, + 392, + 393, + 393, + 394, + 394, + 394, + 395, + 395, + 396, + 396, + 396, + 397, + 397, + 397, + 398, + 398, + 399, + 399, + 399, + 400, + 400, + 401, + 401, + 401, + 402, + 402, + 403, + 403, + 403, + 404, + 404, + 404, + 405, + 405, + 406, + 406, + 406, + 407, + 407, + 408, + 408, + 408, + 409, + 409, + 410, + 410, + 410, + 411, + 411, + 412, + 412, + 412, + 413, + 413, + 414, + 414, + 414, + 415, + 415, + 416, + 416, + 416, + 417, + 417, + 417, + 418, + 418, + 419, + 419, + 419, + 420, + 420, + 421, + 421, + 421, + 422, + 422, + 423, + 423, + 423, + 424, + 424, + 425, + 425, + 425, + 426, + 426, + 427, + 427, + 427, + 428, + 428, + 429, + 429, + 429, + 430, + 430, + 431, + 431, + 432, + 432, + 432, + 433, + 433, + 434, + 434, + 434, + 435, + 435, + 436, + 436, + 436, + 437, + 437, + 438, + 438, + 438, + 439, + 439, + 440, + 440, + 440, + 441, + 441, + 442, + 442, + 442, + 443, + 443, + 444, + 444, + 445, + 445, + 445, + 446, + 446, + 447, + 447, + 447, + 448, + 448, + 449, + 449, + 449, + 450, + 450, + 451, + 451, + 452, + 452, + 452, + 453, + 453, + 454, + 454, + 454, + 455, + 455, + 456, + 456, + 457, + 457, + 457, + 458, + 458, + 459, + 459, + 459, + 460, + 460, + 461, + 461, + 462, + 462, + 462, + 463, + 463, + 464, + 464, + 464, + 465, + 465, + 466, + 466, + 467, + 467, + 467, + 468, + 468, + 469, + 469, + 470, + 470, + 470, + 471, + 471, + 472, + 472, + 473, + 473, + 473, + 474, + 474, + 475, + 475, + 475, + 476, + 476, + 477, + 477, + 478, + 478, + 478, + 479, + 479, + 480, + 480, + 481, + 481, + 481, + 482, + 482, + 483, + 483, + 484, + 484, + 485, + 485, + 485, + 486, + 486, + 487, + 487, + 488, + 488, + 488, + 489, + 489, + 490, + 490, + 491, + 491, + 491, + 492, + 492, + 493, + 493, + 494, + 494, + 495, + 495, + 495, + 496, + 496, + 497, + 497, + 498, + 498, + 499, + 499, + 499, + 500, + 500, + 501, + 501, + 502, + 502, + 502, + 503, + 503, + 504, + 504, + 505, + 505, + 506, + 506, + 506, + 507, + 507, + 508, + 508, + 509, + 509, + 510, + 510, + 511, + 511, + 511, + 512, + 512, + 513, + 513, + 514, + 514, + 515, + 515, + 515, + 516, + 516, + 517, + 517, + 518, + 518, + 519, + 519, + 520, + 520, + 520, + 521, + 521, + 522, + 522, + 523, + 523, + 524, + 524, + 525, + 525, + 526, + 526, + 526, + 527, + 527, + 528, + 528, + 529, + 529, + 530, + 530, + 531, + 531, + 532, + 532, + 532, + 533, + 533, + 534, + 534, + 535, + 535, + 536, + 536, + 537, + 537, + 538, + 538, + 539, + 539, + 539, + 540, + 540, + 541, + 541, + 542, + 542, + 543, + 543, + 544, + 544, + 545, + 545, + 546, + 546, + 547, + 547, + 548, + 548, + 549, + 549, + 549, + 550, + 550, + 551, + 551, + 552, + 552, + 553, + 553, + 554, + 554, + 555, + 555, + 556, + 556, + 557, + 557, + 558, + 558, + 559, + 559, + 560, + 560, + 561, + 561, + 562, + 562, + 563, + 563, + 564, + 564, + 565, + 565, + 565, + 566, + 566, + 567, + 567, + 568, + 568, + 569, + 569, + 570, + 570, + 571, + 571, + 572, + 572, + 573, + 573, + 574, + 574, + 575, + 575, + 576, + 576, + 577, + 577, + 578, + 578, + 579, + 579, + 580, + 580, + 581, + 581, + 582, + 583, + 583, + 584, + 584, + 585, + 585, + 586, + 586, + 587, + 587, + 588, + 588, + 589, + 589, + 590, + 590, + 591, + 591, + 592, + 592, + 593, + 593, + 594, + 594, + 595, + 595, + 596, + 596, + 597, + 597, + 598, + 599, + 599, + 600, + 600, + 601, + 601, + 602, + 602, + 603, + 603, + 604, + 604, + 605, + 605, + 606, + 606, + 607, + 608, + 608, + 609, + 609, + 610, + 610, + 611, + 611, + 612, + 612, + 613, + 613, + 614, + 615, + 615, + 616, + 616, + 617, + 617, + 618, + 618, + 619, + 619, + 620, + 621, + 621, + 622, + 622, + 623, + 623, + 624, + 624, + 625, + 625, + 626, + 627, + 627, + 628, + 628, + 629, + 629, + 630, + 631, + 631, + 632, + 632, + 633, + 633, + 634, + 634, + 635, + 636, + 636, + 637, + 637, + 638, + 638, + 639, + 640, + 640, + 641, + 641, + 642, + 642, + 643, + 644, + 644, + 645, + 645, + 646, + 647, + 647, + 648, + 648, + 649, + 649, + 650, + 651, + 651, + 652, + 652, + 653, + 654, + 654, + 655, + 655, + 656, + 657, + 657, + 658, + 658, + 659, + 660, + 660, + 661, + 661, + 662, + 663, + 663, + 664, + 664, + 665, + 666, + 666, + 667, + 667, + 668, + 669, + 669, + 670, + 670, + 671, + 672, + 672, + 673, + 674, + 674, + 675, + 675, + 676, + 677, + 677, + 678, + 679, + 679, + 680, + 681, + 681, + 682, + 682, + 683, + 684, + 684, + 685, + 686, + 686, + 687, + 688, + 688, + 689, + 689, + 690, + 691, + 691, + 692, + 693, + 693, + 694, + 695, + 695, + 696, + 697, + 697, + 698, + 699, + 699, + 700, + 701, + 701, + 702, + 703, + 703, + 704, + 705, + 705, + 706, + 707, + 707, + 708, + 709, + 710, + 710, + 711, + 712, + 712, + 713, + 714, + 714, + 715, + 716, + 716, + 717, + 718, + 719, + 719, + 720, + 721, + 721, + 722, + 723, + 724, + 724, + 725, + 726, + 726, + 727, + 728, + 729, + 729, + 730, + 731, + 732, + 732, + 733, + 734, + 734, + 735, + 736, + 737, + 737, + 738, + 739, + 740, + 740, + 741, + 742, + 743, + 744, + 744, + 745, + 746, + 747, + 747, + 748, + 749, + 750, + 750, + 751, + 752, + 753, + 754, + 754, + 755, + 756, + 757, + 758, + 758, + 759, + 760, + 761, + 762, + 762, + 763, + 764, + 765, + 766, + 767, + 767, + 768, + 769, + 770, + 771, + 772, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 840, + 841, + 842, + 843, + 844, + 845, + 847, + 848, + 849, + 850, + 851, + 853, + 854, + 855, + 856, + 858, + 859, + 860, + 861, + 863, + 864, + 865, + 867, + 868, + 869, + 871, + 872, + 873, + 875, + 876, + 878, + 879, + 881, + 882, + 884, + 885, + 887, + 888, + 890, + 891, + 893, + 894, + 896, + 898, + 899, + 901, + 903, + 905, + 906, + 908, + 910, + 912, + 914, + 916, + 918, + 920, + 922, + 924, + 926, + 928, + 930, + 932, + 935, + 937, + 939, + 942, + 945, + 947, + 950, + 953, + 956, + 959, + 962, + 966, + 970, + 974, + 978, + 983, + 988, + 995, + 1023 + +}; + +short ArcTanTable[]={ + + 0,2,5,7,10,12,15,17, + 20,22,25,27,30,33,35,38, + 40,43,45,48,50,53,55,58, + 60,63,65,68,71,73,76,78, + 81,83,86,88,91,93,96,98, + 101,103,106,108,110,113,115,118, + 120,123,125,128,130,133,135,137, + 140,142,145,147,150,152,154,157, + 159,162,164,166,169,171,173,176, + 178,181,183,185,188,190,192,195, + 197,199,202,204,206,208,211,213, + 215,218,220,222,224,227,229,231, + 233,236,238,240,242,244,247,249, + 251,253,255,258,260,262,264,266, + 268,270,273,275,277,279,281,283, + 285,287,289,291,294,296,298,300, + 302,304,306,308,310,312,314,316, + 318,320,322,324,326,328,330,332, + 334,335,337,339,341,343,345,347, + 349,351,353,354,356,358,360,362, + 364,365,367,369,371,373,375,376, + 378,380,382,383,385,387,389,390, + 392,394,396,397,399,401,402,404, + 406,407,409,411,412,414,416,417, + 419,421,422,424,425,427,429,430, + 432,433,435,437,438,440,441,443, + 444,446,447,449,450,452,453,455, + 456,458,459,461,462,464,465,467, + 468,470,471,472,474,475,477,478, + 479,481,482,484,485,486,488,489, + 490,492,493,495,496,497,499,500, + 501,502,504,505,506,508,509,510 + +}; |
