Files
qt-creator/src/libs/glsl/glslparsertable.cpp

1265 lines
55 KiB
C++
Raw Normal View History

2010-11-10 12:32:34 +01:00
// This file was generated by qlalr - DO NOT EDIT!
#include "glslparsertable_p.h"
const char *const GLSLParserTable::spell [] = {
"end of file", "+=", "&", "&=", "&&", "attribute", "!", "bool", "break", "bvec2",
"bvec3", "bvec4", "^", "case", "centroid", ":", ",", "const", "continue", "-",
"--", "default", "discard", "/=", "dmat2", "dmat2x2", "dmat2x3", "dmat2x4", "dmat3", "dmat3x2",
"dmat3x3", "dmat3x4", "dmat4", "dmat4x2", "dmat4x3", "dmat4x4", "do", ".", "double", "dvec2",
"dvec3", "dvec4", "else", "=", "==", "flat", "float", "for", ">=", "highp",
"identifier", "if", "in", "++", "inout", "int", "invariant", "isampler1D", "isampler1DArray", "isampler2D",
"isampler2DArray", "isampler2DMS", "isampler2DMSArray", "isampler2DRect", "isampler3D", "isamplerBuffer", "isamplerCube", "isamplerCubeArray", "ivec2", "ivec3",
"ivec4", "layout", "<", "<<=", "{", "[", "<<", "(", "<=", "lowp",
"mat2", "mat2x2", "mat2x3", "mat2x4", "mat3", "mat3x2", "mat3x3", "mat3x4", "mat4", "mat4x2",
"mat4x3", "mat4x4", "mediump", "%=", "*=", "!=", "noperspective", "number constant", "|=", "||",
"out", "patch", "%", "plus", "precision", "?", "return", ">", ">>=", "}",
"]", ">>", ")", "sample", "sampler1D", "sampler1DArray", "sampler1DArrayShadow", "sampler1DShadow", "sampler2D", "sampler2DArray",
"sampler2DArrayShadow", "sampler2DMS", "sampler2DMSArray", "sampler2DRect", "sampler2DRectShadow", "sampler2DShadow", "sampler3D", "samplerBuffer", "samplerCube", "samplerCubeArray",
"samplerCubeArrayShadow", "samplerCubeShadow", ";", "/", "smooth", "*", "struct", "subroutine", "-=", "switch",
"~", "type_name", "uint", "uniform", "usampler1D", "usampler1DArray", "usampler2D", "usampler2DArray", "usampler2DMS", "usampler2DMSarray",
"usampler2DRect", "usampler3D", "usamplerBuffer", "usamplerCube", "usamplerCubeArray", "uvec2", "uvec3", "uvec4", "varying", "vec2",
"vec3", "vec4", "|", "void", "while", "^=", "^", "true", "false", "error"};
const short GLSLParserTable::lhs [] = {
171, 172, 172, 172, 172, 172, 174, 174, 174, 174,
174, 174, 175, 176, 177, 177, 178, 178, 180, 180,
179, 179, 181, 183, 183, 185, 185, 185, 185, 186,
186, 186, 186, 187, 187, 187, 187, 188, 188, 188,
189, 189, 189, 190, 190, 190, 190, 190, 191, 191,
191, 192, 192, 193, 193, 194, 194, 195, 195, 196,
196, 197, 197, 198, 198, 182, 182, 199, 199, 199,
199, 199, 199, 199, 199, 199, 199, 199, 173, 173,
200, 201, 201, 201, 201, 201, 201, 201, 201, 202,
208, 208, 210, 210, 209, 213, 213, 211, 211, 211,
211, 215, 215, 215, 215, 216, 203, 203, 203, 203,
203, 203, 203, 217, 217, 217, 217, 217, 217, 217,
217, 212, 212, 219, 220, 220, 220, 221, 222, 222,
223, 223, 214, 206, 206, 206, 206, 206, 206, 206,
206, 224, 224, 224, 224, 224, 224, 224, 224, 224,
224, 224, 224, 224, 184, 184, 205, 205, 205, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 204, 204, 204, 226,
226, 207, 207, 227, 227, 228, 228, 229, 229, 229,
218, 230, 231, 231, 233, 233, 233, 233, 233, 233,
233, 232, 232, 241, 241, 242, 242, 240, 240, 234,
234, 235, 243, 243, 244, 244, 236, 245, 245, 237,
237, 238, 238, 238, 246, 246, 248, 248, 247, 247,
239, 239, 239, 239, 239, 170, 170, 249, 249, 249,
250, 251};
const short GLSLParserTable::rhs [] = {
1, 1, 1, 1, 1, 3, 1, 4, 1, 3,
2, 2, 1, 1, 1, 3, 2, 2, 2, 1,
2, 3, 2, 1, 1, 1, 2, 2, 2, 1,
1, 1, 1, 1, 3, 3, 3, 1, 3, 3,
1, 3, 3, 1, 3, 3, 3, 3, 1, 3,
3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
3, 1, 3, 1, 5, 1, 3, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
1, 2, 2, 4, 6, 7, 9, 10, 2, 2,
1, 1, 2, 3, 3, 2, 5, 3, 2, 3,
2, 0, 1, 1, 1, 1, 1, 3, 5, 6,
7, 8, 5, 1, 2, 4, 5, 6, 7, 4,
2, 1, 2, 1, 1, 1, 1, 4, 1, 3,
1, 3, 1, 1, 1, 2, 2, 1, 2, 3,
1, 1, 1, 1, 2, 1, 1, 2, 2, 2,
2, 2, 2, 1, 1, 2, 1, 3, 4, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 5,
4, 1, 2, 3, 4, 1, 3, 1, 3, 4,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 2, 3, 1, 1, 2, 3, 1, 2, 1,
2, 5, 3, 1, 1, 4, 7, 0, 1, 3,
2, 5, 7, 6, 1, 1, 0, 1, 2, 3,
2, 2, 2, 3, 2, 1, 2, 1, 1, 1,
2, 2};
const short GLSLParserTable::action_default [] = {
0, 143, 165, 172, 173, 174, 0, 142, 193, 196,
197, 198, 194, 199, 200, 201, 195, 202, 203, 204,
162, 169, 170, 171, 126, 161, 247, 146, 163, 141,
218, 222, 219, 223, 240, 243, 234, 220, 237, 221,
224, 175, 176, 177, 0, 249, 181, 184, 185, 186,
182, 187, 188, 189, 183, 190, 191, 192, 248, 127,
147, 0, 0, 0, 205, 212, 214, 209, 206, 213,
215, 239, 242, 232, 233, 210, 207, 236, 208, 216,
217, 211, 310, 125, 0, 246, 164, 154, 225, 229,
226, 230, 241, 244, 235, 227, 238, 228, 231, 178,
179, 180, 144, 166, 167, 168, 160, 309, 306, 114,
0, 308, 102, 92, 0, 0, 138, 0, 135, 0,
107, 134, 245, 0, 0, 122, 155, 157, 148, 149,
145, 121, 0, 131, 129, 0, 0, 132, 0, 128,
130, 150, 151, 0, 0, 84, 152, 153, 0, 0,
0, 141, 252, 0, 0, 0, 250, 253, 0, 258,
256, 0, 0, 32, 31, 0, 4, 1, 0, 0,
2, 30, 259, 33, 3, 41, 54, 81, 0, 52,
56, 9, 15, 20, 0, 0, 14, 0, 58, 60,
64, 62, 38, 26, 7, 49, 44, 24, 34, 0,
5, 28, 27, 79, 66, 0, 34, 0, 6, 80,
72, 76, 70, 68, 74, 71, 69, 78, 75, 73,
77, 0, 67, 0, 0, 40, 0, 0, 0, 37,
36, 35, 39, 0, 53, 0, 0, 50, 0, 0,
0, 0, 48, 0, 0, 42, 43, 45, 47, 46,
51, 260, 0, 55, 160, 21, 18, 0, 17, 22,
23, 0, 57, 0, 59, 0, 0, 63, 0, 61,
0, 0, 65, 12, 0, 11, 0, 10, 16, 13,
0, 8, 29, 0, 255, 257, 0, 254, 0, 251,
115, 0, 0, 95, 261, 120, 116, 0, 0, 118,
117, 0, 119, 90, 133, 103, 105, 104, 93, 0,
102, 99, 101, 106, 96, 0, 0, 97, 0, 98,
100, 106, 102, 94, 0, 82, 311, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 276, 280, 0,
0, 269, 263, 262, 265, 0, 266, 0, 270, 271,
267, 264, 278, 0, 268, 122, 302, 0, 290, 301,
291, 305, 0, 0, 0, 0, 0, 293, 0, 296,
295, 297, 122, 298, 0, 285, 0, 0, 0, 299,
300, 0, 274, 275, 294, 0, 0, 286, 123, 0,
0, 0, 282, 284, 0, 283, 272, 0, 273, 279,
303, 0, 304, 0, 0, 0, 288, 289, 0, 287,
0, 0, 0, 292, 281, 277, 0, 83, 108, 0,
0, 113, 109, 0, 0, 111, 110, 0, 112, 137,
0, 139, 140, 136, 156, 312, 307, 0, 89, 0,
0, 0, 0, 85, 0, 86, 0, 0, 87, 0,
88, 0, 158, 0, 159};
const short GLSLParserTable::goto_default [] = {
123, 200, 194, 345, 193, 280, 181, 186, 182, 185,
184, 183, 203, 187, 197, 206, 199, 192, 175, 196,
195, 179, 176, 180, 188, 189, 191, 190, 204, 221,
178, 343, 347, 115, 119, 126, 124, 288, 110, 112,
113, 308, 109, 311, 310, 309, 312, 120, 295, 117,
116, 118, 135, 134, 121, 127, 122, 152, 286, 160,
344, 352, 342, 351, 346, 350, 354, 341, 348, 349,
353, 384, 382, 392, 373, 408, 371, 376, 374, 108,
111, 0};
const short GLSLParserTable::action_index [] = {
3093, -170, -170, -170, -170, -170, 48, -170, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, 224,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-170, -170, -170, -170, -63, -170, -170, -170, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-170, 24, 70, 30, -170, -170, -170, -170, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-170, -170, -170, -170, 41, -170, -170, -170, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -10,
-81, -170, 128, 18, 1, 67, 304, 155, 304, 467,
-170, -170, -170, 3263, 956, -170, -170, -24, -170, -170,
-170, -170, -3, 5, -170, 64, -47, -170, -20, -170,
-170, -170, -170, 467, -83, -170, -170, -170, -30, 2433,
2433, 219, -170, 2763, 630, 7, -170, -170, 4, -17,
-170, 71, 1612, -170, -170, 1120, -170, -31, 1120, 1120,
-170, -170, -170, -170, -170, 53, 33, -170, -74, 45,
21, -170, -170, 1284, -75, 54, -170, -35, -121, 39,
-1, -127, 44, 133, -170, 120, 16, -170, -170, 1120,
-170, -170, -170, -170, -170, 78, 209, 1120, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-170, 1120, -170, 1120, 1120, 6, 1120, 1120, 1120, -170,
-170, -170, 3, 1120, 49, 1120, 1120, 95, 1120, 1120,
1120, 1120, 31, 1120, 1120, 82, 55, 26, 23, 10,
116, -170, 1120, 66, -52, -170, -170, 1120, -170, -170,
-170, 1120, 52, 1120, -100, 1120, 1120, -103, 1120, 51,
69, 1120, -170, -170, 793, -170, 1120, -8, -170, 139,
-44, -170, -170, 9, -170, -170, 65, -170, 2598, -170,
75, 1120, 2268, -170, -170, -170, -39, -107, 1120, -170,
-18, 1120, -170, -170, -170, -170, -170, -170, -170, 630,
59, -170, -170, -32, -56, 1120, -94, -170, 630, -170,
-170, -41, 109, -170, 4583, -170, -170, -104, 1120, -126,
-15, -130, 3758, -69, -72, 4088, 1448, -170, -170, -48,
-55, -170, -170, -170, -170, 57, -170, -117, -170, -170,
-170, -170, -170, 4418, -170, -70, -170, 62, -170, -170,
-170, -170, -151, -60, 1120, 72, -112, -170, 3593, -170,
-170, 3428, -50, -170, -106, 139, -88, -40, 630, 1120,
139, 3923, -170, -170, -170, -42, 1120, -170, -170, 1120,
63, 3758, -170, -21, 3758, -170, -170, 4253, -170, -170,
-170, 79, -170, 1120, 81, -51, 3758, 3758, -97, -170,
3428, -101, 3923, -170, -170, -170, 11, -170, 28, 1120,
1940, -170, 22, -43, 1120, -170, -11, 1120, -170, -170,
304, -170, -170, -170, -170, -170, -170, -36, -170, 2433,
2928, 46, 15, -170, 1776, -170, -87, -58, -170, -79,
-170, 2104, -170, -54, -170,
119, -82, -82, -82, -82, -82, -82, -82, -82, -82,
-82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
-82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
-82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
-82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
-82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
-82, -82, 2, -82, -82, -82, -82, -82, -82, -82,
-82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
-82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
-82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
-82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
-82, -82, -82, -82, -40, -82, -45, 32, -41, -27,
-82, -82, -82, 141, 1, -82, -82, -82, -82, -82,
-82, -82, -82, -82, -82, -82, -82, -82, -25, -82,
-82, -82, -82, -8, -82, -82, -82, -82, -82, 71,
103, -82, -82, 99, 11, -82, -82, -82, -35, -82,
-82, -82, 40, -82, -82, 19, -82, -82, 18, 27,
-82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
-82, -82, -82, -5, -82, -82, -82, -82, -82, -82,
-82, -82, -82, -82, -82, -82, -82, -82, -82, -4,
-82, -82, -82, -82, -82, -82, -82, -7, -82, -82,
-82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
-82, 7, -82, 39, 36, -82, 6, -11, -1, -82,
-82, -82, -82, 31, -82, 24, 28, -82, 30, 51,
44, 65, -82, 72, 42, -82, -82, -82, -82, -82,
-82, -82, 77, -82, -82, -82, -82, 8, -82, -82,
-82, 143, -82, 78, -82, 74, 13, -82, 63, -82,
-82, 5, -82, -82, 4, -82, 3, -82, -82, -82,
-82, -82, -82, -37, -82, -82, -82, -82, 84, -82,
-82, -2, 108, -82, -82, -82, -82, -82, 49, -82,
-82, 53, -82, -82, -82, -82, -82, -82, -82, 21,
-14, -82, -82, -82, -82, 115, -82, -82, 91, -82,
-82, -82, 9, -82, 10, -82, -82, -82, 15, -82,
-82, -82, 60, -82, -82, 57, 23, -82, -82, -82,
-82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
-82, -82, -82, 58, -82, -82, -82, -82, -82, -82,
-82, -82, -82, -82, 26, -82, -82, -82, 82, -82,
-82, 222, -82, -82, -82, -82, -82, -82, -12, 76,
-82, 55, -82, -82, -82, -82, 46, -82, -82, -3,
-82, 50, -82, -82, 48, -82, -82, 61, -82, -82,
-82, -82, -82, 0, -82, -82, 62, 67, -82, -82,
150, -82, 89, -82, -82, -82, -82, -82, -82, 29,
129, -82, -82, -82, 25, -82, -82, 35, -82, -82,
-53, -82, -82, -82, -82, -82, -82, -82, -82, 134,
90, -82, -82, -82, 80, -82, -82, -82, -82, -82,
-82, 101, -82, -82, -82};
const short GLSLParserTable::action_info [] = {
360, 386, 361, 300, 298, 389, 359, -24, 368, 314,
385, 412, 409, 363, 132, 325, 317, 364, 314, 315,
367, 394, 410, 406, 381, 301, 379, -24, 356, 403,
133, 303, 427, 252, 322, 233, 251, 256, 439, 268,
290, 261, 260, 263, 150, 448, -25, 133, 136, 145,
137, 451, 449, 450, 159, 263, 454, 159, 162, 159,
-19, 418, 261, 268, 252, 424, 281, 426, 233, -25,
257, 419, 223, 207, 223, 324, 141, 358, 207, 207,
138, 283, 146, 416, 271, 207, 243, 283, 207, 235,
444, 148, 243, 235, 207, 207, 442, 207, 265, 243,
128, 223, 243, 420, 266, 226, 0, 243, 226, 0,
0, 305, 0, 306, 0, 149, 0, 0, 291, 26,
0, 244, 0, 0, 142, 0, 304, 244, 0, 0,
147, 0, 0, 325, 244, 0, 227, 244, 228, 227,
236, 228, 244, 238, 236, 304, 226, 445, 129, 45,
292, 0, 293, 273, 0, 207, 224, 0, 224, 307,
1, 305, 58, 306, 238, 0, 258, 239, 238, 6,
274, 0, 7, 240, 0, 391, 139, 227, 443, 228,
305, 0, 306, 0, 366, 224, 275, 0, 239, 414,
208, 0, 239, 405, 240, 0, 0, 287, 240, 417,
24, 0, 241, 284, 0, 0, 130, 27, 276, 307,
210, 402, 211, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 241, -124, 0, 0, 241, 307, -124,
0, 0, 212, -124, 0, 0, -124, 0, -124, 0,
-91, -124, 0, 0, 0, 0, 0, 0, 0, 0,
0, 59, 213, 0, 0, 60, 61, 0, 0, 0,
0, 0, 0, 0, -124, 0, 0, 0, 63, -124,
0, -124, 0, 0, 131, 0, -124, 0, 0, 0,
0, 0, 214, 0, 0, 0, 0, 0, 0, 83,
0, 0, 0, 0, 0, 0, 0, 0, 87, 0,
0, 0, 215, 216, 0, 0, 0, 217, 0, 1,
0, 0, 0, 102, 0, -124, 0, 218, 6, -124,
-124, 7, 0, 0, -124, -124, 0, 0, 0, 0,
0, 0, -124, 0, 0, 0, 0, -124, 0, 0,
0, 0, 0, 0, 0, 0, 0, 219, 0, 0,
0, 0, 0, -124, 0, 0, 27, 0, -124, 0,
0, 0, -124, 0, 0, 0, 0, -124, 0, 0,
0, 0, 0, 0, 220, 0, 0, -124, 0, 0,
0, 0, -124, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 60, 61, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 63, 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, 87, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 102, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2, 0, 3, 4, 5, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 0, 0, 20, 21, 22, 23, 0,
0, 0, 0, 25, 0, 0, 0, 0, 0, 0,
0, 0, 28, 0, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 0, 0,
0, 0, 0, 0, 0, 0, 0, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 57, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 64, 65, 66, 67, 68, 69, 70, 71, 72,
73, 74, 75, 76, 77, 78, 79, 80, 81, 0,
0, 0, 0, 84, 0, 0, 0, 0, 85, 86,
0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
97, 98, 99, 100, 101, 0, 103, 104, 105, 0,
106, 0, 0, 0, 0, 0, 0, 2, 0, 3,
4, 5, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 0, 0, 20, 21,
22, 23, 0, 0, 0, 0, 25, 0, 0, 26,
0, 0, 0, 0, 0, 28, 0, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
43, 0, 0, 0, 0, 0, 0, 0, 0, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 0, 0, 0, 0, 84, 0, 0, 0,
0, 85, 86, 0, 88, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 0, 103,
104, 105, 0, 106, 0, 0, 0, 0, 0, 0,
2, 0, 3, 4, 5, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
0, 20, 21, 22, 23, 0, 0, 0, 0, 25,
0, 0, 26, 277, 0, 0, 0, 0, 28, 0,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 0, 0, 0, 0, 0, 0,
0, 0, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 0, 0, 0, 0, 84,
0, 0, 0, 0, 85, 86, 0, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 0, 103, 104, 105, 0, 106, 0, 0, 0,
0, 0, 0, 2, 0, 3, 4, 5, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 0, 0, 20, 21, 22, 23, 0, 0,
0, 0, 25, 0, 0, 26, 437, 0, 0, 0,
0, 28, 0, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 0, 0, 0,
0, 0, 0, 0, 0, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 438, 0,
0, 0, 84, 0, 0, 0, 0, 85, 86, 0,
88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 0, 103, 104, 105, 0, 106,
0, 0, 0, 0, 0, 0, 163, 2, 0, 3,
4, 5, 0, 0, 0, 0, 0, 0, 0, 164,
165, 0, 0, 0, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 0, 0, 20, 21,
22, 23, 0, 0, 0, 0, 25, 0, 0, 26,
167, 0, 0, 168, 0, 28, 0, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
43, 0, 0, 0, 0, 0, 0, 169, 0, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 0, 0, 0, 0, 170, 0, 0,
0, 0, 0, 171, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 0, 0, 0, 0, 84, 0, 0, 0,
173, 85, 86, 0, 88, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 0, 103,
104, 105, 0, 106, 0, 0, 0, 174, 166, 0,
163, 2, 0, 3, 4, 5, 0, 0, 0, 0,
0, 0, 0, 164, 165, 0, 0, 0, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
0, 0, 20, 21, 22, 23, 0, 0, 0, 0,
25, 0, 0, 26, 167, 0, 0, 168, 0, 28,
0, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 0, 0, 0, 0, 0,
0, 169, 0, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, 0, 0, 0,
0, 170, 0, 0, 0, 0, 0, 171, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 0, 0, 0, 0,
84, 0, 0, 0, 173, 85, 86, 0, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 0, 103, 104, 105, 0, 254, 0, 0,
0, 174, 166, 0, 163, 2, 0, 3, 4, 5,
0, 0, 0, 0, 0, 0, 0, 164, 165, 0,
0, 0, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 0, 0, 20, 21, 22, 23,
0, 0, 0, 0, 25, 0, 0, 26, 167, 0,
0, 168, 0, 28, 0, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 0,
0, 0, 0, 0, 0, 169, 0, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 0, 0, 0, 0, 170, 0, 0, 0, 0,
0, 171, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
400, 0, 0, 0, 84, 0, 0, 0, 173, 85,
86, 0, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 0, 103, 104, 105,
0, 106, 0, 0, 0, 174, 166, 0, 163, 2,
0, 3, 4, 5, 0, 0, 0, 0, 0, 0,
0, 164, 165, 0, 0, 0, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 0, 0,
20, 21, 22, 23, 0, 0, 0, 0, 25, 0,
0, 26, 167, 0, 0, 168, 0, 28, 0, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 0, 0, 0, 0, 0, 0, 169,
0, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 0, 0, 0, 0, 170,
0, 0, 0, 0, 0, 171, 0, 0, 0, 0,
0, 0, 172, 0, 0, 0, 64, 65, 66, 67,
68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
78, 79, 80, 81, 0, 0, 0, 0, 84, 0,
0, 0, 173, 85, 86, 0, 88, 89, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
0, 103, 104, 105, 0, 106, 0, 0, 0, 174,
166, 0, 163, 2, 0, 3, 4, 5, 0, 0,
0, 0, 0, 0, 0, 164, 165, 0, 0, 0,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 0, 0, 20, 21, 22, 23, 0, 0,
0, 0, 25, 0, 0, 26, 167, 0, 0, 168,
0, 28, 0, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 0, 0, 0,
0, 0, 0, 169, 0, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 0,
0, 0, 0, 170, 0, 0, 0, 0, 0, 171,
0, 0, 0, 0, 0, 0, 446, 0, 0, 0,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 0, 0,
0, 0, 84, 0, 0, 0, 173, 85, 86, 0,
88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 0, 103, 104, 105, 0, 106,
0, 0, 0, 174, 166, 0, 163, 2, 0, 3,
4, 5, 0, 0, 0, 0, 0, 0, 0, 164,
165, 0, 0, 0, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 0, 0, 20, 21,
22, 23, 0, 0, 0, 0, 25, 0, 0, 26,
167, 0, 0, 168, 0, 28, 0, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
43, 0, 0, 0, 0, 0, 0, 169, 0, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 0, 0, 0, 0, 170, 0, 0,
0, 0, 0, 171, 0, 0, 0, 0, 0, 0,
422, 0, 0, 0, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 0, 0, 0, 0, 84, 0, 0, 0,
173, 85, 86, 0, 88, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 0, 103,
104, 105, 0, 106, 0, 0, 0, 174, 166, 0,
163, 2, 0, 3, 4, 5, 0, 0, 0, 0,
0, 0, 0, 164, 165, 0, 0, 0, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
0, 0, 20, 21, 22, 23, 0, 0, 0, 0,
25, 0, 0, 26, 167, 0, 0, 168, 0, 28,
0, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 0, 0, 0, 0, 0,
0, 169, 0, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, 0, 0, 0,
0, 170, 0, 0, 0, 0, 0, 171, 0, 0,
0, 0, 0, 0, 452, 0, 0, 0, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 0, 0, 0, 0,
84, 0, 0, 0, 173, 85, 86, 0, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 0, 103, 104, 105, 0, 106, 0, 0,
0, 174, 166, 0, 163, 2, 0, 3, 4, 5,
0, 0, 0, 0, 0, 0, 0, 164, 165, 0,
0, 0, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 0, 0, 20, 21, 22, 23,
0, 0, 0, 0, 25, 0, 0, 26, 167, 0,
0, 168, 0, 28, 0, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 0,
0, 0, 0, 0, 0, 169, 0, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 0, 0, 0, 0, 170, 0, 0, 0, 0,
0, 171, 0, 0, 0, 0, 0, 0, 296, 0,
0, 0, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
0, 0, 0, 0, 84, 0, 0, 0, 173, 85,
86, 0, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 0, 103, 104, 105,
0, 106, 0, 0, 0, 174, 166, 0, 1, 0,
2, 0, 3, 4, 5, 0, 0, 6, 0, 0,
7, 0, 0, 0, 0, 0, 0, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
0, 20, 21, 22, 23, 0, 0, 0, 24, 25,
0, 0, 26, 0, 0, 27, 0, 0, 28, 151,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 0, 0, 0, 0, 0,
0, 0, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 0, 0, 0, 59,
0, 0, 0, 60, 61, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 0, 0, 83, 0, 84,
0, 0, 0, 0, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 0, 106, 0, 0, 0,
0, 0, 0, 1, 0, 2, 0, 3, 4, 5,
0, 0, 6, 0, 0, 7, 0, 0, 0, 0,
0, 0, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 0, 0, 20, 21, 22, 23,
0, 0, 0, 24, 25, 0, 0, 26, 0, 0,
27, 0, 0, 28, 151, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
0, 0, 0, 0, 0, 0, 0, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 0, 0, 0, 59, 0, 0, 0, 60, 61,
0, 0, 0, 0, 0, 0, 0, 289, 0, 0,
0, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
0, 0, 83, 0, 84, 0, 0, 0, 0, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
0, 106, 0, 0, 0, 0, 0, 0, 1, 0,
2, 0, 3, 4, 5, 0, 0, 6, 0, 0,
7, 0, 0, 0, 0, 0, 0, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
0, 20, 21, 22, 23, 0, 0, 0, 24, 25,
0, 0, 26, 0, 0, 27, 0, 0, 28, 151,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 0, 0, 0, 0, 0,
0, 0, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 0, 0, 0, 59,
0, 0, 0, 60, 61, 0, 0, 0, 0, 0,
0, 0, 156, 0, 0, 0, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 0, 0, 83, 0, 84,
0, 0, 0, 0, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 0, 106, 0, 0, 0,
0, 0, 0, 1, 0, 2, 0, 3, 4, 5,
0, 0, 6, 0, 0, 7, 0, 0, 0, 0,
0, 0, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 0, 0, 20, 21, 22, 23,
0, 0, 0, 24, 25, 0, 0, 26, 0, 0,
27, 0, 0, 28, 151, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
0, 0, 0, 0, 0, 0, 0, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 0, 0, 0, 59, 0, 0, 0, 60, 61,
0, 0, 0, 0, 0, 0, 0, 441, 0, 0,
0, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
0, 0, 83, 0, 84, 0, 0, 0, 0, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
0, 106, 0, 0, 0, 0, 0, 0, 1, 0,
2, 0, 3, 4, 5, 0, 0, 6, 0, 0,
7, 0, 0, 0, 0, 0, 0, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
0, 20, 21, 22, 23, 0, 0, 0, 24, 25,
0, 0, 26, 0, 0, 27, 0, 0, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 0, 0, 0, 0, 0,
0, 0, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 0, 0, 0, 59,
0, 0, 0, 60, 61, 0, 0, 62, 0, 0,
0, 0, 0, 0, 0, 0, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 82, 0, 83, 0, 84,
0, 0, 0, 0, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 0, 106, 0, 0, 0,
0, 0, 0, 435, 0, 0, 0, 0, 1, 0,
2, 0, 3, 4, 5, 0, 0, 6, 0, 0,
7, 0, 0, 0, 0, 0, 0, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
0, 20, 21, 22, 23, 0, 0, 0, 24, 25,
0, 0, 26, 0, 0, 27, 0, 0, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 0, 0, 0, 0, 0,
0, 0, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 0, 0, 0, 59,
0, 0, 0, 60, 61, 0, 0, 62, 0, 0,
0, 0, 0, 0, 0, 0, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 82, 0, 83, 0, 84,
0, 0, 0, 0, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 0, 106, 0, 0, 0,
0, 0, 0, 1, 163, 2, 0, 3, 4, 5,
0, 0, 6, 0, 0, 7, 0, 164, 165, 0,
0, 0, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 0, 0, 20, 21, 22, 23,
0, 0, 0, 24, 25, 0, 0, 26, 167, 0,
27, 168, 0, 28, 151, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
0, 0, 0, 0, 0, 169, 0, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 0, 0, 0, 59, 170, 0, 0, 60, 61,
0, 171, 0, 0, 0, 0, 0, 0, 0, 0,
0, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
0, 0, 83, 0, 84, 0, 0, 0, 173, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
0, 106, 0, 0, 0, 174, 166, 0, 1, 163,
2, 0, 3, 4, 5, 0, 0, 6, 0, 0,
7, 0, 164, 165, 0, 0, 0, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
0, 20, 21, 22, 23, 0, 0, 0, 24, 25,
0, 0, 26, 167, 0, 27, 168, 0, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 0, 0, 0, 0, 0,
169, 0, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 0, 0, 0, 59,
170, 0, 0, 60, 61, 0, 171, 62, 0, 0,
0, 0, 0, 0, 0, 0, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 338, 0, 83, 0, 84,
0, 0, 0, 173, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 0, 106, 0, 0, 0,
174, 166, 0, 1, 163, 2, 327, 3, 4, 5,
0, 328, 6, 0, 0, 7, 329, 164, 165, 330,
331, 0, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 332, 0, 20, 21, 22, 23,
0, 0, 0, 24, 25, 333, 0, 26, 167, 334,
27, 168, 0, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
0, 0, 335, 0, 0, 169, 0, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 0, 0, 0, 59, 170, 0, 0, 60, 61,
0, 171, 62, 0, 336, 0, 0, 0, 0, 0,
0, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
338, 0, 83, 0, 84, 0, 0, 339, 173, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
0, 106, 340, 0, 0, 174, 166, 0, 1, 163,
2, 327, 3, 4, 5, 0, 328, 6, 0, 0,
7, 329, 164, 165, 330, 331, 0, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 332,
0, 20, 21, 22, 23, 0, 0, 0, 24, 25,
333, 0, 26, 167, 334, 27, 168, 0, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 0, 0, 324, 0, 0,
169, 0, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 0, 0, 0, 59,
170, 0, 0, 60, 61, 0, 171, 62, 0, 336,
0, 0, 0, 0, 0, 0, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 338, 0, 83, 0, 84,
0, 0, 339, 173, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 0, 106, 340, 0, 0,
174, 166, 0, 1, 163, 2, 327, 3, 4, 5,
0, 328, 6, 0, 0, 7, 329, 164, 165, 330,
331, 0, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 332, 0, 20, 21, 22, 23,
0, 0, 0, 24, 25, 333, 0, 26, 167, 334,
27, 168, 0, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
0, 0, 335, 0, 0, 169, 0, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 0, 0, 0, 59, 170, 0, 0, 60, 61,
0, 171, 62, 0, 336, 0, 0, 396, 0, 0,
0, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
338, 0, 83, 0, 84, 0, 0, 339, 173, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
0, 106, 340, 0, 0, 174, 166, 0, 1, 163,
2, 327, 3, 4, 5, 0, 328, 6, 0, 0,
7, 329, 164, 165, 330, 331, 0, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 332,
0, 20, 21, 22, 23, 0, 0, 0, 24, 25,
333, 0, 26, 167, 334, 27, 168, 0, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 0, 0, 335, 0, 0,
169, 0, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 0, 0, 0, 59,
170, 0, 0, 60, 61, 0, 171, 62, 0, 336,
0, 0, 398, 0, 0, 0, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 338, 0, 83, 0, 84,
0, 0, 339, 173, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 0, 106, 340, 0, 0,
174, 166, 0, 1, 163, 2, 327, 3, 4, 5,
0, 328, 6, 0, 0, 7, 329, 164, 165, 330,
331, 0, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 332, 0, 20, 21, 22, 23,
0, 0, 0, 24, 25, 333, 0, 26, 167, 334,
27, 168, 0, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
0, 0, 335, 0, 0, 169, 0, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 0, 0, 0, 59, 170, 0, 0, 60, 61,
0, 171, 62, 0, 336, 0, 0, 415, 0, 0,
0, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
338, 0, 83, 0, 84, 0, 0, 339, 173, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
0, 106, 340, 0, 0, 174, 166, 0, 1, 163,
2, 327, 3, 4, 5, 0, 328, 6, 0, 0,
7, 329, 164, 165, 330, 331, 0, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 332,
0, 20, 21, 22, 23, 0, 0, 0, 24, 25,
333, 0, 26, 167, 334, 27, 168, 0, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 0, 0, 335, 0, 0,
169, 0, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 0, 0, 0, 59,
170, 0, 0, 60, 61, 0, 171, 62, 0, 336,
0, 0, 337, 0, 0, 0, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 338, 0, 83, 0, 84,
0, 0, 339, 173, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 0, 106, 340, 0, 0,
174, 166, 0,
390, 432, 388, 404, 230, 209, 279, 255, 434, 429,
294, 282, 278, 433, 231, 388, 270, 272, 357, 222,
259, 229, 285, 161, 355, 158, 401, 144, 140, 365,
205, 318, 326, 202, 201, 313, 143, 294, 0, 198,
0, 294, 0, 198, 237, 198, 198, 294, 250, 242,
323, 198, 234, 232, 198, 198, 225, 198, 294, 198,
246, 294, 355, 248, 355, 294, 198, 0, 177, 355,
247, 355, 355, 425, 355, 355, 355, 421, 198, 380,
198, 355, 430, 428, 249, 155, 431, 198, 269, 198,
245, 0, 198, 198, 387, 198, 372, 299, 155, 253,
267, 302, 264, 355, 155, 321, 0, 154, 177, 395,
447, 393, 0, 155, 0, 0, 198, 155, 383, 399,
154, 362, 399, 198, 0, 0, 154, 397, 399, 177,
198, 453, 407, 125, 319, 154, 177, 320, 297, 154,
153, 157, 369, 177, 198, 316, 370, 157, 155, 0,
107, 114, 383, 375, 0, 125, 157, 177, 198, 423,
413, 0, 0, 0, 372, 0, 262, 0, 0, 0,
154, 440, 107, 114, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 378, 0, 0, 0,
0, 0, 377, 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,
436, 0, 0, 0, 411, 375, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 372, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 378, 0,
0, 0, 0, 0, 377, 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};
const short GLSLParserTable::action_check [] = {
15, 43, 132, 110, 43, 77, 132, 77, 77, 50,
50, 112, 109, 164, 77, 132, 110, 77, 50, 75,
132, 42, 77, 74, 112, 43, 132, 77, 132, 77,
50, 112, 43, 12, 16, 2, 110, 112, 74, 166,
50, 162, 77, 4, 74, 132, 77, 50, 43, 132,
97, 75, 110, 132, 50, 4, 110, 50, 75, 50,
112, 50, 162, 166, 12, 43, 110, 110, 2, 77,
16, 43, 19, 16, 19, 74, 52, 15, 16, 16,
16, 16, 52, 16, 15, 16, 76, 16, 16, 44,
75, 50, 76, 44, 16, 16, 50, 16, 99, 76,
52, 19, 76, 75, 105, 102, -1, 76, 102, -1,
-1, 52, -1, 54, -1, 74, -1, -1, 43, 49,
-1, 111, -1, -1, 100, -1, 17, 111, -1, -1,
100, -1, -1, 132, 111, -1, 133, 111, 135, 133,
95, 135, 111, 48, 95, 17, 102, 132, 100, 79,
75, -1, 77, 20, -1, 16, 103, -1, 103, 100,
5, 52, 92, 54, 48, -1, 112, 72, 48, 14,
37, -1, 17, 78, -1, 112, 112, 133, 132, 135,
52, -1, 54, -1, 112, 103, 53, -1, 72, 132,
112, -1, 72, 112, 78, -1, -1, 132, 78, 132,
45, -1, 107, 132, -1, -1, 158, 52, 75, 100,
1, 132, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 107, 5, -1, -1, 107, 100, 5,
-1, -1, 23, 14, -1, -1, 17, -1, 14, -1,
112, 17, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 96, 43, -1, -1, 100, 101, -1, -1, -1,
-1, -1, -1, -1, 45, -1, -1, -1, 113, 45,
-1, 52, -1, -1, 50, -1, 52, -1, -1, -1,
-1, -1, 73, -1, -1, -1, -1, -1, -1, 134,
-1, -1, -1, -1, -1, -1, -1, -1, 143, -1,
-1, -1, 93, 94, -1, -1, -1, 98, -1, 5,
-1, -1, -1, 158, -1, 96, -1, 108, 14, 100,
96, 17, -1, -1, 100, 101, -1, -1, -1, -1,
-1, -1, 113, -1, -1, -1, -1, 113, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 138, -1, -1,
-1, -1, -1, 134, -1, -1, 52, -1, 134, -1,
-1, -1, 143, -1, -1, -1, -1, 143, -1, -1,
-1, -1, -1, -1, 165, -1, -1, 158, -1, -1,
-1, -1, 158, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 100, 101, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 113, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 143, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 158, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 7, -1, 9, 10, 11, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, -1, -1, 38, 39, 40, 41, -1,
-1, -1, -1, 46, -1, -1, -1, -1, -1, -1,
-1, -1, 55, -1, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, 70, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 80, 81, 82,
83, 84, 85, 86, 87, 88, 89, 90, 91, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 114, 115, 116, 117, 118, 119, 120, 121, 122,
123, 124, 125, 126, 127, 128, 129, 130, 131, -1,
-1, -1, -1, 136, -1, -1, -1, -1, 141, 142,
-1, 144, 145, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, 156, 157, -1, 159, 160, 161, -1,
163, -1, -1, -1, -1, -1, -1, 7, -1, 9,
10, 11, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, -1, -1, 38, 39,
40, 41, -1, -1, -1, -1, 46, -1, -1, 49,
-1, -1, -1, -1, -1, 55, -1, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, -1, -1, -1, -1, -1, -1, -1, -1, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 114, 115, 116, 117, 118, 119,
120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
130, 131, -1, -1, -1, -1, 136, -1, -1, -1,
-1, 141, 142, -1, 144, 145, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, 156, 157, -1, 159,
160, 161, -1, 163, -1, -1, -1, -1, -1, -1,
7, -1, 9, 10, 11, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
-1, 38, 39, 40, 41, -1, -1, -1, -1, 46,
-1, -1, 49, 50, -1, -1, -1, -1, 55, -1,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
-1, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
127, 128, 129, 130, 131, -1, -1, -1, -1, 136,
-1, -1, -1, -1, 141, 142, -1, 144, 145, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, -1, 159, 160, 161, -1, 163, -1, -1, -1,
-1, -1, -1, 7, -1, 9, 10, 11, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, -1, -1, 38, 39, 40, 41, -1, -1,
-1, -1, 46, -1, -1, 49, 50, -1, -1, -1,
-1, 55, -1, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, -1, -1, -1,
-1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
124, 125, 126, 127, 128, 129, 130, 131, 132, -1,
-1, -1, 136, -1, -1, -1, -1, 141, 142, -1,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, 156, 157, -1, 159, 160, 161, -1, 163,
-1, -1, -1, -1, -1, -1, 6, 7, -1, 9,
10, 11, -1, -1, -1, -1, -1, -1, -1, 19,
20, -1, -1, -1, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, -1, -1, 38, 39,
40, 41, -1, -1, -1, -1, 46, -1, -1, 49,
50, -1, -1, 53, -1, 55, -1, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, -1, -1, -1, -1, -1, -1, 77, -1, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, -1, -1, -1, -1, 97, -1, -1,
-1, -1, -1, 103, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 114, 115, 116, 117, 118, 119,
120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
130, 131, -1, -1, -1, -1, 136, -1, -1, -1,
140, 141, 142, -1, 144, 145, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, 156, 157, -1, 159,
160, 161, -1, 163, -1, -1, -1, 167, 168, -1,
6, 7, -1, 9, 10, 11, -1, -1, -1, -1,
-1, -1, -1, 19, 20, -1, -1, -1, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
-1, -1, 38, 39, 40, 41, -1, -1, -1, -1,
46, -1, -1, 49, 50, -1, -1, 53, -1, 55,
-1, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
-1, 77, -1, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, -1, -1, -1,
-1, 97, -1, -1, -1, -1, -1, 103, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 114, 115,
116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
126, 127, 128, 129, 130, 131, -1, -1, -1, -1,
136, -1, -1, -1, 140, 141, 142, -1, 144, 145,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
156, 157, -1, 159, 160, 161, -1, 163, -1, -1,
-1, 167, 168, -1, 6, 7, -1, 9, 10, 11,
-1, -1, -1, -1, -1, -1, -1, 19, 20, -1,
-1, -1, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, -1, -1, 38, 39, 40, 41,
-1, -1, -1, -1, 46, -1, -1, 49, 50, -1,
-1, 53, -1, 55, -1, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, -1,
-1, -1, -1, -1, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, -1, -1, -1, -1, 97, -1, -1, -1, -1,
-1, 103, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
132, -1, -1, -1, 136, -1, -1, -1, 140, 141,
142, -1, 144, 145, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, -1, 159, 160, 161,
-1, 163, -1, -1, -1, 167, 168, -1, 6, 7,
-1, 9, 10, 11, -1, -1, -1, -1, -1, -1,
-1, 19, 20, -1, -1, -1, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, -1, -1,
38, 39, 40, 41, -1, -1, -1, -1, 46, -1,
-1, 49, 50, -1, -1, 53, -1, 55, -1, 57,
58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
68, 69, 70, -1, -1, -1, -1, -1, -1, 77,
-1, 79, 80, 81, 82, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, -1, -1, -1, -1, 97,
-1, -1, -1, -1, -1, 103, -1, -1, -1, -1,
-1, -1, 110, -1, -1, -1, 114, 115, 116, 117,
118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
128, 129, 130, 131, -1, -1, -1, -1, 136, -1,
-1, -1, 140, 141, 142, -1, 144, 145, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
-1, 159, 160, 161, -1, 163, -1, -1, -1, 167,
168, -1, 6, 7, -1, 9, 10, 11, -1, -1,
-1, -1, -1, -1, -1, 19, 20, -1, -1, -1,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, -1, -1, 38, 39, 40, 41, -1, -1,
-1, -1, 46, -1, -1, 49, 50, -1, -1, 53,
-1, 55, -1, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, -1, -1, -1,
-1, -1, -1, 77, -1, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, -1,
-1, -1, -1, 97, -1, -1, -1, -1, -1, 103,
-1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
124, 125, 126, 127, 128, 129, 130, 131, -1, -1,
-1, -1, 136, -1, -1, -1, 140, 141, 142, -1,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, 156, 157, -1, 159, 160, 161, -1, 163,
-1, -1, -1, 167, 168, -1, 6, 7, -1, 9,
10, 11, -1, -1, -1, -1, -1, -1, -1, 19,
20, -1, -1, -1, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, -1, -1, 38, 39,
40, 41, -1, -1, -1, -1, 46, -1, -1, 49,
50, -1, -1, 53, -1, 55, -1, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, -1, -1, -1, -1, -1, -1, 77, -1, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, -1, -1, -1, -1, 97, -1, -1,
-1, -1, -1, 103, -1, -1, -1, -1, -1, -1,
110, -1, -1, -1, 114, 115, 116, 117, 118, 119,
120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
130, 131, -1, -1, -1, -1, 136, -1, -1, -1,
140, 141, 142, -1, 144, 145, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, 156, 157, -1, 159,
160, 161, -1, 163, -1, -1, -1, 167, 168, -1,
6, 7, -1, 9, 10, 11, -1, -1, -1, -1,
-1, -1, -1, 19, 20, -1, -1, -1, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
-1, -1, 38, 39, 40, 41, -1, -1, -1, -1,
46, -1, -1, 49, 50, -1, -1, 53, -1, 55,
-1, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
-1, 77, -1, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, -1, -1, -1,
-1, 97, -1, -1, -1, -1, -1, 103, -1, -1,
-1, -1, -1, -1, 110, -1, -1, -1, 114, 115,
116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
126, 127, 128, 129, 130, 131, -1, -1, -1, -1,
136, -1, -1, -1, 140, 141, 142, -1, 144, 145,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
156, 157, -1, 159, 160, 161, -1, 163, -1, -1,
-1, 167, 168, -1, 6, 7, -1, 9, 10, 11,
-1, -1, -1, -1, -1, -1, -1, 19, 20, -1,
-1, -1, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, -1, -1, 38, 39, 40, 41,
-1, -1, -1, -1, 46, -1, -1, 49, 50, -1,
-1, 53, -1, 55, -1, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, -1,
-1, -1, -1, -1, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, -1, -1, -1, -1, 97, -1, -1, -1, -1,
-1, 103, -1, -1, -1, -1, -1, -1, 110, -1,
-1, -1, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
-1, -1, -1, -1, 136, -1, -1, -1, 140, 141,
142, -1, 144, 145, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, -1, 159, 160, 161,
-1, 163, -1, -1, -1, 167, 168, -1, 5, -1,
7, -1, 9, 10, 11, -1, -1, 14, -1, -1,
17, -1, -1, -1, -1, -1, -1, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
-1, 38, 39, 40, 41, -1, -1, -1, 45, 46,
-1, -1, 49, -1, -1, 52, -1, -1, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, -1, -1, -1, -1, -1,
-1, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, -1, -1, -1, 96,
-1, -1, -1, 100, 101, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
127, 128, 129, 130, 131, -1, -1, 134, -1, 136,
-1, -1, -1, -1, 141, 142, 143, 144, 145, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, 158, 159, 160, 161, -1, 163, -1, -1, -1,
-1, -1, -1, 5, -1, 7, -1, 9, 10, 11,
-1, -1, 14, -1, -1, 17, -1, -1, -1, -1,
-1, -1, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, -1, -1, 38, 39, 40, 41,
-1, -1, -1, 45, 46, -1, -1, 49, -1, -1,
52, -1, -1, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
-1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, -1, -1, -1, 96, -1, -1, -1, 100, 101,
-1, -1, -1, -1, -1, -1, -1, 109, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
-1, -1, 134, -1, 136, -1, -1, -1, -1, 141,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
-1, 163, -1, -1, -1, -1, -1, -1, 5, -1,
7, -1, 9, 10, 11, -1, -1, 14, -1, -1,
17, -1, -1, -1, -1, -1, -1, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
-1, 38, 39, 40, 41, -1, -1, -1, 45, 46,
-1, -1, 49, -1, -1, 52, -1, -1, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, -1, -1, -1, -1, -1,
-1, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, -1, -1, -1, 96,
-1, -1, -1, 100, 101, -1, -1, -1, -1, -1,
-1, -1, 109, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
127, 128, 129, 130, 131, -1, -1, 134, -1, 136,
-1, -1, -1, -1, 141, 142, 143, 144, 145, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, 158, 159, 160, 161, -1, 163, -1, -1, -1,
-1, -1, -1, 5, -1, 7, -1, 9, 10, 11,
-1, -1, 14, -1, -1, 17, -1, -1, -1, -1,
-1, -1, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, -1, -1, 38, 39, 40, 41,
-1, -1, -1, 45, 46, -1, -1, 49, -1, -1,
52, -1, -1, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
-1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, -1, -1, -1, 96, -1, -1, -1, 100, 101,
-1, -1, -1, -1, -1, -1, -1, 109, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
-1, -1, 134, -1, 136, -1, -1, -1, -1, 141,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
-1, 163, -1, -1, -1, -1, -1, -1, 5, -1,
7, -1, 9, 10, 11, -1, -1, 14, -1, -1,
17, -1, -1, -1, -1, -1, -1, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
-1, 38, 39, 40, 41, -1, -1, -1, 45, 46,
-1, -1, 49, -1, -1, 52, -1, -1, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, -1, -1, -1, -1, -1,
-1, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, -1, -1, -1, 96,
-1, -1, -1, 100, 101, -1, -1, 104, -1, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
127, 128, 129, 130, 131, 132, -1, 134, -1, 136,
-1, -1, -1, -1, 141, 142, 143, 144, 145, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, 158, 159, 160, 161, -1, 163, -1, -1, -1,
-1, -1, -1, 0, -1, -1, -1, -1, 5, -1,
7, -1, 9, 10, 11, -1, -1, 14, -1, -1,
17, -1, -1, -1, -1, -1, -1, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
-1, 38, 39, 40, 41, -1, -1, -1, 45, 46,
-1, -1, 49, -1, -1, 52, -1, -1, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, -1, -1, -1, -1, -1,
-1, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, -1, -1, -1, 96,
-1, -1, -1, 100, 101, -1, -1, 104, -1, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
127, 128, 129, 130, 131, 132, -1, 134, -1, 136,
-1, -1, -1, -1, 141, 142, 143, 144, 145, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, 158, 159, 160, 161, -1, 163, -1, -1, -1,
-1, -1, -1, 5, 6, 7, -1, 9, 10, 11,
-1, -1, 14, -1, -1, 17, -1, 19, 20, -1,
-1, -1, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, -1, -1, 38, 39, 40, 41,
-1, -1, -1, 45, 46, -1, -1, 49, 50, -1,
52, 53, -1, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
-1, -1, -1, -1, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, -1, -1, -1, 96, 97, -1, -1, 100, 101,
-1, 103, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
-1, -1, 134, -1, 136, -1, -1, -1, 140, 141,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
-1, 163, -1, -1, -1, 167, 168, -1, 5, 6,
7, -1, 9, 10, 11, -1, -1, 14, -1, -1,
17, -1, 19, 20, -1, -1, -1, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
-1, 38, 39, 40, 41, -1, -1, -1, 45, 46,
-1, -1, 49, 50, -1, 52, 53, -1, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, -1, -1, -1, -1, -1,
77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, -1, -1, -1, 96,
97, -1, -1, 100, 101, -1, 103, 104, -1, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
127, 128, 129, 130, 131, 132, -1, 134, -1, 136,
-1, -1, -1, 140, 141, 142, 143, 144, 145, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, 158, 159, 160, 161, -1, 163, -1, -1, -1,
167, 168, -1, 5, 6, 7, 8, 9, 10, 11,
-1, 13, 14, -1, -1, 17, 18, 19, 20, 21,
22, -1, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, -1, 38, 39, 40, 41,
-1, -1, -1, 45, 46, 47, -1, 49, 50, 51,
52, 53, -1, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
-1, -1, 74, -1, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, -1, -1, -1, 96, 97, -1, -1, 100, 101,
-1, 103, 104, -1, 106, -1, -1, -1, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
132, -1, 134, -1, 136, -1, -1, 139, 140, 141,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
-1, 163, 164, -1, -1, 167, 168, -1, 5, 6,
7, 8, 9, 10, 11, -1, 13, 14, -1, -1,
17, 18, 19, 20, 21, 22, -1, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
-1, 38, 39, 40, 41, -1, -1, -1, 45, 46,
47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, -1, -1, 74, -1, -1,
77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, -1, -1, -1, 96,
97, -1, -1, 100, 101, -1, 103, 104, -1, 106,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
127, 128, 129, 130, 131, 132, -1, 134, -1, 136,
-1, -1, 139, 140, 141, 142, 143, 144, 145, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, 158, 159, 160, 161, -1, 163, 164, -1, -1,
167, 168, -1, 5, 6, 7, 8, 9, 10, 11,
-1, 13, 14, -1, -1, 17, 18, 19, 20, 21,
22, -1, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, -1, 38, 39, 40, 41,
-1, -1, -1, 45, 46, 47, -1, 49, 50, 51,
52, 53, -1, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
-1, -1, 74, -1, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, -1, -1, -1, 96, 97, -1, -1, 100, 101,
-1, 103, 104, -1, 106, -1, -1, 109, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
132, -1, 134, -1, 136, -1, -1, 139, 140, 141,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
-1, 163, 164, -1, -1, 167, 168, -1, 5, 6,
7, 8, 9, 10, 11, -1, 13, 14, -1, -1,
17, 18, 19, 20, 21, 22, -1, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
-1, 38, 39, 40, 41, -1, -1, -1, 45, 46,
47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, -1, -1, 74, -1, -1,
77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, -1, -1, -1, 96,
97, -1, -1, 100, 101, -1, 103, 104, -1, 106,
-1, -1, 109, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
127, 128, 129, 130, 131, 132, -1, 134, -1, 136,
-1, -1, 139, 140, 141, 142, 143, 144, 145, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, 158, 159, 160, 161, -1, 163, 164, -1, -1,
167, 168, -1, 5, 6, 7, 8, 9, 10, 11,
-1, 13, 14, -1, -1, 17, 18, 19, 20, 21,
22, -1, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, -1, 38, 39, 40, 41,
-1, -1, -1, 45, 46, 47, -1, 49, 50, 51,
52, 53, -1, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
-1, -1, 74, -1, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, -1, -1, -1, 96, 97, -1, -1, 100, 101,
-1, 103, 104, -1, 106, -1, -1, 109, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
132, -1, 134, -1, 136, -1, -1, 139, 140, 141,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
-1, 163, 164, -1, -1, 167, 168, -1, 5, 6,
7, 8, 9, 10, 11, -1, 13, 14, -1, -1,
17, 18, 19, 20, 21, 22, -1, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
-1, 38, 39, 40, 41, -1, -1, -1, 45, 46,
47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, -1, -1, 74, -1, -1,
77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, -1, -1, -1, 96,
97, -1, -1, 100, 101, -1, 103, 104, -1, 106,
-1, -1, 109, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
127, 128, 129, 130, 131, 132, -1, 134, -1, 136,
-1, -1, 139, 140, 141, 142, 143, 144, 145, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, 158, 159, 160, 161, -1, 163, 164, -1, -1,
167, 168, -1,
3, 54, 14, 3, 15, 12, 3, 12, 35, 54,
12, 15, 8, 54, 15, 14, 3, 12, 3, 12,
12, 15, 59, 58, 14, 14, 3, 35, 53, 3,
3, 45, 72, 15, 15, 14, 34, 12, -1, 15,
-1, 12, -1, 15, 20, 15, 15, 12, 20, 19,
41, 15, 21, 17, 15, 15, 17, 15, 12, 15,
18, 12, 14, 19, 14, 12, 15, -1, 28, 14,
19, 14, 14, 48, 14, 14, 14, 48, 15, 3,
15, 14, 50, 48, 19, 14, 54, 15, 25, 15,
18, -1, 15, 15, 48, 15, 14, 48, 14, 22,
26, 48, 24, 14, 14, 14, -1, 36, 28, 61,
30, 61, -1, 14, -1, -1, 15, 14, 63, 61,
36, 61, 61, 15, -1, -1, 36, 70, 61, 28,
15, 30, 70, 14, 43, 36, 28, 46, 30, 36,
37, 57, 60, 28, 15, 30, 64, 57, 14, -1,
31, 32, 63, 3, -1, 14, 57, 28, 15, 30,
71, -1, -1, -1, 14, -1, 23, -1, -1, -1,
36, 37, 31, 32, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 36, -1, -1, -1,
-1, -1, 42, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
79, -1, -1, -1, 74, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 14, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 36, -1,
-1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1};