#define Nt 1024

int costable[]={ \
 32767,  32767,  32766,  32762,  32758,  32753,  32746,  32738, \
 32729,  32718,  32706,  32693,  32679,  32664,  32647,  32629, \
 32610,  32590,  32568,  32546,  32522,  32496,  32470,  32442, \
 32413,  32383,  32352,  32319,  32286,  32251,  32214,  32177, \
 32138,  32099,  32058,  32015,  31972,  31927,  31881,  31834, \
 31786,  31737,  31686,  31634,  31581,  31527,  31471,  31415, \
 31357,  31298,  31238,  31177,  31114,  31050,  30986,  30920, \
 30853,  30784,  30715,  30644,  30572,  30499,  30425,  30350, \
 30274,  30196,  30118,  30038,  29957,  29875,  29792,  29707, \
 29622,  29535,  29448,  29359,  29269,  29178,  29086,  28993, \
 28899,  28803,  28707,  28610,  28511,  28411,  28311,  28209, \
 28106,  28002,  27897,  27791,  27684,  27576,  27467,  27357, \
 27246,  27133,  27020,  26906,  26791,  26674,  26557,  26439, \
 26320,  26199,  26078,  25956,  25833,  25708,  25583,  25457, \
 25330,  25202,  25073,  24943,  24812,  24680,  24548,  24414, \
 24279,  24144,  24008,  23870,  23732,  23593,  23453,  23312, \
 23170,  23028,  22884,  22740,  22595,  22449,  22302,  22154, \
 22006,  21856,  21706,  21555,  21403,  21251,  21097,  20943, \
 20788,  20632,  20475,  20318,  20160,  20001,  19841,  19681, \
 19520,  19358,  19195,  19032,  18868,  18703,  18538,  18372, \
 18205,  18037,  17869,  17700,  17531,  17361,  17190,  17018, \
 16846,  16673,  16500,  16326,  16151,  15976,  15800,  15624, \
 15447,  15269,  15091,  14912,  14733,  14553,  14373,  14192, \
 14010,  13828,  13646,  13463,  13279,  13095,  12910,  12725, \
 12540,  12354,  12167,  11980,  11793,  11605,  11417,  11228, \
 11039,  10850,  10660,  10469,  10279,  10088,   9896,   9704, \
  9512,   9319,   9127,   8933,   8740,   8546,   8351,   8157, \
  7962,   7767,   7571,   7376,   7180,   6983,   6787,   6590, \
  6393,   6195,   5998,   5800,   5602,   5404,   5205,   5007, \
  4808,   4609,   4410,   4211,   4011,   3812,   3612,   3412, \
  3212,   3012,   2811,   2611,   2411,   2210,   2009,   1809, \
  1608,   1407,   1206,   1005,    804,    603,    402,    201, \
     0,   -201,   -402,   -603,   -804,  -1005,  -1206,  -1407, \
 -1608,  -1809,  -2009,  -2210,  -2411,  -2611,  -2811,  -3012, \
 -3212,  -3412,  -3612,  -3812,  -4011,  -4211,  -4410,  -4609, \
 -4808,  -5007,  -5205,  -5404,  -5602,  -5800,  -5998,  -6195, \
 -6393,  -6590,  -6787,  -6983,  -7180,  -7376,  -7571,  -7767, \
 -7962,  -8157,  -8351,  -8546,  -8740,  -8933,  -9127,  -9319, \
 -9512,  -9704,  -9896, -10088, -10279, -10469, -10660, -10850, \
-11039, -11228, -11417, -11605, -11793, -11980, -12167, -12354, \
-12540, -12725, -12910, -13095, -13279, -13463, -13646, -13828, \
-14010, -14192, -14373, -14553, -14733, -14912, -15091, -15269, \
-15447, -15624, -15800, -15976, -16151, -16326, -16500, -16673, \
-16846, -17018, -17190, -17361, -17531, -17700, -17869, -18037, \
-18205, -18372, -18538, -18703, -18868, -19032, -19195, -19358, \
-19520, -19681, -19841, -20001, -20160, -20318, -20475, -20632, \
-20788, -20943, -21097, -21251, -21403, -21555, -21706, -21856, \
-22006, -22154, -22302, -22449, -22595, -22740, -22884, -23028, \
-23170, -23312, -23453, -23593, -23732, -23870, -24008, -24144, \
-24279, -24414, -24548, -24680, -24812, -24943, -25073, -25202, \
-25330, -25457, -25583, -25708, -25833, -25956, -26078, -26199, \
-26320, -26439, -26557, -26674, -26791, -26906, -27020, -27133, \
-27246, -27357, -27467, -27576, -27684, -27791, -27897, -28002, \
-28106, -28209, -28311, -28411, -28511, -28610, -28707, -28803, \
-28899, -28993, -29086, -29178, -29269, -29359, -29448, -29535, \
-29622, -29707, -29792, -29875, -29957, -30038, -30118, -30196, \
-30274, -30350, -30425, -30499, -30572, -30644, -30715, -30784, \
-30853, -30920, -30986, -31050, -31114, -31177, -31238, -31298, \
-31357, -31415, -31471, -31527, -31581, -31634, -31686, -31737, \
-31786, -31834, -31881, -31927, -31972, -32015, -32058, -32099, \
-32138, -32177, -32214, -32251, -32286, -32319, -32352, -32383, \
-32413, -32442, -32470, -32496, -32522, -32546, -32568, -32590, \
-32610, -32629, -32647, -32664, -32679, -32693, -32706, -32718, \
-32729, -32738, -32746, -32753, -32758, -32762, -32766, -32767  \
};

int sintable[]={ \
     0,   -201,   -402,   -603,   -804,  -1005,  -1206,  -1407, \
 -1608,  -1809,  -2009,  -2210,  -2411,  -2611,  -2811,  -3012, \
 -3212,  -3412,  -3612,  -3812,  -4011,  -4211,  -4410,  -4609, \
 -4808,  -5007,  -5205,  -5404,  -5602,  -5800,  -5998,  -6195, \
 -6393,  -6590,  -6787,  -6983,  -7180,  -7376,  -7571,  -7767, \
 -7962,  -8157,  -8351,  -8546,  -8740,  -8933,  -9127,  -9319, \
 -9512,  -9704,  -9896, -10088, -10279, -10469, -10660, -10850, \
-11039, -11228, -11417, -11605, -11793, -11980, -12167, -12354, \
-12540, -12725, -12910, -13095, -13279, -13463, -13646, -13828, \
-14010, -14192, -14373, -14553, -14733, -14912, -15091, -15269, \
-15447, -15624, -15800, -15976, -16151, -16326, -16500, -16673, \
-16846, -17018, -17190, -17361, -17531, -17700, -17869, -18037, \
-18205, -18372, -18538, -18703, -18868, -19032, -19195, -19358, \
-19520, -19681, -19841, -20001, -20160, -20318, -20475, -20632, \
-20788, -20943, -21097, -21251, -21403, -21555, -21706, -21856, \
-22006, -22154, -22302, -22449, -22595, -22740, -22884, -23028, \
-23170, -23312, -23453, -23593, -23732, -23870, -24008, -24144, \
-24279, -24414, -24548, -24680, -24812, -24943, -25073, -25202, \
-25330, -25457, -25583, -25708, -25833, -25956, -26078, -26199, \
-26320, -26439, -26557, -26674, -26791, -26906, -27020, -27133, \
-27246, -27357, -27467, -27576, -27684, -27791, -27897, -28002, \
-28106, -28209, -28311, -28411, -28511, -28610, -28707, -28803, \
-28899, -28993, -29086, -29178, -29269, -29359, -29448, -29535, \
-29622, -29707, -29792, -29875, -29957, -30038, -30118, -30196, \
-30274, -30350, -30425, -30499, -30572, -30644, -30715, -30784, \
-30853, -30920, -30986, -31050, -31114, -31177, -31238, -31298, \
-31357, -31415, -31471, -31527, -31581, -31634, -31686, -31737, \
-31786, -31834, -31881, -31927, -31972, -32015, -32058, -32099, \
-32138, -32177, -32214, -32251, -32286, -32319, -32352, -32383, \
-32413, -32442, -32470, -32496, -32522, -32546, -32568, -32590, \
-32610, -32629, -32647, -32664, -32679, -32693, -32706, -32718, \
-32729, -32738, -32746, -32753, -32758, -32762, -32766, -32767, \
-32767, -32767, -32766, -32762, -32758, -32753, -32746, -32738, \
-32729, -32718, -32706, -32693, -32679, -32664, -32647, -32629, \
-32610, -32590, -32568, -32546, -32522, -32496, -32470, -32442, \
-32413, -32383, -32352, -32319, -32286, -32251, -32214, -32177, \
-32138, -32099, -32058, -32015, -31972, -31927, -31881, -31834, \
-31786, -31737, -31686, -31634, -31581, -31527, -31471, -31415, \
-31357, -31298, -31238, -31177, -31114, -31050, -30986, -30920, \
-30853, -30784, -30715, -30644, -30572, -30499, -30425, -30350, \
-30274, -30196, -30118, -30038, -29957, -29875, -29792, -29707, \
-29622, -29535, -29448, -29359, -29269, -29178, -29086, -28993, \
-28899, -28803, -28707, -28610, -28511, -28411, -28311, -28209, \
-28106, -28002, -27897, -27791, -27684, -27576, -27467, -27357, \
-27246, -27133, -27020, -26906, -26791, -26674, -26557, -26439, \
-26320, -26199, -26078, -25956, -25833, -25708, -25583, -25457, \
-25330, -25202, -25073, -24943, -24812, -24680, -24548, -24414, \
-24279, -24144, -24008, -23870, -23732, -23593, -23453, -23312, \
-23170, -23028, -22884, -22740, -22595, -22449, -22302, -22154, \
-22006, -21856, -21706, -21555, -21403, -21251, -21097, -20943, \
-20788, -20632, -20475, -20318, -20160, -20001, -19841, -19681, \
-19520, -19358, -19195, -19032, -18868, -18703, -18538, -18372, \
-18205, -18037, -17869, -17700, -17531, -17361, -17190, -17018, \
-16846, -16673, -16500, -16326, -16151, -15976, -15800, -15624, \
-15447, -15269, -15091, -14912, -14733, -14553, -14373, -14192, \
-14010, -13828, -13646, -13463, -13279, -13095, -12910, -12725, \
-12540, -12354, -12167, -11980, -11793, -11605, -11417, -11228, \
-11039, -10850, -10660, -10469, -10279, -10088,  -9896,  -9704, \
 -9512,  -9319,  -9127,  -8933,  -8740,  -8546,  -8351,  -8157, \
 -7962,  -7767,  -7571,  -7376,  -7180,  -6983,  -6787,  -6590, \
 -6393,  -6195,  -5998,  -5800,  -5602,  -5404,  -5205,  -5007, \
 -4808,  -4609,  -4410,  -4211,  -4011,  -3812,  -3612,  -3412, \
 -3212,  -3012,  -2811,  -2611,  -2411,  -2210,  -2009,  -1809, \
 -1608,  -1407,  -1206,  -1005,   -804,   -603,   -402,   -201  \
};
