#include <iostream>
static const char compressed_table[2014] = {
97, 53, 125, -5, -4, 114, -5, 97, 106, 110, 5, -4, 100, -5, 97,
46, -6, -6, -5, -6, 104, -5, -4, -5, -4, -5, -4, -5, -4, -5,
98, -4, -5, -4, -4, -5, 100, -4, -5, -4, -5, -4, -5, -4, -5,
-4, -5, -5, -4, 102, -5, 97, 100, 6, 5, 5, 6, 5, 98, 6,
5, 99, 6, 3, 100, -6, -5, 97, 33, 98, -6, -5, -6, -5, -4,
-5, -5, 98, -4, -5, -4, -4, -3, 100, -4, -3, 98, -4, -3, 98,
-4, -3, -3, 104, -4, -5, -4, -4, -5, -5, -4, -5, -5, -4, 98,
-5, 97, 97, 5, 6, 5, 6, 6, 7, 6, 98, 7, 8, 7, -3,
-8, -7, -8, 98, -7, 97, 14, -7, 98, -5, 99, -4, -3, -4, -3,
-3, -4, -3, -3, -4, -3, -3, -4, -3, -3, -4, -3, -3, -4, -3,
-3, -4, 100, -3, -4, -3, 104, -4, -5, -4, -4, -5, -4, -5, -5,
-4, -5, -5, 97, 104, 98, 6, 7, 7, 8, 9, 10, 10, 4, -11,
-11, -10, -10, -9, -7, -7, 85, -4, -4, 99, -3, -2, -3, -2, -2,
-3, -2, -2, -3, -3, -2, 101, -3, -4, 101, -3, -2, -2, -3, -3,
-4, -3, -3, -4, -3, 108, -4, -5, 98, -4, 97, 98, 5, 5, 7,
7, 9, 11, 15, 19, -18, -19, -16, -13, -9, -7, -6, -5, 62, -2,
-2, -1, -2, -1, -2, -1, -1, -2, -1, -1, -2, -2, -1, -2, -3,
-2, 105, -3, -2, -2, -3, -2, -3, -2, 99, -3, -4, -3, 101, -4,
-3, -4, -4, -3, -3, -4, 100, -3, -2, -3, -3, 97, 101, 4, 6,
19, -21, -25, -7, 98, -3, 98, -2, 46, 0, -1, -1, 0, -1, -1,
0, -1, 0, 101, -1, -2, -2, -3, -2, -3, -3, -4, 100, -3, 100,
-2, -3, -2, -2, -3, -3, -4, -3, -4, -3, 98, -4, -3, -4, 98,
-3, -2, -2, -3, -1, -2, 0, -1, 1, 2, 4, 7, 13, 23, 27,
20, 11, 7, 3, 2, 1, 1, -1, 0, 36, 99, 0, -1, 98, 0,
-1, 98, 0, 99, -1, -2, -2, 99, -3, -4, -4, -3, -3, -2, -2,
-3, -2, -1, -2, -2, -1, -2, 100, -3, -4, -4, -3, -4, 98, -3,
98, -2, -1, -1, 0, 1, 1, 3, 4, 6, 8, 11, 13, 13, 10,
9, 7, 5, 4, 2, 98, 1, 0, 30, 101, 0, -1, 102, 0, 98,
-1, -2, 98, -3, 98, -4, 99, -3, -2, -1, -2, 98, -1, 98, -2,
99, -3, -4, 99, -3, -2, -2, -1, -1, 0, 1, 1, 2, 4, 5,
6, 7, 8, 9, 8, 6, 7, 6, 4, 4, 3, 2, 1, 2, 0,
1, 25, 0, 1, 0, 0, -1, 102, 0, 1, -1, 0, -1, -1, -2,
-2, -3, 99, -4, -3, -4, -3, -3, -2, 103, -1, -2, 102, -3, -2,
98, -1, 0, 1, 2, 3, 3, 5, 5, 6, 7, 98, 6, 98, 4,
3, 3, 98, 2, 1, 1, 0, 21, 1, 109, 0, -1, -1, -2, -2,
-3, 101, -4, -3, -3, -1, -2, -1, 0, -1, 0, 0, -1, 0, 98,
-2, -3, -3, -2, -3, -2, -2, -1, 0, 0, 1, 2, 2, 4, 4,
100, 5, 4, 3, 3, 4, 2, 3, 98, 2, 98, 1, 0, 18, 1,
109, 0, 98, -1, -2, -4, -3, -5, -3, -5, -4, -4, -3, -2, -2,
98, -1, 98, 0, 1, 0, 0, -1, 98, -2, -3, -2, -2, -1, -1,
0, 1, 2, 2, 3, 3, 4, 5, 4, 5, 4, 3, 3, 1, 3,
100, 2, 99, 1, 0, 16, 0, 1, 103, 0, -1, 100, 0, -1, -2,
-2, -3, 98, -4, -5, -4, -3, -3, -2, -2, -1, -1, 98, 0, 1,
1, 2, 1, 0, -1, -1, 99, -2, -1, -1, 98, 1, 2, 3, 3,
98, 4, 3, 3, 2, 1, 2, 2, 1, 2, 2, 1, 2, 99, 1,
0, 14, 0, 0, 1, 101, 0, -1, 100, 0, 98, -1, -2, -4, -3,
-4, -4, -5, -4, -3, -3, -2, -1, -1, 98, 0, 1, 2, 1, 3,
2, 1, 0, 0, 98, -2, -1, -2, 0, 0, 1, 1, 2, 2, 98,
3, 4, 2, 2, 98, 1, 2, 1, 1, 2, 101, 1, 0, 12, 1,
105, 0, -1, 98, 0, 98, -1, 98, -3, 99, -4, -3, -2, -2, -1,
98, 0, 1, 1, 2, 3, 2, 3, 2, 1, 0, -1, -2, -1, -2,
-2, 0, -1, 98, 1, 2, 2, 3, 3, 2, 2, 1, 1, 0, 98,
1, 2, 101, 1, 0, 0, 11, 99, 0, 1, 99, 0, -1, 99, 0,
-1, 0, -1, -2, -2, -3, -3, 99, -4, -3, -2, -1, 98, 0, 1,
99, 2, 3, 2, 3, 1, 1, -1, -1, -2, -1, -2, -1, 98, 0,
1, 2, 1, 2, 3, 2, 1, 0, 1, 0, 105, 1, 0, 0, 10,
108, 0, -1, 0, 0, -2, -1, 99, -3, -4, -4, -3, -3, -1, -1,
0, 0, 1, 99, 2, 3, 99, 2, 98, 0, -2, -1, -2, -1, 0,
-1, 1, 0, 1, 2, 1, 2, 2, 0, 1, 0, 0, 1, 0, 103,
1, 0, 0, 9, 101, 0, 1, 0, -1, 100, 0, -1, 0, -2, -1,
-3, -2, -4, -3, -4, -4, 98, -2, 0, 0, 1, 104, 2, 1, 1,
0, 0, -1, -1, -2, -1, 0, -1, 0, 1, 0, 1, 1, 2, 1,
0, 1, 98, 0, 1, 1, 0, 2, 98, 1, 0, 1, 0, 0, 9,
106, 0, -1, 98, 0, -1, -2, -1, -3, -2, -4, -3, -4, -3, -2,
-2, -1, 0, 1, 1, 2, 2, 3, 98, 2, 1, 2, 1, 1, 0,
1, 0, -1, 0, -2, -1, 0, -1, 0, 0, 1, 0, 98, 1, 99,
0, 1, 0, 102, 1, 0, 1, 0, 9, 0, 0, -1, 0, 0, 1,
99, 0, -1, 98, 0, 98, -1, -2, -3, -2, -3, -4, -3, -3, -2,
-1, -1, 0, 1, 98, 2, 3, 2, 2, 1, 2, 1, 1, 0, 1,
98, 0, -1, 0, -1, -1, 0, -1, 0, 1, 0, 1, 0, 1, 101,
0, 103, 1, 0, 1, 8, 100, 0, 1, 100, 0, -1, 0, 0, -1,
-1, 98, -2, 100, -3, -2, -1, 0, 1, 1, 102, 2, 1, 1, 0,
1, 1, 98, 0, -1, -1, 0, -1, 0, 0, -1, 0, 1, 0, 1,
103, 0, 103, 1, 0, 8, 98, 0, 1, 103, 0, -1, 0, -1, 99,
-2, 99, -3, -2, -1, -1, 0, 1, 1, 98, 2, 3, 1, 2, 1,
2, 0, 0, 1, 1, 98, 0, -1, 0, -1, 0, 0, -1, 99, 0,
1, 98, 0, -1, 99, 0, 1, 0, 1, 2, 1, 1, 2, 0, 1,
8, 0, 1, 98, 0, 1, 101, 0, 98, -1, -2, -2, -3, -2, 98,
-3, -2, -2, -1, 0, 0, 1, 2, 1, 100, 2, 1, 1, 0, 1,
1, 0, 1, 0, -1, 0, -1, -1, 104, 0, -1, 0, -1, 99, 0,
1, 1, 0, 1, 2, 1, 2, 1, 1, 7, 1, 1, 0, 0, 1,
0, 1, 99, 0, -1, 0, -1, 98, -2, -3, -2, -4, -3, 98, -2,
-1, 0, 98, 1, 100, 2, 1, 2, 0, 1, 0, 1, 1, 98, 0,
-1, 0, -1, 0, -1, 101, 0, -1, 0, -1, -1, 0, -1, 0, 0,
100, 1, 2, 2, 1, 1, 6, 2, 1, 0, 1, 1, 0, 1, 99,
0, -1, 0, 98, -2, -3, -2, -3, -4, -3, -2, -2, -1, -1, 1,
0, 2, 1, 2, 2, 1, 98, 2, 1, 0, 1, 1, 0, 1, 0,
1, -1, 0, 0, -1, 0, -1, 0, 0, -1, 98, 0, 99, -1, 0,
-1, 98, 0, 1, 2, 1, 1, 2, 1, 2, 1, 6, 1, 1, 2,
1, 1, 0, 1, 0, 1, 0, -1, 0, -2, -1, -2, -3, -3, -2,
-4, -4, -3, -2, -2, -1, 0, 0, 1, 2, 1, 98, 2, 1, 2,
2, 1, 0, 98, 1, 0, 1, 99, 0, -1, 0, 0, -1, 0, -1,
0, -1, 0, 98, -1, -2, -1, -1, 0, 0, 99, 1, 2, 1, 98,
2, 5, 2, 1, 2, 100, 1, 0, 0, -1, 0, -2, -1, 99, -3,
-4, -4, -3, -2, -2, -1, 0, 98, 1, 2, 1, 100, 2, 1, 0,
99, 1, 0, 1, 100, 0, -1, 0, -1, 0, 100, -1, -2, -2, -1,
-1, 98, 0, 1, 1, 98, 2, 1, 2, 2, 4, 99, 2, 99, 1,
98, 0, -1, 98, -2, -4, -3, 98, -4, -3, -3, -1, -1, 0, 98,
1, 100, 2, 1, 2, 2, 0, 1, 2, 0, 98, 1, 0, 1, 99,
0, 100, -1, -2, -1, 98, -2, 98, -1, 0, 0, 1, 2, 2, 1,
3, 1, 2, 2, 4, 100, 2, 99, 1, 0, 98, -1, -3, -3, 98,
-4, -5, -4, -3, -3, -1, -1, 0, 1, 1, 2, 1, 2, 2, 3,
98, 2, 98, 1, 2, 101, 1, 100, 0, -1, -1, 100, -2, -3, -2,
-2, -1, -1, 0, 98, 1, 2, 2, 3, 2, 1, 3, 4, 2, 2,
3, 2, 2, 1, 2, 1, 98, 0, -1, -2, -3, -3, 100, -5, -3,
-3, -1, -1, 1, 0, 2, 2, 1, 3, 98, 2, 3, 2, 2, 1,
1, 2, 2, 1, 2, 99, 1, 0, 1, -1, 0, -1, 98, -2, -3,
-2, 98, -3, -2, -1, -1, 0, 98, 1, 2, 2, 3, 2, 2, 3,
98, 3, 2, 3, 2, 1, 2, 1, 1, 0, 0, -2, -2, -3, -4,
-6, -5, -7, -6, -5, -3, -3, -1, 0, 0, 1, 99, 2, 3, 2,
3, 2, 3, 2, 2, 1, 101, 2, 98, 1, 98, 0, -1, -2, 98,
-3, -4, -3, -4, -3, -2, -2, -1, 1, 0, 2, 1, 2, 3, 2,
3, 2, 2, 4, 2, 3, 3, 2, 3, 2, 2, 1, 1, 0, 0,
-2, -2, -4, -6, -7, -7, -8, -7, -5, -3, -2, -1, 0, 1, 1,
2, 2, 3, 2, 98, 3, 2, 98, 3, 1, 3, 2, 3, 100, 2,
1, 1, 0, 0, -1, -2, -3, -4, -5, -4, -4, -5, -4, -2, -2,
-1, 0, 1, 99, 2, 3, 3, 2, 3, 4, 98, 3, 2, 3, 98,
2, 1, 0, 0, -2, -3, -5, -8, -9, -10, -10, -7, -5, -3, -1,
0, 1, 1, 2, 3, 2, 99, 3, 4, 103, 3, 2, 3, 2, 3,
2, 1, 2, 98, 0, -2, -3, -4, -5, -7, -5, -6, -4, -4, -2,
0, 0, 1, 1, 2, 2, 98, 3, 2, 3, 4, 101, 3, 2, 2,
1, 0, -1, -2, -5, -8, -12, -14, -13, -9, -6, -3, -1, 0, 2,
1, 3, 2, 3, 4, 3, 3, 4, 3, 4, 4, 3, 4, 98, 3,
4, 3, 3, 4, 3, 2, 3, 98, 2, 0, 0, -1, -2, -4, -5,
-7, -8, -6, -6, -5, -3, -1, -1, 1, 1, 2, 3, 2, 3, 3,
2, 3, 6, 100, 3, 98, 2, 1, -1, -3, -7, -13, -18, -20, -15,
-7, -4, 0, 0, 2, 2, 98, 3, 4, 3, 98, 4, 3, 101, 4,
3, 98, 4, 3, 4, 3, 4, 98, 3, 2, 2, 1, 1, 0, -2,
-3, -5, -8, -8, -9, -8, -4, -4, -2, 0, 0, 2, 1, 3, 2,
2, 3, 3, 22, 100, 2, 1, -2, -8, -41, -63, -15, -3, 1, 3,
2, 4, 3, 101, 4, 5, 4, 4, 5, 98, 4, 5, 4, 4, 5,
4, 4, 5, 3, 4, 4, 5, 100, 4, 3, 4, 3, 4, 3, 3,
2, 3, 1, 2, 0, -1, -1, -4, -4, -6, -7, -7, -5, -5, -2,
-2, 0, 0, 1, 2, 97, 71, 5, 5, -2, 110, -5, 97,-100, 114,
5, 4, -97, 5
};
static const unsigned char row_size[36] = {
14, 53, 58, 61, 52, 55, 61, 59, 53, 51, 51, 52, 56, 57, 53, 53, 49, 56,
54, 57, 45, 55, 54, 57, 65, 65, 54, 54, 53, 63, 63, 66, 61, 67, 61, 62
};
const int threshold = 97;
int get_value(int row, int column)
{
const char * p = compressed_table;
for (int i = 0; i < row; ++i)
p += row_size[i];
int value = 0;
int delta = 0;
int repeat_count = 0;
int next_column = 0;
while (next_column <= column)
{
if (repeat_count == 0)
{
repeat_count = 1;
int offset = 0;
if (*p == threshold)
{
offset = threshold;
++p;
}
else if (*p >= (threshold + 1))
{
repeat_count = 3 + (*p - (threshold + 1));
++p;
}
else if (*p <= -threshold)
{
repeat_count = 3 + (256 - (threshold + 1));
repeat_count += -*p + threshold;
++p;
}
delta = *p + (*p >= 0 ? offset : -offset);
++p;
}
value += delta;
--repeat_count;
++next_column;
}
return value;
}
int main()
{
int my_table[37][73];
for (int i = 0; i < 37; ++i)
{
std::cout << "{";
for (int j = 0; j < 73; ++j)
{
if (j != 0)
std::cout << ',';
my_table[i][j] = get_value(i, j);
std::cout << my_table[i][j];
}
std::cout << "}, \\\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RhdGljIGNvbnN0IGNoYXIgY29tcHJlc3NlZF90YWJsZVsyMDE0XSA9IHsKICA5NywgIDUzLCAxMjUsICAtNSwgIC00LCAxMTQsICAtNSwgIDk3LCAxMDYsIDExMCwgICA1LCAgLTQsIDEwMCwgIC01LCAgOTcsCiAgNDYsICAtNiwgIC02LCAgLTUsICAtNiwgMTA0LCAgLTUsICAtNCwgIC01LCAgLTQsICAtNSwgIC00LCAgLTUsICAtNCwgIC01LAogIDk4LCAgLTQsICAtNSwgIC00LCAgLTQsICAtNSwgMTAwLCAgLTQsICAtNSwgIC00LCAgLTUsICAtNCwgIC01LCAgLTQsICAtNSwKICAtNCwgIC01LCAgLTUsICAtNCwgMTAyLCAgLTUsICA5NywgMTAwLCAgIDYsICAgNSwgICA1LCAgIDYsICAgNSwgIDk4LCAgIDYsCiAgIDUsICA5OSwgICA2LCAgIDMsIDEwMCwgIC02LCAgLTUsICA5NywgIDMzLCAgOTgsICAtNiwgIC01LCAgLTYsICAtNSwgIC00LAogIC01LCAgLTUsICA5OCwgIC00LCAgLTUsICAtNCwgIC00LCAgLTMsIDEwMCwgIC00LCAgLTMsICA5OCwgIC00LCAgLTMsICA5OCwKICAtNCwgIC0zLCAgLTMsIDEwNCwgIC00LCAgLTUsICAtNCwgIC00LCAgLTUsICAtNSwgIC00LCAgLTUsICAtNSwgIC00LCAgOTgsCiAgLTUsICA5NywgIDk3LCAgIDUsICAgNiwgICA1LCAgIDYsICAgNiwgICA3LCAgIDYsICA5OCwgICA3LCAgIDgsICAgNywgIC0zLAogIC04LCAgLTcsICAtOCwgIDk4LCAgLTcsICA5NywgIDE0LCAgLTcsICA5OCwgIC01LCAgOTksICAtNCwgIC0zLCAgLTQsICAtMywKICAtMywgIC00LCAgLTMsICAtMywgIC00LCAgLTMsICAtMywgIC00LCAgLTMsICAtMywgIC00LCAgLTMsICAtMywgIC00LCAgLTMsCiAgLTMsICAtNCwgMTAwLCAgLTMsICAtNCwgIC0zLCAxMDQsICAtNCwgIC01LCAgLTQsICAtNCwgIC01LCAgLTQsICAtNSwgIC01LAogIC00LCAgLTUsICAtNSwgIDk3LCAxMDQsICA5OCwgICA2LCAgIDcsICAgNywgICA4LCAgIDksICAxMCwgIDEwLCAgIDQsIC0xMSwKIC0xMSwgLTEwLCAtMTAsICAtOSwgIC03LCAgLTcsICA4NSwgIC00LCAgLTQsICA5OSwgIC0zLCAgLTIsICAtMywgIC0yLCAgLTIsCiAgLTMsICAtMiwgIC0yLCAgLTMsICAtMywgIC0yLCAxMDEsICAtMywgIC00LCAxMDEsICAtMywgIC0yLCAgLTIsICAtMywgIC0zLAogIC00LCAgLTMsICAtMywgIC00LCAgLTMsIDEwOCwgIC00LCAgLTUsICA5OCwgIC00LCAgOTcsICA5OCwgICA1LCAgIDUsICAgNywKICAgNywgICA5LCAgMTEsICAxNSwgIDE5LCAtMTgsIC0xOSwgLTE2LCAtMTMsICAtOSwgIC03LCAgLTYsICAtNSwgIDYyLCAgLTIsCiAgLTIsICAtMSwgIC0yLCAgLTEsICAtMiwgIC0xLCAgLTEsICAtMiwgIC0xLCAgLTEsICAtMiwgIC0yLCAgLTEsICAtMiwgIC0zLAogIC0yLCAxMDUsICAtMywgIC0yLCAgLTIsICAtMywgIC0yLCAgLTMsICAtMiwgIDk5LCAgLTMsICAtNCwgIC0zLCAxMDEsICAtNCwKICAtMywgIC00LCAgLTQsICAtMywgIC0zLCAgLTQsIDEwMCwgIC0zLCAgLTIsICAtMywgIC0zLCAgOTcsIDEwMSwgICA0LCAgIDYsCiAgMTksIC0yMSwgLTI1LCAgLTcsICA5OCwgIC0zLCAgOTgsICAtMiwgIDQ2LCAgIDAsICAtMSwgIC0xLCAgIDAsICAtMSwgIC0xLAogICAwLCAgLTEsICAgMCwgMTAxLCAgLTEsICAtMiwgIC0yLCAgLTMsICAtMiwgIC0zLCAgLTMsICAtNCwgMTAwLCAgLTMsIDEwMCwKICAtMiwgIC0zLCAgLTIsICAtMiwgIC0zLCAgLTMsICAtNCwgIC0zLCAgLTQsICAtMywgIDk4LCAgLTQsICAtMywgIC00LCAgOTgsCiAgLTMsICAtMiwgIC0yLCAgLTMsICAtMSwgIC0yLCAgIDAsICAtMSwgICAxLCAgIDIsICAgNCwgICA3LCAgMTMsICAyMywgIDI3LAogIDIwLCAgMTEsICAgNywgICAzLCAgIDIsICAgMSwgICAxLCAgLTEsICAgMCwgIDM2LCAgOTksICAgMCwgIC0xLCAgOTgsICAgMCwKICAtMSwgIDk4LCAgIDAsICA5OSwgIC0xLCAgLTIsICAtMiwgIDk5LCAgLTMsICAtNCwgIC00LCAgLTMsICAtMywgIC0yLCAgLTIsCiAgLTMsICAtMiwgIC0xLCAgLTIsICAtMiwgIC0xLCAgLTIsIDEwMCwgIC0zLCAgLTQsICAtNCwgIC0zLCAgLTQsICA5OCwgIC0zLAogIDk4LCAgLTIsICAtMSwgIC0xLCAgIDAsICAgMSwgICAxLCAgIDMsICAgNCwgICA2LCAgIDgsICAxMSwgIDEzLCAgMTMsICAxMCwKICAgOSwgICA3LCAgIDUsICAgNCwgICAyLCAgOTgsICAgMSwgICAwLCAgMzAsIDEwMSwgICAwLCAgLTEsIDEwMiwgICAwLCAgOTgsCiAgLTEsICAtMiwgIDk4LCAgLTMsICA5OCwgIC00LCAgOTksICAtMywgIC0yLCAgLTEsICAtMiwgIDk4LCAgLTEsICA5OCwgIC0yLAogIDk5LCAgLTMsICAtNCwgIDk5LCAgLTMsICAtMiwgIC0yLCAgLTEsICAtMSwgICAwLCAgIDEsICAgMSwgICAyLCAgIDQsICAgNSwKICAgNiwgICA3LCAgIDgsICAgOSwgICA4LCAgIDYsICAgNywgICA2LCAgIDQsICAgNCwgICAzLCAgIDIsICAgMSwgICAyLCAgIDAsCiAgIDEsICAyNSwgICAwLCAgIDEsICAgMCwgICAwLCAgLTEsIDEwMiwgICAwLCAgIDEsICAtMSwgICAwLCAgLTEsICAtMSwgIC0yLAogIC0yLCAgLTMsICA5OSwgIC00LCAgLTMsICAtNCwgIC0zLCAgLTMsICAtMiwgMTAzLCAgLTEsICAtMiwgMTAyLCAgLTMsICAtMiwKICA5OCwgIC0xLCAgIDAsICAgMSwgICAyLCAgIDMsICAgMywgICA1LCAgIDUsICAgNiwgICA3LCAgOTgsICAgNiwgIDk4LCAgIDQsCiAgIDMsICAgMywgIDk4LCAgIDIsICAgMSwgICAxLCAgIDAsICAyMSwgICAxLCAxMDksICAgMCwgIC0xLCAgLTEsICAtMiwgIC0yLAogIC0zLCAxMDEsICAtNCwgIC0zLCAgLTMsICAtMSwgIC0yLCAgLTEsICAgMCwgIC0xLCAgIDAsICAgMCwgIC0xLCAgIDAsICA5OCwKICAtMiwgIC0zLCAgLTMsICAtMiwgIC0zLCAgLTIsICAtMiwgIC0xLCAgIDAsICAgMCwgICAxLCAgIDIsICAgMiwgICA0LCAgIDQsCiAxMDAsICAgNSwgICA0LCAgIDMsICAgMywgICA0LCAgIDIsICAgMywgIDk4LCAgIDIsICA5OCwgICAxLCAgIDAsICAxOCwgICAxLAogMTA5LCAgIDAsICA5OCwgIC0xLCAgLTIsICAtNCwgIC0zLCAgLTUsICAtMywgIC01LCAgLTQsICAtNCwgIC0zLCAgLTIsICAtMiwKICA5OCwgIC0xLCAgOTgsICAgMCwgICAxLCAgIDAsICAgMCwgIC0xLCAgOTgsICAtMiwgIC0zLCAgLTIsICAtMiwgIC0xLCAgLTEsCiAgIDAsICAgMSwgICAyLCAgIDIsICAgMywgICAzLCAgIDQsICAgNSwgICA0LCAgIDUsICAgNCwgICAzLCAgIDMsICAgMSwgICAzLAogMTAwLCAgIDIsICA5OSwgICAxLCAgIDAsICAxNiwgICAwLCAgIDEsIDEwMywgICAwLCAgLTEsIDEwMCwgICAwLCAgLTEsICAtMiwKICAtMiwgIC0zLCAgOTgsICAtNCwgIC01LCAgLTQsICAtMywgIC0zLCAgLTIsICAtMiwgIC0xLCAgLTEsICA5OCwgICAwLCAgIDEsCiAgIDEsICAgMiwgICAxLCAgIDAsICAtMSwgIC0xLCAgOTksICAtMiwgIC0xLCAgLTEsICA5OCwgICAxLCAgIDIsICAgMywgICAzLAogIDk4LCAgIDQsICAgMywgICAzLCAgIDIsICAgMSwgICAyLCAgIDIsICAgMSwgICAyLCAgIDIsICAgMSwgICAyLCAgOTksICAgMSwKICAgMCwgIDE0LCAgIDAsICAgMCwgICAxLCAxMDEsICAgMCwgIC0xLCAxMDAsICAgMCwgIDk4LCAgLTEsICAtMiwgIC00LCAgLTMsCiAgLTQsICAtNCwgIC01LCAgLTQsICAtMywgIC0zLCAgLTIsICAtMSwgIC0xLCAgOTgsICAgMCwgICAxLCAgIDIsICAgMSwgICAzLAogICAyLCAgIDEsICAgMCwgICAwLCAgOTgsICAtMiwgIC0xLCAgLTIsICAgMCwgICAwLCAgIDEsICAgMSwgICAyLCAgIDIsICA5OCwKICAgMywgICA0LCAgIDIsICAgMiwgIDk4LCAgIDEsICAgMiwgICAxLCAgIDEsICAgMiwgMTAxLCAgIDEsICAgMCwgIDEyLCAgIDEsCiAxMDUsICAgMCwgIC0xLCAgOTgsICAgMCwgIDk4LCAgLTEsICA5OCwgIC0zLCAgOTksICAtNCwgIC0zLCAgLTIsICAtMiwgIC0xLAogIDk4LCAgIDAsICAgMSwgICAxLCAgIDIsICAgMywgICAyLCAgIDMsICAgMiwgICAxLCAgIDAsICAtMSwgIC0yLCAgLTEsICAtMiwKICAtMiwgICAwLCAgLTEsICA5OCwgICAxLCAgIDIsICAgMiwgICAzLCAgIDMsICAgMiwgICAyLCAgIDEsICAgMSwgICAwLCAgOTgsCiAgIDEsICAgMiwgMTAxLCAgIDEsICAgMCwgICAwLCAgMTEsICA5OSwgICAwLCAgIDEsICA5OSwgICAwLCAgLTEsICA5OSwgICAwLAogIC0xLCAgIDAsICAtMSwgIC0yLCAgLTIsICAtMywgIC0zLCAgOTksICAtNCwgIC0zLCAgLTIsICAtMSwgIDk4LCAgIDAsICAgMSwKICA5OSwgICAyLCAgIDMsICAgMiwgICAzLCAgIDEsICAgMSwgIC0xLCAgLTEsICAtMiwgIC0xLCAgLTIsICAtMSwgIDk4LCAgIDAsCiAgIDEsICAgMiwgICAxLCAgIDIsICAgMywgICAyLCAgIDEsICAgMCwgICAxLCAgIDAsIDEwNSwgICAxLCAgIDAsICAgMCwgIDEwLAogMTA4LCAgIDAsICAtMSwgICAwLCAgIDAsICAtMiwgIC0xLCAgOTksICAtMywgIC00LCAgLTQsICAtMywgIC0zLCAgLTEsICAtMSwKICAgMCwgICAwLCAgIDEsICA5OSwgICAyLCAgIDMsICA5OSwgICAyLCAgOTgsICAgMCwgIC0yLCAgLTEsICAtMiwgIC0xLCAgIDAsCiAgLTEsICAgMSwgICAwLCAgIDEsICAgMiwgICAxLCAgIDIsICAgMiwgICAwLCAgIDEsICAgMCwgICAwLCAgIDEsICAgMCwgMTAzLAogICAxLCAgIDAsICAgMCwgICA5LCAxMDEsICAgMCwgICAxLCAgIDAsICAtMSwgMTAwLCAgIDAsICAtMSwgICAwLCAgLTIsICAtMSwKICAtMywgIC0yLCAgLTQsICAtMywgIC00LCAgLTQsICA5OCwgIC0yLCAgIDAsICAgMCwgICAxLCAxMDQsICAgMiwgICAxLCAgIDEsCiAgIDAsICAgMCwgIC0xLCAgLTEsICAtMiwgIC0xLCAgIDAsICAtMSwgICAwLCAgIDEsICAgMCwgICAxLCAgIDEsICAgMiwgICAxLAogICAwLCAgIDEsICA5OCwgICAwLCAgIDEsICAgMSwgICAwLCAgIDIsICA5OCwgICAxLCAgIDAsICAgMSwgICAwLCAgIDAsICAgOSwKIDEwNiwgICAwLCAgLTEsICA5OCwgICAwLCAgLTEsICAtMiwgIC0xLCAgLTMsICAtMiwgIC00LCAgLTMsICAtNCwgIC0zLCAgLTIsCiAgLTIsICAtMSwgICAwLCAgIDEsICAgMSwgICAyLCAgIDIsICAgMywgIDk4LCAgIDIsICAgMSwgICAyLCAgIDEsICAgMSwgICAwLAogICAxLCAgIDAsICAtMSwgICAwLCAgLTIsICAtMSwgICAwLCAgLTEsICAgMCwgICAwLCAgIDEsICAgMCwgIDk4LCAgIDEsICA5OSwKICAgMCwgICAxLCAgIDAsIDEwMiwgICAxLCAgIDAsICAgMSwgICAwLCAgIDksICAgMCwgICAwLCAgLTEsICAgMCwgICAwLCAgIDEsCiAgOTksICAgMCwgIC0xLCAgOTgsICAgMCwgIDk4LCAgLTEsICAtMiwgIC0zLCAgLTIsICAtMywgIC00LCAgLTMsICAtMywgIC0yLAogIC0xLCAgLTEsICAgMCwgICAxLCAgOTgsICAgMiwgICAzLCAgIDIsICAgMiwgICAxLCAgIDIsICAgMSwgICAxLCAgIDAsICAgMSwKICA5OCwgICAwLCAgLTEsICAgMCwgIC0xLCAgLTEsICAgMCwgIC0xLCAgIDAsICAgMSwgICAwLCAgIDEsICAgMCwgICAxLCAxMDEsCiAgIDAsIDEwMywgICAxLCAgIDAsICAgMSwgICA4LCAxMDAsICAgMCwgICAxLCAxMDAsICAgMCwgIC0xLCAgIDAsICAgMCwgIC0xLAogIC0xLCAgOTgsICAtMiwgMTAwLCAgLTMsICAtMiwgIC0xLCAgIDAsICAgMSwgICAxLCAxMDIsICAgMiwgICAxLCAgIDEsICAgMCwKICAgMSwgICAxLCAgOTgsICAgMCwgIC0xLCAgLTEsICAgMCwgIC0xLCAgIDAsICAgMCwgIC0xLCAgIDAsICAgMSwgICAwLCAgIDEsCiAxMDMsICAgMCwgMTAzLCAgIDEsICAgMCwgICA4LCAgOTgsICAgMCwgICAxLCAxMDMsICAgMCwgIC0xLCAgIDAsICAtMSwgIDk5LAogIC0yLCAgOTksICAtMywgIC0yLCAgLTEsICAtMSwgICAwLCAgIDEsICAgMSwgIDk4LCAgIDIsICAgMywgICAxLCAgIDIsICAgMSwKICAgMiwgICAwLCAgIDAsICAgMSwgICAxLCAgOTgsICAgMCwgIC0xLCAgIDAsICAtMSwgICAwLCAgIDAsICAtMSwgIDk5LCAgIDAsCiAgIDEsICA5OCwgICAwLCAgLTEsICA5OSwgICAwLCAgIDEsICAgMCwgICAxLCAgIDIsICAgMSwgICAxLCAgIDIsICAgMCwgICAxLAogICA4LCAgIDAsICAgMSwgIDk4LCAgIDAsICAgMSwgMTAxLCAgIDAsICA5OCwgIC0xLCAgLTIsICAtMiwgIC0zLCAgLTIsICA5OCwKICAtMywgIC0yLCAgLTIsICAtMSwgICAwLCAgIDAsICAgMSwgICAyLCAgIDEsIDEwMCwgICAyLCAgIDEsICAgMSwgICAwLCAgIDEsCiAgIDEsICAgMCwgICAxLCAgIDAsICAtMSwgICAwLCAgLTEsICAtMSwgMTA0LCAgIDAsICAtMSwgICAwLCAgLTEsICA5OSwgICAwLAogICAxLCAgIDEsICAgMCwgICAxLCAgIDIsICAgMSwgICAyLCAgIDEsICAgMSwgICA3LCAgIDEsICAgMSwgICAwLCAgIDAsICAgMSwKICAgMCwgICAxLCAgOTksICAgMCwgIC0xLCAgIDAsICAtMSwgIDk4LCAgLTIsICAtMywgIC0yLCAgLTQsICAtMywgIDk4LCAgLTIsCiAgLTEsICAgMCwgIDk4LCAgIDEsIDEwMCwgICAyLCAgIDEsICAgMiwgICAwLCAgIDEsICAgMCwgICAxLCAgIDEsICA5OCwgICAwLAogIC0xLCAgIDAsICAtMSwgICAwLCAgLTEsIDEwMSwgICAwLCAgLTEsICAgMCwgIC0xLCAgLTEsICAgMCwgIC0xLCAgIDAsICAgMCwKIDEwMCwgICAxLCAgIDIsICAgMiwgICAxLCAgIDEsICAgNiwgICAyLCAgIDEsICAgMCwgICAxLCAgIDEsICAgMCwgICAxLCAgOTksCiAgIDAsICAtMSwgICAwLCAgOTgsICAtMiwgIC0zLCAgLTIsICAtMywgIC00LCAgLTMsICAtMiwgIC0yLCAgLTEsICAtMSwgICAxLAogICAwLCAgIDIsICAgMSwgICAyLCAgIDIsICAgMSwgIDk4LCAgIDIsICAgMSwgICAwLCAgIDEsICAgMSwgICAwLCAgIDEsICAgMCwKICAgMSwgIC0xLCAgIDAsICAgMCwgIC0xLCAgIDAsICAtMSwgICAwLCAgIDAsICAtMSwgIDk4LCAgIDAsICA5OSwgIC0xLCAgIDAsCiAgLTEsICA5OCwgICAwLCAgIDEsICAgMiwgICAxLCAgIDEsICAgMiwgICAxLCAgIDIsICAgMSwgICA2LCAgIDEsICAgMSwgICAyLAogICAxLCAgIDEsICAgMCwgICAxLCAgIDAsICAgMSwgICAwLCAgLTEsICAgMCwgIC0yLCAgLTEsICAtMiwgIC0zLCAgLTMsICAtMiwKICAtNCwgIC00LCAgLTMsICAtMiwgIC0yLCAgLTEsICAgMCwgICAwLCAgIDEsICAgMiwgICAxLCAgOTgsICAgMiwgICAxLCAgIDIsCiAgIDIsICAgMSwgICAwLCAgOTgsICAgMSwgICAwLCAgIDEsICA5OSwgICAwLCAgLTEsICAgMCwgICAwLCAgLTEsICAgMCwgIC0xLAogICAwLCAgLTEsICAgMCwgIDk4LCAgLTEsICAtMiwgIC0xLCAgLTEsICAgMCwgICAwLCAgOTksICAgMSwgICAyLCAgIDEsICA5OCwKICAgMiwgICA1LCAgIDIsICAgMSwgICAyLCAxMDAsICAgMSwgICAwLCAgIDAsICAtMSwgICAwLCAgLTIsICAtMSwgIDk5LCAgLTMsCiAgLTQsICAtNCwgIC0zLCAgLTIsICAtMiwgIC0xLCAgIDAsICA5OCwgICAxLCAgIDIsICAgMSwgMTAwLCAgIDIsICAgMSwgICAwLAogIDk5LCAgIDEsICAgMCwgICAxLCAxMDAsICAgMCwgIC0xLCAgIDAsICAtMSwgICAwLCAxMDAsICAtMSwgIC0yLCAgLTIsICAtMSwKICAtMSwgIDk4LCAgIDAsICAgMSwgICAxLCAgOTgsICAgMiwgICAxLCAgIDIsICAgMiwgICA0LCAgOTksICAgMiwgIDk5LCAgIDEsCiAgOTgsICAgMCwgIC0xLCAgOTgsICAtMiwgIC00LCAgLTMsICA5OCwgIC00LCAgLTMsICAtMywgIC0xLCAgLTEsICAgMCwgIDk4LAogICAxLCAxMDAsICAgMiwgICAxLCAgIDIsICAgMiwgICAwLCAgIDEsICAgMiwgICAwLCAgOTgsICAgMSwgICAwLCAgIDEsICA5OSwKICAgMCwgMTAwLCAgLTEsICAtMiwgIC0xLCAgOTgsICAtMiwgIDk4LCAgLTEsICAgMCwgICAwLCAgIDEsICAgMiwgICAyLCAgIDEsCiAgIDMsICAgMSwgICAyLCAgIDIsICAgNCwgMTAwLCAgIDIsICA5OSwgICAxLCAgIDAsICA5OCwgIC0xLCAgLTMsICAtMywgIDk4LAogIC00LCAgLTUsICAtNCwgIC0zLCAgLTMsICAtMSwgIC0xLCAgIDAsICAgMSwgICAxLCAgIDIsICAgMSwgICAyLCAgIDIsICAgMywKICA5OCwgICAyLCAgOTgsICAgMSwgICAyLCAxMDEsICAgMSwgMTAwLCAgIDAsICAtMSwgIC0xLCAxMDAsICAtMiwgIC0zLCAgLTIsCiAgLTIsICAtMSwgIC0xLCAgIDAsICA5OCwgICAxLCAgIDIsICAgMiwgICAzLCAgIDIsICAgMSwgICAzLCAgIDQsICAgMiwgICAyLAogICAzLCAgIDIsICAgMiwgICAxLCAgIDIsICAgMSwgIDk4LCAgIDAsICAtMSwgIC0yLCAgLTMsICAtMywgMTAwLCAgLTUsICAtMywKICAtMywgIC0xLCAgLTEsICAgMSwgICAwLCAgIDIsICAgMiwgICAxLCAgIDMsICA5OCwgICAyLCAgIDMsICAgMiwgICAyLCAgIDEsCiAgIDEsICAgMiwgICAyLCAgIDEsICAgMiwgIDk5LCAgIDEsICAgMCwgICAxLCAgLTEsICAgMCwgIC0xLCAgOTgsICAtMiwgIC0zLAogIC0yLCAgOTgsICAtMywgIC0yLCAgLTEsICAtMSwgICAwLCAgOTgsICAgMSwgICAyLCAgIDIsICAgMywgICAyLCAgIDIsICAgMywKICA5OCwgICAzLCAgIDIsICAgMywgICAyLCAgIDEsICAgMiwgICAxLCAgIDEsICAgMCwgICAwLCAgLTIsICAtMiwgIC0zLCAgLTQsCiAgLTYsICAtNSwgIC03LCAgLTYsICAtNSwgIC0zLCAgLTMsICAtMSwgICAwLCAgIDAsICAgMSwgIDk5LCAgIDIsICAgMywgICAyLAogICAzLCAgIDIsICAgMywgICAyLCAgIDIsICAgMSwgMTAxLCAgIDIsICA5OCwgICAxLCAgOTgsICAgMCwgIC0xLCAgLTIsICA5OCwKICAtMywgIC00LCAgLTMsICAtNCwgIC0zLCAgLTIsICAtMiwgIC0xLCAgIDEsICAgMCwgICAyLCAgIDEsICAgMiwgICAzLCAgIDIsCiAgIDMsICAgMiwgICAyLCAgIDQsICAgMiwgICAzLCAgIDMsICAgMiwgICAzLCAgIDIsICAgMiwgICAxLCAgIDEsICAgMCwgICAwLAogIC0yLCAgLTIsICAtNCwgIC02LCAgLTcsICAtNywgIC04LCAgLTcsICAtNSwgIC0zLCAgLTIsICAtMSwgICAwLCAgIDEsICAgMSwKICAgMiwgICAyLCAgIDMsICAgMiwgIDk4LCAgIDMsICAgMiwgIDk4LCAgIDMsICAgMSwgICAzLCAgIDIsICAgMywgMTAwLCAgIDIsCiAgIDEsICAgMSwgICAwLCAgIDAsICAtMSwgIC0yLCAgLTMsICAtNCwgIC01LCAgLTQsICAtNCwgIC01LCAgLTQsICAtMiwgIC0yLAogIC0xLCAgIDAsICAgMSwgIDk5LCAgIDIsICAgMywgICAzLCAgIDIsICAgMywgICA0LCAgOTgsICAgMywgICAyLCAgIDMsICA5OCwKICAgMiwgICAxLCAgIDAsICAgMCwgIC0yLCAgLTMsICAtNSwgIC04LCAgLTksIC0xMCwgLTEwLCAgLTcsICAtNSwgIC0zLCAgLTEsCiAgIDAsICAgMSwgICAxLCAgIDIsICAgMywgICAyLCAgOTksICAgMywgICA0LCAxMDMsICAgMywgICAyLCAgIDMsICAgMiwgICAzLAogICAyLCAgIDEsICAgMiwgIDk4LCAgIDAsICAtMiwgIC0zLCAgLTQsICAtNSwgIC03LCAgLTUsICAtNiwgIC00LCAgLTQsICAtMiwKICAgMCwgICAwLCAgIDEsICAgMSwgICAyLCAgIDIsICA5OCwgICAzLCAgIDIsICAgMywgICA0LCAxMDEsICAgMywgICAyLCAgIDIsCiAgIDEsICAgMCwgIC0xLCAgLTIsICAtNSwgIC04LCAtMTIsIC0xNCwgLTEzLCAgLTksICAtNiwgIC0zLCAgLTEsICAgMCwgICAyLAogICAxLCAgIDMsICAgMiwgICAzLCAgIDQsICAgMywgICAzLCAgIDQsICAgMywgICA0LCAgIDQsICAgMywgICA0LCAgOTgsICAgMywKICAgNCwgICAzLCAgIDMsICAgNCwgICAzLCAgIDIsICAgMywgIDk4LCAgIDIsICAgMCwgICAwLCAgLTEsICAtMiwgIC00LCAgLTUsCiAgLTcsICAtOCwgIC02LCAgLTYsICAtNSwgIC0zLCAgLTEsICAtMSwgICAxLCAgIDEsICAgMiwgICAzLCAgIDIsICAgMywgICAzLAogICAyLCAgIDMsICAgNiwgMTAwLCAgIDMsICA5OCwgICAyLCAgIDEsICAtMSwgIC0zLCAgLTcsIC0xMywgLTE4LCAtMjAsIC0xNSwKICAtNywgIC00LCAgIDAsICAgMCwgICAyLCAgIDIsICA5OCwgICAzLCAgIDQsICAgMywgIDk4LCAgIDQsICAgMywgMTAxLCAgIDQsCiAgIDMsICA5OCwgICA0LCAgIDMsICAgNCwgICAzLCAgIDQsICA5OCwgICAzLCAgIDIsICAgMiwgICAxLCAgIDEsICAgMCwgIC0yLAogIC0zLCAgLTUsICAtOCwgIC04LCAgLTksICAtOCwgIC00LCAgLTQsICAtMiwgICAwLCAgIDAsICAgMiwgICAxLCAgIDMsICAgMiwKICAgMiwgICAzLCAgIDMsICAyMiwgMTAwLCAgIDIsICAgMSwgIC0yLCAgLTgsIC00MSwgLTYzLCAtMTUsICAtMywgICAxLCAgIDMsCiAgIDIsICAgNCwgICAzLCAxMDEsICAgNCwgICA1LCAgIDQsICAgNCwgICA1LCAgOTgsICAgNCwgICA1LCAgIDQsICAgNCwgICA1LAogICA0LCAgIDQsICAgNSwgICAzLCAgIDQsICAgNCwgICA1LCAxMDAsICAgNCwgICAzLCAgIDQsICAgMywgICA0LCAgIDMsICAgMywKICAgMiwgICAzLCAgIDEsICAgMiwgICAwLCAgLTEsICAtMSwgIC00LCAgLTQsICAtNiwgIC03LCAgLTcsICAtNSwgIC01LCAgLTIsCiAgLTIsICAgMCwgICAwLCAgIDEsICAgMiwgIDk3LCAgNzEsICAgNSwgICA1LCAgLTIsIDExMCwgIC01LCAgOTcsLTEwMCwgMTE0LAogICA1LCAgIDQsIC05NywgICA1Cn07CnN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHJvd19zaXplWzM2XSA9IHsKIDE0LCA1MywgNTgsIDYxLCA1MiwgNTUsIDYxLCA1OSwgNTMsIDUxLCA1MSwgNTIsIDU2LCA1NywgNTMsIDUzLCA0OSwgNTYsCiA1NCwgNTcsIDQ1LCA1NSwgNTQsIDU3LCA2NSwgNjUsIDU0LCA1NCwgNTMsIDYzLCA2MywgNjYsIDYxLCA2NywgNjEsIDYyCn07Cgpjb25zdCBpbnQgdGhyZXNob2xkID0gOTc7CgppbnQgZ2V0X3ZhbHVlKGludCByb3csIGludCBjb2x1bW4pCnsKICAgIGNvbnN0IGNoYXIgKiBwID0gY29tcHJlc3NlZF90YWJsZTsKICAgIGZvciAoaW50IGkgPSAwOyAgaSA8IHJvdzsgICsraSkKICAgICAgICBwICs9IHJvd19zaXplW2ldOwogICAgaW50IHZhbHVlID0gMDsKICAgIGludCBkZWx0YSA9IDA7CiAgICBpbnQgcmVwZWF0X2NvdW50ID0gMDsKICAgIGludCBuZXh0X2NvbHVtbiA9IDA7CiAgICB3aGlsZSAobmV4dF9jb2x1bW4gPD0gY29sdW1uKQogICAgewogICAgICAgIGlmIChyZXBlYXRfY291bnQgPT0gMCkKICAgICAgICB7CiAgICAgICAgICAgIHJlcGVhdF9jb3VudCA9IDE7CiAgICAgICAgICAgIGludCBvZmZzZXQgPSAwOwogICAgICAgICAgICBpZiAoKnAgPT0gdGhyZXNob2xkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBvZmZzZXQgPSB0aHJlc2hvbGQ7CiAgICAgICAgICAgICAgICArK3A7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZiAoKnAgPj0gKHRocmVzaG9sZCArIDEpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXBlYXRfY291bnQgPSAzICsgKCpwIC0gKHRocmVzaG9sZCArIDEpKTsKICAgICAgICAgICAgICAgICsrcDsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmICgqcCA8PSAtdGhyZXNob2xkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXBlYXRfY291bnQgPSAzICsgKDI1NiAtICh0aHJlc2hvbGQgKyAxKSk7CiAgICAgICAgICAgICAgICByZXBlYXRfY291bnQgKz0gLSpwICsgdGhyZXNob2xkOwogICAgICAgICAgICAgICAgKytwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRlbHRhID0gKnAgKyAoKnAgPj0gMCA/IG9mZnNldCA6IC1vZmZzZXQpOwogICAgICAgICAgICArK3A7CiAgICAgICAgfQogICAgICAgIHZhbHVlICs9IGRlbHRhOwogICAgICAgIC0tcmVwZWF0X2NvdW50OwogICAgICAgICsrbmV4dF9jb2x1bW47CiAgICB9CiAgICByZXR1cm4gdmFsdWU7Cn0KIAppbnQgbWFpbigpCnsKICAgIGludCBteV90YWJsZVszN11bNzNdOwogICAgZm9yIChpbnQgaSA9IDA7ICBpIDwgMzc7ICArK2kpCiAgICB7CiAgICAgICAgc3RkOjpjb3V0IDw8ICJ7IjsKICAgICAgICBmb3IgKGludCBqID0gMDsgIGogPCA3MzsgICsraikKICAgICAgICB7CiAgICAgICAgICAgIGlmIChqICE9IDApCiAgICAgICAgICAgICAgICBzdGQ6OmNvdXQgPDwgJywnOwogICAgICAgICAgICBteV90YWJsZVtpXVtqXSA9IGdldF92YWx1ZShpLCBqKTsKICAgICAgICAgICAgc3RkOjpjb3V0IDw8IG15X3RhYmxlW2ldW2pdOwogICAgICAgIH0KICAgICAgICBzdGQ6OmNvdXQgPDwgIn0sIFxcXG4iOwogICAgfQogICAgcmV0dXJuIDA7Cn0K
{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}, \