fork(1) download
  1. #include <iostream>
  2.  
  3. static const char compressed_table[2014] = {
  4. 97, 53, 125, -5, -4, 114, -5, 97, 106, 110, 5, -4, 100, -5, 97,
  5. 46, -6, -6, -5, -6, 104, -5, -4, -5, -4, -5, -4, -5, -4, -5,
  6. 98, -4, -5, -4, -4, -5, 100, -4, -5, -4, -5, -4, -5, -4, -5,
  7. -4, -5, -5, -4, 102, -5, 97, 100, 6, 5, 5, 6, 5, 98, 6,
  8. 5, 99, 6, 3, 100, -6, -5, 97, 33, 98, -6, -5, -6, -5, -4,
  9. -5, -5, 98, -4, -5, -4, -4, -3, 100, -4, -3, 98, -4, -3, 98,
  10. -4, -3, -3, 104, -4, -5, -4, -4, -5, -5, -4, -5, -5, -4, 98,
  11. -5, 97, 97, 5, 6, 5, 6, 6, 7, 6, 98, 7, 8, 7, -3,
  12. -8, -7, -8, 98, -7, 97, 14, -7, 98, -5, 99, -4, -3, -4, -3,
  13. -3, -4, -3, -3, -4, -3, -3, -4, -3, -3, -4, -3, -3, -4, -3,
  14. -3, -4, 100, -3, -4, -3, 104, -4, -5, -4, -4, -5, -4, -5, -5,
  15. -4, -5, -5, 97, 104, 98, 6, 7, 7, 8, 9, 10, 10, 4, -11,
  16. -11, -10, -10, -9, -7, -7, 85, -4, -4, 99, -3, -2, -3, -2, -2,
  17. -3, -2, -2, -3, -3, -2, 101, -3, -4, 101, -3, -2, -2, -3, -3,
  18. -4, -3, -3, -4, -3, 108, -4, -5, 98, -4, 97, 98, 5, 5, 7,
  19. 7, 9, 11, 15, 19, -18, -19, -16, -13, -9, -7, -6, -5, 62, -2,
  20. -2, -1, -2, -1, -2, -1, -1, -2, -1, -1, -2, -2, -1, -2, -3,
  21. -2, 105, -3, -2, -2, -3, -2, -3, -2, 99, -3, -4, -3, 101, -4,
  22. -3, -4, -4, -3, -3, -4, 100, -3, -2, -3, -3, 97, 101, 4, 6,
  23. 19, -21, -25, -7, 98, -3, 98, -2, 46, 0, -1, -1, 0, -1, -1,
  24. 0, -1, 0, 101, -1, -2, -2, -3, -2, -3, -3, -4, 100, -3, 100,
  25. -2, -3, -2, -2, -3, -3, -4, -3, -4, -3, 98, -4, -3, -4, 98,
  26. -3, -2, -2, -3, -1, -2, 0, -1, 1, 2, 4, 7, 13, 23, 27,
  27. 20, 11, 7, 3, 2, 1, 1, -1, 0, 36, 99, 0, -1, 98, 0,
  28. -1, 98, 0, 99, -1, -2, -2, 99, -3, -4, -4, -3, -3, -2, -2,
  29. -3, -2, -1, -2, -2, -1, -2, 100, -3, -4, -4, -3, -4, 98, -3,
  30. 98, -2, -1, -1, 0, 1, 1, 3, 4, 6, 8, 11, 13, 13, 10,
  31. 9, 7, 5, 4, 2, 98, 1, 0, 30, 101, 0, -1, 102, 0, 98,
  32. -1, -2, 98, -3, 98, -4, 99, -3, -2, -1, -2, 98, -1, 98, -2,
  33. 99, -3, -4, 99, -3, -2, -2, -1, -1, 0, 1, 1, 2, 4, 5,
  34. 6, 7, 8, 9, 8, 6, 7, 6, 4, 4, 3, 2, 1, 2, 0,
  35. 1, 25, 0, 1, 0, 0, -1, 102, 0, 1, -1, 0, -1, -1, -2,
  36. -2, -3, 99, -4, -3, -4, -3, -3, -2, 103, -1, -2, 102, -3, -2,
  37. 98, -1, 0, 1, 2, 3, 3, 5, 5, 6, 7, 98, 6, 98, 4,
  38. 3, 3, 98, 2, 1, 1, 0, 21, 1, 109, 0, -1, -1, -2, -2,
  39. -3, 101, -4, -3, -3, -1, -2, -1, 0, -1, 0, 0, -1, 0, 98,
  40. -2, -3, -3, -2, -3, -2, -2, -1, 0, 0, 1, 2, 2, 4, 4,
  41. 100, 5, 4, 3, 3, 4, 2, 3, 98, 2, 98, 1, 0, 18, 1,
  42. 109, 0, 98, -1, -2, -4, -3, -5, -3, -5, -4, -4, -3, -2, -2,
  43. 98, -1, 98, 0, 1, 0, 0, -1, 98, -2, -3, -2, -2, -1, -1,
  44. 0, 1, 2, 2, 3, 3, 4, 5, 4, 5, 4, 3, 3, 1, 3,
  45. 100, 2, 99, 1, 0, 16, 0, 1, 103, 0, -1, 100, 0, -1, -2,
  46. -2, -3, 98, -4, -5, -4, -3, -3, -2, -2, -1, -1, 98, 0, 1,
  47. 1, 2, 1, 0, -1, -1, 99, -2, -1, -1, 98, 1, 2, 3, 3,
  48. 98, 4, 3, 3, 2, 1, 2, 2, 1, 2, 2, 1, 2, 99, 1,
  49. 0, 14, 0, 0, 1, 101, 0, -1, 100, 0, 98, -1, -2, -4, -3,
  50. -4, -4, -5, -4, -3, -3, -2, -1, -1, 98, 0, 1, 2, 1, 3,
  51. 2, 1, 0, 0, 98, -2, -1, -2, 0, 0, 1, 1, 2, 2, 98,
  52. 3, 4, 2, 2, 98, 1, 2, 1, 1, 2, 101, 1, 0, 12, 1,
  53. 105, 0, -1, 98, 0, 98, -1, 98, -3, 99, -4, -3, -2, -2, -1,
  54. 98, 0, 1, 1, 2, 3, 2, 3, 2, 1, 0, -1, -2, -1, -2,
  55. -2, 0, -1, 98, 1, 2, 2, 3, 3, 2, 2, 1, 1, 0, 98,
  56. 1, 2, 101, 1, 0, 0, 11, 99, 0, 1, 99, 0, -1, 99, 0,
  57. -1, 0, -1, -2, -2, -3, -3, 99, -4, -3, -2, -1, 98, 0, 1,
  58. 99, 2, 3, 2, 3, 1, 1, -1, -1, -2, -1, -2, -1, 98, 0,
  59. 1, 2, 1, 2, 3, 2, 1, 0, 1, 0, 105, 1, 0, 0, 10,
  60. 108, 0, -1, 0, 0, -2, -1, 99, -3, -4, -4, -3, -3, -1, -1,
  61. 0, 0, 1, 99, 2, 3, 99, 2, 98, 0, -2, -1, -2, -1, 0,
  62. -1, 1, 0, 1, 2, 1, 2, 2, 0, 1, 0, 0, 1, 0, 103,
  63. 1, 0, 0, 9, 101, 0, 1, 0, -1, 100, 0, -1, 0, -2, -1,
  64. -3, -2, -4, -3, -4, -4, 98, -2, 0, 0, 1, 104, 2, 1, 1,
  65. 0, 0, -1, -1, -2, -1, 0, -1, 0, 1, 0, 1, 1, 2, 1,
  66. 0, 1, 98, 0, 1, 1, 0, 2, 98, 1, 0, 1, 0, 0, 9,
  67. 106, 0, -1, 98, 0, -1, -2, -1, -3, -2, -4, -3, -4, -3, -2,
  68. -2, -1, 0, 1, 1, 2, 2, 3, 98, 2, 1, 2, 1, 1, 0,
  69. 1, 0, -1, 0, -2, -1, 0, -1, 0, 0, 1, 0, 98, 1, 99,
  70. 0, 1, 0, 102, 1, 0, 1, 0, 9, 0, 0, -1, 0, 0, 1,
  71. 99, 0, -1, 98, 0, 98, -1, -2, -3, -2, -3, -4, -3, -3, -2,
  72. -1, -1, 0, 1, 98, 2, 3, 2, 2, 1, 2, 1, 1, 0, 1,
  73. 98, 0, -1, 0, -1, -1, 0, -1, 0, 1, 0, 1, 0, 1, 101,
  74. 0, 103, 1, 0, 1, 8, 100, 0, 1, 100, 0, -1, 0, 0, -1,
  75. -1, 98, -2, 100, -3, -2, -1, 0, 1, 1, 102, 2, 1, 1, 0,
  76. 1, 1, 98, 0, -1, -1, 0, -1, 0, 0, -1, 0, 1, 0, 1,
  77. 103, 0, 103, 1, 0, 8, 98, 0, 1, 103, 0, -1, 0, -1, 99,
  78. -2, 99, -3, -2, -1, -1, 0, 1, 1, 98, 2, 3, 1, 2, 1,
  79. 2, 0, 0, 1, 1, 98, 0, -1, 0, -1, 0, 0, -1, 99, 0,
  80. 1, 98, 0, -1, 99, 0, 1, 0, 1, 2, 1, 1, 2, 0, 1,
  81. 8, 0, 1, 98, 0, 1, 101, 0, 98, -1, -2, -2, -3, -2, 98,
  82. -3, -2, -2, -1, 0, 0, 1, 2, 1, 100, 2, 1, 1, 0, 1,
  83. 1, 0, 1, 0, -1, 0, -1, -1, 104, 0, -1, 0, -1, 99, 0,
  84. 1, 1, 0, 1, 2, 1, 2, 1, 1, 7, 1, 1, 0, 0, 1,
  85. 0, 1, 99, 0, -1, 0, -1, 98, -2, -3, -2, -4, -3, 98, -2,
  86. -1, 0, 98, 1, 100, 2, 1, 2, 0, 1, 0, 1, 1, 98, 0,
  87. -1, 0, -1, 0, -1, 101, 0, -1, 0, -1, -1, 0, -1, 0, 0,
  88. 100, 1, 2, 2, 1, 1, 6, 2, 1, 0, 1, 1, 0, 1, 99,
  89. 0, -1, 0, 98, -2, -3, -2, -3, -4, -3, -2, -2, -1, -1, 1,
  90. 0, 2, 1, 2, 2, 1, 98, 2, 1, 0, 1, 1, 0, 1, 0,
  91. 1, -1, 0, 0, -1, 0, -1, 0, 0, -1, 98, 0, 99, -1, 0,
  92. -1, 98, 0, 1, 2, 1, 1, 2, 1, 2, 1, 6, 1, 1, 2,
  93. 1, 1, 0, 1, 0, 1, 0, -1, 0, -2, -1, -2, -3, -3, -2,
  94. -4, -4, -3, -2, -2, -1, 0, 0, 1, 2, 1, 98, 2, 1, 2,
  95. 2, 1, 0, 98, 1, 0, 1, 99, 0, -1, 0, 0, -1, 0, -1,
  96. 0, -1, 0, 98, -1, -2, -1, -1, 0, 0, 99, 1, 2, 1, 98,
  97. 2, 5, 2, 1, 2, 100, 1, 0, 0, -1, 0, -2, -1, 99, -3,
  98. -4, -4, -3, -2, -2, -1, 0, 98, 1, 2, 1, 100, 2, 1, 0,
  99. 99, 1, 0, 1, 100, 0, -1, 0, -1, 0, 100, -1, -2, -2, -1,
  100. -1, 98, 0, 1, 1, 98, 2, 1, 2, 2, 4, 99, 2, 99, 1,
  101. 98, 0, -1, 98, -2, -4, -3, 98, -4, -3, -3, -1, -1, 0, 98,
  102. 1, 100, 2, 1, 2, 2, 0, 1, 2, 0, 98, 1, 0, 1, 99,
  103. 0, 100, -1, -2, -1, 98, -2, 98, -1, 0, 0, 1, 2, 2, 1,
  104. 3, 1, 2, 2, 4, 100, 2, 99, 1, 0, 98, -1, -3, -3, 98,
  105. -4, -5, -4, -3, -3, -1, -1, 0, 1, 1, 2, 1, 2, 2, 3,
  106. 98, 2, 98, 1, 2, 101, 1, 100, 0, -1, -1, 100, -2, -3, -2,
  107. -2, -1, -1, 0, 98, 1, 2, 2, 3, 2, 1, 3, 4, 2, 2,
  108. 3, 2, 2, 1, 2, 1, 98, 0, -1, -2, -3, -3, 100, -5, -3,
  109. -3, -1, -1, 1, 0, 2, 2, 1, 3, 98, 2, 3, 2, 2, 1,
  110. 1, 2, 2, 1, 2, 99, 1, 0, 1, -1, 0, -1, 98, -2, -3,
  111. -2, 98, -3, -2, -1, -1, 0, 98, 1, 2, 2, 3, 2, 2, 3,
  112. 98, 3, 2, 3, 2, 1, 2, 1, 1, 0, 0, -2, -2, -3, -4,
  113. -6, -5, -7, -6, -5, -3, -3, -1, 0, 0, 1, 99, 2, 3, 2,
  114. 3, 2, 3, 2, 2, 1, 101, 2, 98, 1, 98, 0, -1, -2, 98,
  115. -3, -4, -3, -4, -3, -2, -2, -1, 1, 0, 2, 1, 2, 3, 2,
  116. 3, 2, 2, 4, 2, 3, 3, 2, 3, 2, 2, 1, 1, 0, 0,
  117. -2, -2, -4, -6, -7, -7, -8, -7, -5, -3, -2, -1, 0, 1, 1,
  118. 2, 2, 3, 2, 98, 3, 2, 98, 3, 1, 3, 2, 3, 100, 2,
  119. 1, 1, 0, 0, -1, -2, -3, -4, -5, -4, -4, -5, -4, -2, -2,
  120. -1, 0, 1, 99, 2, 3, 3, 2, 3, 4, 98, 3, 2, 3, 98,
  121. 2, 1, 0, 0, -2, -3, -5, -8, -9, -10, -10, -7, -5, -3, -1,
  122. 0, 1, 1, 2, 3, 2, 99, 3, 4, 103, 3, 2, 3, 2, 3,
  123. 2, 1, 2, 98, 0, -2, -3, -4, -5, -7, -5, -6, -4, -4, -2,
  124. 0, 0, 1, 1, 2, 2, 98, 3, 2, 3, 4, 101, 3, 2, 2,
  125. 1, 0, -1, -2, -5, -8, -12, -14, -13, -9, -6, -3, -1, 0, 2,
  126. 1, 3, 2, 3, 4, 3, 3, 4, 3, 4, 4, 3, 4, 98, 3,
  127. 4, 3, 3, 4, 3, 2, 3, 98, 2, 0, 0, -1, -2, -4, -5,
  128. -7, -8, -6, -6, -5, -3, -1, -1, 1, 1, 2, 3, 2, 3, 3,
  129. 2, 3, 6, 100, 3, 98, 2, 1, -1, -3, -7, -13, -18, -20, -15,
  130. -7, -4, 0, 0, 2, 2, 98, 3, 4, 3, 98, 4, 3, 101, 4,
  131. 3, 98, 4, 3, 4, 3, 4, 98, 3, 2, 2, 1, 1, 0, -2,
  132. -3, -5, -8, -8, -9, -8, -4, -4, -2, 0, 0, 2, 1, 3, 2,
  133. 2, 3, 3, 22, 100, 2, 1, -2, -8, -41, -63, -15, -3, 1, 3,
  134. 2, 4, 3, 101, 4, 5, 4, 4, 5, 98, 4, 5, 4, 4, 5,
  135. 4, 4, 5, 3, 4, 4, 5, 100, 4, 3, 4, 3, 4, 3, 3,
  136. 2, 3, 1, 2, 0, -1, -1, -4, -4, -6, -7, -7, -5, -5, -2,
  137. -2, 0, 0, 1, 2, 97, 71, 5, 5, -2, 110, -5, 97,-100, 114,
  138. 5, 4, -97, 5
  139. };
  140. static const unsigned char row_size[36] = {
  141. 14, 53, 58, 61, 52, 55, 61, 59, 53, 51, 51, 52, 56, 57, 53, 53, 49, 56,
  142. 54, 57, 45, 55, 54, 57, 65, 65, 54, 54, 53, 63, 63, 66, 61, 67, 61, 62
  143. };
  144.  
  145. const int threshold = 97;
  146.  
  147. int get_value(int row, int column)
  148. {
  149. const char * p = compressed_table;
  150. for (int i = 0; i < row; ++i)
  151. p += row_size[i];
  152. int value = 0;
  153. int delta = 0;
  154. int repeat_count = 0;
  155. int next_column = 0;
  156. while (next_column <= column)
  157. {
  158. if (repeat_count == 0)
  159. {
  160. repeat_count = 1;
  161. int offset = 0;
  162. if (*p == threshold)
  163. {
  164. offset = threshold;
  165. ++p;
  166. }
  167. else if (*p >= (threshold + 1))
  168. {
  169. repeat_count = 3 + (*p - (threshold + 1));
  170. ++p;
  171. }
  172. else if (*p <= -threshold)
  173. {
  174. repeat_count = 3 + (256 - (threshold + 1));
  175. repeat_count += -*p + threshold;
  176. ++p;
  177. }
  178. delta = *p + (*p >= 0 ? offset : -offset);
  179. ++p;
  180. }
  181. value += delta;
  182. --repeat_count;
  183. ++next_column;
  184. }
  185. return value;
  186. }
  187.  
  188. int main()
  189. {
  190. int my_table[37][73];
  191. for (int i = 0; i < 37; ++i)
  192. {
  193. std::cout << "{";
  194. for (int j = 0; j < 73; ++j)
  195. {
  196. if (j != 0)
  197. std::cout << ',';
  198. my_table[i][j] = get_value(i, j);
  199. std::cout << my_table[i][j];
  200. }
  201. std::cout << "}, \\\n";
  202. }
  203. return 0;
  204. }
  205.  
Success #stdin #stdout 0.01s 2728KB
stdin
Standard input is empty
stdout
{150,145,140,135,130,125,120,115,110,105,100,95,90,85,80,75,70,65,60,55,50,45,40,35,30,25,20,15,10,5,0,-4,-9,-14,-19,-24,-29,-34,-39,-44,-49,-54,-59,-64,-69,-74,-79,-84,-89,-94,-99,104,109,114,119,124,129,134,139,144,149,154,159,164,169,174,179,175,170,165,160,155,150}, \
{143,137,131,126,120,115,110,105,100,95,90,85,80,75,71,66,62,57,53,48,44,39,35,31,27,22,18,14,9,5,1,-3,-7,-11,-16,-20,-25,-29,-34,-38,-43,-47,-52,-57,-61,-66,-71,-76,-81,-86,-91,-96,101,107,112,117,123,128,134,140,146,151,157,163,169,175,178,172,166,160,154,148,143}, \
{130,124,118,112,107,101,96,92,87,82,78,74,70,65,61,57,54,50,46,42,38,34,31,27,23,19,16,12,8,4,1,-2,-6,-10,-14,-18,-22,-26,-30,-34,-38,-43,-47,-51,-56,-61,-65,-70,-75,-79,-84,-89,-94,100,105,111,116,122,128,135,141,148,155,162,170,177,174,166,159,151,144,137,130}, \
{111,104,99,94,89,85,81,77,73,70,66,63,60,56,53,50,46,43,40,36,33,30,26,23,20,16,13,10,6,3,0,-3,-6,-9,-13,-16,-20,-24,-28,-32,-36,-40,-44,-48,-52,-57,-61,-65,-70,-74,-79,-84,-88,-93,-98,103,109,115,121,128,135,143,152,162,172,176,165,154,144,134,125,118,111}, \
{85,81,77,74,71,68,65,63,60,58,56,53,51,49,46,43,41,38,35,32,29,26,23,19,16,13,10,7,4,1,-1,-3,-6,-9,-13,-16,-19,-23,-26,-30,-34,-38,-42,-46,-50,-54,-58,-62,-66,-70,-74,-78,-83,-87,-91,-95,100,105,110,117,124,133,144,159,178,160,141,125,112,103,96,90,85}, \
{62,60,58,57,55,54,52,51,50,48,47,46,44,42,41,39,36,34,31,28,25,22,19,16,13,10,7,4,2,0,-3,-5,-8,-10,-13,-16,-19,-22,-26,-29,-33,-37,-41,-45,-49,-53,-56,-60,-64,-67,-70,-74,-77,-80,-83,-86,-89,-91,-94,-97,101,105,111,130,109,84,77,74,71,68,66,64,62}, \
{46,46,45,44,44,43,42,42,41,41,40,39,38,37,36,35,33,31,28,26,23,20,16,13,10,7,4,1,-1,-3,-5,-7,-9,-12,-14,-16,-19,-22,-26,-29,-33,-36,-40,-44,-48,-51,-55,-58,-61,-64,-66,-68,-71,-72,-74,-74,-75,-74,-72,-68,-61,-48,-25,2,22,33,40,43,45,46,47,46,46}, \
{36,36,36,36,36,35,35,35,35,34,34,34,34,33,32,31,30,28,26,23,20,17,14,10,6,3,0,-2,-4,-7,-9,-10,-12,-14,-15,-17,-20,-23,-26,-29,-32,-36,-40,-43,-47,-50,-53,-56,-58,-60,-62,-63,-64,-64,-63,-62,-59,-55,-49,-41,-30,-17,-4,6,15,22,27,31,33,34,35,36,36}, \
{30,30,30,30,30,30,30,29,29,29,29,29,29,29,29,28,27,26,24,21,18,15,11,7,3,0,-3,-6,-9,-11,-12,-14,-15,-16,-17,-19,-21,-23,-26,-29,-32,-35,-39,-42,-45,-48,-51,-53,-55,-56,-57,-57,-56,-55,-53,-49,-44,-38,-31,-23,-14,-6,0,7,13,17,21,24,26,27,29,29,30}, \
{25,25,26,26,26,25,25,25,25,25,25,25,25,26,25,25,24,23,21,19,16,12,8,4,0,-3,-7,-10,-13,-15,-16,-17,-18,-19,-20,-21,-22,-23,-25,-28,-31,-34,-37,-40,-43,-46,-48,-49,-50,-51,-51,-50,-48,-45,-42,-37,-32,-26,-19,-13,-7,-1,3,7,11,14,17,19,21,23,24,25,25}, \
{21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,21,20,18,16,13,9,5,1,-3,-7,-11,-14,-17,-18,-20,-21,-21,-22,-22,-22,-23,-23,-25,-27,-29,-32,-35,-37,-40,-42,-44,-45,-45,-45,-44,-42,-40,-36,-32,-27,-22,-17,-12,-7,-3,0,3,7,9,12,14,16,18,19,20,21,21}, \
{18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,18,17,16,14,10,7,2,-1,-6,-10,-14,-17,-19,-21,-22,-23,-24,-24,-24,-24,-23,-23,-23,-24,-26,-28,-30,-33,-35,-37,-38,-39,-39,-38,-36,-34,-31,-28,-24,-19,-15,-10,-6,-3,0,1,4,6,8,10,12,14,15,16,17,18,18}, \
{16,16,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,15,13,11,8,4,0,-4,-9,-13,-16,-19,-21,-23,-24,-25,-25,-25,-25,-24,-23,-21,-20,-20,-21,-22,-24,-26,-28,-30,-31,-32,-31,-30,-29,-27,-24,-21,-17,-13,-9,-6,-3,-1,0,2,4,5,7,9,10,12,13,14,15,16,16}, \
{14,14,14,15,15,15,15,15,15,15,14,14,14,14,14,14,13,12,11,9,5,2,-2,-6,-11,-15,-18,-21,-23,-24,-25,-25,-25,-25,-24,-22,-21,-18,-16,-15,-15,-15,-17,-19,-21,-22,-24,-24,-24,-23,-22,-20,-18,-15,-12,-9,-5,-3,-1,0,1,2,4,5,6,8,9,10,11,12,13,14,14}, \
{12,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,11,10,9,6,3,0,-4,-8,-12,-16,-19,-21,-23,-24,-24,-24,-24,-23,-22,-20,-17,-15,-12,-10,-9,-9,-10,-12,-13,-15,-17,-17,-18,-17,-16,-15,-13,-11,-8,-5,-3,-1,0,1,1,2,3,4,6,7,8,9,10,11,12,12,12}, \
{11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,10,10,9,7,5,2,-1,-5,-9,-13,-17,-20,-22,-23,-23,-23,-23,-22,-20,-18,-16,-14,-11,-9,-6,-5,-4,-5,-6,-8,-9,-11,-12,-12,-12,-12,-11,-9,-8,-6,-3,-1,0,0,1,1,2,3,4,5,6,7,8,9,10,11,11,11}, \
{10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,7,6,3,0,-3,-6,-10,-14,-17,-20,-21,-22,-22,-22,-21,-19,-17,-15,-13,-10,-8,-6,-4,-2,-2,-2,-2,-4,-5,-7,-8,-8,-9,-8,-8,-7,-5,-4,-2,0,0,1,1,1,2,2,3,4,5,6,7,8,9,10,10,10}, \
{9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,8,8,6,5,2,0,-4,-7,-11,-15,-17,-19,-21,-21,-21,-20,-18,-16,-14,-12,-10,-8,-6,-4,-2,-1,0,0,0,-1,-2,-4,-5,-5,-6,-6,-5,-5,-4,-3,-1,0,0,1,1,1,1,2,3,3,5,6,7,8,8,9,9,9}, \
{9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,7,5,4,1,-1,-5,-8,-12,-15,-17,-19,-20,-20,-19,-18,-16,-14,-11,-9,-7,-5,-4,-2,-1,0,0,1,1,0,0,-2,-3,-3,-4,-4,-4,-3,-3,-2,-1,0,0,0,0,0,1,1,2,3,4,5,6,7,8,8,9,9}, \
{9,9,9,8,8,8,9,9,9,9,9,8,8,8,8,7,6,5,3,0,-2,-5,-9,-12,-15,-17,-18,-19,-19,-18,-16,-14,-12,-9,-7,-5,-4,-2,-1,0,0,1,1,1,1,0,0,-1,-2,-2,-3,-3,-2,-2,-1,-1,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,8,9}, \
{8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,7,6,4,2,0,-3,-6,-9,-12,-15,-17,-18,-18,-17,-16,-14,-12,-10,-8,-6,-4,-2,-1,0,0,1,2,2,2,2,1,0,0,-1,-1,-1,-2,-2,-1,-1,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,8}, \
{8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,7,5,3,1,-1,-4,-7,-10,-13,-15,-16,-17,-17,-16,-15,-13,-11,-9,-6,-5,-3,-2,0,0,0,1,2,2,2,2,1,1,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,0,0,1,3,4,5,7,7,8}, \
{8,8,9,9,9,9,10,10,10,10,10,10,10,9,8,7,5,3,0,-2,-5,-8,-11,-13,-15,-16,-16,-16,-15,-13,-12,-10,-8,-6,-4,-2,-1,0,0,1,2,2,3,3,2,2,1,0,0,0,0,0,0,0,0,0,0,-1,-1,-2,-2,-2,-2,-2,-1,0,0,1,3,4,6,7,8}, \
{7,8,9,9,9,10,10,11,11,11,11,11,10,10,9,7,5,3,0,-2,-6,-9,-11,-13,-15,-16,-16,-15,-14,-13,-11,-9,-7,-5,-3,-2,0,0,1,1,2,3,3,3,3,2,2,1,1,0,0,0,0,0,0,0,-1,-1,-2,-3,-3,-4,-4,-4,-3,-2,-1,0,1,3,5,6,7}, \
{6,8,9,9,10,11,11,12,12,12,12,12,11,11,9,7,5,2,0,-3,-7,-10,-12,-14,-15,-16,-15,-15,-13,-12,-10,-8,-7,-5,-3,-1,0,0,1,2,2,3,3,4,3,3,3,2,2,1,1,1,0,0,0,0,-1,-2,-3,-4,-4,-5,-5,-5,-5,-4,-2,-1,0,2,3,5,6}, \
{6,7,8,10,11,12,12,13,13,14,14,13,13,11,10,8,5,2,0,-4,-8,-11,-13,-15,-16,-16,-16,-15,-13,-12,-10,-8,-6,-5,-3,-1,0,0,1,2,3,3,4,4,4,4,4,3,3,3,2,2,1,1,0,0,-1,-2,-3,-5,-6,-7,-7,-7,-6,-5,-4,-3,-1,0,2,4,6}, \
{5,7,8,10,11,12,13,14,15,15,15,14,14,12,11,8,5,2,-1,-5,-9,-12,-14,-16,-17,-17,-16,-15,-14,-12,-11,-9,-7,-5,-3,-1,0,0,1,2,3,4,4,5,5,5,5,5,5,4,4,3,3,2,1,0,-1,-2,-4,-6,-7,-8,-8,-8,-8,-7,-6,-4,-2,0,1,3,5}, \
{4,6,8,10,12,13,14,15,16,16,16,16,15,13,11,9,5,2,-2,-6,-10,-13,-16,-17,-18,-18,-17,-16,-15,-13,-11,-9,-7,-5,-4,-2,0,0,1,3,3,4,5,6,6,7,7,7,7,7,6,5,4,3,2,0,-1,-3,-5,-7,-8,-9,-10,-10,-10,-9,-7,-5,-4,-1,0,2,4}, \
{4,6,8,10,12,14,15,16,17,18,18,17,16,15,12,9,5,1,-3,-8,-12,-15,-18,-19,-20,-20,-19,-18,-16,-15,-13,-11,-8,-6,-4,-2,-1,0,1,3,4,5,6,7,8,9,9,9,9,9,9,8,7,5,3,1,-1,-3,-6,-8,-10,-11,-12,-12,-11,-10,-9,-7,-5,-2,0,1,4}, \
{4,6,8,11,13,15,16,18,19,19,19,19,18,16,13,10,5,0,-5,-10,-15,-18,-21,-22,-23,-22,-22,-20,-18,-17,-14,-12,-10,-8,-5,-3,-1,0,1,3,5,6,8,9,10,11,12,12,13,12,12,11,9,7,5,2,0,-3,-6,-9,-11,-12,-13,-13,-12,-11,-10,-8,-6,-3,-1,1,4}, \
{3,6,9,11,14,16,17,19,20,21,21,21,19,17,14,10,4,-1,-8,-14,-19,-22,-25,-26,-26,-26,-25,-23,-21,-19,-17,-14,-12,-9,-7,-4,-2,0,1,3,5,7,9,11,13,14,15,16,16,16,16,15,13,10,7,4,0,-3,-7,-10,-12,-14,-15,-14,-14,-12,-11,-9,-6,-4,-1,1,3}, \
{4,6,9,12,14,17,19,21,22,23,23,23,21,19,15,9,2,-5,-13,-20,-25,-28,-30,-31,-31,-30,-29,-27,-25,-22,-20,-17,-14,-11,-9,-6,-3,0,1,4,6,9,11,13,15,17,19,20,21,21,21,20,18,15,11,6,2,-2,-7,-11,-13,-15,-16,-16,-15,-13,-11,-9,-7,-4,-1,1,4}, \
{4,7,10,13,15,18,20,22,24,25,25,25,23,20,15,7,-2,-12,-22,-29,-34,-37,-38,-38,-37,-36,-34,-31,-29,-26,-23,-20,-17,-13,-10,-7,-4,-1,2,5,8,11,13,16,18,21,23,24,26,26,26,26,24,21,17,12,5,0,-6,-10,-14,-16,-16,-16,-15,-14,-12,-10,-7,-4,-1,1,4}, \
{4,7,10,13,16,19,22,24,26,27,27,26,24,19,11,-1,-15,-28,-37,-43,-46,-47,-47,-45,-44,-41,-39,-36,-32,-29,-26,-22,-19,-15,-11,-8,-4,-1,2,5,9,12,15,19,22,24,27,29,31,33,33,33,32,30,26,21,14,6,0,-6,-11,-14,-15,-16,-15,-14,-12,-9,-7,-4,-1,1,4}, \
{6,9,12,15,18,21,23,25,27,28,27,24,17,4,-14,-34,-49,-56,-60,-60,-60,-58,-56,-53,-50,-47,-43,-40,-36,-32,-28,-25,-21,-17,-13,-9,-5,-1,2,6,10,14,17,21,24,28,31,34,37,39,41,42,43,43,41,38,33,25,17,8,0,-4,-8,-10,-10,-10,-8,-7,-4,-2,0,3,6}, \
{22,24,26,28,30,32,33,31,23,-18,-81,-96,-99,-98,-95,-93,-89,-86,-82,-78,-74,-70,-66,-62,-57,-53,-49,-44,-40,-36,-32,-27,-23,-19,-14,-10,-6,-1,2,6,10,15,19,23,27,31,35,38,42,45,49,52,55,57,60,61,63,63,62,61,57,53,47,40,33,28,23,21,19,19,19,20,22}, \
{168,173,178,176,171,166,161,156,151,146,141,136,131,126,121,116,111,106,101,-96,-91,-86,-81,-76,-71,-66,-61,-56,-51,-46,-41,-36,-31,-26,-21,-16,-11,-6,-1,3,8,13,18,23,28,33,38,43,48,53,58,63,68,73,78,83,88,93,98,103,108,113,118,123,128,133,138,143,148,153,158,163,168}, \