VIMA Predict Table: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 1: Line 1:
Put on your seatbelt.
This is the predictor table for the [[VIMA]] audio decoder. Seatbelt not included.


<code>
<code>

Revision as of 18:57, 24 March 2006

This is the predictor table for the VIMA audio decoder. Seatbelt not included.

uint16_t predict_table[] = {

  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3,
  3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8,
  8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11,
  11, 11, 11, 11, 11, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3,
  3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8,
  9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13,
  13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 0, 0, 0, 0, 1, 1, 1,
  1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6,
  7, 7, 7, 7, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12,
  12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16,
  16, 16, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 5, 5, 5,
  5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 10, 10, 10, 10, 11, 11,
  11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 15, 15, 15, 15, 16, 16,
  16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 0, 0, 0, 0, 1, 1, 1, 1,
  2, 2, 2, 2, 3, 3, 3, 3, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8,
  8, 8, 8, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14,
  14, 14, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19,
  19, 19, 0, 0, 0, 0, 1, 1, 1, 1, 3, 3, 3, 3, 4, 4, 4, 4, 6, 6, 6,
  6, 7, 7, 7, 7, 9, 9, 9, 9, 10, 10, 10, 10, 12, 12, 12, 12, 13,
  13, 13, 13, 15, 15, 15, 15, 16, 16, 16, 16, 18, 18, 18, 18, 19,
  19, 19, 19, 21, 21, 21, 21, 22, 22, 22, 22, 0, 0, 0, 0, 1, 1, 1,
  1, 3, 3, 3, 3, 4, 4, 4, 4, 6, 6, 6, 6, 7, 7, 7, 7, 9, 9, 9, 9,
  10, 10, 10, 10, 13, 13, 13, 13, 14, 14, 14, 14, 16, 16, 16, 16,
  17, 17, 17, 17, 19, 19, 19, 19, 20, 20, 20, 20, 22, 22, 22, 22,
  23, 23, 23, 23, 0, 0, 0, 0, 1, 1, 1, 1, 3, 3, 3, 3, 4, 4, 4, 4,
  7, 7, 7, 7, 8, 8, 8, 8, 10, 10, 10, 10, 11, 11, 11, 11, 14, 14,
  14, 14, 15, 15, 15, 15, 17, 17, 17, 17, 18, 18, 18, 18, 21, 21,
  21, 21, 22, 22, 22, 22, 24, 24, 24, 24, 25, 25, 25, 25, 0, 0, 1,
  1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11,
  11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19,
  19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27,
  27, 28, 28, 29, 29, 30, 30, 31, 31, 0, 0, 1, 1, 2, 2, 3, 3, 4,
  4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13,
  14, 14, 15, 15, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,
  23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30,
  31, 31, 32, 32, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
  9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16,
  19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26,
  28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35,
  0, 0, 1, 1, 2, 2, 3, 3, 5, 5, 6, 6, 7, 7, 8, 8, 10, 10, 11, 11,
  12, 12, 13, 13, 15, 15, 16, 16, 17, 17, 18, 18, 21, 21, 22, 22,
  23, 23, 24, 24, 26, 26, 27, 27, 28, 28, 29, 29, 31, 31, 32, 32,
  33, 33, 34, 34, 36, 36, 37, 37, 38, 38, 39, 39, 0, 0, 1, 1, 2,
  2, 3, 3, 5, 5, 6, 6, 7, 7, 8, 8, 11, 11, 12, 12, 13, 13, 14, 14,
  16, 16, 17, 17, 18, 18, 19, 19, 23, 23, 24, 24, 25, 25, 26, 26,
  28, 28, 29, 29, 30, 30, 31, 31, 34, 34, 35, 35, 36, 36, 37, 37,
  39, 39, 40, 40, 41, 41, 42, 42, 0, 0, 1, 1, 3, 3, 4, 4, 6, 6, 7,
  7, 9, 9, 10, 10, 12, 12, 13, 13, 15, 15, 16, 16, 18, 18, 19, 19,
  21, 21, 22, 22, 25, 25, 26, 26, 28, 28, 29, 29, 31, 31, 32, 32,
  34, 34, 35, 35, 37, 37, 38, 38, 40, 40, 41, 41, 43, 43, 44, 44,
  46, 46, 47, 47, 0, 0, 1, 1, 3, 3, 4, 4, 7, 7, 8, 8, 10, 10, 11,
  11, 14, 14, 15, 15, 17, 17, 18, 18, 21, 21, 22, 22, 24, 24, 25,
  25, 28, 28, 29, 29, 31, 31, 32, 32, 35, 35, 36, 36, 38, 38, 39,
  39, 42, 42, 43, 43, 45, 45, 46, 46, 49, 49, 50, 50, 52, 52, 53,
  53, 0, 0, 1, 1, 3, 3, 4, 4, 7, 7, 8, 8, 10, 10, 11, 11, 15, 15,
  16, 16, 18, 18, 19, 19, 22, 22, 23, 23, 25, 25, 26, 26, 31, 31,
  32, 32, 34, 34, 35, 35, 38, 38, 39, 39, 41, 41, 42, 42, 46, 46,
  47, 47, 49, 49, 50, 50, 53, 53, 54, 54, 56, 56, 57, 57, 0, 1, 2,
  3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21,
  22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38,
  39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55,
  56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 0, 1, 2, 3, 4, 5, 6,
  7, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24,
  25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43,
  44, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 61,
  62, 64, 65, 66, 67, 68, 69, 70, 71, 0, 1, 2, 3, 5, 6, 7, 8, 10,
  11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 30,
  31, 32, 33, 35, 36, 37, 38, 41, 42, 43, 44, 46, 47, 48, 49, 51,
  52, 53, 54, 56, 57, 58, 59, 61, 62, 63, 64, 66, 67, 68, 69, 71,
  72, 73, 74, 76, 77, 78, 79, 0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13,
  14, 16, 17, 18, 19, 22, 23, 24, 25, 27, 28, 29, 30, 33, 34, 35,
  36, 38, 39, 40, 41, 45, 46, 47, 48, 50, 51, 52, 53, 56, 57, 58,
  59, 61, 62, 63, 64, 67, 68, 69, 70, 72, 73, 74, 75, 78, 79, 80,
  81, 83, 84, 85, 86, 0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 15, 16, 18,
  19, 21, 22, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41, 43,
  44, 46, 47, 50, 51, 53, 54, 56, 57, 59, 60, 62, 63, 65, 66, 68,
  69, 71, 72, 75, 76, 78, 79, 81, 82, 84, 85, 87, 88, 90, 91, 93,
  94, 96, 97, 0, 1, 3, 4, 6, 7, 9, 10, 13, 14, 16, 17, 19, 20, 22,
  23, 27, 28, 30, 31, 33, 34, 36, 37, 40, 41, 43, 44, 46, 47, 49,
  50, 55, 56, 58, 59, 61, 62, 64, 65, 68, 69, 71, 72, 74, 75, 77,
  78, 82, 83, 85, 86, 88, 89, 91, 92, 95, 96, 98, 99, 101, 102,
  104, 105, 0, 1, 3, 4, 7, 8, 10, 11, 15, 16, 18, 19, 22, 23, 25,
  26, 30, 31, 33, 34, 37, 38, 40, 41, 45, 46, 48, 49, 52, 53, 55,
  56, 60, 61, 63, 64, 67, 68, 70, 71, 75, 76, 78, 79, 82, 83, 85,
  86, 90, 91, 93, 94, 97, 98, 100, 101, 105, 106, 108, 109, 112,
  113, 115, 116, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24,
  26, 28, 30, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57,
  59, 61, 63, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90,
  92, 94, 96, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117,
  119, 121, 123, 125, 127, 129, 0, 2, 4, 6, 9, 11, 13, 15, 18, 20,
  22, 24, 27, 29, 31, 33, 36, 38, 40, 42, 45, 47, 49, 51, 54, 56,
  58, 60, 63, 65, 67, 69, 73, 75, 77, 79, 82, 84, 86, 88, 91, 93,
  95, 97, 100, 102, 104, 106, 109, 111, 113, 115, 118, 120, 122,
  124, 127, 129, 131, 133, 136, 138, 140, 142, 0, 2, 5, 7, 10, 12,
  15, 17, 20, 22, 25, 27, 30, 32, 35, 37, 40, 42, 45, 47, 50, 52,
  55, 57, 60, 62, 65, 67, 70, 72, 75, 77, 80, 82, 85, 87, 90, 92,
  95, 97, 100, 102, 105, 107, 110, 112, 115, 117, 120, 122, 125,
  127, 130, 132, 135, 137, 140, 142, 145, 147, 150, 152, 155, 157,
  0, 2, 5, 7, 11, 13, 16, 18, 22, 24, 27, 29, 33, 35, 38, 40, 44,
  46, 49, 51, 55, 57, 60, 62, 66, 68, 71, 73, 77, 79, 82, 84, 88,
  90, 93, 95, 99, 101, 104, 106, 110, 112, 115, 117, 121, 123,
  126, 128, 132, 134, 137, 139, 143, 145, 148, 150, 154, 156, 159,
  161, 165, 167, 170, 172, 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30,
  33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78,
  81, 84, 87, 90, 93, 97, 100, 103, 106, 109, 112, 115, 118, 121,
  124, 127, 130, 133, 136, 139, 142, 145, 148, 151, 154, 157, 160,
  163, 166, 169, 172, 175, 178, 181, 184, 187, 190, 0, 3, 6, 9,
  13, 16, 19, 22, 26, 29, 32, 35, 39, 42, 45, 48, 53, 56, 59, 62,
  66, 69, 72, 75, 79, 82, 85, 88, 92, 95, 98, 101, 107, 110, 113,
  116, 120, 123, 126, 129, 133, 136, 139, 142, 146, 149, 152, 155,
  160, 163, 166, 169, 173, 176, 179, 182, 186, 189, 192, 195, 199,
  202, 205, 208, 0, 3, 7, 10, 14, 17, 21, 24, 29, 32, 36, 39, 43,
  46, 50, 53, 59, 62, 66, 69, 73, 76, 80, 83, 88, 91, 95, 98, 102,
  105, 109, 112, 118, 121, 125, 128, 132, 135, 139, 142, 147, 150,
  154, 157, 161, 164, 168, 171, 177, 180, 184, 187, 191, 194, 198,
  201, 206, 209, 213, 216, 220, 223, 227, 230, 0, 4, 8, 12, 16,
  20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 65, 69, 73, 77, 81,
  85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 125, 130, 134,
  138, 142, 146, 150, 154, 158, 162, 166, 170, 174, 178, 182, 186,
  190, 195, 199, 203, 207, 211, 215, 219, 223, 227, 231, 235, 239,
  243, 247, 251, 255, 0, 4, 8, 12, 17, 21, 25, 29, 35, 39, 43, 47,
  52, 56, 60, 64, 71, 75, 79, 83, 88, 92, 96, 100, 106, 110, 114,
  118, 123, 127, 131, 135, 143, 147, 151, 155, 160, 164, 168, 172,
  178, 182, 186, 190, 195, 199, 203, 207, 214, 218, 222, 226, 231,
  235, 239, 243, 249, 253, 257, 261, 266, 270, 274, 278, 0, 4, 9,
  13, 19, 23, 28, 32, 39, 43, 48, 52, 58, 62, 67, 71, 78, 82, 87,
  91, 97, 101, 106, 110, 117, 121, 126, 130, 136, 140, 145, 149,
  157, 161, 166, 170, 176, 180, 185, 189, 196, 200, 205, 209, 215,
  219, 224, 228, 235, 239, 244, 248, 254, 258, 263, 267, 274, 278,
  283, 287, 293, 297, 302, 306, 0, 5, 10, 15, 21, 26, 31, 36, 43,
  48, 53, 58, 64, 69, 74, 79, 86, 91, 96, 101, 107, 112, 117, 122,
  129, 134, 139, 144, 150, 155, 160, 165, 173, 178, 183, 188, 194,
  199, 204, 209, 216, 221, 226, 231, 237, 242, 247, 252, 259, 264,
  269, 274, 280, 285, 290, 295, 302, 307, 312, 317, 323, 328, 333,
  338, 0, 5, 11, 16, 23, 28, 34, 39, 47, 52, 58, 63, 70, 75, 81,
  86, 95, 100, 106, 111, 118, 123, 129, 134, 142, 147, 153, 158,
  165, 170, 176, 181, 190, 195, 201, 206, 213, 218, 224, 229, 237,
  242, 248, 253, 260, 265, 271, 276, 285, 290, 296, 301, 308, 313,
  319, 324, 332, 337, 343, 348, 355, 360, 366, 371, 0, 6, 13, 19,
  26, 32, 39, 45, 52, 58, 65, 71, 78, 84, 91, 97, 104, 110, 117,
  123, 130, 136, 143, 149, 156, 162, 169, 175, 182, 188, 195, 201,
  209, 215, 222, 228, 235, 241, 248, 254, 261, 267, 274, 280, 287,
  293, 300, 306, 313, 319, 326, 332, 339, 345, 352, 358, 365, 371,
  378, 384, 391, 397, 404, 410, 0, 7, 14, 21, 28, 35, 42, 49, 57,
  64, 71, 78, 85, 92, 99, 106, 115, 122, 129, 136, 143, 150, 157,
  164, 172, 179, 186, 193, 200, 207, 214, 221, 230, 237, 244, 251,
  258, 265, 272, 279, 287, 294, 301, 308, 315, 322, 329, 336, 345,
  352, 359, 366, 373, 380, 387, 394, 402, 409, 416, 423, 430, 437,
  444, 451, 0, 7, 15, 22, 31, 38, 46, 53, 63, 70, 78, 85, 94, 101,
  109, 116, 126, 133, 141, 148, 157, 164, 172, 179, 189, 196, 204,
  211, 220, 227, 235, 242, 253, 260, 268, 275, 284, 291, 299, 306,
  316, 323, 331, 338, 347, 354, 362, 369, 379, 386, 394, 401, 410,
  417, 425, 432, 442, 449, 457, 464, 473, 480, 488, 495, 0, 8, 17,
  25, 34, 42, 51, 59, 69, 77, 86, 94, 103, 111, 120, 128, 139,
  147, 156, 164, 173, 181, 190, 198, 208, 216, 225, 233, 242, 250,
  259, 267, 279, 287, 296, 304, 313, 321, 330, 338, 348, 356, 365,
  373, 382, 390, 399, 407, 418, 426, 435, 443, 452, 460, 469, 477,
  487, 495, 504, 512, 521, 529, 538, 546, 0, 9, 19, 28, 38, 47,
  57, 66, 76, 85, 95, 104, 114, 123, 133, 142, 153, 162, 172, 181,
  191, 200, 210, 219, 229, 238, 248, 257, 267, 276, 286, 295, 307,
  316, 326, 335, 345, 354, 364, 373, 383, 392, 402, 411, 421, 430,
  440, 449, 460, 469, 479, 488, 498, 507, 517, 526, 536, 545, 555,
  564, 574, 583, 593, 602, 0, 10, 21, 31, 42, 52, 63, 73, 84, 94,
  105, 115, 126, 136, 147, 157, 168, 178, 189, 199, 210, 220, 231,
  241, 252, 262, 273, 283, 294, 304, 315, 325, 337, 347, 358, 368,
  379, 389, 400, 410, 421, 431, 442, 452, 463, 473, 484, 494, 505,
  515, 526, 536, 547, 557, 568, 578, 589, 599, 610, 620, 631, 641,
  652, 662, 0, 11, 23, 34, 46, 57, 69, 80, 92, 103, 115, 126, 138,
  149, 161, 172, 185, 196, 208, 219, 231, 242, 254, 265, 277, 288,
  300, 311, 323, 334, 346, 357, 371, 382, 394, 405, 417, 428, 440,
  451, 463, 474, 486, 497, 509, 520, 532, 543, 556, 567, 579, 590,
  602, 613, 625, 636, 648, 659, 671, 682, 694, 705, 717, 728, 0,
  12, 25, 37, 51, 63, 76, 88, 102, 114, 127, 139, 153, 165, 178,
  190, 204, 216, 229, 241, 255, 267, 280, 292, 306, 318, 331, 343,
  357, 369, 382, 394, 408, 420, 433, 445, 459, 471, 484, 496, 510,
  522, 535, 547, 561, 573, 586, 598, 612, 624, 637, 649, 663, 675,
  688, 700, 714, 726, 739, 751, 765, 777, 790, 802, 0, 14, 28, 42,
  56, 70, 84, 98, 112, 126, 140, 154, 168, 182, 196, 210, 224,
  238, 252, 266, 280, 294, 308, 322, 336, 350, 364, 378, 392, 406,
  420, 434, 449, 463, 477, 491, 505, 519, 533, 547, 561, 575, 589,
  603, 617, 631, 645, 659, 673, 687, 701, 715, 729, 743, 757, 771,
  785, 799, 813, 827, 841, 855, 869, 883, 0, 15, 30, 45, 61, 76,
  91, 106, 123, 138, 153, 168, 184, 199, 214, 229, 247, 262, 277,
  292, 308, 323, 338, 353, 370, 385, 400, 415, 431, 446, 461, 476,
  494, 509, 524, 539, 555, 570, 585, 600, 617, 632, 647, 662, 678,
  693, 708, 723, 741, 756, 771, 786, 802, 817, 832, 847, 864, 879,
  894, 909, 925, 940, 955, 970, 0, 17, 34, 51, 68, 85, 102, 119,
  136, 153, 170, 187, 204, 221, 238, 255, 272, 289, 306, 323, 340,
  357, 374, 391, 408, 425, 442, 459, 476, 493, 510, 527, 544, 561,
  578, 595, 612, 629, 646, 663, 680, 697, 714, 731, 748, 765, 782,
  799, 816, 833, 850, 867, 884, 901, 918, 935, 952, 969, 986,
  1003, 1020, 1037, 1054, 1071, 0, 18, 37, 55, 74, 92, 111, 129,
  149, 167, 186, 204, 223, 241, 260, 278, 299, 317, 336, 354, 373,
  391, 410, 428, 448, 466, 485, 503, 522, 540, 559, 577, 598, 616,
  635, 653, 672, 690, 709, 727, 747, 765, 784, 802, 821, 839, 858,
  876, 897, 915, 934, 952, 971, 989, 1008, 1026, 1046, 1064, 1083,
  1101, 1120, 1138, 1157, 1175, 0, 20, 41, 61, 82, 102, 123, 143,
  164, 184, 205, 225, 246, 266, 287, 307, 329, 349, 370, 390, 411,
  431, 452, 472, 493, 513, 534, 554, 575, 595, 616, 636, 658, 678,
  699, 719, 740, 760, 781, 801, 822, 842, 863, 883, 904, 924, 945,
  965, 987, 1007, 1028, 1048, 1069, 1089, 1110, 1130, 1151, 1171,
  1192, 1212, 1233, 1253, 1274, 1294, 0, 22, 45, 67, 90, 112, 135,
  157, 181, 203, 226, 248, 271, 293, 316, 338, 362, 384, 407, 429,
  452, 474, 497, 519, 543, 565, 588, 610, 633, 655, 678, 700, 724,
  746, 769, 791, 814, 836, 859, 881, 905, 927, 950, 972, 995,
  1017, 1040, 1062, 1086, 1108, 1131, 1153, 1176, 1198, 1221,
  1243, 1267, 1289, 1312, 1334, 1357, 1379, 1402, 1424, 0, 24, 49,
  73, 99, 123, 148, 172, 199, 223, 248, 272, 298, 322, 347, 371,
  398, 422, 447, 471, 497, 521, 546, 570, 597, 621, 646, 670, 696,
  720, 745, 769, 796, 820, 845, 869, 895, 919, 944, 968, 995,
  1019, 1044, 1068, 1094, 1118, 1143, 1167, 1194, 1218, 1243,
  1267, 1293, 1317, 1342, 1366, 1393, 1417, 1442, 1466, 1492,
  1516, 1541, 1565, 0, 27, 54, 81, 109, 136, 163, 190, 219, 246,
  273, 300, 328, 355, 382, 409, 438, 465, 492, 519, 547, 574, 601,
  628, 657, 684, 711, 738, 766, 793, 820, 847, 876, 903, 930, 957,
  985, 1012, 1039, 1066, 1095, 1122, 1149, 1176, 1204, 1231, 1258,
  1285, 1314, 1341, 1368, 1395, 1423, 1450, 1477, 1504, 1533,
  1560, 1587, 1614, 1642, 1669, 1696, 1723, 0, 30, 60, 90, 120,
  150, 180, 210, 240, 270, 300, 330, 360, 390, 420, 450, 481, 511,
  541, 571, 601, 631, 661, 691, 721, 751, 781, 811, 841, 871, 901,
  931, 963, 993, 1023, 1053, 1083, 1113, 1143, 1173, 1203, 1233,
  1263, 1293, 1323, 1353, 1383, 1413, 1444, 1474, 1504, 1534,
  1564, 1594, 1624, 1654, 1684, 1714, 1744, 1774, 1804, 1834,
  1864, 1894, 0, 33, 66, 99, 132, 165, 198, 231, 265, 298, 331,
  364, 397, 430, 463, 496, 530, 563, 596, 629, 662, 695, 728, 761,
  795, 828, 861, 894, 927, 960, 993, 1026, 1060, 1093, 1126, 1159,
  1192, 1225, 1258, 1291, 1325, 1358, 1391, 1424, 1457, 1490,
  1523, 1556, 1590, 1623, 1656, 1689, 1722, 1755, 1788, 1821,
  1855, 1888, 1921, 1954, 1987, 2020, 2053, 2086, 0, 36, 72, 108,
  145, 181, 217, 253, 291, 327, 363, 399, 436, 472, 508, 544, 583,
  619, 655, 691, 728, 764, 800, 836, 874, 910, 946, 982, 1019,
  1055, 1091, 1127, 1166, 1202, 1238, 1274, 1311, 1347, 1383,
  1419, 1457, 1493, 1529, 1565, 1602, 1638, 1674, 1710, 1749,
  1785, 1821, 1857, 1894, 1930, 1966, 2002, 2040, 2076, 2112,
  2148, 2185, 2221, 2257, 2293, 0, 40, 80, 120, 160, 200, 240,
  280, 320, 360, 400, 440, 480, 520, 560, 600, 641, 681, 721, 761,
  801, 841, 881, 921, 961, 1001, 1041, 1081, 1121, 1161, 1201,
  1241, 1282, 1322, 1362, 1402, 1442, 1482, 1522, 1562, 1602,
  1642, 1682, 1722, 1762, 1802, 1842, 1882, 1923, 1963, 2003,
  2043, 2083, 2123, 2163, 2203, 2243, 2283, 2323, 2363, 2403,
  2443, 2483, 2523, 0, 44, 88, 132, 176, 220, 264, 308, 352, 396,
  440, 484, 528, 572, 616, 660, 705, 749, 793, 837, 881, 925, 969,
  1013, 1057, 1101, 1145, 1189, 1233, 1277, 1321, 1365, 1411,
  1455, 1499, 1543, 1587, 1631, 1675, 1719, 1763, 1807, 1851,
  1895, 1939, 1983, 2027, 2071, 2116, 2160, 2204, 2248, 2292,
  2336, 2380, 2424, 2468, 2512, 2556, 2600, 2644, 2688, 2732,
  2776, 0, 48, 97, 145, 194, 242, 291, 339, 388, 436, 485, 533,
  582, 630, 679, 727, 776, 824, 873, 921, 970, 1018, 1067, 1115,
  1164, 1212, 1261, 1309, 1358, 1406, 1455, 1503, 1552, 1600,
  1649, 1697, 1746, 1794, 1843, 1891, 1940, 1988, 2037, 2085,
  2134, 2182, 2231, 2279, 2328, 2376, 2425, 2473, 2522, 2570,
  2619, 2667, 2716, 2764, 2813, 2861, 2910, 2958, 3007, 3055, 0,
  53, 106, 159, 213, 266, 319, 372, 426, 479, 532, 585, 639, 692,
  745, 798, 853, 906, 959, 1012, 1066, 1119, 1172, 1225, 1279,
  1332, 1385, 1438, 1492, 1545, 1598, 1651, 1707, 1760, 1813,
  1866, 1920, 1973, 2026, 2079, 2133, 2186, 2239, 2292, 2346,
  2399, 2452, 2505, 2560, 2613, 2666, 2719, 2773, 2826, 2879,
  2932, 2986, 3039, 3092, 3145, 3199, 3252, 3305, 3358, 0, 58,
  117, 175, 234, 292, 351, 409, 469, 527, 586, 644, 703, 761, 820,
  878, 939, 997, 1056, 1114, 1173, 1231, 1290, 1348, 1408, 1466,
  1525, 1583, 1642, 1700, 1759, 1817, 1878, 1936, 1995, 2053,
  2112, 2170, 2229, 2287, 2347, 2405, 2464, 2522, 2581, 2639,
  2698, 2756, 2817, 2875, 2934, 2992, 3051, 3109, 3168, 3226,
  3286, 3344, 3403, 3461, 3520, 3578, 3637, 3695, 0, 64, 129, 193,
  258, 322, 387, 451, 516, 580, 645, 709, 774, 838, 903, 967,
  1033, 1097, 1162, 1226, 1291, 1355, 1420, 1484, 1549, 1613,
  1678, 1742, 1807, 1871, 1936, 2000, 2066, 2130, 2195, 2259,
  2324, 2388, 2453, 2517, 2582, 2646, 2711, 2775, 2840, 2904,
  2969, 3033, 3099, 3163, 3228, 3292, 3357, 3421, 3486, 3550,
  3615, 3679, 3744, 3808, 3873, 3937, 4002, 4066, 0, 71, 142, 213,
  284, 355, 426, 497, 568, 639, 710, 781, 852, 923, 994, 1065,
  1136, 1207, 1278, 1349, 1420, 1491, 1562, 1633, 1704, 1775,
  1846, 1917, 1988, 2059, 2130, 2201, 2272, 2343, 2414, 2485,
  2556, 2627, 2698, 2769, 2840, 2911, 2982, 3053, 3124, 3195,
  3266, 3337, 3408, 3479, 3550, 3621, 3692, 3763, 3834, 3905,
  3976, 4047, 4118, 4189, 4260, 4331, 4402, 4473, 0, 78, 156, 234,
  312, 390, 468, 546, 624, 702, 780, 858, 936, 1014, 1092, 1170,
  1249, 1327, 1405, 1483, 1561, 1639, 1717, 1795, 1873, 1951,
  2029, 2107, 2185, 2263, 2341, 2419, 2499, 2577, 2655, 2733,
  2811, 2889, 2967, 3045, 3123, 3201, 3279, 3357, 3435, 3513,
  3591, 3669, 3748, 3826, 3904, 3982, 4060, 4138, 4216, 4294,
  4372, 4450, 4528, 4606, 4684, 4762, 4840, 4918, 0, 85, 171, 256,
  343, 428, 514, 599, 687, 772, 858, 943, 1030, 1115, 1201, 1286,
  1374, 1459, 1545, 1630, 1717, 1802, 1888, 1973, 2061, 2146,
  2232, 2317, 2404, 2489, 2575, 2660, 2749, 2834, 2920, 3005,
  3092, 3177, 3263, 3348, 3436, 3521, 3607, 3692, 3779, 3864,
  3950, 4035, 4123, 4208, 4294, 4379, 4466, 4551, 4637, 4722,
  4810, 4895, 4981, 5066, 5153, 5238, 5324, 5409, 0, 94, 189, 283,
  378, 472, 567, 661, 756, 850, 945, 1039, 1134, 1228, 1323, 1417,
  1512, 1606, 1701, 1795, 1890, 1984, 2079, 2173, 2268, 2362,
  2457, 2551, 2646, 2740, 2835, 2929, 3024, 3118, 3213, 3307,
  3402, 3496, 3591, 3685, 3780, 3874, 3969, 4063, 4158, 4252,
  4347, 4441, 4536, 4630, 4725, 4819, 4914, 5008, 5103, 5197,
  5292, 5386, 5481, 5575, 5670, 5764, 5859, 5953, 0, 103, 207,
  310, 415, 518, 622, 725, 831, 934, 1038, 1141, 1246, 1349, 1453,
  1556, 1663, 1766, 1870, 1973, 2078, 2181, 2285, 2388, 2494,
  2597, 2701, 2804, 2909, 3012, 3116, 3219, 3327, 3430, 3534,
  3637, 3742, 3845, 3949, 4052, 4158, 4261, 4365, 4468, 4573,
  4676, 4780, 4883, 4990, 5093, 5197, 5300, 5405, 5508, 5612,
  5715, 5821, 5924, 6028, 6131, 6236, 6339, 6443, 6546, 0, 114,
  228, 342, 457, 571, 685, 799, 915, 1029, 1143, 1257, 1372, 1486,
  1600, 1714, 1830, 1944, 2058, 2172, 2287, 2401, 2515, 2629,
  2745, 2859, 2973, 3087, 3202, 3316, 3430, 3544, 3660, 3774,
  3888, 4002, 4117, 4231, 4345, 4459, 4575, 4689, 4803, 4917,
  5032, 5146, 5260, 5374, 5490, 5604, 5718, 5832, 5947, 6061,
  6175, 6289, 6405, 6519, 6633, 6747, 6862, 6976, 7090, 7204, 0,
  125, 251, 376, 503, 628, 754, 879, 1006, 1131, 1257, 1382, 1509,
  1634, 1760, 1885, 2013, 2138, 2264, 2389, 2516, 2641, 2767,
  2892, 3019, 3144, 3270, 3395, 3522, 3647, 3773, 3898, 4026,
  4151, 4277, 4402, 4529, 4654, 4780, 4905, 5032, 5157, 5283,
  5408, 5535, 5660, 5786, 5911, 6039, 6164, 6290, 6415, 6542,
  6667, 6793, 6918, 7045, 7170, 7296, 7421, 7548, 7673, 7799,
  7924, 0, 138, 276, 414, 553, 691, 829, 967, 1107, 1245, 1383,
  1521, 1660, 1798, 1936, 2074, 2214, 2352, 2490, 2628, 2767,
  2905, 3043, 3181, 3321, 3459, 3597, 3735, 3874, 4012, 4150,
  4288, 4428, 4566, 4704, 4842, 4981, 5119, 5257, 5395, 5535,
  5673, 5811, 5949, 6088, 6226, 6364, 6502, 6642, 6780, 6918,
  7056, 7195, 7333, 7471, 7609, 7749, 7887, 8025, 8163, 8302,
  8440, 8578, 8716, 0, 152, 304, 456, 608, 760, 912, 1064, 1217,
  1369, 1521, 1673, 1825, 1977, 2129, 2281, 2435, 2587, 2739,
  2891, 3043, 3195, 3347, 3499, 3652, 3804, 3956, 4108, 4260,
  4412, 4564, 4716, 4871, 5023, 5175, 5327, 5479, 5631, 5783,
  5935, 6088, 6240, 6392, 6544, 6696, 6848, 7000, 7152, 7306,
  7458, 7610, 7762, 7914, 8066, 8218, 8370, 8523, 8675, 8827,
  8979, 9131, 9283, 9435, 9587, 0, 167, 334, 501, 669, 836, 1003,
  1170, 1339, 1506, 1673, 1840, 2008, 2175, 2342, 2509, 2679,
  2846, 3013, 3180, 3348, 3515, 3682, 3849, 4018, 4185, 4352,
  4519, 4687, 4854, 5021, 5188, 5358, 5525, 5692, 5859, 6027,
  6194, 6361, 6528, 6697, 6864, 7031, 7198, 7366, 7533, 7700,
  7867, 8037, 8204, 8371, 8538, 8706, 8873, 9040, 9207, 9376,
  9543, 9710, 9877, 10045, 10212, 10379, 10546, 0, 184, 368, 552,
  736, 920, 1104, 1288, 1473, 1657, 1841, 2025, 2209, 2393, 2577,
  2761, 2947, 3131, 3315, 3499, 3683, 3867, 4051, 4235, 4420,
  4604, 4788, 4972, 5156, 5340, 5524, 5708, 5894, 6078, 6262,
  6446, 6630, 6814, 6998, 7182, 7367, 7551, 7735, 7919, 8103,
  8287, 8471, 8655, 8841, 9025, 9209, 9393, 9577, 9761, 9945,
  10129, 10314, 10498, 10682, 10866, 11050, 11234, 11418, 11602,
  0, 202, 405, 607, 810, 1012, 1215, 1417, 1621, 1823, 2026, 2228,
  2431, 2633, 2836, 3038, 3242, 3444, 3647, 3849, 4052, 4254,
  4457, 4659, 4863, 5065, 5268, 5470, 5673, 5875, 6078, 6280,
  6484, 6686, 6889, 7091, 7294, 7496, 7699, 7901, 8105, 8307,
  8510, 8712, 8915, 9117, 9320, 9522, 9726, 9928, 10131, 10333,
  10536, 10738, 10941, 11143, 11347, 11549, 11752, 11954, 12157,
  12359, 12562, 12764, 0, 222, 445, 667, 891, 1113, 1336, 1558,
  1783, 2005, 2228, 2450, 2674, 2896, 3119, 3341, 3566, 3788,
  4011, 4233, 4457, 4679, 4902, 5124, 5349, 5571, 5794, 6016,
  6240, 6462, 6685, 6907, 7132, 7354, 7577, 7799, 8023, 8245,
  8468, 8690, 8915, 9137, 9360, 9582, 9806, 10028, 10251, 10473,
  10698, 10920, 11143, 11365, 11589, 11811, 12034, 12256, 12481,
  12703, 12926, 13148, 13372, 13594, 13817, 14039, 0, 245, 490,
  735, 980, 1225, 1470, 1715, 1961, 2206, 2451, 2696, 2941, 3186,
  3431, 3676, 3922, 4167, 4412, 4657, 4902, 5147, 5392, 5637,
  5883, 6128, 6373, 6618, 6863, 7108, 7353, 7598, 7845, 8090,
  8335, 8580, 8825, 9070, 9315, 9560, 9806, 10051, 10296, 10541,
  10786, 11031, 11276, 11521, 11767, 12012, 12257, 12502, 12747,
  12992, 13237, 13482, 13728, 13973, 14218, 14463, 14708, 14953,
  15198, 15443, 0, 269, 539, 808, 1078, 1347, 1617, 1886, 2157,
  2426, 2696, 2965, 3235, 3504, 3774, 4043, 4315, 4584, 4854,
  5123, 5393, 5662, 5932, 6201, 6472, 6741, 7011, 7280, 7550,
  7819, 8089, 8358, 8630, 8899, 9169, 9438, 9708, 9977, 10247,
  10516, 10787, 11056, 11326, 11595, 11865, 12134, 12404, 12673,
  12945, 13214, 13484, 13753, 14023, 14292, 14562, 14831, 15102,
  15371, 15641, 15910, 16180, 16449, 16719, 16988, 0, 296, 593,
  889, 1186, 1482, 1779, 2075, 2373, 2669, 2966, 3262, 3559, 3855,
  4152, 4448, 4746, 5042, 5339, 5635, 5932, 6228, 6525, 6821,
  7119, 7415, 7712, 8008, 8305, 8601, 8898, 9194, 9493, 9789,
  10086, 10382, 10679, 10975, 11272, 11568, 11866, 12162, 12459,
  12755, 13052, 13348, 13645, 13941, 14239, 14535, 14832, 15128,
  15425, 15721, 16018, 16314, 16612, 16908, 17205, 17501, 17798,
  18094, 18391, 18687, 0, 326, 652, 978, 1305, 1631, 1957, 2283,
  2610, 2936, 3262, 3588, 3915, 4241, 4567, 4893, 5221, 5547,
  5873, 6199, 6526, 6852, 7178, 7504, 7831, 8157, 8483, 8809,
  9136, 9462, 9788, 10114, 10442, 10768, 11094, 11420, 11747,
  12073, 12399, 12725, 13052, 13378, 13704, 14030, 14357, 14683,
  15009, 15335, 15663, 15989, 16315, 16641, 16968, 17294, 17620,
  17946, 18273, 18599, 18925, 19251, 19578, 19904, 20230, 20556,
  0, 358, 717, 1075, 1435, 1793, 2152, 2510, 2871, 3229, 3588,
  3946, 4306, 4664, 5023, 5381, 5743, 6101, 6460, 6818, 7178,
  7536, 7895, 8253, 8614, 8972, 9331, 9689, 10049, 10407, 10766,
  11124, 11487, 11845, 12204, 12562, 12922, 13280, 13639, 13997,
  14358, 14716, 15075, 15433, 15793, 16151, 16510, 16868, 17230,
  17588, 17947, 18305, 18665, 19023, 19382, 19740, 20101, 20459,
  20818, 21176, 21536, 21894, 22253, 22611, 0, 394, 789, 1183,
  1579, 1973, 2368, 2762, 3158, 3552, 3947, 4341, 4737, 5131,
  5526, 5920, 6317, 6711, 7106, 7500, 7896, 8290, 8685, 9079,
  9475, 9869, 10264, 10658, 11054, 11448, 11843, 12237, 12635,
  13029, 13424, 13818, 14214, 14608, 15003, 15397, 15793, 16187,
  16582, 16976, 17372, 17766, 18161, 18555, 18952, 19346, 19741,
  20135, 20531, 20925, 21320, 21714, 22110, 22504, 22899, 23293,
  23689, 24083, 24478, 24872, 0, 434, 868, 1302, 1737, 2171, 2605,
  3039, 3474, 3908, 4342, 4776, 5211, 5645, 6079, 6513, 6949,
  7383, 7817, 8251, 8686, 9120, 9554, 9988, 10423, 10857, 11291,
  11725, 12160, 12594, 13028, 13462, 13899, 14333, 14767, 15201,
  15636, 16070, 16504, 16938, 17373, 17807, 18241, 18675, 19110,
  19544, 19978, 20412, 20848, 21282, 21716, 22150, 22585, 23019,
  23453, 23887, 24322, 24756, 25190, 25624, 26059, 26493, 26927,
  27361, 0, 477, 955, 1432, 1911, 2388, 2866, 3343, 3822, 4299,
  4777, 5254, 5733, 6210, 6688, 7165, 7644, 8121, 8599, 9076,
  9555, 10032, 10510, 10987, 11466, 11943, 12421, 12898, 13377,
  13854, 14332, 14809, 15289, 15766, 16244, 16721, 17200, 17677,
  18155, 18632, 19111, 19588, 20066, 20543, 21022, 21499, 21977,
  22454, 22933, 23410, 23888, 24365, 24844, 25321, 25799, 26276,
  26755, 27232, 27710, 28187, 28666, 29143, 29621, 30098, 0, 525,
  1051, 1576, 2102, 2627, 3153, 3678, 4204, 4729, 5255, 5780,
  6306, 6831, 7357, 7882, 8409, 8934, 9460, 9985, 10511, 11036,
  11562, 12087, 12613, 13138, 13664, 14189, 14715, 15240, 15766,
  16291, 16818, 17343, 17869, 18394, 18920, 19445, 19971, 20496,
  21022, 21547, 22073, 22598, 23124, 23649, 24175, 24700, 25227,
  25752, 26278, 26803, 27329, 27854, 28380, 28905, 29431, 29956,
  30482, 31007, 31533, 32058, 32584, 33109, 0, 578, 1156, 1734,
  2312, 2890, 3468, 4046, 4625, 5203, 5781, 6359, 6937, 7515,
  8093, 8671, 9250, 9828, 10406, 10984, 11562, 12140, 12718,
  13296, 13875, 14453, 15031, 15609, 16187, 16765, 17343, 17921,
  18500, 19078, 19656, 20234, 20812, 21390, 21968, 22546, 23125,
  23703, 24281, 24859, 25437, 26015, 26593, 27171, 27750, 28328,
  28906, 29484, 30062, 30640, 31218, 31796, 32375, 32953, 33531,
  34109, 34687, 35265, 35843, 36421, 0, 635, 1271, 1906, 2543,
  3178, 3814, 4449, 5087, 5722, 6358, 6993, 7630, 8265, 8901,
  9536, 10175, 10810, 11446, 12081, 12718, 13353, 13989, 14624,
  15262, 15897, 16533, 17168, 17805, 18440, 19076, 19711, 20350,
  20985, 21621, 22256, 22893, 23528, 24164, 24799, 25437, 26072,
  26708, 27343, 27980, 28615, 29251, 29886, 30525, 31160, 31796,
  32431, 33068, 33703, 34339, 34974, 35612, 36247, 36883, 37518,
  38155, 38790, 39426, 40061, 0, 699, 1399, 2098, 2798, 3497,
  4197, 4896, 5596, 6295, 6995, 7694, 8394, 9093, 9793, 10492,
  11192, 11891, 12591, 13290, 13990, 14689, 15389, 16088, 16788,
  17487, 18187, 18886, 19586, 20285, 20985, 21684, 22385, 23084,
  23784, 24483, 25183, 25882, 26582, 27281, 27981, 28680, 29380,
  30079, 30779, 31478, 32178, 32877, 33577, 34276, 34976, 35675,
  36375, 37074, 37774, 38473, 39173, 39872, 40572, 41271, 41971,
  42670, 43370, 44069, 0, 769, 1538, 2307, 3077, 3846, 4615, 5384,
  6155, 6924, 7693, 8462, 9232, 10001, 10770, 11539, 12311, 13080,
  13849, 14618, 15388, 16157, 16926, 17695, 18466, 19235, 20004,
  20773, 21543, 22312, 23081, 23850, 24623, 25392, 26161, 26930,
  27700, 28469, 29238, 30007, 30778, 31547, 32316, 33085, 33855,
  34624, 35393, 36162, 36934, 37703, 38472, 39241, 40011, 40780,
  41549, 42318, 43089, 43858, 44627, 45396, 46166, 46935, 47704,
  48473, 0, 846, 1692, 2538, 3385, 4231, 5077, 5923, 6771, 7617,
  8463, 9309, 10156, 11002, 11848, 12694, 13543, 14389, 15235,
  16081, 16928, 17774, 18620, 19466, 20314, 21160, 22006, 22852,
  23699, 24545, 25391, 26237, 27086, 27932, 28778, 29624, 30471,
  31317, 32163, 33009, 33857, 34703, 35549, 36395, 37242, 38088,
  38934, 39780, 40629, 41475, 42321, 43167, 44014, 44860, 45706,
  46552, 47400, 48246, 49092, 49938, 50785, 51631, 52477, 53323,
  0, 931, 1862, 2793, 3724, 4655, 5586, 6517, 7448, 8379, 9310,
  10241, 11172, 12103, 13034, 13965, 14897, 15828, 16759, 17690,
  18621, 19552, 20483, 21414, 22345, 23276, 24207, 25138, 26069,
  27000, 27931, 28862, 29794, 30725, 31656, 32587, 33518, 34449,
  35380, 36311, 37242, 38173, 39104, 40035, 40966, 41897, 42828,
  43759, 44691, 45622, 46553, 47484, 48415, 49346, 50277, 51208,
  52139, 53070, 54001, 54932, 55863, 56794, 57725, 58656, 0, 1023,
  2047, 3070, 4095, 5118, 6142, 7165, 8191, 9214, 10238, 11261,
  12286, 13309, 14333, 15356, 16383, 17406, 18430, 19453, 20478,
  21501, 22525, 23548, 24574, 25597, 26621, 27644, 28669, 29692,
  30716, 31739, 32767, 33790, 34814, 35837, 36862, 37885, 38909,
  39932, 40958, 41981, 43005, 44028, 45053, 46076, 47100, 48123,
  49150, 50173, 51197, 52220, 53245, 54268, 55292, 56315, 57341,
  58364, 59388, 60411, 61436, 62459, 63483, 64506, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

};