-
-
Notifications
You must be signed in to change notification settings - Fork 7
/
parsetab.py
183 lines (176 loc) · 125 KB
/
parsetab.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
# parsetab.py
# This file is automatically generated. Do not edit.
# pylint: disable=W,C,R
_tabversion = '3.10'
_lr_method = 'LALR'
_lr_signature = 'statementsleftANDleftORleftNOTleftLESSGREATERLESS_EQUALGREATER_EQUALEQUALNOT_EQUALleftPLUSMINUSleftMULN_DIVMODDIVrightUMINUSrightUPLUSAND APPEND ARRAY ASSIGN BOOLEAN BYREF BYVAL CALL CASE CHAR CLASS CLOSEFILE COLON COMMA CONNECT CONSTANT DATE DECLARE DEFINE DELETE DIV DO DOT ELSE ENDCASE ENDCLASS ENDFUNCTION ENDIF ENDPROCEDURE ENDTYPE ENDWHILE EQUAL FOR FUNCTION GETRECORD GREATER GREATER_EQUAL ID IF IMPORT INHERITS INPUT INTEGER LEFT_BRACE LEFT_PAREN LEFT_SQUARE LESS LESS_EQUAL MINUS MOD MUL NEW NEWLINE NEXT NOT NOT_EQUAL N_DIV OF OPENFILE OR OTHERWISE OUTPUT PASS PLUS POINTER PRIVATE PROCEDURE PUBLIC PUTRECORD RANDOM READ READFILE REAL REPEAT RETURN RETURNS RIGHT_BRACE RIGHT_PAREN RIGHT_SQUARE SEEK SEMICOLON SET STEP STRING SUPER THEN TO TYPE UNTIL WHILE WRITE WRITEFILE _OUTPUTstatements : statements statement\n | statementstatement : DELETE IDstatement : DECLARE ID COLON ID\n | PUBLIC ID COLON IDstatement : DECLARE ids COLON ID\n | PUBLIC ids COLON IDids : ids COMMA ID\n | IDstatement : PRIVATE ID COLON IDstatement : PRIVATE ids COLON IDstatement : CONSTANT ID EQUAL expression\n | CONSTANT ID ASSIGN expressionstatement : DECLARE ID COLON ARRAY LEFT_SQUARE dimensions RIGHT_SQUARE OF ID\n | PUBLIC ID COLON ARRAY LEFT_SQUARE dimensions RIGHT_SQUARE OF IDstatement : PRIVATE ID COLON ARRAY LEFT_SQUARE dimensions RIGHT_SQUARE OF IDdimensions : dimensions COMMA dimension\n | dimensiondimension : expression COLON expressionstatement : expression ASSIGN expressionindexes : indexes COMMA expression\n | expressionexpression : LEFT_SQUARE array_items RIGHT_SQUARE\n | LEFT_SQUARE RIGHT_SQUAREarray_items : array_items COMMA expression\n | expressionstatement : INPUT expressionstatement : OUTPUT output_expressionstatement : _OUTPUT output_expressionoutput_expression : output_expression COMMA expression\n | expressionstatement : IF expression THEN statements ELSE statements ENDIF\n | IF expression THEN statements ENDIFstatement : CASE OF expression cases ENDCASEcases : cases case\n | casecase : case_expression COLON statements SEMICOLON\n | otherwise_statement SEMICOLONcase_expression : expression TO expression\n | expressionotherwise_statement : OTHERWISE COLON statementsstatement : FOR ID ASSIGN expression TO expression STEP expression statements NEXT ID\n | FOR ID ASSIGN expression TO expression STEP expression statements NEXT\n | FOR ID ASSIGN expression TO expression statements NEXT ID\n | FOR ID ASSIGN expression TO expression statements NEXTstatement : REPEAT statements UNTIL expressionstatement : WHILE expression DO statements ENDWHILE\n | WHILE expression statements ENDWHILEstatement : expressionexpression : IDexpression : ID LEFT_SQUARE indexes RIGHT_SQUAREexpression : expression OR expressionexpression : expression AND expressionexpression : NOT expressionexpression : expression EQUAL expressionexpression : expression NOT_EQUAL expressionexpression : expression LESS expressionexpression : expression GREATER expressionexpression : expression LESS_EQUAL expressionexpression : expression GREATER_EQUAL expressionexpression : expression MOD expressionexpression : expression DIV expressionexpression : expression MUL expressionexpression : expression N_DIV expressionexpression : MINUS expression %prec UMINUSexpression : PLUS expression %prec UPLUSexpression : expression PLUS expressionexpression : expression MINUS expressionexpression : expression CONNECT expressionexpression : LEFT_PAREN expression RIGHT_PARENexpression : DATEexpression : BOOLEANexpression : CHARexpression : STRINGexpression : REALexpression : INTEGERdeclare_parameters : declare_parameters COMMA declare_parameter\n | declare_parameterdeclare_parameter : ID COLON ID\n | ID COLON ARRAY\n | BYREF ID COLON ID\n | BYREF ID COLON ARRAY\n | BYVAL ID COLON ID\n | BYVAL ID COLON ARRAYdeclare_parameter : ID COLON ARRAY OF ID\n | BYREF ID COLON ARRAY OF ID\n | BYVAL ID COLON ARRAY OF IDdeclare_parameter : ID LEFT_SQUARE RIGHT_SQUARE COLON ID\n | BYREF ID LEFT_SQUARE RIGHT_SQUARE COLON ID\n | BYVAL ID LEFT_SQUARE RIGHT_SQUARE COLON IDparameters : parameters COMMA expression\n | expressionstatement : PROCEDURE ID LEFT_PAREN declare_parameters RIGHT_PAREN statements ENDPROCEDURE\n | PROCEDURE NEW LEFT_PAREN declare_parameters RIGHT_PAREN statements ENDPROCEDURE\n | PROCEDURE ID LEFT_PAREN RIGHT_PAREN statements ENDPROCEDURE\n | PROCEDURE NEW LEFT_PAREN RIGHT_PAREN statements ENDPROCEDUREstatement : PUBLIC PROCEDURE ID LEFT_PAREN declare_parameters RIGHT_PAREN statements ENDPROCEDURE\n | PUBLIC PROCEDURE NEW LEFT_PAREN declare_parameters RIGHT_PAREN statements ENDPROCEDURE\n | PUBLIC PROCEDURE ID LEFT_PAREN RIGHT_PAREN statements ENDPROCEDURE\n | PUBLIC PROCEDURE NEW LEFT_PAREN RIGHT_PAREN statements ENDPROCEDUREstatement : PRIVATE PROCEDURE ID LEFT_PAREN declare_parameters RIGHT_PAREN statements ENDPROCEDURE\n | PRIVATE PROCEDURE NEW LEFT_PAREN declare_parameters RIGHT_PAREN statements ENDPROCEDURE\n | PRIVATE PROCEDURE ID LEFT_PAREN RIGHT_PAREN statements ENDPROCEDURE\n | PRIVATE PROCEDURE NEW LEFT_PAREN RIGHT_PAREN statements ENDPROCEDUREstatement : CALL ID LEFT_PAREN parameters RIGHT_PAREN\n | CALL ID LEFT_PAREN RIGHT_PARENstatement : FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ID statements ENDFUNCTION\n | FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ARRAY statements ENDFUNCTION\n | FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ID statements ENDFUNCTION\n | FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ARRAY statements ENDFUNCTIONstatement : PUBLIC FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ID statements ENDFUNCTION\n | PUBLIC FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ARRAY statements ENDFUNCTION\n | PUBLIC FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ID statements ENDFUNCTION\n | PUBLIC FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ARRAY statements ENDFUNCTIONstatement : PRIVATE FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ID statements ENDFUNCTION\n | PRIVATE FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ARRAY statements ENDFUNCTION\n | PRIVATE FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ID statements ENDFUNCTION\n | PRIVATE FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ARRAY statements ENDFUNCTIONstatement : FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ARRAY OF ID statements ENDFUNCTION\n | FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ARRAY OF ID statements ENDFUNCTIONstatement : PUBLIC FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ARRAY OF ID statements ENDFUNCTION\n | PUBLIC FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ARRAY OF ID statements ENDFUNCTIONstatement : PRIVATE FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ARRAY OF ID statements ENDFUNCTION\n | PRIVATE FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ARRAY OF ID statements ENDFUNCTIONexpression : ID LEFT_PAREN parameters RIGHT_PAREN\n | MOD LEFT_PAREN parameters RIGHT_PAREN\n | DIV LEFT_PAREN parameters RIGHT_PAREN\n | ID LEFT_PAREN RIGHT_PARENstatement : RETURN expressionstatement : OPENFILE expression FOR READ\n | OPENFILE expression FOR WRITE\n | OPENFILE expression FOR APPEND\n | OPENFILE expression FOR RANDOMstatement : READFILE expression COMMA ID LEFT_SQUARE indexes RIGHT_SQUAREstatement : READFILE expression COMMA IDstatement : WRITEFILE expression COMMA expressionstatement : CLOSEFILE expressionstatement : SEEK expression COMMA expressionstatement : TYPE ID statements ENDTYPEexpression : expression DOT expressionstatement : TYPE ID EQUAL LEFT_PAREN enumerate_items RIGHT_PARENenumerate_items : enumerate_items COMMA ID\n | IDexpression : POINTER expressionexpression : expression POINTERstatement : TYPE ID EQUAL POINTER IDstatement : PASSstatement : IMPORT expressionstatement : CLASS ID statements ENDCLASSstatement : CLASS ID INHERITS ID statements ENDCLASSexpression : NEW ID\n | NEW ID LEFT_PAREN parameters RIGHT_PARENstatement : TYPE ID EQUAL SET OF ID'
_lr_action_items = {'DELETE':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[3,3,-2,-50,-49,3,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,3,3,-151,-129,-137,3,-144,-148,3,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,3,3,3,-145,-70,3,3,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,3,-46,3,-48,-66,-65,3,3,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,3,-126,-127,3,3,3,3,3,-33,-34,3,3,-47,3,3,3,3,-152,-105,-146,3,3,3,3,3,3,3,3,3,3,3,3,3,3,-95,3,-96,3,3,-141,-153,-150,3,-99,3,-100,3,3,3,-103,3,-104,3,3,-32,3,-93,-94,3,3,3,3,-134,-97,-98,3,3,3,3,-101,-102,3,3,3,3,3,-45,3,3,-109,-110,3,-14,-15,3,3,-113,-114,3,-16,3,3,-117,-118,3,3,-44,-107,-108,3,3,-111,-112,3,3,-115,-116,3,3,-43,3,-120,3,-122,3,-124,-42,-119,-121,-123,]),'DECLARE':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[5,5,-2,-50,-49,5,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,5,5,-151,-129,-137,5,-144,-148,5,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,5,5,5,-145,-70,5,5,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,5,-46,5,-48,-66,-65,5,5,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,5,-126,-127,5,5,5,5,5,-33,-34,5,5,-47,5,5,5,5,-152,-105,-146,5,5,5,5,5,5,5,5,5,5,5,5,5,5,-95,5,-96,5,5,-141,-153,-150,5,-99,5,-100,5,5,5,-103,5,-104,5,5,-32,5,-93,-94,5,5,5,5,-134,-97,-98,5,5,5,5,-101,-102,5,5,5,5,5,-45,5,5,-109,-110,5,-14,-15,5,5,-113,-114,5,-16,5,5,-117,-118,5,5,-44,-107,-108,5,5,-111,-112,5,5,-115,-116,5,5,-43,5,-120,5,-122,5,-124,-42,-119,-121,-123,]),'PUBLIC':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[6,6,-2,-50,-49,6,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,6,6,-151,-129,-137,6,-144,-148,6,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,6,6,6,-145,-70,6,6,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,6,-46,6,-48,-66,-65,6,6,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,6,-126,-127,6,6,6,6,6,-33,-34,6,6,-47,6,6,6,6,-152,-105,-146,6,6,6,6,6,6,6,6,6,6,6,6,6,6,-95,6,-96,6,6,-141,-153,-150,6,-99,6,-100,6,6,6,-103,6,-104,6,6,-32,6,-93,-94,6,6,6,6,-134,-97,-98,6,6,6,6,-101,-102,6,6,6,6,6,-45,6,6,-109,-110,6,-14,-15,6,6,-113,-114,6,-16,6,6,-117,-118,6,6,-44,-107,-108,6,6,-111,-112,6,6,-115,-116,6,6,-43,6,-120,6,-122,6,-124,-42,-119,-121,-123,]),'PRIVATE':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[7,7,-2,-50,-49,7,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,7,7,-151,-129,-137,7,-144,-148,7,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,7,7,7,-145,-70,7,7,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,7,-46,7,-48,-66,-65,7,7,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,7,-126,-127,7,7,7,7,7,-33,-34,7,7,-47,7,7,7,7,-152,-105,-146,7,7,7,7,7,7,7,7,7,7,7,7,7,7,-95,7,-96,7,7,-141,-153,-150,7,-99,7,-100,7,7,7,-103,7,-104,7,7,-32,7,-93,-94,7,7,7,7,-134,-97,-98,7,7,7,7,-101,-102,7,7,7,7,7,-45,7,7,-109,-110,7,-14,-15,7,7,-113,-114,7,-16,7,7,-117,-118,7,7,-44,-107,-108,7,7,-111,-112,7,7,-115,-116,7,7,-43,7,-120,7,-122,7,-124,-42,-119,-121,-123,]),'CONSTANT':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[8,8,-2,-50,-49,8,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,8,8,-151,-129,-137,8,-144,-148,8,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,8,8,8,-145,-70,8,8,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,8,-46,8,-48,-66,-65,8,8,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,8,-126,-127,8,8,8,8,8,-33,-34,8,8,-47,8,8,8,8,-152,-105,-146,8,8,8,8,8,8,8,8,8,8,8,8,8,8,-95,8,-96,8,8,-141,-153,-150,8,-99,8,-100,8,8,8,-103,8,-104,8,8,-32,8,-93,-94,8,8,8,8,-134,-97,-98,8,8,8,8,-101,-102,8,8,8,8,8,-45,8,8,-109,-110,8,-14,-15,8,8,-113,-114,8,-16,8,8,-117,-118,8,8,-44,-107,-108,8,8,-111,-112,8,8,-115,-116,8,8,-43,8,-120,8,-122,8,-124,-42,-119,-121,-123,]),'INPUT':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[11,11,-2,-50,-49,11,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,11,11,-151,-129,-137,11,-144,-148,11,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,11,11,11,-145,-70,11,11,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,11,-46,11,-48,-66,-65,11,11,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,11,-126,-127,11,11,11,11,11,-33,-34,11,11,-47,11,11,11,11,-152,-105,-146,11,11,11,11,11,11,11,11,11,11,11,11,11,11,-95,11,-96,11,11,-141,-153,-150,11,-99,11,-100,11,11,11,-103,11,-104,11,11,-32,11,-93,-94,11,11,11,11,-134,-97,-98,11,11,11,11,-101,-102,11,11,11,11,11,-45,11,11,-109,-110,11,-14,-15,11,11,-113,-114,11,-16,11,11,-117,-118,11,11,-44,-107,-108,11,11,-111,-112,11,11,-115,-116,11,11,-43,11,-120,11,-122,11,-124,-42,-119,-121,-123,]),'OUTPUT':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[12,12,-2,-50,-49,12,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,12,12,-151,-129,-137,12,-144,-148,12,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,12,12,12,-145,-70,12,12,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,12,-46,12,-48,-66,-65,12,12,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,12,-126,-127,12,12,12,12,12,-33,-34,12,12,-47,12,12,12,12,-152,-105,-146,12,12,12,12,12,12,12,12,12,12,12,12,12,12,-95,12,-96,12,12,-141,-153,-150,12,-99,12,-100,12,12,12,-103,12,-104,12,12,-32,12,-93,-94,12,12,12,12,-134,-97,-98,12,12,12,12,-101,-102,12,12,12,12,12,-45,12,12,-109,-110,12,-14,-15,12,12,-113,-114,12,-16,12,12,-117,-118,12,12,-44,-107,-108,12,12,-111,-112,12,12,-115,-116,12,12,-43,12,-120,12,-122,12,-124,-42,-119,-121,-123,]),'_OUTPUT':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[13,13,-2,-50,-49,13,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,13,13,-151,-129,-137,13,-144,-148,13,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,13,13,13,-145,-70,13,13,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,13,-46,13,-48,-66,-65,13,13,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,13,-126,-127,13,13,13,13,13,-33,-34,13,13,-47,13,13,13,13,-152,-105,-146,13,13,13,13,13,13,13,13,13,13,13,13,13,13,-95,13,-96,13,13,-141,-153,-150,13,-99,13,-100,13,13,13,-103,13,-104,13,13,-32,13,-93,-94,13,13,13,13,-134,-97,-98,13,13,13,13,-101,-102,13,13,13,13,13,-45,13,13,-109,-110,13,-14,-15,13,13,-113,-114,13,-16,13,13,-117,-118,13,13,-44,-107,-108,13,13,-111,-112,13,13,-115,-116,13,13,-43,13,-120,13,-122,13,-124,-42,-119,-121,-123,]),'IF':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[14,14,-2,-50,-49,14,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,14,14,-151,-129,-137,14,-144,-148,14,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,14,14,14,-145,-70,14,14,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,14,-46,14,-48,-66,-65,14,14,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,14,-126,-127,14,14,14,14,14,-33,-34,14,14,-47,14,14,14,14,-152,-105,-146,14,14,14,14,14,14,14,14,14,14,14,14,14,14,-95,14,-96,14,14,-141,-153,-150,14,-99,14,-100,14,14,14,-103,14,-104,14,14,-32,14,-93,-94,14,14,14,14,-134,-97,-98,14,14,14,14,-101,-102,14,14,14,14,14,-45,14,14,-109,-110,14,-14,-15,14,14,-113,-114,14,-16,14,14,-117,-118,14,14,-44,-107,-108,14,14,-111,-112,14,14,-115,-116,14,14,-43,14,-120,14,-122,14,-124,-42,-119,-121,-123,]),'CASE':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[15,15,-2,-50,-49,15,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,15,15,-151,-129,-137,15,-144,-148,15,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,15,15,15,-145,-70,15,15,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,15,-46,15,-48,-66,-65,15,15,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,15,-126,-127,15,15,15,15,15,-33,-34,15,15,-47,15,15,15,15,-152,-105,-146,15,15,15,15,15,15,15,15,15,15,15,15,15,15,-95,15,-96,15,15,-141,-153,-150,15,-99,15,-100,15,15,15,-103,15,-104,15,15,-32,15,-93,-94,15,15,15,15,-134,-97,-98,15,15,15,15,-101,-102,15,15,15,15,15,-45,15,15,-109,-110,15,-14,-15,15,15,-113,-114,15,-16,15,15,-117,-118,15,15,-44,-107,-108,15,15,-111,-112,15,15,-115,-116,15,15,-43,15,-120,15,-122,15,-124,-42,-119,-121,-123,]),'FOR':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,98,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[16,16,-2,-50,-49,16,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,16,16,-151,-129,169,-137,16,-144,-148,16,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,16,16,16,-145,-70,16,16,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,16,-46,16,-48,-66,-65,16,16,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,16,-126,-127,16,16,16,16,16,-33,-34,16,16,-47,16,16,16,16,-152,-105,-146,16,16,16,16,16,16,16,16,16,16,16,16,16,16,-95,16,-96,16,16,-141,-153,-150,16,-99,16,-100,16,16,16,-103,16,-104,16,16,-32,16,-93,-94,16,16,16,16,-134,-97,-98,16,16,16,16,-101,-102,16,16,16,16,16,-45,16,16,-109,-110,16,-14,-15,16,16,-113,-114,16,-16,16,16,-117,-118,16,16,-44,-107,-108,16,16,-111,-112,16,16,-115,-116,16,16,-43,16,-120,16,-122,16,-124,-42,-119,-121,-123,]),'REPEAT':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[17,17,-2,-50,-49,17,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,17,17,-151,-129,-137,17,-144,-148,17,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,17,17,17,-145,-70,17,17,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,17,-46,17,-48,-66,-65,17,17,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,17,-126,-127,17,17,17,17,17,-33,-34,17,17,-47,17,17,17,17,-152,-105,-146,17,17,17,17,17,17,17,17,17,17,17,17,17,17,-95,17,-96,17,17,-141,-153,-150,17,-99,17,-100,17,17,17,-103,17,-104,17,17,-32,17,-93,-94,17,17,17,17,-134,-97,-98,17,17,17,17,-101,-102,17,17,17,17,17,-45,17,17,-109,-110,17,-14,-15,17,17,-113,-114,17,-16,17,17,-117,-118,17,17,-44,-107,-108,17,17,-111,-112,17,17,-115,-116,17,17,-43,17,-120,17,-122,17,-124,-42,-119,-121,-123,]),'WHILE':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[18,18,-2,-50,-49,18,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,18,18,-151,-129,-137,18,-144,-148,18,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,18,18,18,-145,-70,18,18,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,18,-46,18,-48,-66,-65,18,18,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,18,-126,-127,18,18,18,18,18,-33,-34,18,18,-47,18,18,18,18,-152,-105,-146,18,18,18,18,18,18,18,18,18,18,18,18,18,18,-95,18,-96,18,18,-141,-153,-150,18,-99,18,-100,18,18,18,-103,18,-104,18,18,-32,18,-93,-94,18,18,18,18,-134,-97,-98,18,18,18,18,-101,-102,18,18,18,18,18,-45,18,18,-109,-110,18,-14,-15,18,18,-113,-114,18,-16,18,18,-117,-118,18,18,-44,-107,-108,18,18,-111,-112,18,18,-115,-116,18,18,-43,18,-120,18,-122,18,-124,-42,-119,-121,-123,]),'PROCEDURE':([0,1,2,4,6,7,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[19,19,-2,-50,54,58,-49,19,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,19,19,-151,-129,-137,19,-144,-148,19,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,19,19,19,-145,-70,19,19,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,19,-46,19,-48,-66,-65,19,19,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,19,-126,-127,19,19,19,19,19,-33,-34,19,19,-47,19,19,19,19,-152,-105,-146,19,19,19,19,19,19,19,19,19,19,19,19,19,19,-95,19,-96,19,19,-141,-153,-150,19,-99,19,-100,19,19,19,-103,19,-104,19,19,-32,19,-93,-94,19,19,19,19,-134,-97,-98,19,19,19,19,-101,-102,19,19,19,19,19,-45,19,19,-109,-110,19,-14,-15,19,19,-113,-114,19,-16,19,19,-117,-118,19,19,-44,-107,-108,19,19,-111,-112,19,19,-115,-116,19,19,-43,19,-120,19,-122,19,-124,-42,-119,-121,-123,]),'CALL':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[22,22,-2,-50,-49,22,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,22,22,-151,-129,-137,22,-144,-148,22,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,22,22,22,-145,-70,22,22,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,22,-46,22,-48,-66,-65,22,22,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,22,-126,-127,22,22,22,22,22,-33,-34,22,22,-47,22,22,22,22,-152,-105,-146,22,22,22,22,22,22,22,22,22,22,22,22,22,22,-95,22,-96,22,22,-141,-153,-150,22,-99,22,-100,22,22,22,-103,22,-104,22,22,-32,22,-93,-94,22,22,22,22,-134,-97,-98,22,22,22,22,-101,-102,22,22,22,22,22,-45,22,22,-109,-110,22,-14,-15,22,22,-113,-114,22,-16,22,22,-117,-118,22,22,-44,-107,-108,22,22,-111,-112,22,22,-115,-116,22,22,-43,22,-120,22,-122,22,-124,-42,-119,-121,-123,]),'FUNCTION':([0,1,2,4,6,7,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[23,23,-2,-50,55,59,-49,23,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,23,23,-151,-129,-137,23,-144,-148,23,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,23,23,23,-145,-70,23,23,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,23,-46,23,-48,-66,-65,23,23,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,23,-126,-127,23,23,23,23,23,-33,-34,23,23,-47,23,23,23,23,-152,-105,-146,23,23,23,23,23,23,23,23,23,23,23,23,23,23,-95,23,-96,23,23,-141,-153,-150,23,-99,23,-100,23,23,23,-103,23,-104,23,23,-32,23,-93,-94,23,23,23,23,-134,-97,-98,23,23,23,23,-101,-102,23,23,23,23,23,-45,23,23,-109,-110,23,-14,-15,23,23,-113,-114,23,-16,23,23,-117,-118,23,23,-44,-107,-108,23,23,-111,-112,23,23,-115,-116,23,23,-43,23,-120,23,-122,23,-124,-42,-119,-121,-123,]),'RETURN':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[24,24,-2,-50,-49,24,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,24,24,-151,-129,-137,24,-144,-148,24,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,24,24,24,-145,-70,24,24,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,24,-46,24,-48,-66,-65,24,24,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,24,-126,-127,24,24,24,24,24,-33,-34,24,24,-47,24,24,24,24,-152,-105,-146,24,24,24,24,24,24,24,24,24,24,24,24,24,24,-95,24,-96,24,24,-141,-153,-150,24,-99,24,-100,24,24,24,-103,24,-104,24,24,-32,24,-93,-94,24,24,24,24,-134,-97,-98,24,24,24,24,-101,-102,24,24,24,24,24,-45,24,24,-109,-110,24,-14,-15,24,24,-113,-114,24,-16,24,24,-117,-118,24,24,-44,-107,-108,24,24,-111,-112,24,24,-115,-116,24,24,-43,24,-120,24,-122,24,-124,-42,-119,-121,-123,]),'OPENFILE':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[25,25,-2,-50,-49,25,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,25,25,-151,-129,-137,25,-144,-148,25,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,25,25,25,-145,-70,25,25,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,25,-46,25,-48,-66,-65,25,25,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,25,-126,-127,25,25,25,25,25,-33,-34,25,25,-47,25,25,25,25,-152,-105,-146,25,25,25,25,25,25,25,25,25,25,25,25,25,25,-95,25,-96,25,25,-141,-153,-150,25,-99,25,-100,25,25,25,-103,25,-104,25,25,-32,25,-93,-94,25,25,25,25,-134,-97,-98,25,25,25,25,-101,-102,25,25,25,25,25,-45,25,25,-109,-110,25,-14,-15,25,25,-113,-114,25,-16,25,25,-117,-118,25,25,-44,-107,-108,25,25,-111,-112,25,25,-115,-116,25,25,-43,25,-120,25,-122,25,-124,-42,-119,-121,-123,]),'READFILE':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[26,26,-2,-50,-49,26,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,26,26,-151,-129,-137,26,-144,-148,26,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,26,26,26,-145,-70,26,26,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,26,-46,26,-48,-66,-65,26,26,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,26,-126,-127,26,26,26,26,26,-33,-34,26,26,-47,26,26,26,26,-152,-105,-146,26,26,26,26,26,26,26,26,26,26,26,26,26,26,-95,26,-96,26,26,-141,-153,-150,26,-99,26,-100,26,26,26,-103,26,-104,26,26,-32,26,-93,-94,26,26,26,26,-134,-97,-98,26,26,26,26,-101,-102,26,26,26,26,26,-45,26,26,-109,-110,26,-14,-15,26,26,-113,-114,26,-16,26,26,-117,-118,26,26,-44,-107,-108,26,26,-111,-112,26,26,-115,-116,26,26,-43,26,-120,26,-122,26,-124,-42,-119,-121,-123,]),'WRITEFILE':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[27,27,-2,-50,-49,27,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,27,27,-151,-129,-137,27,-144,-148,27,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,27,27,27,-145,-70,27,27,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,27,-46,27,-48,-66,-65,27,27,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,27,-126,-127,27,27,27,27,27,-33,-34,27,27,-47,27,27,27,27,-152,-105,-146,27,27,27,27,27,27,27,27,27,27,27,27,27,27,-95,27,-96,27,27,-141,-153,-150,27,-99,27,-100,27,27,27,-103,27,-104,27,27,-32,27,-93,-94,27,27,27,27,-134,-97,-98,27,27,27,27,-101,-102,27,27,27,27,27,-45,27,27,-109,-110,27,-14,-15,27,27,-113,-114,27,-16,27,27,-117,-118,27,27,-44,-107,-108,27,27,-111,-112,27,27,-115,-116,27,27,-43,27,-120,27,-122,27,-124,-42,-119,-121,-123,]),'CLOSEFILE':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[28,28,-2,-50,-49,28,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,28,28,-151,-129,-137,28,-144,-148,28,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,28,28,28,-145,-70,28,28,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,28,-46,28,-48,-66,-65,28,28,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,28,-126,-127,28,28,28,28,28,-33,-34,28,28,-47,28,28,28,28,-152,-105,-146,28,28,28,28,28,28,28,28,28,28,28,28,28,28,-95,28,-96,28,28,-141,-153,-150,28,-99,28,-100,28,28,28,-103,28,-104,28,28,-32,28,-93,-94,28,28,28,28,-134,-97,-98,28,28,28,28,-101,-102,28,28,28,28,28,-45,28,28,-109,-110,28,-14,-15,28,28,-113,-114,28,-16,28,28,-117,-118,28,28,-44,-107,-108,28,28,-111,-112,28,28,-115,-116,28,28,-43,28,-120,28,-122,28,-124,-42,-119,-121,-123,]),'SEEK':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[29,29,-2,-50,-49,29,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,29,29,-151,-129,-137,29,-144,-148,29,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,29,29,29,-145,-70,29,29,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,29,-46,29,-48,-66,-65,29,29,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,29,-126,-127,29,29,29,29,29,-33,-34,29,29,-47,29,29,29,29,-152,-105,-146,29,29,29,29,29,29,29,29,29,29,29,29,29,29,-95,29,-96,29,29,-141,-153,-150,29,-99,29,-100,29,29,29,-103,29,-104,29,29,-32,29,-93,-94,29,29,29,29,-134,-97,-98,29,29,29,29,-101,-102,29,29,29,29,29,-45,29,29,-109,-110,29,-14,-15,29,29,-113,-114,29,-16,29,29,-117,-118,29,29,-44,-107,-108,29,29,-111,-112,29,29,-115,-116,29,29,-43,29,-120,29,-122,29,-124,-42,-119,-121,-123,]),'TYPE':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[30,30,-2,-50,-49,30,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,30,30,-151,-129,-137,30,-144,-148,30,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,30,30,30,-145,-70,30,30,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,30,-46,30,-48,-66,-65,30,30,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,30,-126,-127,30,30,30,30,30,-33,-34,30,30,-47,30,30,30,30,-152,-105,-146,30,30,30,30,30,30,30,30,30,30,30,30,30,30,-95,30,-96,30,30,-141,-153,-150,30,-99,30,-100,30,30,30,-103,30,-104,30,30,-32,30,-93,-94,30,30,30,30,-134,-97,-98,30,30,30,30,-101,-102,30,30,30,30,30,-45,30,30,-109,-110,30,-14,-15,30,30,-113,-114,30,-16,30,30,-117,-118,30,30,-44,-107,-108,30,30,-111,-112,30,30,-115,-116,30,30,-43,30,-120,30,-122,30,-124,-42,-119,-121,-123,]),'PASS':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[32,32,-2,-50,-49,32,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,32,32,-151,-129,-137,32,-144,-148,32,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,32,32,32,-145,-70,32,32,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,32,-46,32,-48,-66,-65,32,32,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,32,-126,-127,32,32,32,32,32,-33,-34,32,32,-47,32,32,32,32,-152,-105,-146,32,32,32,32,32,32,32,32,32,32,32,32,32,32,-95,32,-96,32,32,-141,-153,-150,32,-99,32,-100,32,32,32,-103,32,-104,32,32,-32,32,-93,-94,32,32,32,32,-134,-97,-98,32,32,32,32,-101,-102,32,32,32,32,32,-45,32,32,-109,-110,32,-14,-15,32,32,-113,-114,32,-16,32,32,-117,-118,32,32,-44,-107,-108,32,32,-111,-112,32,32,-115,-116,32,32,-43,32,-120,32,-122,32,-124,-42,-119,-121,-123,]),'IMPORT':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[33,33,-2,-50,-49,33,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,33,33,-151,-129,-137,33,-144,-148,33,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,33,33,33,-145,-70,33,33,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,33,-46,33,-48,-66,-65,33,33,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,33,-126,-127,33,33,33,33,33,-33,-34,33,33,-47,33,33,33,33,-152,-105,-146,33,33,33,33,33,33,33,33,33,33,33,33,33,33,-95,33,-96,33,33,-141,-153,-150,33,-99,33,-100,33,33,33,-103,33,-104,33,33,-32,33,-93,-94,33,33,33,33,-134,-97,-98,33,33,33,33,-101,-102,33,33,33,33,33,-45,33,33,-109,-110,33,-14,-15,33,33,-113,-114,33,-16,33,33,-117,-118,33,33,-44,-107,-108,33,33,-111,-112,33,33,-115,-116,33,33,-43,33,-120,33,-122,33,-124,-42,-119,-121,-123,]),'CLASS':([0,1,2,4,9,17,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,90,94,97,101,103,104,105,106,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,162,165,173,175,179,181,183,185,187,189,193,195,199,200,202,203,211,212,213,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,251,253,258,260,263,264,266,268,270,272,276,278,281,282,283,284,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,339,340,341,342,344,345,347,348,349,350,352,353,354,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[34,34,-2,-50,-49,34,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,34,34,-151,-129,-137,34,-144,-148,34,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,34,34,34,-145,-70,34,34,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,34,-46,34,-48,-66,-65,34,34,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,34,-126,-127,34,34,34,34,34,-33,-34,34,34,-47,34,34,34,34,-152,-105,-146,34,34,34,34,34,34,34,34,34,34,34,34,34,34,-95,34,-96,34,34,-141,-153,-150,34,-99,34,-100,34,34,34,-103,34,-104,34,34,-32,34,-93,-94,34,34,34,34,-134,-97,-98,34,34,34,34,-101,-102,34,34,34,34,34,-45,34,34,-109,-110,34,-14,-15,34,34,-113,-114,34,-16,34,34,-117,-118,34,34,-44,-107,-108,34,34,-111,-112,34,34,-115,-116,34,34,-43,34,-120,34,-122,34,-124,-42,-119,-121,-123,]),'LEFT_SQUARE':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,87,89,90,94,97,101,103,104,105,106,107,108,109,110,111,115,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,175,179,180,181,182,183,184,185,187,188,189,193,194,195,199,200,202,203,205,206,211,212,213,214,215,216,217,218,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,276,278,279,280,281,282,283,284,287,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[10,10,-2,48,-49,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,-147,10,10,10,10,-71,-72,-73,-74,-75,-76,-1,-3,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,-145,-24,-27,-28,-31,-29,10,10,10,-151,-129,-137,10,-144,-148,10,-54,10,10,-65,-66,-128,10,10,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,10,10,10,10,10,10,10,10,10,10,10,10,10,-70,10,10,10,10,10,10,-51,10,-125,10,-4,248,-6,-5,249,-7,-10,256,-11,-12,-13,-30,10,10,-36,-46,10,-48,10,10,-66,-65,275,10,10,-106,-130,-131,-132,-133,287,-136,-138,-139,-149,10,-126,-127,10,10,10,10,10,10,10,10,-33,10,-34,-35,10,-38,10,10,-47,10,10,322,324,10,10,-152,-105,10,-146,10,10,10,10,10,10,10,10,10,10,10,10,10,10,-95,10,-96,10,10,-141,-153,-150,10,10,10,-99,10,-100,10,10,10,-103,10,-104,10,10,-32,-37,10,10,-93,-94,10,10,10,10,-134,-97,-98,10,10,10,10,-101,-102,10,10,10,10,10,-45,10,10,-109,-110,10,-14,-15,10,10,-113,-114,10,-16,10,10,-117,-118,10,10,-44,-107,-108,10,10,-111,-112,10,10,-115,-116,10,10,-43,10,-120,10,-122,10,-124,-42,-119,-121,-123,]),'ID':([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,54,55,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,87,89,90,94,97,101,103,104,105,106,107,108,109,110,111,115,117,118,119,120,121,125,126,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,170,171,172,173,175,176,179,180,181,182,183,185,187,189,190,191,192,193,195,196,197,198,199,200,202,203,205,206,211,212,213,214,215,216,217,220,222,223,225,228,231,232,233,234,235,236,237,238,239,240,242,243,244,245,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,274,276,277,278,281,282,283,284,286,287,290,291,292,297,298,299,300,302,304,305,306,307,309,310,312,313,314,318,320,321,323,325,326,327,328,329,331,332,333,334,336,337,339,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355,356,357,358,359,360,367,368,369,370,371,372,373,375,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[4,4,-2,47,-50,50,52,56,60,-49,4,4,4,4,4,88,4,4,91,4,94,95,96,4,4,4,4,4,4,103,4,-147,4,106,4,4,4,-71,-72,-73,-74,-75,-76,-1,-3,4,4,122,124,127,129,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,-145,-24,-27,-28,-31,-29,4,4,4,-151,-129,-137,4,-144,-148,4,-54,4,4,-65,-66,-128,183,185,186,187,189,193,195,4,4,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,4,4,4,4,4,4,4,4,4,4,4,4,4,218,218,-70,4,4,218,235,4,4,4,4,243,-51,4,-125,4,-4,-6,-5,-7,218,218,218,-10,-11,218,218,218,-12,-13,-30,4,4,-36,-46,4,-48,4,4,-66,-65,4,279,280,4,-106,-130,-131,-132,-133,-135,-136,-138,-139,288,290,-149,4,-126,-127,4,4,4,4,4,4,4,4,-33,4,-34,-35,4,-38,4,4,-47,315,4,218,4,4,4,-152,-105,328,4,-146,333,4,4,4,4,4,344,4,4,4,4,352,4,4,4,4,4,-95,361,364,4,-96,368,4,4,-141,374,-153,-150,4,4,4,-99,4,-100,381,4,4,4,-103,4,-104,389,4,4,-32,-37,4,4,396,397,-93,-94,4,4,4,4,407,-134,408,409,-97,-98,4,4,4,4,415,416,-101,-102,4,4,4,4,422,4,424,425,426,427,428,4,4,431,-109,-110,4,-14,-15,4,4,435,-113,-114,4,-16,4,4,439,-117,-118,4,4,-44,-107,-108,4,4,-111,-112,4,4,-115,-116,4,4,448,4,-120,4,-122,4,-124,-42,-119,-121,-123,]),'NOT':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,87,89,90,94,97,101,103,104,105,106,107,108,109,110,111,115,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,175,179,180,181,182,183,185,187,189,193,195,199,200,202,203,205,206,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,276,278,281,282,283,284,287,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[35,35,-2,-50,-49,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,-147,35,35,35,35,-71,-72,-73,-74,-75,-76,-1,-3,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,-145,-24,-27,-28,-31,-29,35,35,35,-151,-129,-137,35,-144,-148,35,-54,35,35,-65,-66,-128,35,35,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,35,35,35,35,35,35,35,35,35,35,35,35,35,-70,35,35,35,35,35,35,-51,35,-125,35,-4,-6,-5,-7,-10,-11,-12,-13,-30,35,35,-36,-46,35,-48,35,35,-66,-65,35,35,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,35,-126,-127,35,35,35,35,35,35,35,35,-33,35,-34,-35,35,-38,35,35,-47,35,35,35,35,-152,-105,35,-146,35,35,35,35,35,35,35,35,35,35,35,35,35,35,-95,35,-96,35,35,-141,-153,-150,35,35,35,-99,35,-100,35,35,35,-103,35,-104,35,35,-32,-37,35,35,-93,-94,35,35,35,35,-134,-97,-98,35,35,35,35,-101,-102,35,35,35,35,35,-45,35,35,-109,-110,35,-14,-15,35,35,-113,-114,35,-16,35,35,-117,-118,35,35,-44,-107,-108,35,35,-111,-112,35,35,-115,-116,35,35,-43,35,-120,35,-122,35,-124,-42,-119,-121,-123,]),'MINUS':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,83,84,85,86,87,89,90,93,94,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,113,115,116,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,175,179,180,181,182,183,185,187,189,193,195,199,200,201,202,203,204,205,206,210,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,246,247,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,273,276,278,281,282,283,284,287,290,292,295,297,298,299,300,304,305,306,307,310,311,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,377,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[38,38,-2,-50,75,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,-147,38,38,38,38,-71,-72,-73,-74,-75,-76,-1,-3,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,-145,-24,75,75,-28,75,-29,75,38,38,161,75,-151,75,75,75,75,75,75,38,75,75,38,75,38,38,-65,-66,75,-128,75,38,38,75,75,75,75,75,75,75,75,75,-61,-62,-63,-64,-67,-68,75,75,-23,38,38,38,161,38,38,38,38,38,38,38,38,38,-70,38,38,38,38,38,38,-51,38,-125,38,-4,-6,-5,-7,-10,-11,75,75,75,75,38,75,38,-36,75,75,38,-48,38,38,-66,-65,38,38,-106,-130,-131,-132,-133,-135,75,75,-139,-149,38,-126,-127,75,75,38,38,38,38,38,38,38,38,-33,38,-34,-35,38,-38,38,38,-47,75,38,38,38,38,-152,-105,38,-146,38,75,38,38,38,38,38,38,38,38,38,75,38,38,161,38,-95,38,-96,38,38,-141,-153,-150,38,38,38,-99,38,-100,38,38,38,-103,38,-104,38,38,-32,-37,38,38,-93,-94,38,38,38,38,-134,75,-97,-98,38,38,38,38,-101,-102,38,38,38,38,161,-45,38,38,-109,-110,38,-14,-15,38,38,-113,-114,38,-16,38,38,-117,-118,38,38,-44,-107,-108,38,38,-111,-112,38,38,-115,-116,38,38,-43,38,-120,38,-122,38,-124,-42,-119,-121,-123,]),'PLUS':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,83,84,85,86,87,89,90,93,94,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,113,115,116,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,175,179,180,181,182,183,185,187,189,193,195,199,200,201,202,203,204,205,206,210,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,246,247,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,273,276,278,281,282,283,284,287,290,292,295,297,298,299,300,304,305,306,307,310,311,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,377,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[39,39,-2,-50,74,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,-147,39,39,39,39,-71,-72,-73,-74,-75,-76,-1,-3,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,-145,-24,74,74,-28,74,-29,74,39,39,160,74,-151,74,74,74,74,74,74,39,74,74,39,74,39,39,-65,-66,74,-128,74,39,39,74,74,74,74,74,74,74,74,74,-61,-62,-63,-64,-67,-68,74,74,-23,39,39,39,160,39,39,39,39,39,39,39,39,39,-70,39,39,39,39,39,39,-51,39,-125,39,-4,-6,-5,-7,-10,-11,74,74,74,74,39,74,39,-36,74,74,39,-48,39,39,-66,-65,39,39,-106,-130,-131,-132,-133,-135,74,74,-139,-149,39,-126,-127,74,74,39,39,39,39,39,39,39,39,-33,39,-34,-35,39,-38,39,39,-47,74,39,39,39,39,-152,-105,39,-146,39,74,39,39,39,39,39,39,39,39,39,74,39,39,160,39,-95,39,-96,39,39,-141,-153,-150,39,39,39,-99,39,-100,39,39,39,-103,39,-104,39,39,-32,-37,39,39,-93,-94,39,39,39,39,-134,74,-97,-98,39,39,39,39,-101,-102,39,39,39,39,160,-45,39,39,-109,-110,39,-14,-15,39,39,-113,-114,39,-16,39,39,-117,-118,39,39,-44,-107,-108,39,39,-111,-112,39,39,-115,-116,39,39,-43,39,-120,39,-122,39,-124,-42,-119,-121,-123,]),'LEFT_PAREN':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,87,89,90,91,92,94,95,96,97,101,103,104,105,106,107,108,109,110,111,115,122,123,124,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,174,175,179,180,181,182,183,185,187,189,193,195,199,200,202,203,205,206,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,276,278,281,282,283,284,287,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[20,20,-2,49,-49,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,-147,20,20,108,109,20,20,-71,-72,-73,-74,-75,-76,-1,-3,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,-145,-24,-27,-28,-31,-29,20,20,20,163,164,166,167,168,-129,-137,20,-144,-148,20,-54,20,20,-65,-66,-128,190,191,192,196,197,198,20,20,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,20,20,20,20,20,20,20,20,214,215,20,20,20,-70,20,20,20,20,20,239,20,-51,20,-125,20,-4,-6,-5,-7,-10,-11,-12,-13,-30,20,20,-36,-46,20,-48,20,20,-66,-65,20,20,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,20,-126,-127,20,20,20,20,20,20,20,20,-33,20,-34,-35,20,-38,20,20,-47,20,20,20,20,-152,-105,20,-146,20,20,20,20,20,20,20,20,20,20,20,20,20,20,-95,20,-96,20,20,-141,-153,-150,20,20,20,-99,20,-100,20,20,20,-103,20,-104,20,20,-32,-37,20,20,-93,-94,20,20,20,20,-134,-97,-98,20,20,20,20,-101,-102,20,20,20,20,20,-45,20,20,-109,-110,20,-14,-15,20,20,-113,-114,20,-16,20,20,-117,-118,20,20,-44,-107,-108,20,20,-111,-112,20,20,-115,-116,20,20,-43,20,-120,20,-122,20,-124,-42,-119,-121,-123,]),'DATE':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,87,89,90,94,97,101,103,104,105,106,107,108,109,110,111,115,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,175,179,180,181,182,183,185,187,189,193,195,199,200,202,203,205,206,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,276,278,281,282,283,284,287,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[40,40,-2,-50,-49,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,-147,40,40,40,40,-71,-72,-73,-74,-75,-76,-1,-3,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,-145,-24,-27,-28,-31,-29,40,40,40,-151,-129,-137,40,-144,-148,40,-54,40,40,-65,-66,-128,40,40,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,40,40,40,40,40,40,40,40,40,40,40,40,40,-70,40,40,40,40,40,40,-51,40,-125,40,-4,-6,-5,-7,-10,-11,-12,-13,-30,40,40,-36,-46,40,-48,40,40,-66,-65,40,40,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,40,-126,-127,40,40,40,40,40,40,40,40,-33,40,-34,-35,40,-38,40,40,-47,40,40,40,40,-152,-105,40,-146,40,40,40,40,40,40,40,40,40,40,40,40,40,40,-95,40,-96,40,40,-141,-153,-150,40,40,40,-99,40,-100,40,40,40,-103,40,-104,40,40,-32,-37,40,40,-93,-94,40,40,40,40,-134,-97,-98,40,40,40,40,-101,-102,40,40,40,40,40,-45,40,40,-109,-110,40,-14,-15,40,40,-113,-114,40,-16,40,40,-117,-118,40,40,-44,-107,-108,40,40,-111,-112,40,40,-115,-116,40,40,-43,40,-120,40,-122,40,-124,-42,-119,-121,-123,]),'BOOLEAN':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,87,89,90,94,97,101,103,104,105,106,107,108,109,110,111,115,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,175,179,180,181,182,183,185,187,189,193,195,199,200,202,203,205,206,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,276,278,281,282,283,284,287,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[41,41,-2,-50,-49,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,-147,41,41,41,41,-71,-72,-73,-74,-75,-76,-1,-3,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,-145,-24,-27,-28,-31,-29,41,41,41,-151,-129,-137,41,-144,-148,41,-54,41,41,-65,-66,-128,41,41,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,41,41,41,41,41,41,41,41,41,41,41,41,41,-70,41,41,41,41,41,41,-51,41,-125,41,-4,-6,-5,-7,-10,-11,-12,-13,-30,41,41,-36,-46,41,-48,41,41,-66,-65,41,41,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,41,-126,-127,41,41,41,41,41,41,41,41,-33,41,-34,-35,41,-38,41,41,-47,41,41,41,41,-152,-105,41,-146,41,41,41,41,41,41,41,41,41,41,41,41,41,41,-95,41,-96,41,41,-141,-153,-150,41,41,41,-99,41,-100,41,41,41,-103,41,-104,41,41,-32,-37,41,41,-93,-94,41,41,41,41,-134,-97,-98,41,41,41,41,-101,-102,41,41,41,41,41,-45,41,41,-109,-110,41,-14,-15,41,41,-113,-114,41,-16,41,41,-117,-118,41,41,-44,-107,-108,41,41,-111,-112,41,41,-115,-116,41,41,-43,41,-120,41,-122,41,-124,-42,-119,-121,-123,]),'CHAR':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,87,89,90,94,97,101,103,104,105,106,107,108,109,110,111,115,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,175,179,180,181,182,183,185,187,189,193,195,199,200,202,203,205,206,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,276,278,281,282,283,284,287,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[42,42,-2,-50,-49,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,-147,42,42,42,42,-71,-72,-73,-74,-75,-76,-1,-3,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,-145,-24,-27,-28,-31,-29,42,42,42,-151,-129,-137,42,-144,-148,42,-54,42,42,-65,-66,-128,42,42,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,42,42,42,42,42,42,42,42,42,42,42,42,42,-70,42,42,42,42,42,42,-51,42,-125,42,-4,-6,-5,-7,-10,-11,-12,-13,-30,42,42,-36,-46,42,-48,42,42,-66,-65,42,42,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,42,-126,-127,42,42,42,42,42,42,42,42,-33,42,-34,-35,42,-38,42,42,-47,42,42,42,42,-152,-105,42,-146,42,42,42,42,42,42,42,42,42,42,42,42,42,42,-95,42,-96,42,42,-141,-153,-150,42,42,42,-99,42,-100,42,42,42,-103,42,-104,42,42,-32,-37,42,42,-93,-94,42,42,42,42,-134,-97,-98,42,42,42,42,-101,-102,42,42,42,42,42,-45,42,42,-109,-110,42,-14,-15,42,42,-113,-114,42,-16,42,42,-117,-118,42,42,-44,-107,-108,42,42,-111,-112,42,42,-115,-116,42,42,-43,42,-120,42,-122,42,-124,-42,-119,-121,-123,]),'STRING':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,87,89,90,94,97,101,103,104,105,106,107,108,109,110,111,115,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,175,179,180,181,182,183,185,187,189,193,195,199,200,202,203,205,206,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,276,278,281,282,283,284,287,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[43,43,-2,-50,-49,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,-147,43,43,43,43,-71,-72,-73,-74,-75,-76,-1,-3,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,-145,-24,-27,-28,-31,-29,43,43,43,-151,-129,-137,43,-144,-148,43,-54,43,43,-65,-66,-128,43,43,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,43,43,43,43,43,43,43,43,43,43,43,43,43,-70,43,43,43,43,43,43,-51,43,-125,43,-4,-6,-5,-7,-10,-11,-12,-13,-30,43,43,-36,-46,43,-48,43,43,-66,-65,43,43,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,43,-126,-127,43,43,43,43,43,43,43,43,-33,43,-34,-35,43,-38,43,43,-47,43,43,43,43,-152,-105,43,-146,43,43,43,43,43,43,43,43,43,43,43,43,43,43,-95,43,-96,43,43,-141,-153,-150,43,43,43,-99,43,-100,43,43,43,-103,43,-104,43,43,-32,-37,43,43,-93,-94,43,43,43,43,-134,-97,-98,43,43,43,43,-101,-102,43,43,43,43,43,-45,43,43,-109,-110,43,-14,-15,43,43,-113,-114,43,-16,43,43,-117,-118,43,43,-44,-107,-108,43,43,-111,-112,43,43,-115,-116,43,43,-43,43,-120,43,-122,43,-124,-42,-119,-121,-123,]),'REAL':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,87,89,90,94,97,101,103,104,105,106,107,108,109,110,111,115,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,175,179,180,181,182,183,185,187,189,193,195,199,200,202,203,205,206,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,276,278,281,282,283,284,287,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[44,44,-2,-50,-49,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,-147,44,44,44,44,-71,-72,-73,-74,-75,-76,-1,-3,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,-145,-24,-27,-28,-31,-29,44,44,44,-151,-129,-137,44,-144,-148,44,-54,44,44,-65,-66,-128,44,44,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,44,44,44,44,44,44,44,44,44,44,44,44,44,-70,44,44,44,44,44,44,-51,44,-125,44,-4,-6,-5,-7,-10,-11,-12,-13,-30,44,44,-36,-46,44,-48,44,44,-66,-65,44,44,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,44,-126,-127,44,44,44,44,44,44,44,44,-33,44,-34,-35,44,-38,44,44,-47,44,44,44,44,-152,-105,44,-146,44,44,44,44,44,44,44,44,44,44,44,44,44,44,-95,44,-96,44,44,-141,-153,-150,44,44,44,-99,44,-100,44,44,44,-103,44,-104,44,44,-32,-37,44,44,-93,-94,44,44,44,44,-134,-97,-98,44,44,44,44,-101,-102,44,44,44,44,44,-45,44,44,-109,-110,44,-14,-15,44,44,-113,-114,44,-16,44,44,-117,-118,44,44,-44,-107,-108,44,44,-111,-112,44,44,-115,-116,44,44,-43,44,-120,44,-122,44,-124,-42,-119,-121,-123,]),'INTEGER':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,87,89,90,94,97,101,103,104,105,106,107,108,109,110,111,115,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,175,179,180,181,182,183,185,187,189,193,195,199,200,202,203,205,206,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,276,278,281,282,283,284,287,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[45,45,-2,-50,-49,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,-147,45,45,45,45,-71,-72,-73,-74,-75,-76,-1,-3,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,-145,-24,-27,-28,-31,-29,45,45,45,-151,-129,-137,45,-144,-148,45,-54,45,45,-65,-66,-128,45,45,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,45,45,45,45,45,45,45,45,45,45,45,45,45,-70,45,45,45,45,45,45,-51,45,-125,45,-4,-6,-5,-7,-10,-11,-12,-13,-30,45,45,-36,-46,45,-48,45,45,-66,-65,45,45,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,45,-126,-127,45,45,45,45,45,45,45,45,-33,45,-34,-35,45,-38,45,45,-47,45,45,45,45,-152,-105,45,-146,45,45,45,45,45,45,45,45,45,45,45,45,45,45,-95,45,-96,45,45,-141,-153,-150,45,45,45,-99,45,-100,45,45,45,-103,45,-104,45,45,-32,-37,45,45,-93,-94,45,45,45,45,-134,-97,-98,45,45,45,45,-101,-102,45,45,45,45,45,-45,45,45,-109,-110,45,-14,-15,45,45,-113,-114,45,-16,45,45,-117,-118,45,45,-44,-107,-108,45,45,-111,-112,45,45,-115,-116,45,45,-43,45,-120,45,-122,45,-124,-42,-119,-121,-123,]),'MOD':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,83,84,85,86,87,89,90,93,94,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,113,115,116,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,175,179,180,181,182,183,185,187,189,193,195,199,200,201,202,203,204,205,206,210,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,246,247,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,273,276,278,281,282,283,284,287,290,292,295,297,298,299,300,304,305,306,307,310,311,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,377,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[36,36,-2,-50,70,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,-147,36,36,36,36,-71,-72,-73,-74,-75,-76,-1,-3,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,-145,-24,70,70,-28,70,-29,70,36,36,158,70,-151,70,70,70,70,70,70,36,70,70,36,70,36,36,-65,-66,70,-128,70,36,36,70,70,70,70,70,70,70,70,70,-61,-62,-63,-64,70,70,70,70,-23,36,36,36,158,36,36,36,36,36,36,36,36,36,-70,36,36,36,36,36,36,-51,36,-125,36,-4,-6,-5,-7,-10,-11,70,70,70,70,36,70,36,-36,70,70,36,-48,36,36,-66,-65,36,36,-106,-130,-131,-132,-133,-135,70,70,-139,-149,36,-126,-127,70,70,36,36,36,36,36,36,36,36,-33,36,-34,-35,36,-38,36,36,-47,70,36,36,36,36,-152,-105,36,-146,36,70,36,36,36,36,36,36,36,36,36,70,36,36,158,36,-95,36,-96,36,36,-141,-153,-150,36,36,36,-99,36,-100,36,36,36,-103,36,-104,36,36,-32,-37,36,36,-93,-94,36,36,36,36,-134,70,-97,-98,36,36,36,36,-101,-102,36,36,36,36,158,-45,36,36,-109,-110,36,-14,-15,36,36,-113,-114,36,-16,36,36,-117,-118,36,36,-44,-107,-108,36,36,-111,-112,36,36,-115,-116,36,36,-43,36,-120,36,-122,36,-124,-42,-119,-121,-123,]),'DIV':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,83,84,85,86,87,89,90,93,94,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,113,115,116,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,175,179,180,181,182,183,185,187,189,193,195,199,200,201,202,203,204,205,206,210,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,246,247,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,273,276,278,281,282,283,284,287,290,292,295,297,298,299,300,304,305,306,307,310,311,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,377,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[37,37,-2,-50,71,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,-147,37,37,37,37,-71,-72,-73,-74,-75,-76,-1,-3,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,-145,-24,71,71,-28,71,-29,71,37,37,159,71,-151,71,71,71,71,71,71,37,71,71,37,71,37,37,-65,-66,71,-128,71,37,37,71,71,71,71,71,71,71,71,71,-61,-62,-63,-64,71,71,71,71,-23,37,37,37,159,37,37,37,37,37,37,37,37,37,-70,37,37,37,37,37,37,-51,37,-125,37,-4,-6,-5,-7,-10,-11,71,71,71,71,37,71,37,-36,71,71,37,-48,37,37,-66,-65,37,37,-106,-130,-131,-132,-133,-135,71,71,-139,-149,37,-126,-127,71,71,37,37,37,37,37,37,37,37,-33,37,-34,-35,37,-38,37,37,-47,71,37,37,37,37,-152,-105,37,-146,37,71,37,37,37,37,37,37,37,37,37,71,37,37,159,37,-95,37,-96,37,37,-141,-153,-150,37,37,37,-99,37,-100,37,37,37,-103,37,-104,37,37,-32,-37,37,37,-93,-94,37,37,37,37,-134,71,-97,-98,37,37,37,37,-101,-102,37,37,37,37,159,-45,37,37,-109,-110,37,-14,-15,37,37,-113,-114,37,-16,37,37,-117,-118,37,37,-44,-107,-108,37,37,-111,-112,37,37,-115,-116,37,37,-43,37,-120,37,-122,37,-124,-42,-119,-121,-123,]),'POINTER':([0,1,2,4,9,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,83,84,85,86,87,89,90,93,94,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,113,115,116,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,174,175,179,180,181,182,183,185,187,189,193,195,199,200,201,202,203,204,205,206,210,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,246,247,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,273,276,278,281,282,283,284,287,290,292,295,297,298,299,300,304,305,306,307,310,311,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,377,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[31,31,-2,-50,78,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,-147,31,31,31,31,-71,-72,-73,-74,-75,-76,-1,-3,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,-145,-24,78,78,-28,78,-29,78,31,31,162,78,-151,78,78,78,78,78,78,31,78,78,31,-54,31,31,-65,-66,78,-128,78,31,31,78,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,78,78,-23,31,31,31,162,31,31,31,31,31,31,31,31,31,-70,31,31,31,31,31,240,31,-51,31,-125,31,-4,-6,-5,-7,-10,-11,-12,78,78,78,31,78,31,-36,78,78,31,-48,31,31,-66,-65,31,31,-106,-130,-131,-132,-133,-135,78,78,-139,-149,31,-126,-127,78,78,31,31,31,31,31,31,31,31,-33,31,-34,-35,31,-38,31,31,-47,78,31,31,31,31,-152,-105,31,-146,31,78,31,31,31,31,31,31,31,31,31,78,31,31,162,31,-95,31,-96,31,31,-141,-153,-150,31,31,31,-99,31,-100,31,31,31,-103,31,-104,31,31,-32,-37,31,31,-93,-94,31,31,31,31,-134,78,-97,-98,31,31,31,31,-101,-102,31,31,31,31,162,-45,31,31,-109,-110,31,-14,-15,31,31,-113,-114,31,-16,31,31,-117,-118,31,31,-44,-107,-108,31,31,-111,-112,31,31,-115,-116,31,31,-43,31,-120,31,-122,31,-124,-42,-119,-121,-123,]),'NEW':([0,1,2,4,9,10,11,12,13,14,17,18,19,20,24,25,26,27,28,29,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,54,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,87,89,90,94,97,101,103,104,105,106,107,108,109,110,111,115,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,167,171,172,173,175,179,180,181,182,183,185,187,189,193,195,199,200,202,203,205,206,211,212,213,214,215,216,217,220,225,228,231,232,233,234,235,236,237,238,242,243,244,245,248,249,251,253,256,258,260,263,264,265,266,267,268,269,270,271,272,276,278,281,282,283,284,287,290,292,297,298,299,300,304,305,306,307,310,312,313,314,318,320,325,326,328,329,331,333,334,336,337,339,340,341,342,344,345,347,348,349,350,352,353,354,355,356,357,360,367,368,369,370,371,373,379,380,381,382,383,384,387,388,389,390,391,392,394,395,402,403,405,406,407,408,409,410,411,413,414,415,416,417,418,420,421,422,423,424,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,],[21,21,-2,-50,-49,21,21,21,21,21,21,21,92,21,21,21,21,21,21,21,21,-147,21,21,21,21,-71,-72,-73,-74,-75,-76,-1,-3,21,21,123,128,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,-145,-24,-27,-28,-31,-29,21,21,21,-151,-129,-137,21,-144,-148,21,-54,21,21,-65,-66,-128,21,21,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,21,21,21,21,21,21,21,21,21,21,21,21,21,-70,21,21,21,21,21,21,-51,21,-125,21,-4,-6,-5,-7,-10,-11,-12,-13,-30,21,21,-36,-46,21,-48,21,21,-66,-65,21,21,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,21,-126,-127,21,21,21,21,21,21,21,21,-33,21,-34,-35,21,-38,21,21,-47,21,21,21,21,-152,-105,21,-146,21,21,21,21,21,21,21,21,21,21,21,21,21,21,-95,21,-96,21,21,-141,-153,-150,21,21,21,-99,21,-100,21,21,21,-103,21,-104,21,21,-32,-37,21,21,-93,-94,21,21,21,21,-134,-97,-98,21,21,21,21,-101,-102,21,21,21,21,21,-45,21,21,-109,-110,21,-14,-15,21,21,-113,-114,21,-16,21,21,-117,-118,21,21,-44,-107,-108,21,21,-111,-112,21,21,-115,-116,21,21,-43,21,-120,21,-122,21,-124,-42,-119,-121,-123,]),'$end':([1,2,4,9,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,94,97,101,104,105,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,179,181,183,185,187,189,193,195,199,200,202,211,213,228,231,232,233,234,235,236,237,238,242,244,245,264,266,272,283,284,290,320,326,331,333,334,340,342,348,350,354,360,367,373,379,380,387,388,395,405,406,408,409,413,414,416,420,421,424,429,430,433,434,437,438,441,443,445,447,448,449,450,451,],[0,-2,-50,-49,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,-151,-129,-137,-144,-148,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,-46,-48,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,-126,-127,-33,-34,-47,-152,-105,-146,-95,-96,-141,-153,-150,-99,-100,-103,-104,-32,-93,-94,-134,-97,-98,-101,-102,-45,-109,-110,-14,-15,-113,-114,-16,-117,-118,-44,-107,-108,-111,-112,-115,-116,-43,-120,-122,-124,-42,-119,-121,-123,]),'UNTIL':([2,4,9,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,89,94,97,101,104,105,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,179,181,183,185,187,189,193,195,199,200,202,211,213,228,231,232,233,234,235,236,237,238,242,244,245,264,266,272,283,284,290,320,326,331,333,334,340,342,348,350,354,360,367,373,379,380,387,388,395,405,406,408,409,413,414,416,420,421,424,429,430,433,434,437,438,441,443,445,447,448,449,450,451,],[-2,-50,-49,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,155,-151,-129,-137,-144,-148,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,-46,-48,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,-126,-127,-33,-34,-47,-152,-105,-146,-95,-96,-141,-153,-150,-99,-100,-103,-104,-32,-93,-94,-134,-97,-98,-101,-102,-45,-109,-110,-14,-15,-113,-114,-16,-117,-118,-44,-107,-108,-111,-112,-115,-116,-43,-120,-122,-124,-42,-119,-121,-123,]),'ENDWHILE':([2,4,9,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,94,97,101,104,105,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,157,165,179,181,183,185,187,189,193,195,199,200,202,211,212,213,216,217,228,231,232,233,234,235,236,237,238,242,244,245,264,266,272,283,284,290,320,326,331,333,334,340,342,348,350,354,360,367,373,379,380,387,388,395,405,406,408,409,413,414,416,420,421,424,429,430,433,434,437,438,441,443,445,447,448,449,450,451,],[-2,-50,-49,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,-151,-129,-137,-144,-148,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,213,-70,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,-46,272,-48,-66,-65,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,-126,-127,-33,-34,-47,-152,-105,-146,-95,-96,-141,-153,-150,-99,-100,-103,-104,-32,-93,-94,-134,-97,-98,-101,-102,-45,-109,-110,-14,-15,-113,-114,-16,-117,-118,-44,-107,-108,-111,-112,-115,-116,-43,-120,-122,-124,-42,-119,-121,-123,]),'ENDTYPE':([2,4,9,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,94,97,101,104,105,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,173,179,181,183,185,187,189,193,195,199,200,202,211,213,228,231,232,233,234,235,236,237,238,242,244,245,264,266,272,283,284,290,320,326,331,333,334,340,342,348,350,354,360,367,373,379,380,387,388,395,405,406,408,409,413,414,416,420,421,424,429,430,433,434,437,438,441,443,445,447,448,449,450,451,],[-2,-50,-49,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,-151,-129,-137,-144,-148,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,238,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,-46,-48,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,-126,-127,-33,-34,-47,-152,-105,-146,-95,-96,-141,-153,-150,-99,-100,-103,-104,-32,-93,-94,-134,-97,-98,-101,-102,-45,-109,-110,-14,-15,-113,-114,-16,-117,-118,-44,-107,-108,-111,-112,-115,-116,-43,-120,-122,-124,-42,-119,-121,-123,]),'ENDCLASS':([2,4,9,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,94,97,101,104,105,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,175,179,181,183,185,187,189,193,195,199,200,202,211,213,228,231,232,233,234,235,236,237,238,242,244,245,264,266,272,283,284,290,292,320,326,331,333,334,340,342,348,350,354,360,367,373,379,380,387,388,395,405,406,408,409,413,414,416,420,421,424,429,430,433,434,437,438,441,443,445,447,448,449,450,451,],[-2,-50,-49,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,-151,-129,-137,-144,-148,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,242,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,-46,-48,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,-126,-127,-33,-34,-47,-152,-105,-146,334,-95,-96,-141,-153,-150,-99,-100,-103,-104,-32,-93,-94,-134,-97,-98,-101,-102,-45,-109,-110,-14,-15,-113,-114,-16,-117,-118,-44,-107,-108,-111,-112,-115,-116,-43,-120,-122,-124,-42,-119,-121,-123,]),'ELSE':([2,4,9,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,94,97,101,104,105,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,179,181,183,185,187,189,193,195,199,200,202,203,211,213,228,231,232,233,234,235,236,237,238,242,244,245,264,266,272,283,284,290,320,326,331,333,334,340,342,348,350,354,360,367,373,379,380,387,388,395,405,406,408,409,413,414,416,420,421,424,429,430,433,434,437,438,441,443,445,447,448,449,450,451,],[-2,-50,-49,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,-151,-129,-137,-144,-148,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,263,-46,-48,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,-126,-127,-33,-34,-47,-152,-105,-146,-95,-96,-141,-153,-150,-99,-100,-103,-104,-32,-93,-94,-134,-97,-98,-101,-102,-45,-109,-110,-14,-15,-113,-114,-16,-117,-118,-44,-107,-108,-111,-112,-115,-116,-43,-120,-122,-124,-42,-119,-121,-123,]),'ENDIF':([2,4,9,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,94,97,101,104,105,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,179,181,183,185,187,189,193,195,199,200,202,203,211,213,228,231,232,233,234,235,236,237,238,242,244,245,264,266,272,283,284,290,310,320,326,331,333,334,340,342,348,350,354,360,367,373,379,380,387,388,395,405,406,408,409,413,414,416,420,421,424,429,430,433,434,437,438,441,443,445,447,448,449,450,451,],[-2,-50,-49,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,-151,-129,-137,-144,-148,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,264,-46,-48,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,-126,-127,-33,-34,-47,-152,-105,-146,354,-95,-96,-141,-153,-150,-99,-100,-103,-104,-32,-93,-94,-134,-97,-98,-101,-102,-45,-109,-110,-14,-15,-113,-114,-16,-117,-118,-44,-107,-108,-111,-112,-115,-116,-43,-120,-122,-124,-42,-119,-121,-123,]),'ENDPROCEDURE':([2,4,9,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,94,97,101,104,105,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,179,181,183,185,187,189,193,195,199,200,202,211,213,228,231,232,233,234,235,236,237,238,242,244,245,264,266,272,278,282,283,284,290,298,300,305,307,318,320,325,326,331,333,334,339,340,341,342,347,348,349,350,354,360,367,373,379,380,387,388,395,405,406,408,409,413,414,416,420,421,424,429,430,433,434,437,438,441,443,445,447,448,449,450,451,],[-2,-50,-49,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,-151,-129,-137,-144,-148,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,-46,-48,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,-126,-127,-33,-34,-47,320,326,-152,-105,-146,340,342,348,350,360,-95,367,-96,-141,-153,-150,379,-99,380,-100,387,-103,388,-104,-32,-93,-94,-134,-97,-98,-101,-102,-45,-109,-110,-14,-15,-113,-114,-16,-117,-118,-44,-107,-108,-111,-112,-115,-116,-43,-120,-122,-124,-42,-119,-121,-123,]),'SEMICOLON':([2,4,9,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,94,97,101,104,105,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,179,181,183,185,187,189,193,195,199,200,202,208,211,213,228,231,232,233,234,235,236,237,238,242,244,245,264,266,272,283,284,290,312,313,320,326,331,333,334,340,342,348,350,354,360,367,373,379,380,387,388,395,405,406,408,409,413,414,416,420,421,424,429,430,433,434,437,438,441,443,445,447,448,449,450,451,],[-2,-50,-49,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,-151,-129,-137,-144,-148,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,269,-46,-48,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,-126,-127,-33,-34,-47,-152,-105,-146,355,-41,-95,-96,-141,-153,-150,-99,-100,-103,-104,-32,-93,-94,-134,-97,-98,-101,-102,-45,-109,-110,-14,-15,-113,-114,-16,-117,-118,-44,-107,-108,-111,-112,-115,-116,-43,-120,-122,-124,-42,-119,-121,-123,]),'NEXT':([2,4,9,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,94,97,101,104,105,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,179,181,183,185,187,189,193,195,199,200,202,211,213,216,217,228,231,232,233,234,235,236,237,238,242,244,245,264,266,272,283,284,290,320,326,331,333,334,340,342,348,350,354,357,360,367,373,379,380,387,388,395,405,406,408,409,413,414,416,420,421,423,424,429,430,433,434,437,438,441,443,445,447,448,449,450,451,],[-2,-50,-49,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,-151,-129,-137,-144,-148,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,-46,-48,-66,-65,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,-126,-127,-33,-34,-47,-152,-105,-146,-95,-96,-141,-153,-150,-99,-100,-103,-104,-32,395,-93,-94,-134,-97,-98,-101,-102,-45,-109,-110,-14,-15,-113,-114,-16,-117,-118,441,-44,-107,-108,-111,-112,-115,-116,-43,-120,-122,-124,-42,-119,-121,-123,]),'ENDFUNCTION':([2,4,9,32,40,41,42,43,44,45,46,47,78,80,82,83,84,85,94,97,101,104,105,107,110,111,115,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,179,181,183,185,187,189,193,195,199,200,202,211,213,228,231,232,233,234,235,236,237,238,242,244,245,264,266,272,283,284,290,320,326,331,333,334,340,342,348,350,354,360,367,370,371,373,379,380,383,384,387,388,391,392,395,402,403,405,406,408,409,410,411,413,414,416,417,418,420,421,424,429,430,432,433,434,436,437,438,440,441,442,443,444,445,446,447,448,449,450,451,],[-2,-50,-49,-147,-71,-72,-73,-74,-75,-76,-1,-3,-145,-24,-27,-28,-31,-29,-151,-129,-137,-144,-148,-54,-65,-66,-128,-20,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,-51,-125,-4,-6,-5,-7,-10,-11,-12,-13,-30,-46,-48,-106,-130,-131,-132,-133,-135,-136,-138,-139,-149,-126,-127,-33,-34,-47,-152,-105,-146,-95,-96,-141,-153,-150,-99,-100,-103,-104,-32,-93,-94,405,406,-134,-97,-98,413,414,-101,-102,420,421,-45,429,430,-109,-110,-14,-15,433,434,-113,-114,-16,437,438,-117,-118,-44,-107,-108,443,-111,-112,445,-115,-116,447,-43,449,-120,450,-122,451,-124,-42,-119,-121,-123,]),'ASSIGN':([4,9,40,41,42,43,44,45,60,78,80,88,94,104,107,110,111,115,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,179,181,216,217,244,245,283,],[-50,61,-71,-72,-73,-74,-75,-76,131,-145,-24,154,-151,-144,-54,-65,-66,-128,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,-51,-125,-66,-65,-126,-127,-152,]),'OR':([4,9,40,41,42,43,44,45,78,80,81,82,84,86,90,93,94,97,98,99,100,101,102,104,105,107,110,111,113,115,116,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,162,165,179,181,199,200,201,202,204,210,211,216,217,236,237,244,245,246,247,273,283,295,311,314,377,394,],[-50,62,-71,-72,-73,-74,-75,-76,-145,-24,62,62,62,62,62,62,-151,62,62,62,62,62,62,62,62,-54,-65,-66,62,-128,62,62,-52,62,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,62,62,-23,62,-145,-70,-51,-125,62,62,62,62,62,62,62,-66,-65,62,62,-126,-127,62,62,62,-152,62,62,62,62,62,]),'AND':([4,9,40,41,42,43,44,45,78,80,81,82,84,86,90,93,94,97,98,99,100,101,102,104,105,107,110,111,113,115,116,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,162,165,179,181,199,200,201,202,204,210,211,216,217,236,237,244,245,246,247,273,283,295,311,314,377,394,],[-50,63,-71,-72,-73,-74,-75,-76,-145,-24,63,63,63,63,63,63,-151,63,63,63,63,63,63,63,63,-54,-65,-66,63,-128,63,63,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,63,63,-23,63,-145,-70,-51,-125,63,63,63,63,63,63,63,-66,-65,63,63,-126,-127,63,63,63,-152,63,63,63,63,63,]),'EQUAL':([4,9,40,41,42,43,44,45,60,78,80,81,82,84,86,90,93,94,97,98,99,100,101,102,103,104,105,107,110,111,113,115,116,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,162,165,179,181,199,200,201,202,204,210,211,216,217,236,237,244,245,246,247,273,283,295,311,314,377,394,],[-50,64,-71,-72,-73,-74,-75,-76,130,-145,-24,64,64,64,64,64,64,-151,64,64,64,64,64,64,174,64,64,64,-65,-66,64,-128,64,64,64,64,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,64,64,-23,64,-145,-70,-51,-125,64,64,64,64,64,64,64,-66,-65,64,64,-126,-127,64,64,64,-152,64,64,64,64,64,]),'NOT_EQUAL':([4,9,40,41,42,43,44,45,78,80,81,82,84,86,90,93,94,97,98,99,100,101,102,104,105,107,110,111,113,115,116,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,162,165,179,181,199,200,201,202,204,210,211,216,217,236,237,244,245,246,247,273,283,295,311,314,377,394,],[-50,65,-71,-72,-73,-74,-75,-76,-145,-24,65,65,65,65,65,65,-151,65,65,65,65,65,65,65,65,65,-65,-66,65,-128,65,65,65,65,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,65,65,-23,65,-145,-70,-51,-125,65,65,65,65,65,65,65,-66,-65,65,65,-126,-127,65,65,65,-152,65,65,65,65,65,]),'LESS':([4,9,40,41,42,43,44,45,78,80,81,82,84,86,90,93,94,97,98,99,100,101,102,104,105,107,110,111,113,115,116,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,162,165,179,181,199,200,201,202,204,210,211,216,217,236,237,244,245,246,247,273,283,295,311,314,377,394,],[-50,66,-71,-72,-73,-74,-75,-76,-145,-24,66,66,66,66,66,66,-151,66,66,66,66,66,66,66,66,66,-65,-66,66,-128,66,66,66,66,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,66,66,-23,66,-145,-70,-51,-125,66,66,66,66,66,66,66,-66,-65,66,66,-126,-127,66,66,66,-152,66,66,66,66,66,]),'GREATER':([4,9,40,41,42,43,44,45,78,80,81,82,84,86,90,93,94,97,98,99,100,101,102,104,105,107,110,111,113,115,116,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,162,165,179,181,199,200,201,202,204,210,211,216,217,236,237,244,245,246,247,273,283,295,311,314,377,394,],[-50,67,-71,-72,-73,-74,-75,-76,-145,-24,67,67,67,67,67,67,-151,67,67,67,67,67,67,67,67,67,-65,-66,67,-128,67,67,67,67,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,67,67,-23,67,-145,-70,-51,-125,67,67,67,67,67,67,67,-66,-65,67,67,-126,-127,67,67,67,-152,67,67,67,67,67,]),'LESS_EQUAL':([4,9,40,41,42,43,44,45,78,80,81,82,84,86,90,93,94,97,98,99,100,101,102,104,105,107,110,111,113,115,116,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,162,165,179,181,199,200,201,202,204,210,211,216,217,236,237,244,245,246,247,273,283,295,311,314,377,394,],[-50,68,-71,-72,-73,-74,-75,-76,-145,-24,68,68,68,68,68,68,-151,68,68,68,68,68,68,68,68,68,-65,-66,68,-128,68,68,68,68,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,68,68,-23,68,-145,-70,-51,-125,68,68,68,68,68,68,68,-66,-65,68,68,-126,-127,68,68,68,-152,68,68,68,68,68,]),'GREATER_EQUAL':([4,9,40,41,42,43,44,45,78,80,81,82,84,86,90,93,94,97,98,99,100,101,102,104,105,107,110,111,113,115,116,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,162,165,179,181,199,200,201,202,204,210,211,216,217,236,237,244,245,246,247,273,283,295,311,314,377,394,],[-50,69,-71,-72,-73,-74,-75,-76,-145,-24,69,69,69,69,69,69,-151,69,69,69,69,69,69,69,69,69,-65,-66,69,-128,69,69,69,69,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,69,69,-23,69,-145,-70,-51,-125,69,69,69,69,69,69,69,-66,-65,69,69,-126,-127,69,69,69,-152,69,69,69,69,69,]),'MUL':([4,9,40,41,42,43,44,45,78,80,81,82,84,86,90,93,94,97,98,99,100,101,102,104,105,107,110,111,113,115,116,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,162,165,179,181,199,200,201,202,204,210,211,216,217,236,237,244,245,246,247,273,283,295,311,314,377,394,],[-50,72,-71,-72,-73,-74,-75,-76,-145,-24,72,72,72,72,72,72,-151,72,72,72,72,72,72,72,72,72,-65,-66,72,-128,72,72,72,72,72,72,72,72,72,72,-61,-62,-63,-64,72,72,72,72,-23,72,-145,-70,-51,-125,72,72,72,72,72,72,72,-66,-65,72,72,-126,-127,72,72,72,-152,72,72,72,72,72,]),'N_DIV':([4,9,40,41,42,43,44,45,78,80,81,82,84,86,90,93,94,97,98,99,100,101,102,104,105,107,110,111,113,115,116,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,162,165,179,181,199,200,201,202,204,210,211,216,217,236,237,244,245,246,247,273,283,295,311,314,377,394,],[-50,73,-71,-72,-73,-74,-75,-76,-145,-24,73,73,73,73,73,73,-151,73,73,73,73,73,73,73,73,73,-65,-66,73,-128,73,73,73,73,73,73,73,73,73,73,-61,-62,-63,-64,73,73,73,73,-23,73,-145,-70,-51,-125,73,73,73,73,73,73,73,-66,-65,73,73,-126,-127,73,73,73,-152,73,73,73,73,73,]),'CONNECT':([4,9,40,41,42,43,44,45,78,80,81,82,84,86,90,93,94,97,98,99,100,101,102,104,105,107,110,111,113,115,116,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,162,165,179,181,199,200,201,202,204,210,211,216,217,236,237,244,245,246,247,273,283,295,311,314,377,394,],[-50,76,-71,-72,-73,-74,-75,-76,-145,-24,76,76,76,76,76,76,-151,76,76,76,76,76,76,76,76,-54,-65,-66,76,-128,76,76,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,76,76,-23,76,-145,-70,-51,-125,76,76,76,76,76,76,76,-66,-65,76,76,-126,-127,76,76,76,-152,76,76,76,76,76,]),'DOT':([4,9,40,41,42,43,44,45,78,80,81,82,84,86,90,93,94,97,98,99,100,101,102,104,105,107,110,111,113,115,116,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,162,165,179,181,199,200,201,202,204,210,211,216,217,236,237,244,245,246,247,273,283,295,311,314,377,394,],[-50,77,-71,-72,-73,-74,-75,-76,-145,-24,77,77,77,77,77,77,-151,77,77,77,77,77,77,77,77,-54,-65,-66,77,-128,77,77,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,77,77,-23,77,-145,-70,-51,-125,77,77,77,77,77,77,77,-66,-65,77,77,-126,-127,77,77,77,-152,77,77,77,77,77,]),'RIGHT_SQUARE':([4,10,40,41,42,43,44,45,78,79,80,81,94,104,107,110,111,112,113,115,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,179,181,201,244,245,246,275,283,293,294,296,303,322,324,330,376,377,],[-50,80,-71,-72,-73,-74,-75,-76,-145,149,-24,-26,-151,-144,-54,-65,-66,179,-22,-128,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,-51,-125,-25,-126,-127,-21,317,-152,335,-18,338,346,363,366,373,-17,-19,]),'COMMA':([4,40,41,42,43,44,45,50,51,52,53,56,57,78,79,80,81,83,84,85,94,99,100,102,104,107,110,111,112,113,114,115,116,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,177,178,179,181,186,201,202,219,221,224,226,227,229,244,245,246,247,250,252,254,257,259,261,273,283,288,289,293,294,296,303,315,316,319,330,361,362,364,365,374,376,377,396,397,425,426,427,428,],[-50,-71,-72,-73,-74,-75,-76,-9,119,-9,119,-9,119,-145,150,-24,-26,151,-31,151,-151,170,171,172,-144,-54,-65,-66,180,-22,182,-128,-92,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,182,182,-51,-125,-8,-25,-30,277,-78,277,182,182,277,-126,-127,-21,-91,277,277,277,277,277,277,-92,-152,-143,332,336,-18,336,336,-79,-80,-77,180,-81,-82,-83,-84,-142,-17,-19,-85,-88,-86,-89,-87,-90,]),'THEN':([4,40,41,42,43,44,45,78,80,86,94,104,107,110,111,115,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,179,181,244,245,283,],[-50,-71,-72,-73,-74,-75,-76,-145,-24,152,-151,-144,-54,-65,-66,-128,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,-51,-125,-126,-127,-152,]),'DO':([4,40,41,42,43,44,45,78,80,90,94,104,107,110,111,115,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,162,165,179,181,216,217,244,245,283,],[-50,-71,-72,-73,-74,-75,-76,-145,-24,156,-151,-144,-54,-65,-66,-128,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-145,-70,-51,-125,-67,-68,-126,-127,-152,]),'RIGHT_PAREN':([4,40,41,42,43,44,45,49,78,80,93,94,104,107,110,111,114,115,116,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,163,164,165,167,168,177,178,179,181,190,191,192,196,197,198,219,221,224,226,227,229,244,245,247,250,252,254,257,259,261,273,283,288,289,315,316,319,361,362,364,365,374,396,397,425,426,427,428,],[-50,-71,-72,-73,-74,-75,-76,115,-145,-24,165,-151,-144,-54,-65,-66,181,-128,-92,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,220,225,-70,228,230,244,245,-51,-125,251,253,255,258,260,262,276,-78,281,283,284,285,-126,-127,-91,297,299,301,304,306,308,165,-152,-143,331,-79,-80,-77,-81,-82,-83,-84,-142,-85,-88,-86,-89,-87,-90,]),'OTHERWISE':([4,40,41,42,43,44,45,78,80,94,104,107,110,111,115,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,162,165,179,181,205,206,216,217,244,245,267,269,283,355,],[-50,-71,-72,-73,-74,-75,-76,-145,-24,-151,-144,-54,-65,-66,-128,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,209,-145,-70,-51,-125,209,-36,-67,-68,-126,-127,-35,-38,-152,-37,]),'TO':([4,40,41,42,43,44,45,78,80,94,104,107,110,111,115,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,179,181,204,210,216,217,244,245,283,],[-50,-71,-72,-73,-74,-75,-76,-145,-24,-151,-144,-54,-65,-66,-128,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,-51,-125,265,271,-66,-65,-126,-127,-152,]),'COLON':([4,40,41,42,43,44,45,50,51,52,53,56,57,78,80,94,104,107,110,111,115,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,165,179,181,186,204,207,209,216,217,218,244,245,279,280,283,295,311,317,363,366,],[-50,-71,-72,-73,-74,-75,-76,117,118,120,121,125,126,-145,-24,-151,-144,-54,-65,-66,-128,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-70,-51,-125,-8,-40,268,270,-66,-65,274,-126,-127,321,323,-152,337,-39,359,399,401,]),'STEP':([4,40,41,42,43,44,45,78,80,94,104,107,110,111,115,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,162,165,179,181,216,217,244,245,283,314,],[-50,-71,-72,-73,-74,-75,-76,-145,-24,-151,-144,-54,-65,-66,-128,-52,-53,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-67,-68,-69,-140,-23,-145,-70,-51,-125,-67,-68,-126,-127,-152,356,]),'OF':([15,241,316,329,335,338,345,346,353,362,365,369,382,390,],[87,291,358,372,375,378,385,386,393,398,400,404,412,419,]),'INHERITS':([106,],[176,]),'ARRAY':([117,120,125,274,286,302,309,321,323,327,343,351,],[184,188,194,316,329,345,353,362,365,369,382,390,]),'BYREF':([163,164,168,190,191,192,196,197,198,277,],[222,222,222,222,222,222,222,222,222,222,]),'BYVAL':([163,164,168,190,191,192,196,197,198,277,],[223,223,223,223,223,223,223,223,223,223,]),'READ':([169,],[231,]),'WRITE':([169,],[232,]),'APPEND':([169,],[233,]),'RANDOM':([169,],[234,]),'SET':([174,],[241,]),'ENDCASE':([205,206,267,269,355,],[266,-36,-35,-38,-37,]),'RETURNS':([230,255,262,285,301,308,],[286,302,309,327,343,351,]),}
_lr_action = {}
for _k, _v in _lr_action_items.items():
for _x,_y in zip(_v[0],_v[1]):
if not _x in _lr_action: _lr_action[_x] = {}
_lr_action[_x][_k] = _y
del _lr_action_items
_lr_goto_items = {'statements':([0,17,90,103,106,152,156,220,225,243,251,253,258,260,263,268,270,276,281,297,299,304,306,314,328,329,344,345,352,353,368,369,381,382,389,390,394,407,415,422,431,435,439,],[1,89,157,173,175,203,212,278,282,292,298,300,305,307,310,312,313,318,325,339,341,347,349,357,370,371,383,384,391,392,402,403,410,411,417,418,423,432,436,440,442,444,446,]),'statement':([0,1,17,89,90,103,106,152,156,157,173,175,203,212,220,225,243,251,253,258,260,263,268,270,276,278,281,282,292,297,298,299,300,304,305,306,307,310,312,313,314,318,325,328,329,339,341,344,345,347,349,352,353,357,368,369,370,371,381,382,383,384,389,390,391,392,394,402,403,407,410,411,415,417,418,422,423,431,432,435,436,439,440,442,444,446,],[2,46,2,46,2,2,2,2,2,46,46,46,46,46,2,2,2,2,2,2,2,2,2,2,2,46,2,46,46,2,46,2,46,2,46,2,46,46,46,46,2,46,46,2,2,46,46,2,2,46,46,2,2,46,2,2,46,46,2,2,46,46,2,2,46,46,2,46,46,2,46,46,2,46,46,2,46,2,46,2,46,2,46,46,46,46,]),'expression':([0,1,10,11,12,13,14,17,18,20,24,25,26,27,28,29,31,33,35,38,39,48,49,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,87,89,90,103,106,108,109,130,131,150,151,152,153,154,155,156,157,158,159,160,161,162,166,167,171,172,173,175,180,182,203,205,212,214,215,220,225,243,248,249,251,253,256,258,260,263,265,268,270,271,276,278,281,282,287,292,297,298,299,300,304,305,306,307,310,312,313,314,318,325,328,329,336,337,339,341,344,345,347,349,352,353,356,357,368,369,370,371,381,382,383,384,389,390,391,392,394,402,403,407,410,411,415,417,418,422,423,431,432,435,436,439,440,442,444,446,],[9,9,81,82,84,84,86,9,90,93,97,98,99,100,101,102,104,105,107,110,111,113,116,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,153,9,9,9,9,116,116,199,200,201,202,9,204,210,211,9,9,141,142,216,217,104,116,116,236,237,9,9,246,247,9,204,9,273,273,9,9,9,295,295,9,9,295,9,9,9,311,9,9,314,9,9,9,9,113,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,295,377,9,9,9,9,9,9,9,9,394,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,]),'ids':([5,6,7,],[51,53,57,]),'array_items':([10,],[79,]),'output_expression':([12,13,],[83,85,]),'indexes':([48,287,],[112,330,]),'parameters':([49,108,109,166,167,214,215,],[114,177,178,226,227,177,178,]),'cases':([153,],[205,]),'case':([153,205,],[206,267,]),'case_expression':([153,205,],[207,207,]),'otherwise_statement':([153,205,],[208,208,]),'declare_parameters':([163,164,168,190,191,192,196,197,198,],[219,224,229,250,252,254,257,259,261,]),'declare_parameter':([163,164,168,190,191,192,196,197,198,277,],[221,221,221,221,221,221,221,221,221,319,]),'enumerate_items':([239,],[289,]),'dimensions':([248,249,256,],[293,296,303,]),'dimension':([248,249,256,336,],[294,294,294,376,]),}
_lr_goto = {}
for _k, _v in _lr_goto_items.items():
for _x, _y in zip(_v[0], _v[1]):
if not _x in _lr_goto: _lr_goto[_x] = {}
_lr_goto[_x][_k] = _y
del _lr_goto_items
_lr_productions = [
("S' -> statements","S'",1,None,None,None),
('statements -> statements statement','statements',2,'p_statements','parse.py',34),
('statements -> statement','statements',1,'p_statements','parse.py',35),
('statement -> DELETE ID','statement',2,'p_delete_statement','parse.py',44),
('statement -> DECLARE ID COLON ID','statement',4,'p_declare_statement','parse.py',48),
('statement -> PUBLIC ID COLON ID','statement',4,'p_declare_statement','parse.py',49),
('statement -> DECLARE ids COLON ID','statement',4,'p_multi_declare_statement','parse.py',53),
('statement -> PUBLIC ids COLON ID','statement',4,'p_multi_declare_statement','parse.py',54),
('ids -> ids COMMA ID','ids',3,'p_multi_id_expression','parse.py',58),
('ids -> ID','ids',1,'p_multi_id_expression','parse.py',59),
('statement -> PRIVATE ID COLON ID','statement',4,'p_private_declare_statement','parse.py',68),
('statement -> PRIVATE ids COLON ID','statement',4,'p_private_multi_declare_statement','parse.py',72),
('statement -> CONSTANT ID EQUAL expression','statement',4,'p_const_declare_statement','parse.py',76),
('statement -> CONSTANT ID ASSIGN expression','statement',4,'p_const_declare_statement','parse.py',77),
('statement -> DECLARE ID COLON ARRAY LEFT_SQUARE dimensions RIGHT_SQUARE OF ID','statement',9,'p_array_declare_statement','parse.py',81),
('statement -> PUBLIC ID COLON ARRAY LEFT_SQUARE dimensions RIGHT_SQUARE OF ID','statement',9,'p_array_declare_statement','parse.py',82),
('statement -> PRIVATE ID COLON ARRAY LEFT_SQUARE dimensions RIGHT_SQUARE OF ID','statement',9,'p_private_array_declare_statement','parse.py',86),
('dimensions -> dimensions COMMA dimension','dimensions',3,'p_dimensions_expression','parse.py',90),
('dimensions -> dimension','dimensions',1,'p_dimensions_expression','parse.py',91),
('dimension -> expression COLON expression','dimension',3,'p_dimension_expression','parse.py',100),
('statement -> expression ASSIGN expression','statement',3,'p_new_assign_statement','parse.py',112),
('indexes -> indexes COMMA expression','indexes',3,'p_indexes','parse.py',116),
('indexes -> expression','indexes',1,'p_indexes','parse.py',117),
('expression -> LEFT_SQUARE array_items RIGHT_SQUARE','expression',3,'p_array_expression','parse.py',126),
('expression -> LEFT_SQUARE RIGHT_SQUARE','expression',2,'p_array_expression','parse.py',127),
('array_items -> array_items COMMA expression','array_items',3,'p_array_items','parse.py',134),
('array_items -> expression','array_items',1,'p_array_items','parse.py',135),
('statement -> INPUT expression','statement',2,'p_new_input_statement','parse.py',152),
('statement -> OUTPUT output_expression','statement',2,'p_output_statement','parse.py',156),
('statement -> _OUTPUT output_expression','statement',2,'p_no_end_output_statement','parse.py',160),
('output_expression -> output_expression COMMA expression','output_expression',3,'p_output_expression','parse.py',164),
('output_expression -> expression','output_expression',1,'p_output_expression','parse.py',165),
('statement -> IF expression THEN statements ELSE statements ENDIF','statement',7,'p_if_statement','parse.py',174),
('statement -> IF expression THEN statements ENDIF','statement',5,'p_if_statement','parse.py',175),
('statement -> CASE OF expression cases ENDCASE','statement',5,'p_new_case_statement','parse.py',190),
('cases -> cases case','cases',2,'p_cases','parse.py',194),
('cases -> case','cases',1,'p_cases','parse.py',195),
('case -> case_expression COLON statements SEMICOLON','case',4,'p_case','parse.py',204),
('case -> otherwise_statement SEMICOLON','case',2,'p_case','parse.py',205),
('case_expression -> expression TO expression','case_expression',3,'p_case_expression','parse.py',212),
('case_expression -> expression','case_expression',1,'p_case_expression','parse.py',213),
('otherwise_statement -> OTHERWISE COLON statements','otherwise_statement',3,'p_otherwise_statement','parse.py',220),
('statement -> FOR ID ASSIGN expression TO expression STEP expression statements NEXT ID','statement',11,'p_for_statement','parse.py',224),
('statement -> FOR ID ASSIGN expression TO expression STEP expression statements NEXT','statement',10,'p_for_statement','parse.py',225),
('statement -> FOR ID ASSIGN expression TO expression statements NEXT ID','statement',9,'p_for_statement','parse.py',226),
('statement -> FOR ID ASSIGN expression TO expression statements NEXT','statement',8,'p_for_statement','parse.py',227),
('statement -> REPEAT statements UNTIL expression','statement',4,'p_repeat_statement','parse.py',238),
('statement -> WHILE expression DO statements ENDWHILE','statement',5,'p_while_statement','parse.py',242),
('statement -> WHILE expression statements ENDWHILE','statement',4,'p_while_statement','parse.py',243),
('statement -> expression','statement',1,'p_expression_statement','parse.py',250),
('expression -> ID','expression',1,'p_id_expression','parse.py',254),
('expression -> ID LEFT_SQUARE indexes RIGHT_SQUARE','expression',4,'p_array_id_expression','parse.py',258),
('expression -> expression OR expression','expression',3,'p_or_expression','parse.py',262),
('expression -> expression AND expression','expression',3,'p_and_expression','parse.py',266),
('expression -> NOT expression','expression',2,'p_not_expression','parse.py',270),
('expression -> expression EQUAL expression','expression',3,'p_equal_expression','parse.py',274),
('expression -> expression NOT_EQUAL expression','expression',3,'p_not_equal_expression','parse.py',278),
('expression -> expression LESS expression','expression',3,'p_less_expression','parse.py',282),
('expression -> expression GREATER expression','expression',3,'p_greater_expression','parse.py',286),
('expression -> expression LESS_EQUAL expression','expression',3,'p_less_equal_expression','parse.py',290),
('expression -> expression GREATER_EQUAL expression','expression',3,'p_greater_equal_expression','parse.py',294),
('expression -> expression MOD expression','expression',3,'p_mod_expression','parse.py',298),
('expression -> expression DIV expression','expression',3,'p_exact_div_expression','parse.py',302),
('expression -> expression MUL expression','expression',3,'p_mul_expression','parse.py',306),
('expression -> expression N_DIV expression','expression',3,'p_div_expression','parse.py',310),
('expression -> MINUS expression','expression',2,'p_uminus_expression','parse.py',314),
('expression -> PLUS expression','expression',2,'p_uplus_expression','parse.py',318),
('expression -> expression PLUS expression','expression',3,'p_plus_expression','parse.py',322),
('expression -> expression MINUS expression','expression',3,'p_minus_expression','parse.py',326),
('expression -> expression CONNECT expression','expression',3,'p_connect_expression','parse.py',330),
('expression -> LEFT_PAREN expression RIGHT_PAREN','expression',3,'p_paren_expression','parse.py',335),
('expression -> DATE','expression',1,'p_date_expression','parse.py',340),
('expression -> BOOLEAN','expression',1,'p_boolean_expression','parse.py',344),
('expression -> CHAR','expression',1,'p_char_expression','parse.py',348),
('expression -> STRING','expression',1,'p_string_expression','parse.py',352),
('expression -> REAL','expression',1,'p_real_expression','parse.py',356),
('expression -> INTEGER','expression',1,'p_int_expression','parse.py',360),
('declare_parameters -> declare_parameters COMMA declare_parameter','declare_parameters',3,'p_declare_parameters','parse.py',366),
('declare_parameters -> declare_parameter','declare_parameters',1,'p_declare_parameters','parse.py',367),
('declare_parameter -> ID COLON ID','declare_parameter',3,'p_declare_parameter','parse.py',376),
('declare_parameter -> ID COLON ARRAY','declare_parameter',3,'p_declare_parameter','parse.py',377),
('declare_parameter -> BYREF ID COLON ID','declare_parameter',4,'p_declare_parameter','parse.py',378),
('declare_parameter -> BYREF ID COLON ARRAY','declare_parameter',4,'p_declare_parameter','parse.py',379),
('declare_parameter -> BYVAL ID COLON ID','declare_parameter',4,'p_declare_parameter','parse.py',380),
('declare_parameter -> BYVAL ID COLON ARRAY','declare_parameter',4,'p_declare_parameter','parse.py',381),
('declare_parameter -> ID COLON ARRAY OF ID','declare_parameter',5,'p_declare_array_parameter','parse.py',391),
('declare_parameter -> BYREF ID COLON ARRAY OF ID','declare_parameter',6,'p_declare_array_parameter','parse.py',392),
('declare_parameter -> BYVAL ID COLON ARRAY OF ID','declare_parameter',6,'p_declare_array_parameter','parse.py',393),
('declare_parameter -> ID LEFT_SQUARE RIGHT_SQUARE COLON ID','declare_parameter',5,'p_new_declare_array_parameter','parse.py',403),
('declare_parameter -> BYREF ID LEFT_SQUARE RIGHT_SQUARE COLON ID','declare_parameter',6,'p_new_declare_array_parameter','parse.py',404),
('declare_parameter -> BYVAL ID LEFT_SQUARE RIGHT_SQUARE COLON ID','declare_parameter',6,'p_new_declare_array_parameter','parse.py',405),
('parameters -> parameters COMMA expression','parameters',3,'p_parameters','parse.py',415),
('parameters -> expression','parameters',1,'p_parameters','parse.py',416),
('statement -> PROCEDURE ID LEFT_PAREN declare_parameters RIGHT_PAREN statements ENDPROCEDURE','statement',7,'p_procedure_statement','parse.py',425),
('statement -> PROCEDURE NEW LEFT_PAREN declare_parameters RIGHT_PAREN statements ENDPROCEDURE','statement',7,'p_procedure_statement','parse.py',426),
('statement -> PROCEDURE ID LEFT_PAREN RIGHT_PAREN statements ENDPROCEDURE','statement',6,'p_procedure_statement','parse.py',427),
('statement -> PROCEDURE NEW LEFT_PAREN RIGHT_PAREN statements ENDPROCEDURE','statement',6,'p_procedure_statement','parse.py',428),
('statement -> PUBLIC PROCEDURE ID LEFT_PAREN declare_parameters RIGHT_PAREN statements ENDPROCEDURE','statement',8,'p_public_procedure_statement','parse.py',435),
('statement -> PUBLIC PROCEDURE NEW LEFT_PAREN declare_parameters RIGHT_PAREN statements ENDPROCEDURE','statement',8,'p_public_procedure_statement','parse.py',436),
('statement -> PUBLIC PROCEDURE ID LEFT_PAREN RIGHT_PAREN statements ENDPROCEDURE','statement',7,'p_public_procedure_statement','parse.py',437),
('statement -> PUBLIC PROCEDURE NEW LEFT_PAREN RIGHT_PAREN statements ENDPROCEDURE','statement',7,'p_public_procedure_statement','parse.py',438),
('statement -> PRIVATE PROCEDURE ID LEFT_PAREN declare_parameters RIGHT_PAREN statements ENDPROCEDURE','statement',8,'p_private_procedure_statement','parse.py',445),
('statement -> PRIVATE PROCEDURE NEW LEFT_PAREN declare_parameters RIGHT_PAREN statements ENDPROCEDURE','statement',8,'p_private_procedure_statement','parse.py',446),
('statement -> PRIVATE PROCEDURE ID LEFT_PAREN RIGHT_PAREN statements ENDPROCEDURE','statement',7,'p_private_procedure_statement','parse.py',447),
('statement -> PRIVATE PROCEDURE NEW LEFT_PAREN RIGHT_PAREN statements ENDPROCEDURE','statement',7,'p_private_procedure_statement','parse.py',448),
('statement -> CALL ID LEFT_PAREN parameters RIGHT_PAREN','statement',5,'p_call_procedure_statement','parse.py',455),
('statement -> CALL ID LEFT_PAREN RIGHT_PAREN','statement',4,'p_call_procedure_statement','parse.py',456),
('statement -> FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ID statements ENDFUNCTION','statement',9,'p_function_statement','parse.py',463),
('statement -> FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ARRAY statements ENDFUNCTION','statement',9,'p_function_statement','parse.py',464),
('statement -> FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ID statements ENDFUNCTION','statement',8,'p_function_statement','parse.py',465),
('statement -> FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ARRAY statements ENDFUNCTION','statement',8,'p_function_statement','parse.py',466),
('statement -> PUBLIC FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ID statements ENDFUNCTION','statement',10,'p_public_function_statement','parse.py',473),
('statement -> PUBLIC FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ARRAY statements ENDFUNCTION','statement',10,'p_public_function_statement','parse.py',474),
('statement -> PUBLIC FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ID statements ENDFUNCTION','statement',9,'p_public_function_statement','parse.py',475),
('statement -> PUBLIC FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ARRAY statements ENDFUNCTION','statement',9,'p_public_function_statement','parse.py',476),
('statement -> PRIVATE FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ID statements ENDFUNCTION','statement',10,'p_private_function_statement','parse.py',483),
('statement -> PRIVATE FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ARRAY statements ENDFUNCTION','statement',10,'p_private_function_statement','parse.py',484),
('statement -> PRIVATE FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ID statements ENDFUNCTION','statement',9,'p_private_function_statement','parse.py',485),
('statement -> PRIVATE FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ARRAY statements ENDFUNCTION','statement',9,'p_private_function_statement','parse.py',486),
('statement -> FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ARRAY OF ID statements ENDFUNCTION','statement',11,'p_arr_function_statement','parse.py',493),
('statement -> FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ARRAY OF ID statements ENDFUNCTION','statement',10,'p_arr_function_statement','parse.py',494),
('statement -> PUBLIC FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ARRAY OF ID statements ENDFUNCTION','statement',12,'p_public_arr_function_statement','parse.py',501),
('statement -> PUBLIC FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ARRAY OF ID statements ENDFUNCTION','statement',11,'p_public_arr_function_statement','parse.py',502),
('statement -> PRIVATE FUNCTION ID LEFT_PAREN declare_parameters RIGHT_PAREN RETURNS ARRAY OF ID statements ENDFUNCTION','statement',12,'p_private_arr_function_statement','parse.py',509),
('statement -> PRIVATE FUNCTION ID LEFT_PAREN RIGHT_PAREN RETURNS ARRAY OF ID statements ENDFUNCTION','statement',11,'p_private_arr_function_statement','parse.py',510),
('expression -> ID LEFT_PAREN parameters RIGHT_PAREN','expression',4,'p_call_function_expression','parse.py',517),
('expression -> MOD LEFT_PAREN parameters RIGHT_PAREN','expression',4,'p_call_function_expression','parse.py',518),
('expression -> DIV LEFT_PAREN parameters RIGHT_PAREN','expression',4,'p_call_function_expression','parse.py',519),
('expression -> ID LEFT_PAREN RIGHT_PAREN','expression',3,'p_call_function_expression','parse.py',520),
('statement -> RETURN expression','statement',2,'p_return_statement','parse.py',533),
('statement -> OPENFILE expression FOR READ','statement',4,'p_openfile_statement','parse.py',537),
('statement -> OPENFILE expression FOR WRITE','statement',4,'p_openfile_statement','parse.py',538),
('statement -> OPENFILE expression FOR APPEND','statement',4,'p_openfile_statement','parse.py',539),
('statement -> OPENFILE expression FOR RANDOM','statement',4,'p_openfile_statement','parse.py',540),
('statement -> READFILE expression COMMA ID LEFT_SQUARE indexes RIGHT_SQUARE','statement',7,'p_readfile_array_statement','parse.py',544),
('statement -> READFILE expression COMMA ID','statement',4,'p_readfile_statement','parse.py',548),
('statement -> WRITEFILE expression COMMA expression','statement',4,'p_writefile_statement','parse.py',552),
('statement -> CLOSEFILE expression','statement',2,'p_closefile_statement','parse.py',556),
('statement -> SEEK expression COMMA expression','statement',4,'p_seek_statement','parse.py',560),
('statement -> TYPE ID statements ENDTYPE','statement',4,'p_composite_type_declare_statement','parse.py',564),
('expression -> expression DOT expression','expression',3,'p_composite_type_expression','parse.py',568),
('statement -> TYPE ID EQUAL LEFT_PAREN enumerate_items RIGHT_PAREN','statement',6,'p_enumerate_type_statement','parse.py',576),
('enumerate_items -> enumerate_items COMMA ID','enumerate_items',3,'p_enumerate_items','parse.py',580),
('enumerate_items -> ID','enumerate_items',1,'p_enumerate_items','parse.py',581),
('expression -> POINTER expression','expression',2,'p_pointer_expression','parse.py',590),
('expression -> expression POINTER','expression',2,'p_solve_pointer_expression','parse.py',594),
('statement -> TYPE ID EQUAL POINTER ID','statement',5,'p_pointer_type_statement','parse.py',598),
('statement -> PASS','statement',1,'p_pass_statement','parse.py',606),
('statement -> IMPORT expression','statement',2,'p_import_statement','parse.py',610),
('statement -> CLASS ID statements ENDCLASS','statement',4,'p_class_statement','parse.py',614),
('statement -> CLASS ID INHERITS ID statements ENDCLASS','statement',6,'p_class_inherit_statement','parse.py',618),
('expression -> NEW ID','expression',2,'p_class_expression','parse.py',622),
('expression -> NEW ID LEFT_PAREN parameters RIGHT_PAREN','expression',5,'p_class_expression','parse.py',623),
('statement -> TYPE ID EQUAL SET OF ID','statement',6,'p_set_statement','parse.py',630),
]