This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
silence a compiler warning
[perl5.git] / x2p / a2p.c
1 #ifndef lint
2 static const char yysccsid[] = "@(#)yaccpar     1.9 (Berkeley) 02/21/93";
3 #endif
4 #define YYBYACC 1
5 #define YYMAJOR 1
6 #define YYMINOR 9
7 #define yyclearin (yychar=(-1))
8 #define yyerrok (yyerrflag=0)
9 #define YYRECOVERING (yyerrflag!=0)
10 extern int yyparse(void);
11 #define YYPREFIX "yy"
12 #line 2 "a2p.y"
13 /* $RCSfile: a2p.y,v $$Revision: 4.1 $$Date: 92/08/07 18:29:12 $
14  *
15  *    Copyright (C) 1991, 1992, 1993, 1994, 1996, 1997, 1999, 2000,
16  *    by Larry Wall and others
17  *
18  *    You may distribute under the terms of either the GNU General Public
19  *    License or the Artistic License, as specified in the README file.
20  *
21  * $Log:        a2p.y,v $
22  */
23
24 #include "INTERN.h"
25 #include "a2p.h"
26
27 int root;
28 int begins = Nullop;
29 int ends = Nullop;
30
31 #line 32 "y.tab.c"
32 #define BEGIN 257
33 #define END 258
34 #define REGEX 259
35 #define SEMINEW 260
36 #define NEWLINE 261
37 #define COMMENT 262
38 #define FUN1 263
39 #define FUNN 264
40 #define GRGR 265
41 #define PRINT 266
42 #define PRINTF 267
43 #define SPRINTF_OLD 268
44 #define SPRINTF_NEW 269
45 #define SPLIT 270
46 #define IF 271
47 #define ELSE 272
48 #define WHILE 273
49 #define FOR 274
50 #define IN 275
51 #define EXIT 276
52 #define NEXT 277
53 #define BREAK 278
54 #define CONTINUE 279
55 #define RET 280
56 #define GETLINE 281
57 #define DO 282
58 #define SUB 283
59 #define GSUB 284
60 #define MATCH 285
61 #define FUNCTION 286
62 #define USERFUN 287
63 #define DELETE 288
64 #define ASGNOP 289
65 #define OROR 290
66 #define ANDAND 291
67 #define NUMBER 292
68 #define VAR 293
69 #define SUBSTR 294
70 #define INDEX 295
71 #define MATCHOP 296
72 #define RELOP 297
73 #define OR 298
74 #define STRING 299
75 #define UMINUS 300
76 #define NOT 301
77 #define INCR 302
78 #define DECR 303
79 #define FIELD 304
80 #define VFIELD 305
81 #define SVFIELD 306
82 #define YYERRCODE 256
83 short yylhs[] = {                                        -1,
84     0,    3,    6,    6,    2,    2,    7,    7,    7,    7,
85     7,    7,    9,    8,    8,   11,   11,   11,   11,   11,
86    15,   15,   15,   15,   14,   14,   14,   14,   13,   13,
87    13,   13,   12,   12,   12,   12,   18,   18,   16,   16,
88    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
89    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
90    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
91    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
92    16,   16,   16,   16,   17,   17,   17,   17,   17,   10,
93    10,   10,   19,   19,   19,    1,    1,   20,   20,   20,
94    20,    4,    4,   21,   21,   22,   22,   22,   22,    5,
95     5,   23,   23,   23,   23,   26,   26,   24,   24,   24,
96    24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
97    27,   27,   27,   25,   25,   25,   25,   25,   25,   25,
98    25,
99 };
100 short yylen[] = {                                         2,
101     2,    6,    5,    2,    3,    0,    1,    5,   10,    4,
102     1,    1,    1,    1,    3,    1,    1,    1,    1,    5,
103     3,    4,    4,    2,    3,    3,    3,    3,    3,    3,
104     1,    3,    1,    2,    5,    3,    1,    1,    1,    1,
105     1,    3,    3,    3,    3,    3,    3,    3,    2,    2,
106     2,    2,    2,    2,    3,    1,    2,    3,    4,    3,
107     4,    1,    3,    4,    4,    4,    4,    2,    8,    6,
108     8,    8,    6,    6,    6,    6,    6,    6,    6,    6,
109     8,    8,    8,    8,    1,    4,    1,    1,    2,    1,
110     1,    0,    4,    4,    3,    2,    0,    1,    1,    1,
111     1,    2,    0,    1,    1,    2,    2,    2,    2,    2,
112     0,    3,    2,    2,    1,    1,    0,    1,    4,    2,
113     4,    2,    1,    1,    1,    2,    1,    1,    2,    5,
114     1,    1,    1,    6,    9,    6,    7,   10,    9,    6,
115     5,
116 };
117 short yydefred[] = {                                     97,
118     0,    0,   99,  100,  101,   98,    0,   96,    0,    0,
119    31,    0,    0,   38,    0,    0,    0,    0,    0,    0,
120     0,    0,   40,    0,    0,    0,   41,    0,    0,    0,
121     0,    0,   87,    0,   88,  103,    0,   11,    0,   97,
122     0,    0,    0,   17,   18,   19,    0,    0,    0,  103,
123   103,    0,    0,    0,    0,    0,    0,    0,    0,    0,
124     0,    0,    0,    0,    0,    0,    0,    0,    0,   24,
125    51,   52,    0,    0,    0,    0,    0,    0,    4,    0,
126   103,    0,  103,  103,    0,    0,    0,    0,    0,    0,
127     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
128    49,   50,    0,   68,    0,    0,    0,    0,   63,    0,
129     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
130     0,    0,    0,    0,    0,  104,  105,    0,  102,   55,
131    32,   28,   21,    0,    0,    0,    0,    0,    0,   30,
132     0,    0,    0,    0,   48,    0,    0,    0,    0,    0,
133     0,    0,    0,    0,    0,    0,  103,  103,    0,    0,
134    64,   65,   67,    0,    0,    0,    0,    0,    0,    0,
135     0,   13,   66,   86,    0,    0,  103,    0,    0,    0,
136     0,    0,    0,  124,  123,  127,    0,  103,    0,  103,
137    10,  103,    0,  110,    0,  115,    0,    0,    0,   22,
138     0,   61,   95,    0,    0,   97,    3,    0,    0,    0,
139     0,    0,    0,    0,  103,    0,    0,    0,    0,    0,
140     0,    0,    0,    0,    0,    0,    0,    0,    0,  103,
141   103,  103,  103,  103,    8,    0,    0,    0,    0,    0,
142    73,    0,   78,    0,   77,    0,   80,    0,   79,    0,
143    75,   76,    0,   70,    0,   74,  132,  131,  133,    0,
144     0,    0,    0,    0,  116,    0,    0,    0,    0,    0,
145     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
146   103,    0,    0,    0,  103,  103,  103,    0,    0,    0,
147   103,   72,   71,   82,   81,   84,   83,    0,   69,    0,
148     0,    0,    0,    0,    0,  130,    0,    0,    0,  136,
149   140,    0,    0,    0,    9,  103,  103,    0,  137,    0,
150     0,  103,  135,  139,    0,  138,
151 };
152 short yydgoto[] = {                                       1,
153     2,    7,   38,   74,  128,   39,   40,   41,  171,  104,
154    75,  193,   44,   45,   46,   47,   48,   49,  106,    8,
155   129,  234,  194,  195,  196,  266,  260,
156 };
157 short yysindex[] = {                                      0,
158     0,  -52,    0,    0,    0,    0, 6281,    0,  -83,  -65,
159     0,   27,   28,    0,   43,   46,   29,   48,   50,   51,
160  -218,   64,    0,  -14,   65,   66,    0, 8153, 8153, 6722,
161  -176, -176,    0, 8153,    0,    0, 6722,    0, -165,    0,
162   -38,  -13, 6376,    0,    0,    0,  -32, -232, 8198,    0,
163     0, 7770, 8198, 8198, 8153, 8153,   47, 7835, 7883, 8153,
164    69, 8198, 8198, 8153, 8153, 6722,  -57, -267,  -57,    0,
165     0,    0,   -2, -210,  -41,   79,   80,   85,    0,  -52,
166     0, 8153,    0,    0, 6722, 8153, 7931, 8153, 8153, 8153,
167   -32, -166, 8153, 8153, 8153, 8153, 8153, 8153, -150, 6722,
168     0,    0, 6770,    0, 3731,   88, -210, -210,    0, 1055,
169    93,   94, 6815,  184, 8153,   92, 6892,   96, 6939, 7003,
170  8198,   97,   44, 7048, 7094,    0,    0, 5585,    0,    0,
171     0,    0,    0, -210, 7172, 2108, 2108,  -60, 7216,    0,
172   184,  184,  184,  184,    0,   45,   45,  -57,  -57,  -57,
173   -57, -176,  -60, 6770, 6332,   32,    0,    0, 5632, 5700,
174     0,    0,    0, -148,  184, 8153, 8153, 8153, 8153, 8001,
175   102,    0,    0,    0, 8153, 8153,    0, 8198, 8198,  107,
176   121,  127, 8153,    0,    0,    0, 8153,    0, -130,    0,
177     0,    0, 8045,    0,  -43,    0, 5899, 8153, -119,    0,
178  8153,    0,    0, 1434, 1434,    0,    0,   37, 5431, 6447,
179  6491, 6548,  134, 7281,    0, 6611, 7327, -210,  -45,  -45,
180  6722, 6722, 2656, 8045, 8045, 4777,   90, -210, -210,    0,
181     0,    0,    0,    0,    0, 8045, 8045, 8045, 8045,  -52,
182     0, 8105,    0, 8153,    0, 8153,    0, 8153,    0, 8153,
183     0,    0,  -96,    0, 8153,    0,    0,    0,    0, 8153,
184  8153,  -39,  -37, 7371,    0,  124,  -89, 8198, 5967, -210,
185  -210, -210, -210, -210,  144, 7449, 7493, 7560, 7604, 7648,
186     0, 7726, 8045, 8045,    0,    0,    0, 6659,  146,   95,
187     0,    0,    0,    0,    0,    0,    0, -210,    0, 4777,
188  4777, 4777, 2656,  -51, 6722,    0, -210, 6014,  -85,    0,
189     0,  151, 2656,  -35,    0,    0,    0,  152,    0, 4777,
190  4777,    0,    0,    0, 4777,    0,
191 };
192 short yyrindex[] = {                                      0,
193     0, 2742,    0,    0,    0,    0,  194,    0,    0,    0,
194     0,   56,    0,    0,  111,    0, 3174,    0,    0,    0,
195     0,    0,    0,    1,    0,    0,    0,    0,    0,    0,
196     0,    0,    0,    0,    0,    0,    0,    0, 2475,    0,
197  2531, 2375, 4311,    0,    0,    0, 2057, 1630, 3897,    0,
198     0,    0,  154,  154,    0,    0,  382,    0,    0,    0,
199     0,  154,  105,    0,    0,    0,  818,  872, 1143,    0,
200     0,    0,  437, 6065,    0,  -54,  -49,  -44,    0, 2798,
201     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
202  2324,    0,    0,    0,    0,    0,    0,    0,    0,    0,
203     0,    0,    0,    0, 4263,  492, 6065, 6065,    0,    0,
204     0,    0,    0, 3222,    0,    0,    0,    0,    0,    0,
205   154,    0,    0,    0,    0,    0,    0,    0,    0,    0,
206     0,    0,    0, 6065,    0,    0,    0, 2425,    0,    0,
207  3462, 3507, 3552, 3621,    0, 1956, 2007, 1197, 1251, 1522,
208  1576, 3119, 1901,    0,  -23,    0,    0,    0,    0,    0,
209     0,    0,    0,    0, 3830,    0,    0,    0,    0,    0,
210     0,    0,    0,    0,    0,    0,    0,  504,  504,    0,
211     0,    0,   13,    0,    0,    0,  103,    0,    0,    0,
212     0,    0,  123,    0,    0,    0,    0,    0,  763,    0,
213     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
214     0,    0,    0,    0,    0,    0,    0, 4830,  173,  242,
215     0,    0,  140,  297,  350,    0,    0, 6065, 4878,    0,
216     0,    0,    0,    0,    0, 3945, 4017, 4106, 4208, 2848,
217     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
218     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
219     0,    0,    0,  141,    0,    0,    0,  105,    0, 4952,
220  5145, 5219, 5266, 5318,    0,    0,    0,    0,    0,    0,
221     0,    0,  398,  484,    0,    0,    0,    0,    0,    0,
222     0,    0,    0,    0,    0,    0,    0, 6065,    0,    0,
223     0,    0,  161,    0,    0,    0, 5534,    0, 6180,    0,
224     0,    0,  161,    0,    0,    0,    0,    0,    0,    0,
225     0,    0,    0,    0,    0,    0,
226 };
227 short yygindex[] = {                                      0,
228   -17,    0,    0, 4597,  -87,    0,    0,    0,    0,   12,
229    23, 4555,  -12,   -8,   -3, 8435, 4752,    0,  -70,    0,
230     0,    0, -124, -191,    0, -264,   -7,
231 };
232 #define YYTABLESIZE 8719
233 short yytable[] = {                                     130,
234    85,  285,   82,  286,   97,  319,    6,  313,   17,   95,
235    93,   82,   94,   18,   96,  233,  258,   16,   19,  159,
236   160,   82,   80,   82,   76,   82,  281,   82,   77,   42,
237    85,  265,  156,   78,  101,  102,   98,   85,  312,   50,
238    85,   85,   85,   85,   85,   85,  197,   85,  318,   82,
239   126,  127,   70,  125,   99,   62,  100,   51,   85,   85,
240    85,   98,   85,   85,  111,  112,   52,   53,   61,  101,
241   102,  125,  203,  122,  123,  158,   63,  241,  259,   99,
242   242,   97,   54,  156,   81,   55,   95,   58,   56,   59,
243    60,   96,   62,   85,   85,   79,   62,   62,   62,   62,
244    62,  267,   62,   62,   64,   65,  115,  138,  121,   99,
245    37,  265,   85,   62,   62,   62,   24,   62,   62,  131,
246   132,  265,  153,   85,   85,  133,  145,   33,   34,   35,
247   152,  158,  172,  162,  163,  166,  174,  173,   98,  168,
248   269,   76,  215,  128,  208,   77,  221,   37,   62,   62,
249    78,   37,   37,   37,   37,   37,   99,   37,  199,  200,
250   222,  128,  227,  118,  126,  127,  223,   62,   37,   37,
251    37,   84,   37,   37,  251,  309,  310,  311,   62,   62,
252   268,  118,  288,  289,  292,  305,  316,  306,  240,  219,
253   220,  317,  322,    1,   92,  323,  324,   92,  117,  118,
254   326,  117,    0,   37,   37,    0,    0,    3,    4,    5,
255   308,    0,  261,  120,    0,    0,  230,  231,  232,  257,
256     0,    0,   37,   66,    0,    0,   28,    0,   29,   83,
257    84,  120,    0,   37,   37,   17,   17,    0,   83,   84,
258    18,   18,   92,  262,  263,   19,   19,    0,   83,   84,
259    83,   84,   83,   84,   83,   84,    0,   85,   85,   85,
260    85,   85,   85,   85,   85,   85,   16,   16,   85,   85,
261    85,    0,  125,  125,  125,   85,   83,   84,    0,  290,
262     0,   85,  122,   85,   85,   85,   85,   85,    0,   85,
263    85,   85,   85,   85,   85,   85,   85,   85,    0,   85,
264   122,   85,   85,   85,   85,   85,   85,    0,    0,    0,
265   304,    0,   62,   62,   62,   62,   62,   62,   62,   62,
266    62,   24,    0,   62,   62,   62,    0,  314,    0,    0,
267    62,    0,   33,   34,   35,    0,   62,  126,   62,   62,
268    62,   62,   62,    0,   62,   62,   62,   62,   62,   62,
269    62,   62,   62,    0,   62,  126,   62,   62,   62,   62,
270    62,   62,  128,  128,  128,    0,    0,   37,   37,   37,
271    37,   37,   37,   37,   37,   37,    0,    0,   37,   37,
272    37,   57,  118,  118,  118,   37,    0,    0,    0,    0,
273   129,   37,    0,   37,   37,   37,   37,   37,    0,   37,
274    37,   37,   37,   37,   37,   37,   37,   37,  129,   37,
275     0,   37,   37,   37,   37,   37,   37,    0,   57,    0,
276     0,   57,   57,   57,   57,   57,   57,    0,   57,    0,
277     0,    0,  120,  120,  120,    0,   89,    0,  119,   57,
278    57,    0,    0,   57,   57,    0,   12,   13,    0,    0,
279     0,   14,   15,   16,    0,    0,  119,    0,    0,    0,
280     0,    0,    0,    0,   17,    0,   18,   19,   20,    0,
281    22,    0,    0,   89,   57,   57,   89,   89,   89,   89,
282    89,   89,   27,   89,    0,   31,   32,   33,   34,   35,
283     0,   91,    0,   57,   89,   89,   89,    0,   89,   89,
284     0,  122,  122,  122,   57,   57,    0,    0,    0,    0,
285     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
286     0,    0,    0,    0,  121,    0,    0,    0,   91,   89,
287    89,   91,   91,   91,   91,    0,   91,    0,   91,    0,
288     0,    0,  121,    0,   92,    0,    0,    0,    0,   91,
289    91,   91,    0,   91,   91,    0,  126,  126,  126,   89,
290    89,    0,   92,    0,    0,   92,    0,    0,    0,    0,
291     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
292     0,    0,    0,    0,   91,   91,    0,    0,    0,    0,
293     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
294     0,    0,    0,   91,    0,    0,    0,    0,    0,  129,
295   129,  129,    0,    0,   91,   91,    0,    0,    0,    0,
296     0,    0,    0,    0,    0,    0,    0,   92,    0,    0,
297     0,    0,    0,    0,    0,    0,    0,    0,   57,   57,
298    57,   57,   57,   57,   57,   57,   57,    0,    0,   57,
299    57,   57,    0,    0,    0,    0,   57,  119,  119,  119,
300     0,    0,   57,    0,   57,   57,   57,   57,   57,    0,
301    57,   57,   57,   57,   57,   57,   57,   57,   57,    0,
302    57,    0,   57,   57,   57,   57,   57,   57,    0,    0,
303     0,    0,    0,   89,   89,   89,   89,   89,   89,   89,
304    89,   89,    0,    0,   89,   89,   89,    0,    0,    0,
305     0,   89,    0,    0,    0,    0,    0,   89,    0,   89,
306    89,   89,   89,   89,    0,   89,   89,   89,   89,   89,
307    89,   89,   89,   89,    0,   89,    0,   89,   89,   89,
308    89,   89,   89,  121,  121,  121,    0,    0,   91,   91,
309    91,   91,   91,   91,   91,   91,   91,    0,    0,   91,
310    91,   91,   23,   92,   92,   92,   91,    0,   92,    0,
311     0,    0,   91,    0,   91,   91,   91,   91,   91,    0,
312    91,   91,   91,   91,   91,   91,   91,   91,   91,    0,
313    91,    0,   91,   91,   91,   91,   91,   91,    0,   23,
314     0,    0,   23,   23,   23,   23,   23,   23,    0,   23,
315     0,    0,    0,    0,    0,    0,    0,   54,    0,    0,
316    23,   23,   23,    0,   23,   23,    0,    0,    0,    0,
317     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
318     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
319     0,    0,    0,    0,   54,   23,   23,   54,   54,   54,
320    54,   54,   54,    0,   54,    0,    0,    0,    0,    0,
321     0,   39,    0,    0,   23,   54,   54,   54,    0,   54,
322    54,    0,    0,    0,    0,   23,   23,    0,    0,    0,
323     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
324     0,    0,    0,    0,    0,    0,    0,    0,   39,    0,
325    54,   39,   39,   39,   39,   39,   39,    0,   39,    0,
326     0,    0,    0,    0,    0,    0,    0,    0,    0,   39,
327    39,   39,    0,   39,   39,    0,    0,    0,    0,    0,
328    54,   54,    0,    0,    0,    0,    0,    0,    0,    0,
329     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
330     0,    0,    0,    0,   39,   39,    0,    0,    0,    0,
331     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
332     0,    0,    0,   39,    0,    0,    0,    0,    0,    0,
333     0,    0,    0,    0,   39,   39,    0,    0,    0,    0,
334     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
335     0,    0,    0,    0,    0,    0,    0,    0,    0,   23,
336    23,   23,   23,   23,   23,   23,   23,   23,    0,    0,
337    23,   23,   23,    0,    0,    0,    0,   23,    0,    0,
338     0,    0,    0,   23,    0,   23,   23,   23,   23,   23,
339     0,   23,   23,    0,   23,   23,   23,   23,   23,   23,
340     0,   23,    0,   23,   23,   23,   23,   23,   23,    0,
341     0,    0,    0,    0,   54,   54,   54,   54,   54,   54,
342    54,   54,   54,    0,    0,   54,   54,   54,    0,    0,
343     0,    0,   54,    0,   66,  161,    0,   28,   54,   29,
344    54,   54,   54,   54,   54,    0,   54,   54,   54,   54,
345    54,   54,   54,   54,   54,    0,   54,   86,   54,   54,
346    54,   54,   54,   54,    0,    0,    0,    0,   39,   39,
347    39,   39,   39,   39,   39,   39,   39,    0,    0,   39,
348    39,   39,   53,    0,    0,    0,   39,    0,    0,    0,
349     0,    0,   39,    0,   39,   39,   39,   39,   39,    0,
350    39,   39,   39,   39,   39,   39,   39,   39,   39,    0,
351    39,    0,   39,    0,    0,   39,   39,   39,    0,   53,
352     0,    0,   53,   53,   53,   53,   53,   53,    0,   53,
353     0,    0,    0,    0,    0,    0,   44,    0,    0,    0,
354    53,   53,   53,    0,   53,   53,    0,    0,    0,    0,
355     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
356     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
357     0,    0,    0,   44,    0,   53,   44,   44,   44,   44,
358    44,   44,    0,   44,    0,    0,    0,    0,    0,    0,
359    45,    0,    0,    0,   44,   44,   44,    0,   44,   44,
360     0,    0,    0,    0,    0,   53,   53,    0,    0,    0,
361     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
362     0,    0,    0,    0,    0,    0,    0,   45,    0,   44,
363    45,   45,   45,   45,   45,   45,    0,   45,    0,    0,
364     0,    0,    0,    0,    0,    0,    0,    0,   45,   45,
365    45,    0,   45,   45,    0,    0,    0,   12,   13,   44,
366    44,    0,   14,   15,   16,    0,    0,    0,    0,    0,
367     0,    0,    0,    0,    0,   17,    0,   18,   19,   20,
368     0,   22,    0,   45,    0,    0,   23,   24,   25,   26,
369     0,    0,    0,   27,    0,    0,   31,   32,   33,   34,
370    35,    0,    0,    0,    0,    0,    0,    0,    0,    0,
371     0,    0,    0,   45,   45,    0,    0,    0,    0,    0,
372     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
373     0,    0,    0,    0,    0,    0,    0,    0,    0,   53,
374    53,   53,   53,   53,   53,   53,   53,   53,    0,    0,
375    53,   53,   53,    0,    0,    0,    0,   53,    0,    0,
376     0,    0,    0,   53,    0,   53,   53,   53,   53,   53,
377     0,   53,   53,   53,   53,   53,   53,   53,   53,   53,
378     0,   53,    0,   53,   53,   53,   53,   53,   53,    0,
379     0,    0,    0,   44,   44,   44,   44,   44,   44,   44,
380    44,   44,    0,    0,   44,   44,   44,    0,    0,    0,
381     0,   44,    0,   66,    0,    0,   28,   44,   29,   44,
382    44,   44,   44,   44,    0,   44,   44,   44,   44,   44,
383    44,   44,   44,   44,    0,   44,    0,   44,   44,   44,
384    44,   44,   44,    0,    0,    0,    0,   45,   45,   45,
385    45,   45,   45,   45,   45,   45,    0,    0,   45,   45,
386    45,   46,    0,    0,    0,   45,    0,    0,    0,    0,
387     0,   45,    0,   45,   45,   45,   45,   45,    0,   45,
388    45,   45,   45,   45,   45,   45,   45,   45,    0,   45,
389     0,   45,   45,   45,   45,   45,   45,    0,   46,    0,
390     0,   46,   46,   46,   46,   46,   46,    0,   46,    0,
391     0,    0,    0,    0,    0,   47,    0,    0,    0,   46,
392    46,   46,    0,   46,   46,    0,    0,    0,    0,    0,
393     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
394     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
395     0,    0,   47,    0,   46,   47,   47,   47,   47,   47,
396    47,    0,   47,    0,    0,    0,    0,    0,    0,   39,
397     0,    0,    0,   47,   47,   47,    0,   47,   47,    0,
398     0,    0,    0,    0,   46,   46,    0,    0,    0,    0,
399     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
400     0,    0,    0,    0,    0,    0,   39,    0,   47,   39,
401    39,   39,   39,   39,   39,    0,   39,    0,    0,    0,
402     0,    0,    0,    0,    0,    0,    0,   39,   39,   39,
403     0,   39,   39,    0,  126,  127,   12,   13,   47,   47,
404     0,   14,   15,   16,    0,    0,    0,    0,    0,    0,
405     0,    0,    0,    0,   17,    0,   18,   19,   20,    0,
406    22,    0,   39,   39,    0,   23,   24,   25,   26,    0,
407     0,    0,   27,    0,    0,   31,   32,   33,   34,   35,
408     0,   39,    0,    0,    0,    0,    0,    0,    0,    0,
409     0,    0,   39,   39,    0,    0,    0,    0,    0,    0,
410     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
411     0,    0,    0,    0,    0,    0,    0,    0,   46,   46,
412    46,   46,   46,   46,   46,   46,   46,    0,    0,   46,
413    46,   46,    0,    0,    0,    0,   46,    0,    0,    0,
414     0,    0,   46,    0,   46,   46,   46,   46,   46,    0,
415    46,   46,   46,   46,   46,   46,   46,   46,   46,    0,
416    46,    0,   46,   46,   46,   46,   46,   46,    0,    0,
417     0,    0,   47,   47,   47,   47,   47,   47,   47,   47,
418    47,    0,    0,   47,   47,   47,    0,    0,    0,    0,
419    47,    0,    0,    0,    0,    0,   47,    0,   47,   47,
420    47,   47,   47,    0,   47,   47,   47,   47,   47,   47,
421    47,   47,   47,    0,   47,    0,   47,   47,   47,   47,
422    47,   47,    0,    0,    0,    0,   39,   39,   39,   39,
423    39,   39,   39,   39,   39,    0,    0,   39,   39,   39,
424    36,    0,    0,    0,   39,    0,    0,    0,    0,    0,
425    39,    0,   39,   39,   39,   39,   39,    0,    0,   39,
426    39,   39,   39,   39,   39,   39,   39,    0,   39,    0,
427    39,    0,    0,   39,   39,   39,    0,   36,    0,    0,
428    36,   36,   36,   36,   36,   36,    0,   36,    0,    0,
429     0,    0,    0,    0,    0,   42,    0,    0,   36,   36,
430    36,    0,   36,    0,    0,    0,    0,    0,    0,    0,
431     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
432     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
433     0,    0,    0,   36,   36,   42,   42,    0,   42,   42,
434    42,    0,    0,    0,    0,    0,   43,    0,    0,    0,
435     0,    0,   36,   42,   42,   42,    0,   42,   42,    0,
436     0,    0,    0,   36,   36,    0,    0,    0,    0,    0,
437     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
438     0,    0,    0,    0,    0,    0,   43,   43,   42,   43,
439    43,   43,    0,    0,    0,    0,   33,    0,    0,    0,
440     0,    0,    0,    0,   43,   43,   43,    0,   43,   43,
441     0,    0,    0,    0,    0,    0,    0,    0,   42,   42,
442     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
443     0,    0,    0,    0,    0,    0,   33,   33,    0,   43,
444    33,    0,    0,    0,    0,    0,    0,    0,    0,    0,
445     0,    0,    0,    0,   33,   33,   33,    0,   33,   33,
446     0,    0,    0,    0,    0,    0,    0,    0,    0,   43,
447    43,    0,    0,    0,    0,    0,    0,    0,    0,    0,
448     0,    0,    0,    0,    0,    0,    0,   37,    0,   33,
449    28,    0,   29,    0,    0,    0,    0,   36,   36,   36,
450    36,   36,   36,   36,   36,   36,    0,    0,   36,   36,
451    36,    0,    0,    0,    0,   36,    0,    0,    0,   33,
452    33,   36,    0,   36,   36,   36,   36,   36,    0,   36,
453     0,    0,   36,   36,   36,   36,   36,   36,    0,   36,
454     0,   36,   36,   36,   36,   36,   36,    0,    0,    0,
455     0,    0,   42,   42,   42,   42,   42,   42,   42,   42,
456    42,    0,    0,   42,   42,   42,    0,    0,    0,    0,
457    42,    0,    0,    0,    0,    0,   42,    0,   42,   42,
458    42,   42,   42,    0,   42,   42,   42,   42,   42,   42,
459    42,   42,   42,    0,   42,    0,   42,   42,   42,   42,
460    42,   42,    0,   43,   43,   43,   43,   43,   43,   43,
461    43,   43,    0,    0,   43,   43,   43,    0,    0,    0,
462     0,   43,    0,    0,    0,    0,    0,   43,    0,   43,
463    43,   43,   43,   43,    0,   43,   43,   43,   43,   43,
464    43,   43,   43,   43,    0,   43,    0,   43,   43,   43,
465    43,   43,   43,   33,   33,   33,   33,   33,   33,   33,
466    33,   33,    0,   34,   33,   33,   33,    0,    0,    0,
467     0,    0,    0,    0,    0,    0,    0,   33,    0,   33,
468    33,   33,   33,   33,    0,   33,   33,   33,   33,   33,
469    33,   33,   33,   33,    0,   33,    0,   33,   33,   33,
470    33,   33,   33,   34,   34,    0,   11,   34,  126,  127,
471    12,   13,    0,    0,   14,   14,   15,   16,    0,    0,
472     0,   34,   34,   34,    0,   34,   34,    0,   17,    0,
473    18,   19,   20,    0,   22,    0,    0,    0,    0,   23,
474    24,   25,   26,    0,    0,    0,   27,    0,   30,   31,
475    32,   33,   34,   35,   14,    0,   34,   14,    0,   14,
476     0,    0,    0,    0,   15,    0,    0,    0,    0,    0,
477     0,    0,    0,   14,    0,    0,    0,    0,    0,    0,
478     0,    0,    0,    0,    0,    0,   34,   34,    0,    0,
479     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
480     0,    0,    0,    0,   15,    0,    0,   15,    0,   15,
481     0,    0,    0,    0,   12,    0,    0,    0,    0,    0,
482     0,    0,    0,   15,    0,    0,    0,    0,    0,    0,
483     0,    0,    0,    0,    0,    0,    0,   14,    0,    0,
484     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
485     0,    0,    0,    0,   12,    0,    0,   12,    0,   12,
486     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
487     7,    0,    0,   12,    0,    0,    0,    0,    0,    0,
488     0,    0,    0,    0,    0,    0,    0,   15,    0,    0,
489     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
490     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
491     7,    0,    0,    7,    0,    7,    0,    0,    0,    0,
492    34,   34,   34,   34,   34,   34,   34,   34,   34,    7,
493     0,   34,   34,   34,    0,    0,    0,   12,    0,    0,
494     0,    0,    0,    0,   34,    0,   34,   34,   34,   34,
495    34,    0,   34,   34,   34,   34,   34,   34,   34,   34,
496    34,    0,   34,    0,   34,   34,   34,   34,   34,   34,
497     0,   14,   14,   14,   14,   14,   14,   14,   14,    0,
498     0,    0,   14,   14,   14,    0,    0,    0,    0,    0,
499     0,    0,    0,    0,    0,   14,    0,   14,   14,   14,
500    14,   14,    0,    0,    0,    0,   14,   14,   14,   14,
501     0,    0,    0,   14,    0,   14,   14,   14,   14,   14,
502    14,   15,   15,   15,   15,   15,   15,   15,   15,    0,
503     0,    0,   15,   15,   15,   66,    0,    0,   28,    0,
504    29,    0,    0,    0,    0,   15,    0,   15,   15,   15,
505    15,   15,    0,    0,    0,    0,   15,   15,   15,   15,
506     0,    0,    0,   15,    0,   15,   15,   15,   15,   15,
507    15,   12,   12,   12,   12,    0,   12,   12,   12,    0,
508     0,    6,   12,   12,   12,    0,    0,    0,    0,    0,
509     0,    0,    0,    0,    0,   12,    0,   12,   12,   12,
510    12,   12,    0,    0,    0,    0,   12,   12,   12,   12,
511     0,    0,    0,   12,    0,   12,   12,   12,   12,   12,
512    12,    6,    0,    0,    6,    0,    6,    7,    7,    7,
513     7,    7,    7,    7,    7,    0,    0,    5,    7,    7,
514     7,    0,    0,    0,    0,    0,    0,    0,    0,    0,
515     0,    7,    0,    7,    7,    7,    7,    7,    0,    0,
516     0,    0,    7,    7,    7,    7,    0,    0,    0,    7,
517     0,    7,    7,    7,    7,    7,    7,    5,    0,    0,
518     5,    0,    5,    0,    0,    0,    0,    2,    0,    0,
519     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
520     0,    0,    0,    0,    6,    0,    0,    0,    0,    0,
521     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
522     0,    0,    0,    0,    0,    0,    0,    2,    0,    0,
523     2,    0,    2,    0,    0,    0,    0,    0,    0,    0,
524     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
525     0,    0,    0,    0,    0,    0,    0,    0,   12,   13,
526     5,  178,  179,   14,   15,   16,    0,    0,    0,    0,
527     0,  183,  184,  185,  186,  187,   17,    0,   18,   19,
528    20,    0,   22,  189,    0,    0,    0,   23,   24,   25,
529    26,    0,    0,    0,   27,    0,    0,   31,   32,   33,
530    34,   35,    0,    0,    0,    0,    0,    0,    0,    0,
531     2,    0,    0,    0,    0,    0,    0,    0,    0,    0,
532     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
533     0,    0,    0,    0,    0,    0,    0,    0,    6,    6,
534     6,    0,    0,    0,    6,    6,    0,    0,    0,    6,
535     6,    6,    0,    0,    0,    0,    0,    0,    0,    0,
536     0,    0,    6,    0,    6,    6,    6,    6,    6,    0,
537     0,    0,    0,    6,    6,    6,    6,    0,    0,    0,
538     6,    0,    6,    6,    6,    6,    6,    6,    0,    0,
539     0,    0,    0,    0,    5,    5,    5,    0,    0,    0,
540     5,    5,    0,    0,    0,    5,    5,    5,    0,    0,
541     0,    0,    0,    0,    0,    0,    0,    0,    5,    0,
542     5,    5,    5,    5,    5,    0,    0,    0,    0,    5,
543     5,    5,    5,    0,    0,    0,    5,    0,    5,    5,
544     5,    5,    5,    5,    2,    2,    2,    0,    0,    0,
545     2,    2,    0,    0,    0,    2,    2,    2,   60,    0,
546     0,    0,    0,    0,    0,    0,    0,    0,    2,    0,
547     2,    2,    2,    2,    2,    0,    0,    0,    0,    2,
548     2,    2,    2,    0,    0,    0,    2,    0,    2,    2,
549     2,    2,    2,    2,    0,   60,    0,    0,   60,   60,
550    60,   60,   60,   60,    0,   60,    0,    0,    0,    0,
551     0,    0,    0,   56,    0,    0,   60,   60,   60,    0,
552    60,   60,    0,    0,    0,    0,    0,    0,    0,    0,
553     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
554     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
555    56,   60,   60,   56,   56,   56,   56,   56,   56,    0,
556    56,   58,    0,    0,    0,    0,    0,    0,    0,    0,
557    60,   56,   56,    0,    0,   56,   56,    0,    0,    0,
558     0,   60,   60,    0,    0,    0,    0,    0,    0,    0,
559     0,    0,    0,    0,    0,    0,    0,    0,   58,    0,
560     0,    0,   58,   58,    0,   58,   56,   56,   58,    0,
561     0,    0,    0,    0,    0,    0,    0,    0,    0,   58,
562    58,   58,    0,   58,   58,   56,    0,    0,    0,    0,
563     0,    0,    0,    0,    0,    0,   56,   56,    0,    0,
564     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
565     0,    0,    0,    0,   58,   58,    0,    0,    0,    0,
566     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
567     0,    0,    0,   58,    0,    0,    0,    0,    0,    0,
568     0,    0,    0,    0,   58,   58,    0,    0,    0,    0,
569     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
570     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
571     0,    0,    0,    0,    0,   60,   60,   60,   60,   60,
572    60,   60,   60,   60,    0,    0,   60,   60,   60,    0,
573     0,    0,    0,   60,    0,    0,    0,    0,    0,   60,
574     0,   60,   60,   60,   60,   60,    0,   60,   60,   60,
575    60,    0,   60,   60,   60,   60,    0,   60,    0,   60,
576    60,   60,    0,    0,    0,    0,    0,    0,    0,    0,
577    56,   56,   56,   56,   56,   56,   56,   56,   56,    0,
578     0,   56,   56,   56,    0,    0,    0,    0,   56,    0,
579     0,    0,    0,    0,   56,    0,   56,   56,   56,   56,
580    56,   29,   56,   56,   56,   56,    0,   56,   56,   56,
581    56,    0,   56,    0,   56,   56,   56,    0,   58,   58,
582    58,   58,   58,   58,    0,    0,   58,    0,    0,    0,
583     0,    0,    0,    0,    0,    0,   58,    0,   29,    0,
584     0,    0,   29,   29,    0,   29,   25,   58,   29,    0,
585    58,   58,   58,   58,   58,   58,   58,   58,   58,   29,
586    29,   29,   58,   29,   29,    0,    0,    0,    0,    0,
587     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
588     0,    0,    0,   25,    0,    0,    0,   25,   25,    0,
589    25,   27,    0,   25,   29,   29,    0,    0,    0,    0,
590     0,    0,    0,    0,   25,   25,   25,    0,   25,   25,
591     0,    0,    0,   29,    0,    0,    0,    0,    0,    0,
592     0,    0,    0,    0,   29,   29,    0,    0,   27,    0,
593     0,    0,   27,   27,    0,   27,    0,    0,   27,   25,
594    25,    0,    0,    0,    0,    0,    0,    0,    0,   27,
595    27,   27,    0,   27,   27,    0,    0,    0,   25,    0,
596    26,    0,    0,    0,    0,    0,    0,    0,    0,   25,
597    25,    0,    0,    0,    0,    0,    0,    0,    0,    0,
598     0,    0,    0,    0,   27,   27,    0,    0,    0,    0,
599     0,    0,    0,    0,    0,    0,    0,   26,    0,    0,
600     0,   26,   26,   27,   26,    0,    0,   26,    0,    0,
601     0,    0,    0,    0,   27,   27,    0,    0,   26,   26,
602    26,    0,   26,   26,    0,    0,    0,    0,    0,    0,
603     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
604     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
605     0,    0,    0,   26,   26,    0,    0,    0,   29,   29,
606    29,   29,   29,   29,    0,    0,   29,    0,    0,    0,
607     0,    0,   26,    0,    0,    0,   29,    0,    0,    0,
608     0,    0,    0,   26,   26,    0,    0,   29,    0,    0,
609    29,   29,   29,   29,   29,   29,   29,   29,   29,    0,
610     0,    0,   29,   25,   25,   25,   25,   25,   25,    0,
611    66,   25,    0,   28,  157,   29,    0,    0,    0,    0,
612     0,   25,    0,    0,    0,    0,    0,    0,    0,    0,
613     0,    0,   25,   86,    0,   25,   25,   25,   25,   25,
614    25,   25,   25,   25,    0,    0,    0,   25,   27,   27,
615    27,   27,   27,   27,    0,    0,   27,    0,    0,    0,
616     0,    0,    0,    0,    0,    0,   27,    0,    0,   59,
617     0,    0,    0,    0,    0,    0,    0,   27,    0,    0,
618    27,   27,   27,   27,   27,   27,   27,   27,   27,    0,
619     0,    0,   27,    0,    0,    0,    0,    0,    0,    0,
620     0,    0,    0,    0,    0,    0,   59,    0,    0,    0,
621    59,   59,    0,   59,    0,    0,   59,   26,   26,   26,
622    26,   26,   26,    0,    0,   26,    0,   59,   59,   59,
623     0,   59,   59,    0,    0,   26,   92,    0,    0,    0,
624     0,    0,    0,    0,    0,    0,   26,    0,    0,   26,
625    26,   26,   26,   26,   26,   26,   26,   26,    0,    0,
626     0,   26,   59,   59,    0,    0,    0,    0,    0,    0,
627     0,    0,    0,   92,    0,    0,    0,   92,   92,    0,
628    92,   59,    0,   92,   20,    0,    0,    0,    0,    0,
629     0,    0,   59,   59,   92,   92,   92,    0,   92,   92,
630     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
631     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
632     0,   20,    0,    0,    0,   20,   20,    0,   20,   92,
633    92,   20,    0,   12,   13,    0,    0,    0,   14,   15,
634    16,    0,   20,   20,   20,    0,   20,    0,   92,    0,
635     0,   17,    0,   18,   19,   20,   35,   22,    0,   92,
636    92,    0,   23,   24,   25,   26,    0,    0,    0,   27,
637     0,    0,   31,   32,   33,   34,   35,   20,   20,    0,
638     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
639     0,    0,    0,   35,    0,    0,   20,   35,   35,    0,
640    35,    0,    0,   35,    0,    0,    0,   20,   20,    0,
641     0,    0,    0,    0,   35,   35,   35,    0,   35,    0,
642     0,    0,    0,    0,    0,    0,   59,   59,   59,   59,
643    59,   59,    0,    0,   59,    0,    0,    0,    0,    0,
644     0,    0,    0,    0,   59,   93,    0,    0,    0,   35,
645    35,    0,    0,    0,    0,   59,    0,    0,   59,   59,
646    59,   59,   59,   59,   59,   59,   59,    0,   35,    0,
647    59,    0,    0,    0,    0,    0,    0,    0,    0,   35,
648    35,    0,   93,    0,    0,    0,   93,   93,    0,   93,
649     0,    0,   93,   92,   92,   92,   92,   92,   92,    0,
650     0,   92,    0,   93,   93,   93,    0,   93,    0,    0,
651     0,   92,    0,    0,    0,    0,    0,    0,    0,    0,
652     0,    0,   92,    0,    0,   92,   92,   92,    0,    0,
653     0,    0,   92,   92,    0,    0,    0,   92,   93,   93,
654     0,   20,   20,   20,   20,   20,   20,   94,    0,   20,
655     0,    0,    0,    0,    0,    0,    0,   93,    0,   20,
656     0,    0,    0,    0,    0,    0,    0,    0,   93,   93,
657    20,    0,    0,   20,   20,   20,    0,    0,    0,    0,
658    20,   20,    0,    0,   94,   20,    0,    0,   94,   94,
659     0,   94,    0,    0,   94,    0,    0,    0,    0,    0,
660     0,    0,   90,    0,    0,   94,   94,   94,    0,   94,
661     0,    0,    0,   35,   35,   35,   35,   35,   35,    0,
662     0,   35,    0,    0,    0,    0,    0,    0,    0,    0,
663     0,   35,    0,    0,    0,    0,    0,    0,    0,   90,
664    94,   94,   35,   90,   90,   35,   35,   35,    0,   90,
665    16,    0,   35,   35,    0,    0,    0,   35,    0,   94,
666    90,   90,   90,    0,   90,    0,    0,    0,    0,    0,
667    94,   94,    0,    0,    0,    0,    0,    0,    0,    0,
668     0,    0,    0,    0,    0,    0,    0,   16,    0,    0,
669     0,   16,   16,    0,   16,   90,   90,   16,    0,    0,
670     0,    0,   93,   93,   93,   93,   93,   93,   16,   16,
671    93,    0,    0,    0,   90,    0,    0,    0,    0,    0,
672    93,    0,    0,    0,    0,   90,   90,    0,    0,    0,
673     0,   93,    0,    0,   93,   93,   93,    0,    0,    0,
674     0,   93,   93,   16,   16,    0,   93,    0,    0,    0,
675     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
676     0,    0,   16,    0,    0,    0,    0,    0,    0,    0,
677     0,    0,    0,   16,   16,    0,    0,    0,    0,    0,
678     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
679     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
680     0,    0,    0,    0,   94,   94,   94,   94,   94,   94,
681     0,    0,   94,    0,    0,    0,    0,    0,    0,    0,
682     0,    0,   94,    0,    0,    0,    0,    0,    0,    0,
683     0,    0,    0,   94,    0,    0,   94,   94,   94,    0,
684     0,    0,    0,   94,   94,    0,    0,    0,   94,    0,
685     0,    0,    0,    0,    0,    0,    0,    0,    0,   90,
686    90,   90,   90,   90,   90,    0,    0,   90,    0,    0,
687     0,    0,    0,    0,    0,    0,    0,   90,    0,    0,
688     0,    0,    0,    0,    0,    0,    0,    0,   90,    0,
689     0,   90,   90,   90,    0,    0,    0,    0,   90,   90,
690     0,   43,    0,   90,    0,    0,    0,   16,   16,   16,
691    16,   16,   16,    0,    0,   16,    0,    0,    0,    0,
692     0,    0,    0,    0,   43,   16,    0,    0,    0,    0,
693     0,   43,    0,    0,    0,    0,   16,    0,    0,   16,
694    16,   16,    0,  105,    0,    0,  110,  105,  105,  113,
695   114,   16,  117,  119,  120,    0,  105,  105,  124,  125,
696    43,    0,    0,    0,    0,    0,    0,    0,    0,    0,
697     0,    0,    0,    0,    0,    0,  135,    0,    0,   43,
698   139,  141,  142,  143,  144,    0,  107,  108,    0,    0,
699     0,    0,    0,    0,   43,    0,    0,  155,    0,    0,
700     0,    0,    0,    0,    0,    0,    0,    0,    0,  165,
701     0,    0,    0,    0,    0,  105,    0,  134,    0,  136,
702   137,    0,    0,    0,    0,    0,    0,    0,    0,    0,
703    43,   43,    0,    0,    0,    0,    0,    0,    0,    0,
704     0,    0,    0,    0,    0,    0,    0,    0,  155,    0,
705     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
706   209,  210,  211,  212,  214,    0,    0,    0,    0,  216,
707   217,    0,  105,  105,    0,    0,    0,  224,    0,    0,
708     0,  225,    0,    0,    0,    0,    0,    0,    0,    0,
709     0,    0,  236,  204,  205,  237,    0,    0,  238,  239,
710     0,    0,    0,    0,    0,    0,    0,    0,   57,    0,
711     0,    0,    0,  218,    0,   43,   43,  264,    0,   68,
712    68,    0,   71,   72,  226,   68,  228,    0,  229,    0,
713     0,    0,    0,    0,   68,    0,  276,    0,  277,    0,
714   278,    0,  279,    0,  280,    0,    0,    0,    0,  282,
715     0,  253,    0,    0,  283,  284,   66,    0,    0,   28,
716     0,   29,  105,    0,    0,    0,  270,  271,  272,  273,
717   274,    0,    0,    0,    0,  192,    0,    0,    0,    0,
718     0,    0,   43,    0,   68,   68,   68,   68,   68,   68,
719     0,    0,    0,    0,    0,    0,   68,    0,    0,   43,
720     0,   68,    0,    0,   68,   68,    0,    0,   68,  114,
721    68,   68,  114,    0,  114,   68,   68,  298,    0,    0,
722     0,  300,  301,  302,    0,    0,   68,  307,  114,    0,
723    68,    0,   68,   68,   68,   68,    0,    0,    0,  190,
724     0,    0,    0,  202,    0,    0,   68,    0,    0,    0,
725     0,    0,  320,  321,    0,    0,   68,  113,  325,    0,
726   113,    0,  113,    0,    0,    0,    0,    0,    0,    0,
727     0,    0,    0,    0,    0,    0,  113,    0,    0,    0,
728     0,    0,    0,    0,   68,    0,    0,    0,    0,    0,
729     0,    0,  114,    0,  114,    0,    0,    0,    0,    0,
730    68,   68,   68,   68,    0,   68,    0,   68,   68,    0,
731     0,    0,    0,    0,    0,   68,   68,    0,    0,    0,
732     0,    0,    0,    0,    0,    0,    0,   68,   68,   68,
733    68,  107,    0,    0,  107,    0,  107,    0,    0,    0,
734   113,    0,  113,    0,    0,    0,    0,    0,    0,    0,
735   107,    0,    0,    0,    0,   68,    0,    0,    0,    0,
736     0,    0,    0,    0,    0,    0,    0,   68,   68,   68,
737    68,   68,    0,   68,   68,   68,  177,  126,  127,   12,
738    13,    0,  178,  179,   14,   15,   16,  180,    0,  181,
739   182,    0,  183,  184,  185,  186,  187,   17,  188,   18,
740    19,   20,    0,   22,  189,    0,    0,    0,   23,   24,
741    25,   26,    0,    0,  107,   27,  107,    0,   31,   32,
742    33,   34,   35,    0,    0,    0,    0,    0,    0,  114,
743     0,    0,  114,  114,    0,  114,  114,  114,  114,  114,
744   114,  114,  114,  114,    0,  114,  114,  114,  114,  114,
745   114,  114,  114,  114,  114,    0,  114,  114,    0,    0,
746     0,  114,  114,  114,  114,    0,    0,    0,  114,    0,
747     0,  114,  114,  114,  114,  114,    0,  113,    0,    0,
748   113,  113,    0,  113,  113,  113,  113,  113,  113,  113,
749   113,  113,    0,  113,  113,  113,  113,  113,  113,  113,
750   113,  113,  113,    0,  113,  113,    0,    0,    0,  113,
751   113,  113,  113,    0,    0,    0,  113,    0,    0,  113,
752   113,  113,  113,  113,  108,    0,    0,  108,    0,  108,
753     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
754     0,    0,    0,  108,    0,    0,    0,    0,    0,    0,
755     0,  107,    0,    0,  107,  107,    0,  107,  107,  107,
756   107,  107,  107,  107,  107,  107,    0,  107,  107,  107,
757   107,  107,  107,  107,  107,  107,  107,    0,  107,  107,
758     0,    0,    0,  107,  107,  107,  107,    0,    0,    0,
759   107,    0,    0,  107,  107,  107,  107,  107,  109,    0,
760     0,  109,    0,  109,    0,    0,    0,  108,    0,  108,
761     0,    0,    0,    0,    0,    0,    0,  109,    0,    0,
762     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
763     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
764     0,    0,    0,    0,    0,  106,    0,    0,  106,    0,
765   106,    0,    0,    0,    0,    0,    0,    0,    0,    0,
766     0,    0,    0,    0,  106,    0,    0,    0,    0,    0,
767     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
768     0,  109,    0,  109,    0,    0,    0,    0,    0,    0,
769     0,    0,    0,    0,    0,    0,    0,  112,    0,    0,
770   112,    0,  112,    0,    0,    0,    0,    0,    0,    0,
771     0,    0,    0,    0,    0,    0,  112,    0,    0,    0,
772     0,    0,    0,    0,    0,    0,    0,    0,  106,    0,
773   106,    0,    0,    0,    0,    0,    0,    0,    0,    0,
774     0,    0,    0,    0,  108,    0,    0,  108,  108,    0,
775   108,  108,  108,  108,  108,  108,  108,  108,  108,    0,
776   108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
777     0,  108,  108,    0,    0,    0,  108,  108,  108,  108,
778   112,    0,  112,  108,    0,    0,  108,  108,  108,  108,
779   108,    0,    0,    0,    0,    0,    0,    0,    0,    0,
780     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
781    66,  243,    0,   28,  244,   29,    0,    0,  109,    0,
782     0,  109,  109,    0,  109,  109,  109,  109,  109,  109,
783   109,  109,  109,   86,  109,  109,  109,  109,  109,  109,
784   109,  109,  109,  109,    0,  109,  109,    0,    0,    0,
785   109,  109,  109,  109,    0,    0,    0,  109,    0,    0,
786   109,  109,  109,  109,  109,  106,    0,    0,  106,  106,
787     0,  106,  106,  106,  106,  106,  106,  106,  106,  106,
788     0,  106,  106,  106,  106,  106,  106,  106,  106,  106,
789   106,    0,  106,  106,    0,    0,    0,  106,  106,  106,
790   106,    0,    0,    0,  106,    0,    0,  106,  106,  106,
791   106,  106,    0,  141,    0,    0,  141,  112,  141,    0,
792   112,  112,    0,  112,  112,  112,  112,  112,  112,  112,
793   112,  112,  141,  112,  112,  112,  112,  112,  112,  112,
794   112,  112,  112,    0,  112,  112,    0,    0,    0,  112,
795   112,  112,  112,    0,    0,    0,  112,    0,    0,  112,
796   112,  112,  112,  112,   66,    0,    0,   28,    0,   29,
797     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
798     0,    0,    0,  192,    0,    0,    0,    0,    0,    0,
799     0,    0,    0,    0,    0,    0,  141,    0,  141,    0,
800     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
801     0,   66,    0,    0,   28,    0,   29,    0,    0,    0,
802     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
803   192,    0,    0,   12,   13,    0,    0,    0,   14,   15,
804    16,    0,    0,    0,    0,    0,    0,  190,    0,  191,
805     0,   17,    0,   18,   19,   20,    0,   22,    0,    0,
806     0,    0,   23,   24,   25,   26,    0,    0,    0,   27,
807     0,    0,   31,   32,   33,   34,   35,    0,    0,   66,
808     0,    0,   28,    0,   29,    0,    0,    0,    0,    0,
809     0,    0,    0,    0,  190,    0,  206,    0,  192,    0,
810     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
811     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
812     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
813     0,    0,    0,  141,    0,    0,  141,  141,    0,  141,
814   141,  141,  141,  141,  141,  141,  141,  141,    0,  141,
815   141,  141,  141,  141,  141,  141,  141,  141,  141,    0,
816   141,  141,  190,    0,  207,  141,  141,  141,  141,    0,
817     0,    0,  141,    0,    0,  141,  141,  141,  141,  141,
818     0,    0,    0,    0,  177,    0,    0,   12,   13,    0,
819   178,  179,   14,   15,   16,  180,    0,  181,  182,    0,
820   183,  184,  185,  186,  187,   17,  188,   18,   19,   20,
821     0,   22,  189,    0,    0,    0,   23,   24,   25,   26,
822     0,    0,    0,   27,    0,    0,   31,   32,   33,   34,
823    35,  177,    0,    0,   12,   13,    0,  178,  179,   14,
824    15,   16,  180,    0,  181,  182,    0,  183,  184,  185,
825   186,  187,   17,  188,   18,   19,   20,    0,   22,  189,
826     0,    0,    0,   23,   24,   25,   26,    0,    0,    0,
827    27,    0,    0,   31,   32,   33,   34,   35,   66,    0,
828     0,   28,    0,   29,    0,    0,    0,    0,    0,    0,
829     0,    0,    0,    0,    0,    0,    0,  192,    0,  177,
830     0,    0,   12,   13,    0,  178,  179,   14,   15,   16,
831   180,    0,  181,  182,    0,  183,  184,  185,  186,  187,
832    17,  188,   18,   19,   20,    0,   22,  189,    0,    0,
833     0,   23,   24,   25,   26,    0,    0,    0,   27,    0,
834     0,   31,   32,   33,   34,   35,   66,    0,    0,   28,
835     0,   29,    0,    0,    0,    0,    0,    0,    0,    0,
836     0,  190,    0,  235,    0,  192,    0,    0,    0,    0,
837     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
838     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
839     0,    0,    0,   66,    0,    0,   28,    0,   29,    0,
840     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
841     0,    0,  192,    0,    0,    0,    0,    0,    0,    0,
842     0,    0,    0,    0,    0,    0,    0,    0,    0,  190,
843     0,  291,    0,    0,    0,    0,    0,    0,    0,    0,
844     0,    0,    0,    0,  111,    0,    0,  111,    0,  111,
845     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
846     0,    0,    0,  111,    0,    0,    0,    0,    0,    0,
847     0,    0,    0,    0,    0,    0,  190,    0,  315,    0,
848     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
849     0,    0,    0,    0,    0,    0,    0,    0,  177,    0,
850     0,   12,   13,    0,  178,  179,   14,   15,   16,  180,
851     0,  181,  182,    0,  183,  184,  185,  186,  187,   17,
852   188,   18,   19,   20,    0,   22,  189,  111,    0,  111,
853    23,   24,   25,   26,    0,    0,    0,   27,    0,    0,
854    31,   32,   33,   34,   35,    0,    0,    0,    0,    0,
855     0,    0,    0,    0,    0,    0,    0,    0,    0,  134,
856     0,    0,  134,    0,  134,    0,  177,    0,    0,   12,
857    13,    0,  178,  179,   14,   15,   16,  180,  134,  181,
858   182,    0,  183,  184,  185,  186,  187,   17,  188,   18,
859    19,   20,    0,   22,  189,    0,    0,    0,   23,   24,
860    25,   26,    0,    0,    0,   27,    0,    0,   31,   32,
861    33,   34,   35,  177,    0,    0,   12,   13,    0,  178,
862   179,   14,   15,   16,  180,    0,  181,  182,    0,  183,
863   184,  185,  186,  187,   17,  188,   18,   19,   20,    0,
864    22,  189,  134,    0,  134,   23,   24,   25,   26,    0,
865     0,    0,   27,    0,    0,   31,   32,   33,   34,   35,
866    37,    0,    0,   28,  111,   29,    0,  111,  111,    0,
867   111,  111,  111,  111,  111,  111,    0,  111,  111,    0,
868   111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
869     0,  111,  111,    0,    0,    0,  111,  111,  111,  111,
870     0,    0,    0,  111,    0,    0,  111,  111,  111,  111,
871   111,   66,    0,    0,   28,  157,   29,    0,    0,    0,
872     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
873     0,   89,    0,   90,   86,    0,    0,    0,    0,    0,
874     0,    0,    0,   36,    0,    0,    0,    0,    0,    0,
875     0,    0,    0,    0,    0,   66,    0,    0,   28,    0,
876    29,    0,    0,    0,    0,    0,    0,    0,    0,    0,
877     0,    0,    0,    0,    0,   89,    0,   90,   86,  134,
878     0,    0,  134,  134,    0,  134,  134,  134,  134,  134,
879   134,    0,  134,  134,    0,  134,  134,  134,  134,  134,
880   134,  134,  134,  134,  134,    0,  134,  134,    0,    0,
881     0,  134,  134,  134,  134,    0,    0,    0,  134,    0,
882     0,  134,  134,  134,  134,  134,   66,  245,    0,   28,
883   246,   29,    0,    0,    0,    0,    0,    0,    0,    0,
884     0,    0,    0,    0,    0,    0,    0,    0,    0,   86,
885     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
886     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
887    66,  247,    0,   28,  248,   29,    0,    9,   10,   11,
888     0,    0,    0,   12,   13,    0,    0,    0,   14,   15,
889    16,    0,    0,   86,    0,    0,    0,    0,    0,    0,
890     0,   17,    0,   18,   19,   20,   21,   22,    0,    0,
891     0,    0,   23,   24,   25,   26,    0,    0,    0,   27,
892     0,   30,   31,   32,   33,   34,   35,   66,  249,    0,
893    28,  250,   29,    0,   12,   13,    0,    0,    0,   14,
894    15,   16,    0,    0,    0,    0,    0,    0,    0,    0,
895    86,    0,   17,    0,   18,   19,   20,    0,   22,    0,
896     0,    0,    0,   23,   24,   25,   26,   87,   88,    0,
897    27,    0,    0,   31,   32,   33,   34,   35,   12,   13,
898     0,    0,    0,   14,   15,   16,    0,    0,    0,    0,
899    66,  254,    0,   28,  255,   29,   17,    0,   18,   19,
900    20,    0,   22,    0,    0,    0,    0,   23,   24,   25,
901    26,   87,   88,   86,   27,    0,    0,   31,   32,   33,
902    34,   35,    0,    0,    0,    0,    0,    0,    0,    0,
903     0,    0,    0,    0,    0,    0,    0,    0,   37,    0,
904     0,   28,    0,   29,    0,    0,    0,    0,    0,   12,
905    13,    0,    0,    0,   14,   15,   16,  303,    0,    0,
906     0,    0,    0,    0,    0,    0,    0,   17,    0,   18,
907    19,   20,    0,   22,    0,    0,    0,    0,   23,   24,
908    25,   26,    0,    0,    0,   27,    0,    0,   31,   32,
909    33,   34,   35,   12,   13,    0,    0,    0,   14,   15,
910    16,   37,    0,    0,   28,    0,   29,    0,    0,    0,
911     0,   17,    0,   18,   19,   20,    0,   22,    0,    0,
912     0,    0,   23,   24,   25,   26,    0,    0,    0,   27,
913     0,    0,   31,   32,   33,   34,   35,    0,    0,    0,
914     0,    0,    0,    0,    0,    0,    0,    0,    0,  154,
915    12,   13,   28,    0,   29,   14,   15,   16,    0,    0,
916     0,    0,    0,    0,    0,    0,    0,    0,   17,    0,
917    18,   19,   20,    0,   22,    0,    0,    0,    0,   23,
918    24,   25,   26,    0,    0,    0,   27,    0,    0,   31,
919    32,   33,   34,   35,   66,    0,    0,   28,  164,   29,
920     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
921     0,    0,    0,   12,   13,    0,    0,   86,   14,   15,
922    16,    0,    0,    0,    0,    0,    0,    0,    0,    0,
923     0,   17,    0,   18,   19,   20,    0,   22,    0,    0,
924     0,    0,   23,   24,   25,   26,    0,    0,    0,   27,
925     0,    0,   31,   32,   33,   34,   35,   11,    0,    0,
926     0,   12,   13,    0,    0,    0,   14,   15,   16,    0,
927     0,   66,    0,    0,   28,  167,   29,    0,    0,   17,
928     0,   18,   19,   20,    0,   22,    0,    0,    0,    0,
929    23,   24,   25,   26,   86,    0,    0,   27,    0,   30,
930    31,   32,   33,   34,   35,    0,    0,    0,    0,    0,
931     0,    0,    0,    0,    0,    0,    0,    0,   66,    0,
932    11,   28,  169,   29,   12,   13,    0,    0,    0,   14,
933    15,   16,    0,    0,    0,    0,    0,    0,    0,    0,
934     0,   86,   17,    0,   18,   19,   20,    0,   22,    0,
935     0,    0,    0,   23,   24,   25,   26,    0,    0,    0,
936    27,    0,   30,   31,   32,   33,   34,   35,   11,    0,
937     0,    0,   12,   13,    0,    0,    0,   14,   15,   16,
938     0,    0,   66,    0,    0,   28,  170,   29,    0,    0,
939    17,    0,   18,   19,   20,    0,   22,    0,    0,    0,
940     0,   23,   24,   25,   26,   86,    0,    0,   27,    0,
941    30,   31,   32,   33,   34,   35,    0,   12,   13,    0,
942     0,    0,   14,   15,   16,    0,    0,   66,    0,    0,
943    28,  175,   29,    0,    0,   17,    0,   18,   19,   20,
944     0,   22,    0,    0,    0,    0,   23,   24,   25,   26,
945    86,    0,    0,   27,    0,    0,   31,   32,   33,   34,
946    35,    0,    0,    0,    0,    0,    0,    0,    0,    0,
947     0,    0,    0,   66,    0,    0,   28,  176,   29,    0,
948     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
949     0,    0,    0,    0,   12,   13,   86,    0,    0,   14,
950    15,   16,    0,    0,    0,    0,    0,    0,    0,    0,
951     0,    0,   17,    0,   18,   19,   20,    0,   22,    0,
952     0,    0,    0,   23,   24,   25,   26,    0,    0,    0,
953    27,    0,    0,   31,   32,   33,   34,   35,    0,    0,
954     0,   12,   13,    0,    0,    0,   14,   15,   16,    0,
955     0,   66,    0,    0,   28,    0,   29,    0,    0,   17,
956     0,   18,   19,   20,    0,   22,    0,    0,    0,  198,
957    23,   24,   25,   26,   86,    0,    0,   27,    0,    0,
958    31,   32,   33,   34,   35,    0,    0,    0,    0,    0,
959     0,    0,    0,    0,    0,   66,    0,    0,   28,    0,
960    29,    0,    0,    0,    0,   12,   13,    0,    0,    0,
961    14,   15,   16,  201,    0,    0,    0,    0,   86,    0,
962     0,    0,    0,   17,    0,   18,   19,   20,    0,   22,
963     0,    0,    0,    0,   23,   24,   25,   26,    0,    0,
964     0,   27,    0,    0,   31,   32,   33,   34,   35,    0,
965    12,   13,    0,    0,    0,   14,   15,   16,    0,    0,
966    66,  252,    0,   28,    0,   29,    0,    0,   17,    0,
967    18,   19,   20,    0,   22,    0,    0,    0,    0,   23,
968    24,   25,   26,   86,    0,    0,   27,    0,    0,   31,
969    32,   33,   34,   35,    0,    0,   12,   13,    0,    0,
970     0,   14,   15,   16,    0,    0,   66,  256,    0,   28,
971     0,   29,    0,    0,   17,    0,   18,   19,   20,    0,
972    22,    0,    0,    0,    0,   23,   24,   25,   26,   86,
973     0,    0,   27,    0,    0,   31,   32,   33,   34,   35,
974     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
975    66,  287,    0,   28,    0,   29,    0,    0,    0,    0,
976     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
977     0,    0,    0,   86,   12,   13,    0,    0,    0,   14,
978    15,   16,    0,    0,    0,    0,    0,    0,    0,    0,
979     0,    0,   17,    0,   18,   19,   20,    0,   22,    0,
980     0,    0,    0,   23,   24,   25,   26,    0,    0,    0,
981    27,    0,    0,   31,   32,   33,   34,   35,   12,   13,
982     0,    0,    0,   14,   15,   16,    0,    0,   66,  293,
983     0,   28,    0,   29,    0,    0,   17,    0,   18,   19,
984    20,    0,   22,    0,    0,    0,    0,   23,   24,   25,
985    26,   86,    0,    0,   27,    0,    0,   31,   32,   33,
986    34,   35,    0,    0,    0,    0,    0,    0,    0,    0,
987     0,    0,   66,  294,    0,   28,    0,   29,    0,    0,
988     0,    0,    0,   12,   13,    0,    0,    0,   14,   15,
989    16,    0,    0,    0,    0,   86,    0,    0,    0,    0,
990     0,   17,    0,   18,   19,   20,    0,   22,    0,    0,
991     0,    0,   23,   24,   25,   26,    0,    0,    0,   27,
992     0,    0,   31,   32,   33,   34,   35,    0,    0,   12,
993    13,    0,    0,    0,   14,   15,   16,    0,    0,   66,
994   295,    0,   28,    0,   29,    0,    0,   17,    0,   18,
995    19,   20,    0,   22,    0,    0,    0,    0,   23,   24,
996    25,   26,   86,    0,    0,   27,    0,    0,   31,   32,
997    33,   34,   35,   12,   13,    0,    0,    0,   14,   15,
998    16,    0,    0,   66,  296,    0,   28,    0,   29,    0,
999     0,   17,    0,   18,   19,   20,    0,   22,    0,    0,
1000     0,    0,   23,   24,   25,   26,   86,    0,    0,   27,
1001     0,    0,   31,   32,   33,   34,   35,    0,    0,    0,
1002     0,    0,    0,    0,    0,    0,    0,   66,  297,    0,
1003    28,    0,   29,    0,    0,    0,    0,    0,    0,    0,
1004     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1005    86,   12,   13,    0,    0,    0,   14,   15,   16,    0,
1006     0,    0,    0,    0,    0,    0,    0,    0,    0,   17,
1007     0,   18,   19,   20,    0,   22,    0,    0,    0,    0,
1008    23,   24,   25,   26,    0,    0,    0,   27,    0,    0,
1009    31,   32,   33,   34,   35,   12,   13,    0,    0,    0,
1010    14,   15,   16,    0,    0,   66,  299,    0,   28,    0,
1011    29,    0,    0,   17,    0,   18,   19,   20,    0,   22,
1012     0,    0,    0,    0,   23,   24,   25,   26,   86,    0,
1013     0,   27,    0,    0,   31,   32,   33,   34,   35,    0,
1014     0,    0,    0,    0,    0,    0,    0,    0,    0,   66,
1015   109,    0,   28,    0,   29,    0,    0,    0,    0,    0,
1016     0,    0,   12,   13,    0,    0,    0,   14,   15,   16,
1017     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1018    17,    0,   18,   19,   20,    0,   22,    0,    0,    0,
1019     0,   23,   24,   25,   26,    0,    0,    0,   27,    0,
1020     0,   31,   32,   33,   34,   35,   12,   13,    0,    0,
1021     0,   14,   15,   16,   66,    0,    0,   28,    0,   29,
1022     0,    0,    0,    0,   17,    0,   18,   19,   20,    0,
1023    22,    0,    0,    0,    0,   23,   24,   25,   26,    0,
1024     0,    0,   27,    0,    0,   31,   32,   33,   34,   35,
1025    12,   13,    0,    0,    0,   14,   15,   16,    0,    0,
1026     0,    0,   66,    0,    0,   28,    0,   29,   17,    0,
1027    18,   19,   20,    0,   22,    0,    0,    0,    0,   23,
1028    24,   25,   26,    0,    0,    0,   27,    0,    0,   31,
1029    32,   33,   34,   35,    0,    0,    0,    0,    0,    0,
1030     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1031    66,    0,    0,   28,    0,   29,    0,    0,    0,    0,
1032     0,    0,    0,    0,    0,    0,    0,    0,   12,   13,
1033     0,    0,    0,   14,   15,   16,    0,    0,    0,    0,
1034     0,    0,    0,    0,    0,    0,   17,    0,   18,   19,
1035    20,    0,   22,    0,    0,    0,    0,   23,   24,   25,
1036    26,    0,    0,    0,   27,    0,    0,   31,   32,   33,
1037    34,   35,   12,   13,    0,    0,    0,   14,   15,   16,
1038    66,    0,    0,   28,    0,   29,    0,    0,    0,    0,
1039    17,    0,   18,   19,   20,    0,   22,    0,    0,    0,
1040     0,   23,   24,   25,   26,    0,    0,    0,   27,    0,
1041     0,   31,   32,   33,   34,   35,    0,    0,    0,    0,
1042     0,    0,    0,    0,   66,    0,    0,   28,    0,   29,
1043     0,    0,    0,  116,    0,    0,    0,   12,   13,    0,
1044     0,    0,   14,   15,   16,    0,    0,   86,    0,    0,
1045     0,    0,    0,    0,    0,   17,    0,   18,   19,   20,
1046     0,   22,    0,    0,    0,    0,   23,   24,   25,   26,
1047     0,    0,    0,   27,    0,    0,   31,   32,   33,   34,
1048    35,  118,    0,    0,   66,   12,   13,   28,    0,   29,
1049    14,   15,   16,    0,    0,    0,    0,    0,    0,    0,
1050     0,    0,    0,   17,    0,   18,   19,   20,    0,   22,
1051     0,    0,    0,    0,   23,   24,   25,   26,    0,    0,
1052     0,   27,    0,    0,   31,   32,   33,   34,   35,  140,
1053     0,    0,   66,   12,   13,   28,    0,   29,   14,   15,
1054    16,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1055     0,   17,    0,   18,   19,   20,    0,   22,    0,    0,
1056     0,    0,   23,   24,   25,   26,    0,    0,    0,   27,
1057     0,    0,   31,   32,   33,   34,   35,  103,    0,    0,
1058    28,    0,   29,    0,    0,    0,    0,    0,    0,    0,
1059     0,    0,    0,    0,    0,    0,    0,    0,    0,  213,
1060     0,    0,    0,   12,   13,    0,    0,    0,   14,   15,
1061    16,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1062     0,   17,    0,   18,   19,   20,    0,   22,    0,    0,
1063     0,    0,   23,   24,   25,   26,    0,    0,    0,   27,
1064     0,    0,   31,   32,   33,   34,   35,   12,   13,    0,
1065     0,    0,   14,   15,   16,    0,    0,    0,    0,    0,
1066     0,    0,    0,    0,    0,   17,    0,   18,   19,   20,
1067     0,   22,    0,    0,    0,    0,   23,   24,   25,   26,
1068     0,    0,    0,   27,    0,    0,   31,   32,   33,   34,
1069    35,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1070     0,    0,    0,  275,    0,    0,    0,   12,   13,    0,
1071     0,    0,   14,   15,   16,    0,    0,    0,    0,    0,
1072     0,    0,    0,    0,    0,   17,    0,   18,   19,   20,
1073     0,   22,    0,    0,    0,    0,   23,   24,   25,   26,
1074     0,    0,    0,   27,    0,    0,   31,   32,   33,   34,
1075    35,    0,    0,    0,    0,   12,   13,    0,    0,    0,
1076    14,   15,   16,    0,    0,    0,    0,    0,    0,    0,
1077     0,    0,    0,   17,    0,   18,   19,   20,    0,   22,
1078     0,    0,    0,    0,   23,   24,   25,   26,    0,    0,
1079     0,   27,    0,    0,   31,   32,   33,   34,   35,    0,
1080    12,   13,   67,   69,    0,   14,   15,   16,   73,    0,
1081     0,    0,    0,    0,    0,    0,    0,   91,   17,    0,
1082    18,   19,   20,    0,   22,    0,    0,    0,    0,   23,
1083    24,   25,   26,    0,    0,    0,   27,    0,    0,   31,
1084    32,   33,   34,   35,    0,    0,    0,    0,    0,    0,
1085     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1086     0,    0,    0,    0,    0,    0,    0,  146,  147,  148,
1087   149,  150,  151,    0,    0,    0,    0,    0,    0,   91,
1088     0,    0,    0,    0,   91,    0,    0,   91,   91,    0,
1089     0,   91,    0,   91,   91,    0,    0,    0,   91,   91,
1090     0,    0,    0,    0,    0,    0,    0,    0,    0,   91,
1091     0,    0,    0,   91,    0,   91,   91,   91,   91,    0,
1092     0,    0,    0,    0,    0,    0,    0,    0,    0,   91,
1093     0,    0,    0,    0,    0,    0,    0,    0,    0,   91,
1094     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1095     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1096     0,    0,    0,    0,    0,    0,    0,   91,    0,    0,
1097     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1098     0,    0,    0,   91,   91,   91,   91,    0,   91,    0,
1099    91,   91,    0,    0,    0,    0,    0,    0,   91,   91,
1100     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1101    91,   91,   91,   91,    0,    0,    0,    0,    0,    0,
1102     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1103     0,    0,    0,    0,    0,    0,    0,    0,   91,    0,
1104     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1105    91,   91,   91,   91,   91,    0,   91,   91,   91,
1106 };
1107 short yycheck[] = {                                      41,
1108     0,   41,   63,   41,   37,   41,   59,   59,   63,   42,
1109    43,   63,   45,   63,   47,   59,   62,   41,   63,  107,
1110   108,   63,   40,   63,   37,   63,  123,   63,   37,    7,
1111    44,  223,  103,   37,  302,  303,   94,   37,  303,  123,
1112    40,   41,   42,   43,   44,   45,  134,   47,  313,   63,
1113   261,  262,   30,   41,  112,    0,  289,  123,   58,   59,
1114    60,   94,   62,   63,   53,   54,   40,   40,  287,  302,
1115   303,   59,   41,   62,   63,   44,   91,   41,  124,  112,
1116    44,   37,   40,  154,  123,   40,   42,   40,   60,   40,
1117    40,   47,   37,   93,   94,  261,   41,   42,   43,   44,
1118    45,  226,   47,   40,   40,   40,   60,   85,   40,  112,
1119     0,  303,  112,   58,   59,   60,  293,   62,   63,   41,
1120    41,  313,  100,  123,  124,   41,  293,  304,  305,  306,
1121   281,   44,  121,   41,   41,   44,   93,   41,   94,   44,
1122   228,  154,   41,   41,  293,  154,   40,   37,   93,   94,
1123   154,   41,   42,   43,   44,   45,  112,   47,  136,  137,
1124    40,   59,  293,   41,  261,  262,   40,  112,   58,   59,
1125    60,  291,   62,   63,   41,  300,  301,  302,  123,  124,
1126    91,   59,   59,  273,   41,   40,  272,   93,  206,  178,
1127   179,   41,   41,    0,   41,  320,  321,   93,   59,   59,
1128   325,   41,   -1,   93,   94,   -1,   -1,  260,  261,  262,
1129   298,   -1,  220,   41,   -1,   -1,  260,  261,  262,  265,
1130    -1,   -1,  112,   40,   -1,   -1,   43,   -1,   45,  290,
1131   291,   59,   -1,  123,  124,  290,  291,   -1,  290,  291,
1132   290,  291,  275,  221,  222,  290,  291,   -1,  290,  291,
1133   290,  291,  290,  291,  290,  291,   -1,  257,  258,  259,
1134   260,  261,  262,  263,  264,  265,  290,  291,  268,  269,
1135   270,   -1,  260,  261,  262,  275,  290,  291,   -1,  268,
1136    -1,  281,   41,  283,  284,  285,  286,  287,   -1,  289,
1137   290,  291,  292,  293,  294,  295,  296,  297,   -1,  299,
1138    59,  301,  302,  303,  304,  305,  306,   -1,   -1,   -1,
1139   288,   -1,  257,  258,  259,  260,  261,  262,  263,  264,
1140   265,  293,   -1,  268,  269,  270,   -1,  305,   -1,   -1,
1141   275,   -1,  304,  305,  306,   -1,  281,   41,  283,  284,
1142   285,  286,  287,   -1,  289,  290,  291,  292,  293,  294,
1143   295,  296,  297,   -1,  299,   59,  301,  302,  303,  304,
1144   305,  306,  260,  261,  262,   -1,   -1,  257,  258,  259,
1145   260,  261,  262,  263,  264,  265,   -1,   -1,  268,  269,
1146   270,    0,  260,  261,  262,  275,   -1,   -1,   -1,   -1,
1147    41,  281,   -1,  283,  284,  285,  286,  287,   -1,  289,
1148   290,  291,  292,  293,  294,  295,  296,  297,   59,  299,
1149    -1,  301,  302,  303,  304,  305,  306,   -1,   37,   -1,
1150    -1,   40,   41,   42,   43,   44,   45,   -1,   47,   -1,
1151    -1,   -1,  260,  261,  262,   -1,    0,   -1,   41,   58,
1152    59,   -1,   -1,   62,   63,   -1,  263,  264,   -1,   -1,
1153    -1,  268,  269,  270,   -1,   -1,   59,   -1,   -1,   -1,
1154    -1,   -1,   -1,   -1,  281,   -1,  283,  284,  285,   -1,
1155   287,   -1,   -1,   37,   93,   94,   40,   41,   42,   43,
1156    44,   45,  299,   47,   -1,  302,  303,  304,  305,  306,
1157    -1,    0,   -1,  112,   58,   59,   60,   -1,   62,   63,
1158    -1,  260,  261,  262,  123,  124,   -1,   -1,   -1,   -1,
1159    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1160    -1,   -1,   -1,   -1,   41,   -1,   -1,   -1,   37,   93,
1161    94,   40,   41,   42,   43,   -1,   45,   -1,   47,   -1,
1162    -1,   -1,   59,   -1,   41,   -1,   -1,   -1,   -1,   58,
1163    59,   60,   -1,   62,   63,   -1,  260,  261,  262,  123,
1164   124,   -1,   59,   -1,   -1,   62,   -1,   -1,   -1,   -1,
1165    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1166    -1,   -1,   -1,   -1,   93,   94,   -1,   -1,   -1,   -1,
1167    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1168    -1,   -1,   -1,  112,   -1,   -1,   -1,   -1,   -1,  260,
1169   261,  262,   -1,   -1,  123,  124,   -1,   -1,   -1,   -1,
1170    -1,   -1,   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,
1171    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,
1172   259,  260,  261,  262,  263,  264,  265,   -1,   -1,  268,
1173   269,  270,   -1,   -1,   -1,   -1,  275,  260,  261,  262,
1174    -1,   -1,  281,   -1,  283,  284,  285,  286,  287,   -1,
1175   289,  290,  291,  292,  293,  294,  295,  296,  297,   -1,
1176   299,   -1,  301,  302,  303,  304,  305,  306,   -1,   -1,
1177    -1,   -1,   -1,  257,  258,  259,  260,  261,  262,  263,
1178   264,  265,   -1,   -1,  268,  269,  270,   -1,   -1,   -1,
1179    -1,  275,   -1,   -1,   -1,   -1,   -1,  281,   -1,  283,
1180   284,  285,  286,  287,   -1,  289,  290,  291,  292,  293,
1181   294,  295,  296,  297,   -1,  299,   -1,  301,  302,  303,
1182   304,  305,  306,  260,  261,  262,   -1,   -1,  257,  258,
1183   259,  260,  261,  262,  263,  264,  265,   -1,   -1,  268,
1184   269,  270,    0,  260,  261,  262,  275,   -1,  265,   -1,
1185    -1,   -1,  281,   -1,  283,  284,  285,  286,  287,   -1,
1186   289,  290,  291,  292,  293,  294,  295,  296,  297,   -1,
1187   299,   -1,  301,  302,  303,  304,  305,  306,   -1,   37,
1188    -1,   -1,   40,   41,   42,   43,   44,   45,   -1,   47,
1189    -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,
1190    58,   59,   60,   -1,   62,   63,   -1,   -1,   -1,   -1,
1191    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1192    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1193    -1,   -1,   -1,   -1,   37,   93,   94,   40,   41,   42,
1194    43,   44,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,
1195    -1,    0,   -1,   -1,  112,   58,   59,   60,   -1,   62,
1196    63,   -1,   -1,   -1,   -1,  123,  124,   -1,   -1,   -1,
1197    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1198    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1,
1199    93,   40,   41,   42,   43,   44,   45,   -1,   47,   -1,
1200    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,
1201    59,   60,   -1,   62,   63,   -1,   -1,   -1,   -1,   -1,
1202   123,  124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1203    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1204    -1,   -1,   -1,   -1,   93,   94,   -1,   -1,   -1,   -1,
1205    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1206    -1,   -1,   -1,  112,   -1,   -1,   -1,   -1,   -1,   -1,
1207    -1,   -1,   -1,   -1,  123,  124,   -1,   -1,   -1,   -1,
1208    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1209    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
1210   258,  259,  260,  261,  262,  263,  264,  265,   -1,   -1,
1211   268,  269,  270,   -1,   -1,   -1,   -1,  275,   -1,   -1,
1212    -1,   -1,   -1,  281,   -1,  283,  284,  285,  286,  287,
1213    -1,  289,  290,   -1,  292,  293,  294,  295,  296,  297,
1214    -1,  299,   -1,  301,  302,  303,  304,  305,  306,   -1,
1215    -1,   -1,   -1,   -1,  257,  258,  259,  260,  261,  262,
1216   263,  264,  265,   -1,   -1,  268,  269,  270,   -1,   -1,
1217    -1,   -1,  275,   -1,   40,   41,   -1,   43,  281,   45,
1218   283,  284,  285,  286,  287,   -1,  289,  290,  291,  292,
1219   293,  294,  295,  296,  297,   -1,  299,   63,  301,  302,
1220   303,  304,  305,  306,   -1,   -1,   -1,   -1,  257,  258,
1221   259,  260,  261,  262,  263,  264,  265,   -1,   -1,  268,
1222   269,  270,    0,   -1,   -1,   -1,  275,   -1,   -1,   -1,
1223    -1,   -1,  281,   -1,  283,  284,  285,  286,  287,   -1,
1224   289,  290,  291,  292,  293,  294,  295,  296,  297,   -1,
1225   299,   -1,  301,   -1,   -1,  304,  305,  306,   -1,   37,
1226    -1,   -1,   40,   41,   42,   43,   44,   45,   -1,   47,
1227    -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,
1228    58,   59,   60,   -1,   62,   63,   -1,   -1,   -1,   -1,
1229    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1230    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1231    -1,   -1,   -1,   37,   -1,   93,   40,   41,   42,   43,
1232    44,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,
1233     0,   -1,   -1,   -1,   58,   59,   60,   -1,   62,   63,
1234    -1,   -1,   -1,   -1,   -1,  123,  124,   -1,   -1,   -1,
1235    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1236    -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1,   93,
1237    40,   41,   42,   43,   44,   45,   -1,   47,   -1,   -1,
1238    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,
1239    60,   -1,   62,   63,   -1,   -1,   -1,  263,  264,  123,
1240   124,   -1,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,
1241    -1,   -1,   -1,   -1,   -1,  281,   -1,  283,  284,  285,
1242    -1,  287,   -1,   93,   -1,   -1,  292,  293,  294,  295,
1243    -1,   -1,   -1,  299,   -1,   -1,  302,  303,  304,  305,
1244   306,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1245    -1,   -1,   -1,  123,  124,   -1,   -1,   -1,   -1,   -1,
1246    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1247    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
1248   258,  259,  260,  261,  262,  263,  264,  265,   -1,   -1,
1249   268,  269,  270,   -1,   -1,   -1,   -1,  275,   -1,   -1,
1250    -1,   -1,   -1,  281,   -1,  283,  284,  285,  286,  287,
1251    -1,  289,  290,  291,  292,  293,  294,  295,  296,  297,
1252    -1,  299,   -1,  301,  302,  303,  304,  305,  306,   -1,
1253    -1,   -1,   -1,  257,  258,  259,  260,  261,  262,  263,
1254   264,  265,   -1,   -1,  268,  269,  270,   -1,   -1,   -1,
1255    -1,  275,   -1,   40,   -1,   -1,   43,  281,   45,  283,
1256   284,  285,  286,  287,   -1,  289,  290,  291,  292,  293,
1257   294,  295,  296,  297,   -1,  299,   -1,  301,  302,  303,
1258   304,  305,  306,   -1,   -1,   -1,   -1,  257,  258,  259,
1259   260,  261,  262,  263,  264,  265,   -1,   -1,  268,  269,
1260   270,    0,   -1,   -1,   -1,  275,   -1,   -1,   -1,   -1,
1261    -1,  281,   -1,  283,  284,  285,  286,  287,   -1,  289,
1262   290,  291,  292,  293,  294,  295,  296,  297,   -1,  299,
1263    -1,  301,  302,  303,  304,  305,  306,   -1,   37,   -1,
1264    -1,   40,   41,   42,   43,   44,   45,   -1,   47,   -1,
1265    -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,   58,
1266    59,   60,   -1,   62,   63,   -1,   -1,   -1,   -1,   -1,
1267    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1268    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1269    -1,   -1,   37,   -1,   93,   40,   41,   42,   43,   44,
1270    45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,    0,
1271    -1,   -1,   -1,   58,   59,   60,   -1,   62,   63,   -1,
1272    -1,   -1,   -1,   -1,  123,  124,   -1,   -1,   -1,   -1,
1273    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1274    -1,   -1,   -1,   -1,   -1,   -1,   37,   -1,   93,   40,
1275    41,   42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,
1276    -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   60,
1277    -1,   62,   63,   -1,  261,  262,  263,  264,  123,  124,
1278    -1,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,   -1,
1279    -1,   -1,   -1,   -1,  281,   -1,  283,  284,  285,   -1,
1280   287,   -1,   93,   94,   -1,  292,  293,  294,  295,   -1,
1281    -1,   -1,  299,   -1,   -1,  302,  303,  304,  305,  306,
1282    -1,  112,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1283    -1,   -1,  123,  124,   -1,   -1,   -1,   -1,   -1,   -1,
1284    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1285    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,
1286   259,  260,  261,  262,  263,  264,  265,   -1,   -1,  268,
1287   269,  270,   -1,   -1,   -1,   -1,  275,   -1,   -1,   -1,
1288    -1,   -1,  281,   -1,  283,  284,  285,  286,  287,   -1,
1289   289,  290,  291,  292,  293,  294,  295,  296,  297,   -1,
1290   299,   -1,  301,  302,  303,  304,  305,  306,   -1,   -1,
1291    -1,   -1,  257,  258,  259,  260,  261,  262,  263,  264,
1292   265,   -1,   -1,  268,  269,  270,   -1,   -1,   -1,   -1,
1293   275,   -1,   -1,   -1,   -1,   -1,  281,   -1,  283,  284,
1294   285,  286,  287,   -1,  289,  290,  291,  292,  293,  294,
1295   295,  296,  297,   -1,  299,   -1,  301,  302,  303,  304,
1296   305,  306,   -1,   -1,   -1,   -1,  257,  258,  259,  260,
1297   261,  262,  263,  264,  265,   -1,   -1,  268,  269,  270,
1298     0,   -1,   -1,   -1,  275,   -1,   -1,   -1,   -1,   -1,
1299   281,   -1,  283,  284,  285,  286,  287,   -1,   -1,  290,
1300   291,  292,  293,  294,  295,  296,  297,   -1,  299,   -1,
1301   301,   -1,   -1,  304,  305,  306,   -1,   37,   -1,   -1,
1302    40,   41,   42,   43,   44,   45,   -1,   47,   -1,   -1,
1303    -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,   58,   59,
1304    60,   -1,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1305    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1306    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1307    -1,   -1,   -1,   93,   94,   40,   41,   -1,   43,   44,
1308    45,   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,
1309    -1,   -1,  112,   58,   59,   60,   -1,   62,   63,   -1,
1310    -1,   -1,   -1,  123,  124,   -1,   -1,   -1,   -1,   -1,
1311    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1312    -1,   -1,   -1,   -1,   -1,   -1,   40,   41,   93,   43,
1313    44,   45,   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,
1314    -1,   -1,   -1,   -1,   58,   59,   60,   -1,   62,   63,
1315    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,  124,
1316    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1317    -1,   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,   93,
1318    44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1319    -1,   -1,   -1,   -1,   58,   59,   60,   -1,   62,   63,
1320    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
1321   124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1322    -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,   93,
1323    43,   -1,   45,   -1,   -1,   -1,   -1,  257,  258,  259,
1324   260,  261,  262,  263,  264,  265,   -1,   -1,  268,  269,
1325   270,   -1,   -1,   -1,   -1,  275,   -1,   -1,   -1,  123,
1326   124,  281,   -1,  283,  284,  285,  286,  287,   -1,  289,
1327    -1,   -1,  292,  293,  294,  295,  296,  297,   -1,  299,
1328    -1,  301,  302,  303,  304,  305,  306,   -1,   -1,   -1,
1329    -1,   -1,  257,  258,  259,  260,  261,  262,  263,  264,
1330   265,   -1,   -1,  268,  269,  270,   -1,   -1,   -1,   -1,
1331   275,   -1,   -1,   -1,   -1,   -1,  281,   -1,  283,  284,
1332   285,  286,  287,   -1,  289,  290,  291,  292,  293,  294,
1333   295,  296,  297,   -1,  299,   -1,  301,  302,  303,  304,
1334   305,  306,   -1,  257,  258,  259,  260,  261,  262,  263,
1335   264,  265,   -1,   -1,  268,  269,  270,   -1,   -1,   -1,
1336    -1,  275,   -1,   -1,   -1,   -1,   -1,  281,   -1,  283,
1337   284,  285,  286,  287,   -1,  289,  290,  291,  292,  293,
1338   294,  295,  296,  297,   -1,  299,   -1,  301,  302,  303,
1339   304,  305,  306,  257,  258,  259,  260,  261,  262,  263,
1340   264,  265,   -1,    0,  268,  269,  270,   -1,   -1,   -1,
1341    -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,   -1,  283,
1342   284,  285,  286,  287,   -1,  289,  290,  291,  292,  293,
1343   294,  295,  296,  297,   -1,  299,   -1,  301,  302,  303,
1344   304,  305,  306,   40,   41,   -1,  259,   44,  261,  262,
1345   263,  264,   -1,   -1,    0,  268,  269,  270,   -1,   -1,
1346    -1,   58,   59,   60,   -1,   62,   63,   -1,  281,   -1,
1347   283,  284,  285,   -1,  287,   -1,   -1,   -1,   -1,  292,
1348   293,  294,  295,   -1,   -1,   -1,  299,   -1,  301,  302,
1349   303,  304,  305,  306,   40,   -1,   93,   43,   -1,   45,
1350    -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,
1351    -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,
1352    -1,   -1,   -1,   -1,   -1,   -1,  123,  124,   -1,   -1,
1353    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1354    -1,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1,   45,
1355    -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,
1356    -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,
1357    -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,   -1,
1358    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1359    -1,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1,   45,
1360    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1361     0,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,
1362    -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,   -1,
1363    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1364    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1365    40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,
1366   257,  258,  259,  260,  261,  262,  263,  264,  265,   59,
1367    -1,  268,  269,  270,   -1,   -1,   -1,  123,   -1,   -1,
1368    -1,   -1,   -1,   -1,  281,   -1,  283,  284,  285,  286,
1369   287,   -1,  289,  290,  291,  292,  293,  294,  295,  296,
1370   297,   -1,  299,   -1,  301,  302,  303,  304,  305,  306,
1371    -1,  257,  258,  259,  260,  261,  262,  263,  264,   -1,
1372    -1,   -1,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,
1373    -1,   -1,   -1,   -1,   -1,  281,   -1,  283,  284,  285,
1374   286,  287,   -1,   -1,   -1,   -1,  292,  293,  294,  295,
1375    -1,   -1,   -1,  299,   -1,  301,  302,  303,  304,  305,
1376   306,  257,  258,  259,  260,  261,  262,  263,  264,   -1,
1377    -1,   -1,  268,  269,  270,   40,   -1,   -1,   43,   -1,
1378    45,   -1,   -1,   -1,   -1,  281,   -1,  283,  284,  285,
1379   286,  287,   -1,   -1,   -1,   -1,  292,  293,  294,  295,
1380    -1,   -1,   -1,  299,   -1,  301,  302,  303,  304,  305,
1381   306,  257,  258,  259,  260,   -1,  262,  263,  264,   -1,
1382    -1,    0,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,
1383    -1,   -1,   -1,   -1,   -1,  281,   -1,  283,  284,  285,
1384   286,  287,   -1,   -1,   -1,   -1,  292,  293,  294,  295,
1385    -1,   -1,   -1,  299,   -1,  301,  302,  303,  304,  305,
1386   306,   40,   -1,   -1,   43,   -1,   45,  257,  258,  259,
1387   260,  261,  262,  263,  264,   -1,   -1,    0,  268,  269,
1388   270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1389    -1,  281,   -1,  283,  284,  285,  286,  287,   -1,   -1,
1390    -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,
1391    -1,  301,  302,  303,  304,  305,  306,   40,   -1,   -1,
1392    43,   -1,   45,   -1,   -1,   -1,   -1,    0,   -1,   -1,
1393    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1394    -1,   -1,   -1,   -1,  123,   -1,   -1,   -1,   -1,   -1,
1395    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1396    -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,
1397    43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1398    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1399    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  263,  264,
1400   123,  266,  267,  268,  269,  270,   -1,   -1,   -1,   -1,
1401    -1,  276,  277,  278,  279,  280,  281,   -1,  283,  284,
1402   285,   -1,  287,  288,   -1,   -1,   -1,  292,  293,  294,
1403   295,   -1,   -1,   -1,  299,   -1,   -1,  302,  303,  304,
1404   305,  306,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1405   123,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1406    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1407    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,
1408   259,   -1,   -1,   -1,  263,  264,   -1,   -1,   -1,  268,
1409   269,  270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1410    -1,   -1,  281,   -1,  283,  284,  285,  286,  287,   -1,
1411    -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,
1412   299,   -1,  301,  302,  303,  304,  305,  306,   -1,   -1,
1413    -1,   -1,   -1,   -1,  257,  258,  259,   -1,   -1,   -1,
1414   263,  264,   -1,   -1,   -1,  268,  269,  270,   -1,   -1,
1415    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,   -1,
1416   283,  284,  285,  286,  287,   -1,   -1,   -1,   -1,  292,
1417   293,  294,  295,   -1,   -1,   -1,  299,   -1,  301,  302,
1418   303,  304,  305,  306,  257,  258,  259,   -1,   -1,   -1,
1419   263,  264,   -1,   -1,   -1,  268,  269,  270,    0,   -1,
1420    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,   -1,
1421   283,  284,  285,  286,  287,   -1,   -1,   -1,   -1,  292,
1422   293,  294,  295,   -1,   -1,   -1,  299,   -1,  301,  302,
1423   303,  304,  305,  306,   -1,   37,   -1,   -1,   40,   41,
1424    42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,   -1,
1425    -1,   -1,   -1,    0,   -1,   -1,   58,   59,   60,   -1,
1426    62,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1427    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1428    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1429    37,   93,   94,   40,   41,   42,   43,   44,   45,   -1,
1430    47,    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1431   112,   58,   59,   -1,   -1,   62,   63,   -1,   -1,   -1,
1432    -1,  123,  124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1433    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1,
1434    -1,   -1,   41,   42,   -1,   44,   93,   94,   47,   -1,
1435    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,
1436    59,   60,   -1,   62,   63,  112,   -1,   -1,   -1,   -1,
1437    -1,   -1,   -1,   -1,   -1,   -1,  123,  124,   -1,   -1,
1438    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1439    -1,   -1,   -1,   -1,   93,   94,   -1,   -1,   -1,   -1,
1440    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1441    -1,   -1,   -1,  112,   -1,   -1,   -1,   -1,   -1,   -1,
1442    -1,   -1,   -1,   -1,  123,  124,   -1,   -1,   -1,   -1,
1443    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1444    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1445    -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,  261,
1446   262,  263,  264,  265,   -1,   -1,  268,  269,  270,   -1,
1447    -1,   -1,   -1,  275,   -1,   -1,   -1,   -1,   -1,  281,
1448    -1,  283,  284,  285,  286,  287,   -1,  289,  290,  291,
1449   292,   -1,  294,  295,  296,  297,   -1,  299,   -1,  301,
1450   302,  303,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1451   257,  258,  259,  260,  261,  262,  263,  264,  265,   -1,
1452    -1,  268,  269,  270,   -1,   -1,   -1,   -1,  275,   -1,
1453    -1,   -1,   -1,   -1,  281,   -1,  283,  284,  285,  286,
1454   287,    0,  289,  290,  291,  292,   -1,  294,  295,  296,
1455   297,   -1,  299,   -1,  301,  302,  303,   -1,  257,  258,
1456   259,  260,  261,  262,   -1,   -1,  265,   -1,   -1,   -1,
1457    -1,   -1,   -1,   -1,   -1,   -1,  275,   -1,   37,   -1,
1458    -1,   -1,   41,   42,   -1,   44,    0,  286,   47,   -1,
1459   289,  290,  291,  292,  293,  294,  295,  296,  297,   58,
1460    59,   60,  301,   62,   63,   -1,   -1,   -1,   -1,   -1,
1461    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1462    -1,   -1,   -1,   37,   -1,   -1,   -1,   41,   42,   -1,
1463    44,    0,   -1,   47,   93,   94,   -1,   -1,   -1,   -1,
1464    -1,   -1,   -1,   -1,   58,   59,   60,   -1,   62,   63,
1465    -1,   -1,   -1,  112,   -1,   -1,   -1,   -1,   -1,   -1,
1466    -1,   -1,   -1,   -1,  123,  124,   -1,   -1,   37,   -1,
1467    -1,   -1,   41,   42,   -1,   44,   -1,   -1,   47,   93,
1468    94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,
1469    59,   60,   -1,   62,   63,   -1,   -1,   -1,  112,   -1,
1470     0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
1471   124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1472    -1,   -1,   -1,   -1,   93,   94,   -1,   -1,   -1,   -1,
1473    -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1,   -1,
1474    -1,   41,   42,  112,   44,   -1,   -1,   47,   -1,   -1,
1475    -1,   -1,   -1,   -1,  123,  124,   -1,   -1,   58,   59,
1476    60,   -1,   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,
1477    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1478    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1479    -1,   -1,   -1,   93,   94,   -1,   -1,   -1,  257,  258,
1480   259,  260,  261,  262,   -1,   -1,  265,   -1,   -1,   -1,
1481    -1,   -1,  112,   -1,   -1,   -1,  275,   -1,   -1,   -1,
1482    -1,   -1,   -1,  123,  124,   -1,   -1,  286,   -1,   -1,
1483   289,  290,  291,  292,  293,  294,  295,  296,  297,   -1,
1484    -1,   -1,  301,  257,  258,  259,  260,  261,  262,   -1,
1485    40,  265,   -1,   43,   44,   45,   -1,   -1,   -1,   -1,
1486    -1,  275,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1487    -1,   -1,  286,   63,   -1,  289,  290,  291,  292,  293,
1488   294,  295,  296,  297,   -1,   -1,   -1,  301,  257,  258,
1489   259,  260,  261,  262,   -1,   -1,  265,   -1,   -1,   -1,
1490    -1,   -1,   -1,   -1,   -1,   -1,  275,   -1,   -1,    0,
1491    -1,   -1,   -1,   -1,   -1,   -1,   -1,  286,   -1,   -1,
1492   289,  290,  291,  292,  293,  294,  295,  296,  297,   -1,
1493    -1,   -1,  301,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1494    -1,   -1,   -1,   -1,   -1,   -1,   37,   -1,   -1,   -1,
1495    41,   42,   -1,   44,   -1,   -1,   47,  257,  258,  259,
1496   260,  261,  262,   -1,   -1,  265,   -1,   58,   59,   60,
1497    -1,   62,   63,   -1,   -1,  275,    0,   -1,   -1,   -1,
1498    -1,   -1,   -1,   -1,   -1,   -1,  286,   -1,   -1,  289,
1499   290,  291,  292,  293,  294,  295,  296,  297,   -1,   -1,
1500    -1,  301,   93,   94,   -1,   -1,   -1,   -1,   -1,   -1,
1501    -1,   -1,   -1,   37,   -1,   -1,   -1,   41,   42,   -1,
1502    44,  112,   -1,   47,    0,   -1,   -1,   -1,   -1,   -1,
1503    -1,   -1,  123,  124,   58,   59,   60,   -1,   62,   63,
1504    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1505    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1506    -1,   37,   -1,   -1,   -1,   41,   42,   -1,   44,   93,
1507    94,   47,   -1,  263,  264,   -1,   -1,   -1,  268,  269,
1508   270,   -1,   58,   59,   60,   -1,   62,   -1,  112,   -1,
1509    -1,  281,   -1,  283,  284,  285,    0,  287,   -1,  123,
1510   124,   -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,
1511    -1,   -1,  302,  303,  304,  305,  306,   93,   94,   -1,
1512    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1513    -1,   -1,   -1,   37,   -1,   -1,  112,   41,   42,   -1,
1514    44,   -1,   -1,   47,   -1,   -1,   -1,  123,  124,   -1,
1515    -1,   -1,   -1,   -1,   58,   59,   60,   -1,   62,   -1,
1516    -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,
1517   261,  262,   -1,   -1,  265,   -1,   -1,   -1,   -1,   -1,
1518    -1,   -1,   -1,   -1,  275,    0,   -1,   -1,   -1,   93,
1519    94,   -1,   -1,   -1,   -1,  286,   -1,   -1,  289,  290,
1520   291,  292,  293,  294,  295,  296,  297,   -1,  112,   -1,
1521   301,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
1522   124,   -1,   37,   -1,   -1,   -1,   41,   42,   -1,   44,
1523    -1,   -1,   47,  257,  258,  259,  260,  261,  262,   -1,
1524    -1,  265,   -1,   58,   59,   60,   -1,   62,   -1,   -1,
1525    -1,  275,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1526    -1,   -1,  286,   -1,   -1,  289,  290,  291,   -1,   -1,
1527    -1,   -1,  296,  297,   -1,   -1,   -1,  301,   93,   94,
1528    -1,  257,  258,  259,  260,  261,  262,    0,   -1,  265,
1529    -1,   -1,   -1,   -1,   -1,   -1,   -1,  112,   -1,  275,
1530    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,  124,
1531   286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1,
1532   296,  297,   -1,   -1,   37,  301,   -1,   -1,   41,   42,
1533    -1,   44,   -1,   -1,   47,   -1,   -1,   -1,   -1,   -1,
1534    -1,   -1,    0,   -1,   -1,   58,   59,   60,   -1,   62,
1535    -1,   -1,   -1,  257,  258,  259,  260,  261,  262,   -1,
1536    -1,  265,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1537    -1,  275,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,
1538    93,   94,  286,   41,   42,  289,  290,  291,   -1,   47,
1539     0,   -1,  296,  297,   -1,   -1,   -1,  301,   -1,  112,
1540    58,   59,   60,   -1,   62,   -1,   -1,   -1,   -1,   -1,
1541   123,  124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1542    -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1,   -1,
1543    -1,   41,   42,   -1,   44,   93,   94,   47,   -1,   -1,
1544    -1,   -1,  257,  258,  259,  260,  261,  262,   58,   59,
1545   265,   -1,   -1,   -1,  112,   -1,   -1,   -1,   -1,   -1,
1546   275,   -1,   -1,   -1,   -1,  123,  124,   -1,   -1,   -1,
1547    -1,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1,
1548    -1,  296,  297,   93,   94,   -1,  301,   -1,   -1,   -1,
1549    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1550    -1,   -1,  112,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1551    -1,   -1,   -1,  123,  124,   -1,   -1,   -1,   -1,   -1,
1552    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1553    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1554    -1,   -1,   -1,   -1,  257,  258,  259,  260,  261,  262,
1555    -1,   -1,  265,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1556    -1,   -1,  275,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1557    -1,   -1,   -1,  286,   -1,   -1,  289,  290,  291,   -1,
1558    -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301,   -1,
1559    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
1560   258,  259,  260,  261,  262,   -1,   -1,  265,   -1,   -1,
1561    -1,   -1,   -1,   -1,   -1,   -1,   -1,  275,   -1,   -1,
1562    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  286,   -1,
1563    -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,
1564    -1,    7,   -1,  301,   -1,   -1,   -1,  257,  258,  259,
1565   260,  261,  262,   -1,   -1,  265,   -1,   -1,   -1,   -1,
1566    -1,   -1,   -1,   -1,   30,  275,   -1,   -1,   -1,   -1,
1567    -1,   37,   -1,   -1,   -1,   -1,  286,   -1,   -1,  289,
1568   290,  291,   -1,   49,   -1,   -1,   52,   53,   54,   55,
1569    56,  301,   58,   59,   60,   -1,   62,   63,   64,   65,
1570    66,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1571    -1,   -1,   -1,   -1,   -1,   -1,   82,   -1,   -1,   85,
1572    86,   87,   88,   89,   90,   -1,   50,   51,   -1,   -1,
1573    -1,   -1,   -1,   -1,  100,   -1,   -1,  103,   -1,   -1,
1574    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  115,
1575    -1,   -1,   -1,   -1,   -1,  121,   -1,   81,   -1,   83,
1576    84,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1577   136,  137,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1578    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  154,   -1,
1579    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1580   166,  167,  168,  169,  170,   -1,   -1,   -1,   -1,  175,
1581   176,   -1,  178,  179,   -1,   -1,   -1,  183,   -1,   -1,
1582    -1,  187,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1583    -1,   -1,  198,  157,  158,  201,   -1,   -1,  204,  205,
1584    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   17,   -1,
1585    -1,   -1,   -1,  177,   -1,  221,  222,  223,   -1,   28,
1586    29,   -1,   31,   32,  188,   34,  190,   -1,  192,   -1,
1587    -1,   -1,   -1,   -1,   43,   -1,  242,   -1,  244,   -1,
1588   246,   -1,  248,   -1,  250,   -1,   -1,   -1,   -1,  255,
1589    -1,  215,   -1,   -1,  260,  261,   40,   -1,   -1,   43,
1590    -1,   45,  268,   -1,   -1,   -1,  230,  231,  232,  233,
1591   234,   -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,
1592    -1,   -1,  288,   -1,   93,   94,   95,   96,   97,   98,
1593    -1,   -1,   -1,   -1,   -1,   -1,  105,   -1,   -1,  305,
1594    -1,  110,   -1,   -1,  113,  114,   -1,   -1,  117,   40,
1595   119,  120,   43,   -1,   45,  124,  125,  281,   -1,   -1,
1596    -1,  285,  286,  287,   -1,   -1,  135,  291,   59,   -1,
1597   139,   -1,  141,  142,  143,  144,   -1,   -1,   -1,  123,
1598    -1,   -1,   -1,  152,   -1,   -1,  155,   -1,   -1,   -1,
1599    -1,   -1,  316,  317,   -1,   -1,  165,   40,  322,   -1,
1600    43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1601    -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,
1602    -1,   -1,   -1,   -1,  193,   -1,   -1,   -1,   -1,   -1,
1603    -1,   -1,  123,   -1,  125,   -1,   -1,   -1,   -1,   -1,
1604   209,  210,  211,  212,   -1,  214,   -1,  216,  217,   -1,
1605    -1,   -1,   -1,   -1,   -1,  224,  225,   -1,   -1,   -1,
1606    -1,   -1,   -1,   -1,   -1,   -1,   -1,  236,  237,  238,
1607   239,   40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,
1608   123,   -1,  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1609    59,   -1,   -1,   -1,   -1,  264,   -1,   -1,   -1,   -1,
1610    -1,   -1,   -1,   -1,   -1,   -1,   -1,  276,  277,  278,
1611   279,  280,   -1,  282,  283,  284,  260,  261,  262,  263,
1612   264,   -1,  266,  267,  268,  269,  270,  271,   -1,  273,
1613   274,   -1,  276,  277,  278,  279,  280,  281,  282,  283,
1614   284,  285,   -1,  287,  288,   -1,   -1,   -1,  292,  293,
1615   294,  295,   -1,   -1,  123,  299,  125,   -1,  302,  303,
1616   304,  305,  306,   -1,   -1,   -1,   -1,   -1,   -1,  260,
1617    -1,   -1,  263,  264,   -1,  266,  267,  268,  269,  270,
1618   271,  272,  273,  274,   -1,  276,  277,  278,  279,  280,
1619   281,  282,  283,  284,  285,   -1,  287,  288,   -1,   -1,
1620    -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,   -1,
1621    -1,  302,  303,  304,  305,  306,   -1,  260,   -1,   -1,
1622   263,  264,   -1,  266,  267,  268,  269,  270,  271,  272,
1623   273,  274,   -1,  276,  277,  278,  279,  280,  281,  282,
1624   283,  284,  285,   -1,  287,  288,   -1,   -1,   -1,  292,
1625   293,  294,  295,   -1,   -1,   -1,  299,   -1,   -1,  302,
1626   303,  304,  305,  306,   40,   -1,   -1,   43,   -1,   45,
1627    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1628    -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,
1629    -1,  260,   -1,   -1,  263,  264,   -1,  266,  267,  268,
1630   269,  270,  271,  272,  273,  274,   -1,  276,  277,  278,
1631   279,  280,  281,  282,  283,  284,  285,   -1,  287,  288,
1632    -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,
1633   299,   -1,   -1,  302,  303,  304,  305,  306,   40,   -1,
1634    -1,   43,   -1,   45,   -1,   -1,   -1,  123,   -1,  125,
1635    -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,   -1,
1636    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1637    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1638    -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1,
1639    45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1640    -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,
1641    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1642    -1,  123,   -1,  125,   -1,   -1,   -1,   -1,   -1,   -1,
1643    -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,
1644    43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1645    -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,
1646    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,
1647   125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1648    -1,   -1,   -1,   -1,  260,   -1,   -1,  263,  264,   -1,
1649   266,  267,  268,  269,  270,  271,  272,  273,  274,   -1,
1650   276,  277,  278,  279,  280,  281,  282,  283,  284,  285,
1651    -1,  287,  288,   -1,   -1,   -1,  292,  293,  294,  295,
1652   123,   -1,  125,  299,   -1,   -1,  302,  303,  304,  305,
1653   306,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1654    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1655    40,   41,   -1,   43,   44,   45,   -1,   -1,  260,   -1,
1656    -1,  263,  264,   -1,  266,  267,  268,  269,  270,  271,
1657   272,  273,  274,   63,  276,  277,  278,  279,  280,  281,
1658   282,  283,  284,  285,   -1,  287,  288,   -1,   -1,   -1,
1659   292,  293,  294,  295,   -1,   -1,   -1,  299,   -1,   -1,
1660   302,  303,  304,  305,  306,  260,   -1,   -1,  263,  264,
1661    -1,  266,  267,  268,  269,  270,  271,  272,  273,  274,
1662    -1,  276,  277,  278,  279,  280,  281,  282,  283,  284,
1663   285,   -1,  287,  288,   -1,   -1,   -1,  292,  293,  294,
1664   295,   -1,   -1,   -1,  299,   -1,   -1,  302,  303,  304,
1665   305,  306,   -1,   40,   -1,   -1,   43,  260,   45,   -1,
1666   263,  264,   -1,  266,  267,  268,  269,  270,  271,  272,
1667   273,  274,   59,  276,  277,  278,  279,  280,  281,  282,
1668   283,  284,  285,   -1,  287,  288,   -1,   -1,   -1,  292,
1669   293,  294,  295,   -1,   -1,   -1,  299,   -1,   -1,  302,
1670   303,  304,  305,  306,   40,   -1,   -1,   43,   -1,   45,
1671    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1672    -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,
1673    -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,  125,   -1,
1674    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1675    -1,   40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,
1676    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1677    59,   -1,   -1,  263,  264,   -1,   -1,   -1,  268,  269,
1678   270,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,  125,
1679    -1,  281,   -1,  283,  284,  285,   -1,  287,   -1,   -1,
1680    -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,
1681    -1,   -1,  302,  303,  304,  305,  306,   -1,   -1,   40,
1682    -1,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,
1683    -1,   -1,   -1,   -1,  123,   -1,  125,   -1,   59,   -1,
1684    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1685    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1686    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1687    -1,   -1,   -1,  260,   -1,   -1,  263,  264,   -1,  266,
1688   267,  268,  269,  270,  271,  272,  273,  274,   -1,  276,
1689   277,  278,  279,  280,  281,  282,  283,  284,  285,   -1,
1690   287,  288,  123,   -1,  125,  292,  293,  294,  295,   -1,
1691    -1,   -1,  299,   -1,   -1,  302,  303,  304,  305,  306,
1692    -1,   -1,   -1,   -1,  260,   -1,   -1,  263,  264,   -1,
1693   266,  267,  268,  269,  270,  271,   -1,  273,  274,   -1,
1694   276,  277,  278,  279,  280,  281,  282,  283,  284,  285,
1695    -1,  287,  288,   -1,   -1,   -1,  292,  293,  294,  295,
1696    -1,   -1,   -1,  299,   -1,   -1,  302,  303,  304,  305,
1697   306,  260,   -1,   -1,  263,  264,   -1,  266,  267,  268,
1698   269,  270,  271,   -1,  273,  274,   -1,  276,  277,  278,
1699   279,  280,  281,  282,  283,  284,  285,   -1,  287,  288,
1700    -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,
1701   299,   -1,   -1,  302,  303,  304,  305,  306,   40,   -1,
1702    -1,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,
1703    -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,  260,
1704    -1,   -1,  263,  264,   -1,  266,  267,  268,  269,  270,
1705   271,   -1,  273,  274,   -1,  276,  277,  278,  279,  280,
1706   281,  282,  283,  284,  285,   -1,  287,  288,   -1,   -1,
1707    -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,   -1,
1708    -1,  302,  303,  304,  305,  306,   40,   -1,   -1,   43,
1709    -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1710    -1,  123,   -1,  125,   -1,   59,   -1,   -1,   -1,   -1,
1711    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1712    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1713    -1,   -1,   -1,   40,   -1,   -1,   43,   -1,   45,   -1,
1714    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1715    -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1716    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
1717    -1,  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1718    -1,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1,   45,
1719    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1720    -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,
1721    -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,  125,   -1,
1722    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1723    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  260,   -1,
1724    -1,  263,  264,   -1,  266,  267,  268,  269,  270,  271,
1725    -1,  273,  274,   -1,  276,  277,  278,  279,  280,  281,
1726   282,  283,  284,  285,   -1,  287,  288,  123,   -1,  125,
1727   292,  293,  294,  295,   -1,   -1,   -1,  299,   -1,   -1,
1728   302,  303,  304,  305,  306,   -1,   -1,   -1,   -1,   -1,
1729    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,
1730    -1,   -1,   43,   -1,   45,   -1,  260,   -1,   -1,  263,
1731   264,   -1,  266,  267,  268,  269,  270,  271,   59,  273,
1732   274,   -1,  276,  277,  278,  279,  280,  281,  282,  283,
1733   284,  285,   -1,  287,  288,   -1,   -1,   -1,  292,  293,
1734   294,  295,   -1,   -1,   -1,  299,   -1,   -1,  302,  303,
1735   304,  305,  306,  260,   -1,   -1,  263,  264,   -1,  266,
1736   267,  268,  269,  270,  271,   -1,  273,  274,   -1,  276,
1737   277,  278,  279,  280,  281,  282,  283,  284,  285,   -1,
1738   287,  288,  123,   -1,  125,  292,  293,  294,  295,   -1,
1739    -1,   -1,  299,   -1,   -1,  302,  303,  304,  305,  306,
1740    40,   -1,   -1,   43,  260,   45,   -1,  263,  264,   -1,
1741   266,  267,  268,  269,  270,  271,   -1,  273,  274,   -1,
1742   276,  277,  278,  279,  280,  281,  282,  283,  284,  285,
1743    -1,  287,  288,   -1,   -1,   -1,  292,  293,  294,  295,
1744    -1,   -1,   -1,  299,   -1,   -1,  302,  303,  304,  305,
1745   306,   40,   -1,   -1,   43,   44,   45,   -1,   -1,   -1,
1746    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1747    -1,   60,   -1,   62,   63,   -1,   -1,   -1,   -1,   -1,
1748    -1,   -1,   -1,  123,   -1,   -1,   -1,   -1,   -1,   -1,
1749    -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1,
1750    45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1751    -1,   -1,   -1,   -1,   -1,   60,   -1,   62,   63,  260,
1752    -1,   -1,  263,  264,   -1,  266,  267,  268,  269,  270,
1753   271,   -1,  273,  274,   -1,  276,  277,  278,  279,  280,
1754   281,  282,  283,  284,  285,   -1,  287,  288,   -1,   -1,
1755    -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,   -1,
1756    -1,  302,  303,  304,  305,  306,   40,   41,   -1,   43,
1757    44,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1758    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   63,
1759    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1760    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1761    40,   41,   -1,   43,   44,   45,   -1,  257,  258,  259,
1762    -1,   -1,   -1,  263,  264,   -1,   -1,   -1,  268,  269,
1763   270,   -1,   -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,
1764    -1,  281,   -1,  283,  284,  285,  286,  287,   -1,   -1,
1765    -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,
1766    -1,  301,  302,  303,  304,  305,  306,   40,   41,   -1,
1767    43,   44,   45,   -1,  263,  264,   -1,   -1,   -1,  268,
1768   269,  270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1769    63,   -1,  281,   -1,  283,  284,  285,   -1,  287,   -1,
1770    -1,   -1,   -1,  292,  293,  294,  295,  296,  297,   -1,
1771   299,   -1,   -1,  302,  303,  304,  305,  306,  263,  264,
1772    -1,   -1,   -1,  268,  269,  270,   -1,   -1,   -1,   -1,
1773    40,   41,   -1,   43,   44,   45,  281,   -1,  283,  284,
1774   285,   -1,  287,   -1,   -1,   -1,   -1,  292,  293,  294,
1775   295,  296,  297,   63,  299,   -1,   -1,  302,  303,  304,
1776   305,  306,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1777    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,
1778    -1,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,  263,
1779   264,   -1,   -1,   -1,  268,  269,  270,   59,   -1,   -1,
1780    -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,   -1,  283,
1781   284,  285,   -1,  287,   -1,   -1,   -1,   -1,  292,  293,
1782   294,  295,   -1,   -1,   -1,  299,   -1,   -1,  302,  303,
1783   304,  305,  306,  263,  264,   -1,   -1,   -1,  268,  269,
1784   270,   40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,
1785    -1,  281,   -1,  283,  284,  285,   -1,  287,   -1,   -1,
1786    -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,
1787    -1,   -1,  302,  303,  304,  305,  306,   -1,   -1,   -1,
1788    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,
1789   263,  264,   43,   -1,   45,  268,  269,  270,   -1,   -1,
1790    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,   -1,
1791   283,  284,  285,   -1,  287,   -1,   -1,   -1,   -1,  292,
1792   293,  294,  295,   -1,   -1,   -1,  299,   -1,   -1,  302,
1793   303,  304,  305,  306,   40,   -1,   -1,   43,   44,   45,
1794    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1795    -1,   -1,   -1,  263,  264,   -1,   -1,   63,  268,  269,
1796   270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1797    -1,  281,   -1,  283,  284,  285,   -1,  287,   -1,   -1,
1798    -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,
1799    -1,   -1,  302,  303,  304,  305,  306,  259,   -1,   -1,
1800    -1,  263,  264,   -1,   -1,   -1,  268,  269,  270,   -1,
1801    -1,   40,   -1,   -1,   43,   44,   45,   -1,   -1,  281,
1802    -1,  283,  284,  285,   -1,  287,   -1,   -1,   -1,   -1,
1803   292,  293,  294,  295,   63,   -1,   -1,  299,   -1,  301,
1804   302,  303,  304,  305,  306,   -1,   -1,   -1,   -1,   -1,
1805    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,
1806   259,   43,   44,   45,  263,  264,   -1,   -1,   -1,  268,
1807   269,  270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1808    -1,   63,  281,   -1,  283,  284,  285,   -1,  287,   -1,
1809    -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,
1810   299,   -1,  301,  302,  303,  304,  305,  306,  259,   -1,
1811    -1,   -1,  263,  264,   -1,   -1,   -1,  268,  269,  270,
1812    -1,   -1,   40,   -1,   -1,   43,   44,   45,   -1,   -1,
1813   281,   -1,  283,  284,  285,   -1,  287,   -1,   -1,   -1,
1814    -1,  292,  293,  294,  295,   63,   -1,   -1,  299,   -1,
1815   301,  302,  303,  304,  305,  306,   -1,  263,  264,   -1,
1816    -1,   -1,  268,  269,  270,   -1,   -1,   40,   -1,   -1,
1817    43,   44,   45,   -1,   -1,  281,   -1,  283,  284,  285,
1818    -1,  287,   -1,   -1,   -1,   -1,  292,  293,  294,  295,
1819    63,   -1,   -1,  299,   -1,   -1,  302,  303,  304,  305,
1820   306,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1821    -1,   -1,   -1,   40,   -1,   -1,   43,   44,   45,   -1,
1822    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1823    -1,   -1,   -1,   -1,  263,  264,   63,   -1,   -1,  268,
1824   269,  270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1825    -1,   -1,  281,   -1,  283,  284,  285,   -1,  287,   -1,
1826    -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,
1827   299,   -1,   -1,  302,  303,  304,  305,  306,   -1,   -1,
1828    -1,  263,  264,   -1,   -1,   -1,  268,  269,  270,   -1,
1829    -1,   40,   -1,   -1,   43,   -1,   45,   -1,   -1,  281,
1830    -1,  283,  284,  285,   -1,  287,   -1,   -1,   -1,   58,
1831   292,  293,  294,  295,   63,   -1,   -1,  299,   -1,   -1,
1832   302,  303,  304,  305,  306,   -1,   -1,   -1,   -1,   -1,
1833    -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1,
1834    45,   -1,   -1,   -1,   -1,  263,  264,   -1,   -1,   -1,
1835   268,  269,  270,   58,   -1,   -1,   -1,   -1,   63,   -1,
1836    -1,   -1,   -1,  281,   -1,  283,  284,  285,   -1,  287,
1837    -1,   -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1,
1838    -1,  299,   -1,   -1,  302,  303,  304,  305,  306,   -1,
1839   263,  264,   -1,   -1,   -1,  268,  269,  270,   -1,   -1,
1840    40,   41,   -1,   43,   -1,   45,   -1,   -1,  281,   -1,
1841   283,  284,  285,   -1,  287,   -1,   -1,   -1,   -1,  292,
1842   293,  294,  295,   63,   -1,   -1,  299,   -1,   -1,  302,
1843   303,  304,  305,  306,   -1,   -1,  263,  264,   -1,   -1,
1844    -1,  268,  269,  270,   -1,   -1,   40,   41,   -1,   43,
1845    -1,   45,   -1,   -1,  281,   -1,  283,  284,  285,   -1,
1846   287,   -1,   -1,   -1,   -1,  292,  293,  294,  295,   63,
1847    -1,   -1,  299,   -1,   -1,  302,  303,  304,  305,  306,
1848    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1849    40,   41,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,
1850    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1851    -1,   -1,   -1,   63,  263,  264,   -1,   -1,   -1,  268,
1852   269,  270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1853    -1,   -1,  281,   -1,  283,  284,  285,   -1,  287,   -1,
1854    -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,
1855   299,   -1,   -1,  302,  303,  304,  305,  306,  263,  264,
1856    -1,   -1,   -1,  268,  269,  270,   -1,   -1,   40,   41,
1857    -1,   43,   -1,   45,   -1,   -1,  281,   -1,  283,  284,
1858   285,   -1,  287,   -1,   -1,   -1,   -1,  292,  293,  294,
1859   295,   63,   -1,   -1,  299,   -1,   -1,  302,  303,  304,
1860   305,  306,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1861    -1,   -1,   40,   41,   -1,   43,   -1,   45,   -1,   -1,
1862    -1,   -1,   -1,  263,  264,   -1,   -1,   -1,  268,  269,
1863   270,   -1,   -1,   -1,   -1,   63,   -1,   -1,   -1,   -1,
1864    -1,  281,   -1,  283,  284,  285,   -1,  287,   -1,   -1,
1865    -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,
1866    -1,   -1,  302,  303,  304,  305,  306,   -1,   -1,  263,
1867   264,   -1,   -1,   -1,  268,  269,  270,   -1,   -1,   40,
1868    41,   -1,   43,   -1,   45,   -1,   -1,  281,   -1,  283,
1869   284,  285,   -1,  287,   -1,   -1,   -1,   -1,  292,  293,
1870   294,  295,   63,   -1,   -1,  299,   -1,   -1,  302,  303,
1871   304,  305,  306,  263,  264,   -1,   -1,   -1,  268,  269,
1872   270,   -1,   -1,   40,   41,   -1,   43,   -1,   45,   -1,
1873    -1,  281,   -1,  283,  284,  285,   -1,  287,   -1,   -1,
1874    -1,   -1,  292,  293,  294,  295,   63,   -1,   -1,  299,
1875    -1,   -1,  302,  303,  304,  305,  306,   -1,   -1,   -1,
1876    -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,
1877    43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1878    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1879    63,  263,  264,   -1,   -1,   -1,  268,  269,  270,   -1,
1880    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,
1881    -1,  283,  284,  285,   -1,  287,   -1,   -1,   -1,   -1,
1882   292,  293,  294,  295,   -1,   -1,   -1,  299,   -1,   -1,
1883   302,  303,  304,  305,  306,  263,  264,   -1,   -1,   -1,
1884   268,  269,  270,   -1,   -1,   40,   41,   -1,   43,   -1,
1885    45,   -1,   -1,  281,   -1,  283,  284,  285,   -1,  287,
1886    -1,   -1,   -1,   -1,  292,  293,  294,  295,   63,   -1,
1887    -1,  299,   -1,   -1,  302,  303,  304,  305,  306,   -1,
1888    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,
1889    41,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,
1890    -1,   -1,  263,  264,   -1,   -1,   -1,  268,  269,  270,
1891    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1892   281,   -1,  283,  284,  285,   -1,  287,   -1,   -1,   -1,
1893    -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,   -1,
1894    -1,  302,  303,  304,  305,  306,  263,  264,   -1,   -1,
1895    -1,  268,  269,  270,   40,   -1,   -1,   43,   -1,   45,
1896    -1,   -1,   -1,   -1,  281,   -1,  283,  284,  285,   -1,
1897   287,   -1,   -1,   -1,   -1,  292,  293,  294,  295,   -1,
1898    -1,   -1,  299,   -1,   -1,  302,  303,  304,  305,  306,
1899   263,  264,   -1,   -1,   -1,  268,  269,  270,   -1,   -1,
1900    -1,   -1,   40,   -1,   -1,   43,   -1,   45,  281,   -1,
1901   283,  284,  285,   -1,  287,   -1,   -1,   -1,   -1,  292,
1902   293,  294,  295,   -1,   -1,   -1,  299,   -1,   -1,  302,
1903   303,  304,  305,  306,   -1,   -1,   -1,   -1,   -1,   -1,
1904    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1905    40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,
1906    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  263,  264,
1907    -1,   -1,   -1,  268,  269,  270,   -1,   -1,   -1,   -1,
1908    -1,   -1,   -1,   -1,   -1,   -1,  281,   -1,  283,  284,
1909   285,   -1,  287,   -1,   -1,   -1,   -1,  292,  293,  294,
1910   295,   -1,   -1,   -1,  299,   -1,   -1,  302,  303,  304,
1911   305,  306,  263,  264,   -1,   -1,   -1,  268,  269,  270,
1912    40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,
1913   281,   -1,  283,  284,  285,   -1,  287,   -1,   -1,   -1,
1914    -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,   -1,
1915    -1,  302,  303,  304,  305,  306,   -1,   -1,   -1,   -1,
1916    -1,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1,   45,
1917    -1,   -1,   -1,  259,   -1,   -1,   -1,  263,  264,   -1,
1918    -1,   -1,  268,  269,  270,   -1,   -1,   63,   -1,   -1,
1919    -1,   -1,   -1,   -1,   -1,  281,   -1,  283,  284,  285,
1920    -1,  287,   -1,   -1,   -1,   -1,  292,  293,  294,  295,
1921    -1,   -1,   -1,  299,   -1,   -1,  302,  303,  304,  305,
1922   306,  259,   -1,   -1,   40,  263,  264,   43,   -1,   45,
1923   268,  269,  270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1924    -1,   -1,   -1,  281,   -1,  283,  284,  285,   -1,  287,
1925    -1,   -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1,
1926    -1,  299,   -1,   -1,  302,  303,  304,  305,  306,  259,
1927    -1,   -1,   40,  263,  264,   43,   -1,   45,  268,  269,
1928   270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1929    -1,  281,   -1,  283,  284,  285,   -1,  287,   -1,   -1,
1930    -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,
1931    -1,   -1,  302,  303,  304,  305,  306,   40,   -1,   -1,
1932    43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1933    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  259,
1934    -1,   -1,   -1,  263,  264,   -1,   -1,   -1,  268,  269,
1935   270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1936    -1,  281,   -1,  283,  284,  285,   -1,  287,   -1,   -1,
1937    -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,  299,
1938    -1,   -1,  302,  303,  304,  305,  306,  263,  264,   -1,
1939    -1,   -1,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,
1940    -1,   -1,   -1,   -1,   -1,  281,   -1,  283,  284,  285,
1941    -1,  287,   -1,   -1,   -1,   -1,  292,  293,  294,  295,
1942    -1,   -1,   -1,  299,   -1,   -1,  302,  303,  304,  305,
1943   306,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1944    -1,   -1,   -1,  259,   -1,   -1,   -1,  263,  264,   -1,
1945    -1,   -1,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,
1946    -1,   -1,   -1,   -1,   -1,  281,   -1,  283,  284,  285,
1947    -1,  287,   -1,   -1,   -1,   -1,  292,  293,  294,  295,
1948    -1,   -1,   -1,  299,   -1,   -1,  302,  303,  304,  305,
1949   306,   -1,   -1,   -1,   -1,  263,  264,   -1,   -1,   -1,
1950   268,  269,  270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1951    -1,   -1,   -1,  281,   -1,  283,  284,  285,   -1,  287,
1952    -1,   -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1,
1953    -1,  299,   -1,   -1,  302,  303,  304,  305,  306,   -1,
1954   263,  264,   28,   29,   -1,  268,  269,  270,   34,   -1,
1955    -1,   -1,   -1,   -1,   -1,   -1,   -1,   43,  281,   -1,
1956   283,  284,  285,   -1,  287,   -1,   -1,   -1,   -1,  292,
1957   293,  294,  295,   -1,   -1,   -1,  299,   -1,   -1,  302,
1958   303,  304,  305,  306,   -1,   -1,   -1,   -1,   -1,   -1,
1959    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1960    -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   95,
1961    96,   97,   98,   -1,   -1,   -1,   -1,   -1,   -1,  105,
1962    -1,   -1,   -1,   -1,  110,   -1,   -1,  113,  114,   -1,
1963    -1,  117,   -1,  119,  120,   -1,   -1,   -1,  124,  125,
1964    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  135,
1965    -1,   -1,   -1,  139,   -1,  141,  142,  143,  144,   -1,
1966    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  155,
1967    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  165,
1968    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1969    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1970    -1,   -1,   -1,   -1,   -1,   -1,   -1,  193,   -1,   -1,
1971    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1972    -1,   -1,   -1,  209,  210,  211,  212,   -1,  214,   -1,
1973   216,  217,   -1,   -1,   -1,   -1,   -1,   -1,  224,  225,
1974    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1975   236,  237,  238,  239,   -1,   -1,   -1,   -1,   -1,   -1,
1976    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1977    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  264,   -1,
1978    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1979   276,  277,  278,  279,  280,   -1,  282,  283,  284,
1980 };
1981 #define YYFINAL 1
1982 #ifndef YYDEBUG
1983 #define YYDEBUG 0
1984 #endif
1985 #define YYMAXTOKEN 306
1986 #if YYDEBUG
1987 char *yyname[] = {
1988 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1989 0,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,0,0,0,0,0,0,0,
1990 "':'","';'","'<'",0,"'>'","'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1991 0,0,0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'p'",0,0,0,0,0,0,0,
1992 0,0,0,"'{'","'|'","'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1993 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1994 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1995 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"BEGIN","END","REGEX","SEMINEW",
1996 "NEWLINE","COMMENT","FUN1","FUNN","GRGR","PRINT","PRINTF","SPRINTF_OLD",
1997 "SPRINTF_NEW","SPLIT","IF","ELSE","WHILE","FOR","IN","EXIT","NEXT","BREAK",
1998 "CONTINUE","RET","GETLINE","DO","SUB","GSUB","MATCH","FUNCTION","USERFUN",
1999 "DELETE","ASGNOP","OROR","ANDAND","NUMBER","VAR","SUBSTR","INDEX","MATCHOP",
2000 "RELOP","OR","STRING","UMINUS","NOT","INCR","DECR","FIELD","VFIELD","SVFIELD",
2001 };
2002 char *yyrule[] = {
2003 "$accept : program",
2004 "program : junk hunks",
2005 "begin : BEGIN '{' maybe states '}' junk",
2006 "end : END '{' maybe states '}'",
2007 "end : end NEWLINE",
2008 "hunks : hunks hunk junk",
2009 "hunks :",
2010 "hunk : patpat",
2011 "hunk : patpat '{' maybe states '}'",
2012 "hunk : FUNCTION USERFUN '(' arg_list ')' maybe '{' maybe states '}'",
2013 "hunk : '{' maybe states '}'",
2014 "hunk : begin",
2015 "hunk : end",
2016 "arg_list : expr_list",
2017 "patpat : cond",
2018 "patpat : cond ',' cond",
2019 "cond : expr",
2020 "cond : match",
2021 "cond : rel",
2022 "cond : compound_cond",
2023 "cond : cond '?' expr ':' expr",
2024 "compound_cond : '(' compound_cond ')'",
2025 "compound_cond : cond ANDAND maybe cond",
2026 "compound_cond : cond OROR maybe cond",
2027 "compound_cond : NOT cond",
2028 "rel : expr RELOP expr",
2029 "rel : expr '>' expr",
2030 "rel : expr '<' expr",
2031 "rel : '(' rel ')'",
2032 "match : expr MATCHOP expr",
2033 "match : expr MATCHOP REGEX",
2034 "match : REGEX",
2035 "match : '(' match ')'",
2036 "expr : term",
2037 "expr : expr term",
2038 "expr : expr '?' expr ':' expr",
2039 "expr : variable ASGNOP cond",
2040 "sprintf : SPRINTF_NEW",
2041 "sprintf : SPRINTF_OLD",
2042 "term : variable",
2043 "term : NUMBER",
2044 "term : STRING",
2045 "term : term '+' term",
2046 "term : term '-' term",
2047 "term : term '*' term",
2048 "term : term '/' term",
2049 "term : term '%' term",
2050 "term : term '^' term",
2051 "term : term IN VAR",
2052 "term : variable INCR",
2053 "term : variable DECR",
2054 "term : INCR variable",
2055 "term : DECR variable",
2056 "term : '-' term",
2057 "term : '+' term",
2058 "term : '(' cond ')'",
2059 "term : GETLINE",
2060 "term : GETLINE variable",
2061 "term : GETLINE '<' expr",
2062 "term : GETLINE variable '<' expr",
2063 "term : term 'p' GETLINE",
2064 "term : term 'p' GETLINE variable",
2065 "term : FUN1",
2066 "term : FUN1 '(' ')'",
2067 "term : FUN1 '(' expr ')'",
2068 "term : FUNN '(' expr_list ')'",
2069 "term : USERFUN '(' expr_list ')'",
2070 "term : SPRINTF_NEW '(' expr_list ')'",
2071 "term : sprintf expr_list",
2072 "term : SUBSTR '(' expr ',' expr ',' expr ')'",
2073 "term : SUBSTR '(' expr ',' expr ')'",
2074 "term : SPLIT '(' expr ',' VAR ',' expr ')'",
2075 "term : SPLIT '(' expr ',' VAR ',' REGEX ')'",
2076 "term : SPLIT '(' expr ',' VAR ')'",
2077 "term : INDEX '(' expr ',' expr ')'",
2078 "term : MATCH '(' expr ',' REGEX ')'",
2079 "term : MATCH '(' expr ',' expr ')'",
2080 "term : SUB '(' expr ',' expr ')'",
2081 "term : SUB '(' REGEX ',' expr ')'",
2082 "term : GSUB '(' expr ',' expr ')'",
2083 "term : GSUB '(' REGEX ',' expr ')'",
2084 "term : SUB '(' expr ',' expr ',' expr ')'",
2085 "term : SUB '(' REGEX ',' expr ',' expr ')'",
2086 "term : GSUB '(' expr ',' expr ',' expr ')'",
2087 "term : GSUB '(' REGEX ',' expr ',' expr ')'",
2088 "variable : VAR",
2089 "variable : VAR '[' expr_list ']'",
2090 "variable : FIELD",
2091 "variable : SVFIELD",
2092 "variable : VFIELD term",
2093 "expr_list : expr",
2094 "expr_list : clist",
2095 "expr_list :",
2096 "clist : expr ',' maybe expr",
2097 "clist : clist ',' maybe expr",
2098 "clist : '(' clist ')'",
2099 "junk : junk hunksep",
2100 "junk :",
2101 "hunksep : ';'",
2102 "hunksep : SEMINEW",
2103 "hunksep : NEWLINE",
2104 "hunksep : COMMENT",
2105 "maybe : maybe nlstuff",
2106 "maybe :",
2107 "nlstuff : NEWLINE",
2108 "nlstuff : COMMENT",
2109 "separator : ';' maybe",
2110 "separator : SEMINEW maybe",
2111 "separator : NEWLINE maybe",
2112 "separator : COMMENT maybe",
2113 "states : states statement",
2114 "states :",
2115 "statement : simple separator maybe",
2116 "statement : ';' maybe",
2117 "statement : SEMINEW maybe",
2118 "statement : compound",
2119 "simpnull : simple",
2120 "simpnull :",
2121 "simple : expr",
2122 "simple : PRINT expr_list redir expr",
2123 "simple : PRINT expr_list",
2124 "simple : PRINTF expr_list redir expr",
2125 "simple : PRINTF expr_list",
2126 "simple : BREAK",
2127 "simple : NEXT",
2128 "simple : EXIT",
2129 "simple : EXIT expr",
2130 "simple : CONTINUE",
2131 "simple : RET",
2132 "simple : RET expr",
2133 "simple : DELETE VAR '[' expr_list ']'",
2134 "redir : '>'",
2135 "redir : GRGR",
2136 "redir : '|'",
2137 "compound : IF '(' cond ')' maybe statement",
2138 "compound : IF '(' cond ')' maybe statement ELSE maybe statement",
2139 "compound : WHILE '(' cond ')' maybe statement",
2140 "compound : DO maybe statement WHILE '(' cond ')'",
2141 "compound : FOR '(' simpnull ';' cond ';' simpnull ')' maybe statement",
2142 "compound : FOR '(' simpnull ';' ';' simpnull ')' maybe statement",
2143 "compound : FOR '(' expr ')' maybe statement",
2144 "compound : '{' maybe states '}' maybe",
2145 };
2146 #endif
2147 #ifndef YYSTYPE
2148 typedef int YYSTYPE;
2149 #endif
2150 #ifdef YYSTACKSIZE
2151 #undef YYMAXDEPTH
2152 #define YYMAXDEPTH YYSTACKSIZE
2153 #else
2154 #ifdef YYMAXDEPTH
2155 #define YYSTACKSIZE YYMAXDEPTH
2156 #else
2157 #define YYSTACKSIZE 500
2158 #define YYMAXDEPTH 500
2159 #endif
2160 #endif
2161 int yydebug;
2162 int yynerrs;
2163 int yyerrflag;
2164 int yychar;
2165 short *yyssp;
2166 YYSTYPE *yyvsp;
2167 YYSTYPE yyval;
2168 YYSTYPE yylval;
2169 short yyss[YYSTACKSIZE];
2170 YYSTYPE yyvs[YYSTACKSIZE];
2171 #define yystacksize YYSTACKSIZE
2172 #line 429 "a2p.y"
2173
2174 int yyparse (void);
2175
2176 #include "a2py.c"
2177 #line 2178 "y.tab.c"
2178 #define YYABORT goto yyabort
2179 #define YYREJECT goto yyabort
2180 #define YYACCEPT goto yyaccept
2181 #define YYERROR goto yyerrlab
2182 int
2183 yyparse(void)
2184 {
2185     register int yym, yyn, yystate;
2186 #if YYDEBUG
2187     register char *yys;
2188     extern char *getenv();
2189
2190     if ((yys = getenv("YYDEBUG")))
2191     {
2192         yyn = *yys;
2193         if (yyn >= '0' && yyn <= '9')
2194             yydebug = yyn - '0';
2195     }
2196 #endif
2197
2198     yynerrs = 0;
2199     yyerrflag = 0;
2200     yychar = (-1);
2201
2202     yyssp = yyss;
2203     yyvsp = yyvs;
2204     *yyssp = yystate = 0;
2205
2206 yyloop:
2207     if (((yyn = yydefred[yystate])) != 0) goto yyreduce;
2208     if (yychar < 0)
2209     {
2210         if ((yychar = yylex()) < 0) yychar = 0;
2211 #if YYDEBUG
2212         if (yydebug)
2213         {
2214             yys = 0;
2215             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2216             if (!yys) yys = "illegal-symbol";
2217             printf("%sdebug: state %d, reading %d (%s)\n",
2218                     YYPREFIX, yystate, yychar, yys);
2219         }
2220 #endif
2221     }
2222     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
2223             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
2224     {
2225 #if YYDEBUG
2226         if (yydebug)
2227             printf("%sdebug: state %d, shifting to state %d\n",
2228                     YYPREFIX, yystate, yytable[yyn]);
2229 #endif
2230         if (yyssp >= yyss + yystacksize - 1)
2231         {
2232             goto yyoverflow;
2233         }
2234         *++yyssp = yystate = yytable[yyn];
2235         *++yyvsp = yylval;
2236         yychar = (-1);
2237         if (yyerrflag > 0)  --yyerrflag;
2238         goto yyloop;
2239     }
2240     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
2241             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
2242     {
2243         yyn = yytable[yyn];
2244         goto yyreduce;
2245     }
2246     if (yyerrflag) goto yyinrecovery;
2247 #ifdef lint
2248
2249 #endif
2250
2251     yyerror("syntax error");
2252 #ifdef lint
2253
2254 #endif
2255
2256     ++yynerrs;
2257 yyinrecovery:
2258     if (yyerrflag < 3)
2259     {
2260         yyerrflag = 3;
2261         for (;;)
2262         {
2263             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
2264                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
2265             {
2266 #if YYDEBUG
2267                 if (yydebug)
2268                     printf("%sdebug: state %d, error recovery shifting\
2269  to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
2270 #endif
2271                 if (yyssp >= yyss + yystacksize - 1)
2272                 {
2273                     goto yyoverflow;
2274                 }
2275                 *++yyssp = yystate = yytable[yyn];
2276                 *++yyvsp = yylval;
2277                 goto yyloop;
2278             }
2279             else
2280             {
2281 #if YYDEBUG
2282                 if (yydebug)
2283                     printf("%sdebug: error recovery discarding state %d\n",
2284                             YYPREFIX, *yyssp);
2285 #endif
2286                 if (yyssp <= yyss) goto yyabort;
2287                 --yyssp;
2288                 --yyvsp;
2289             }
2290         }
2291     }
2292     else
2293     {
2294         if (yychar == 0) goto yyabort;
2295 #if YYDEBUG
2296         if (yydebug)
2297         {
2298             yys = 0;
2299             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2300             if (!yys) yys = "illegal-symbol";
2301             printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
2302                     YYPREFIX, yystate, yychar, yys);
2303         }
2304 #endif
2305         yychar = (-1);
2306         goto yyloop;
2307     }
2308 yyreduce:
2309 #if YYDEBUG
2310     if (yydebug)
2311         printf("%sdebug: state %d, reducing by rule %d (%s)\n",
2312                 YYPREFIX, yystate, yyn, yyrule[yyn]);
2313 #endif
2314     yym = yylen[yyn];
2315     yyval = yyvsp[1-yym];
2316     switch (yyn)
2317     {
2318 case 1:
2319 #line 52 "a2p.y"
2320 { root = oper4(OPROG,yyvsp[-1],begins,yyvsp[0],ends); }
2321 break;
2322 case 2:
2323 #line 56 "a2p.y"
2324 { begins = oper4(OJUNK,begins,yyvsp[-3],yyvsp[-2],yyvsp[0]); in_begin = FALSE;
2325                     yyval = Nullop; }
2326 break;
2327 case 3:
2328 #line 61 "a2p.y"
2329 { ends = oper3(OJUNK,ends,yyvsp[-2],yyvsp[-1]); yyval = Nullop; }
2330 break;
2331 case 4:
2332 #line 63 "a2p.y"
2333 { yyval = yyvsp[-1]; }
2334 break;
2335 case 5:
2336 #line 67 "a2p.y"
2337 { yyval = oper3(OHUNKS,yyvsp[-2],yyvsp[-1],yyvsp[0]); }
2338 break;
2339 case 6:
2340 #line 69 "a2p.y"
2341 { yyval = Nullop; }
2342 break;
2343 case 7:
2344 #line 73 "a2p.y"
2345 { yyval = oper1(OHUNK,yyvsp[0]); need_entire = TRUE; }
2346 break;
2347 case 8:
2348 #line 75 "a2p.y"
2349 { yyval = oper2(OHUNK,yyvsp[-4],oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
2350 break;
2351 case 9:
2352 #line 77 "a2p.y"
2353 { fixfargs(yyvsp[-8],yyvsp[-6],0); yyval = oper5(OUSERDEF,yyvsp[-8],yyvsp[-6],yyvsp[-4],yyvsp[-2],yyvsp[-1]); }
2354 break;
2355 case 10:
2356 #line 79 "a2p.y"
2357 { yyval = oper2(OHUNK,Nullop,oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
2358 break;
2359 case 13:
2360 #line 85 "a2p.y"
2361 { yyval = rememberargs(yyval); }
2362 break;
2363 case 14:
2364 #line 89 "a2p.y"
2365 { yyval = oper1(OPAT,yyvsp[0]); }
2366 break;
2367 case 15:
2368 #line 91 "a2p.y"
2369 { yyval = oper2(ORANGE,yyvsp[-2],yyvsp[0]); }
2370 break;
2371 case 20:
2372 #line 99 "a2p.y"
2373 { yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
2374 break;
2375 case 21:
2376 #line 104 "a2p.y"
2377 { yyval = oper1(OCPAREN,yyvsp[-1]); }
2378 break;
2379 case 22:
2380 #line 106 "a2p.y"
2381 { yyval = oper3(OCANDAND,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2382 break;
2383 case 23:
2384 #line 108 "a2p.y"
2385 { yyval = oper3(OCOROR,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2386 break;
2387 case 24:
2388 #line 110 "a2p.y"
2389 { yyval = oper1(OCNOT,yyvsp[0]); }
2390 break;
2391 case 25:
2392 #line 114 "a2p.y"
2393 { yyval = oper3(ORELOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
2394 break;
2395 case 26:
2396 #line 116 "a2p.y"
2397 { yyval = oper3(ORELOP,string(">",1),yyvsp[-2],yyvsp[0]); }
2398 break;
2399 case 27:
2400 #line 118 "a2p.y"
2401 { yyval = oper3(ORELOP,string("<",1),yyvsp[-2],yyvsp[0]); }
2402 break;
2403 case 28:
2404 #line 120 "a2p.y"
2405 { yyval = oper1(ORPAREN,yyvsp[-1]); }
2406 break;
2407 case 29:
2408 #line 124 "a2p.y"
2409 { yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
2410 break;
2411 case 30:
2412 #line 126 "a2p.y"
2413 { yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],oper1(OREGEX,yyvsp[0])); }
2414 break;
2415 case 31:
2416 #line 128 "a2p.y"
2417 { yyval = oper1(OREGEX,yyvsp[0]); }
2418 break;
2419 case 32:
2420 #line 130 "a2p.y"
2421 { yyval = oper1(OMPAREN,yyvsp[-1]); }
2422 break;
2423 case 33:
2424 #line 134 "a2p.y"
2425 { yyval = yyvsp[0]; }
2426 break;
2427 case 34:
2428 #line 136 "a2p.y"
2429 { yyval = oper2(OCONCAT,yyvsp[-1],yyvsp[0]); }
2430 break;
2431 case 35:
2432 #line 138 "a2p.y"
2433 { yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
2434 break;
2435 case 36:
2436 #line 140 "a2p.y"
2437 {
2438                     yyval = oper3(OASSIGN,yyvsp[-1],yyvsp[-2],yyvsp[0]);
2439                     if ((ops[yyvsp[-2]].ival & 255) == OFLD)
2440                         lval_field = TRUE;
2441                     else if ((ops[yyvsp[-2]].ival & 255) == OVFLD)
2442                         lval_field = TRUE;
2443                 }
2444 break;
2445 case 39:
2446 #line 153 "a2p.y"
2447 { yyval = yyvsp[0]; }
2448 break;
2449 case 40:
2450 #line 155 "a2p.y"
2451 { yyval = oper1(ONUM,yyvsp[0]); }
2452 break;
2453 case 41:
2454 #line 157 "a2p.y"
2455 { yyval = oper1(OSTR,yyvsp[0]); }
2456 break;
2457 case 42:
2458 #line 159 "a2p.y"
2459 { yyval = oper2(OADD,yyvsp[-2],yyvsp[0]); }
2460 break;
2461 case 43:
2462 #line 161 "a2p.y"
2463 { yyval = oper2(OSUBTRACT,yyvsp[-2],yyvsp[0]); }
2464 break;
2465 case 44:
2466 #line 163 "a2p.y"
2467 { yyval = oper2(OMULT,yyvsp[-2],yyvsp[0]); }
2468 break;
2469 case 45:
2470 #line 165 "a2p.y"
2471 { yyval = oper2(ODIV,yyvsp[-2],yyvsp[0]); }
2472 break;
2473 case 46:
2474 #line 167 "a2p.y"
2475 { yyval = oper2(OMOD,yyvsp[-2],yyvsp[0]); }
2476 break;
2477 case 47:
2478 #line 169 "a2p.y"
2479 { yyval = oper2(OPOW,yyvsp[-2],yyvsp[0]); }
2480 break;
2481 case 48:
2482 #line 171 "a2p.y"
2483 { yyval = oper2(ODEFINED,aryrefarg(yyvsp[0]),yyvsp[-2]); }
2484 break;
2485 case 49:
2486 #line 173 "a2p.y"
2487 {
2488                     yyval = oper1(OPOSTINCR,yyvsp[-1]);
2489                     if ((ops[yyvsp[-1]].ival & 255) == OFLD)
2490                         lval_field = TRUE;
2491                     else if ((ops[yyvsp[-1]].ival & 255) == OVFLD)
2492                         lval_field = TRUE;
2493                 }
2494 break;
2495 case 50:
2496 #line 181 "a2p.y"
2497 {
2498                     yyval = oper1(OPOSTDECR,yyvsp[-1]);
2499                     if ((ops[yyvsp[-1]].ival & 255) == OFLD)
2500                         lval_field = TRUE;
2501                     else if ((ops[yyvsp[-1]].ival & 255) == OVFLD)
2502                         lval_field = TRUE;
2503                 }
2504 break;
2505 case 51:
2506 #line 189 "a2p.y"
2507 {
2508                     yyval = oper1(OPREINCR,yyvsp[0]);
2509                     if ((ops[yyvsp[0]].ival & 255) == OFLD)
2510                         lval_field = TRUE;
2511                     else if ((ops[yyvsp[0]].ival & 255) == OVFLD)
2512                         lval_field = TRUE;
2513                 }
2514 break;
2515 case 52:
2516 #line 197 "a2p.y"
2517 {
2518                     yyval = oper1(OPREDECR,yyvsp[0]);
2519                     if ((ops[yyvsp[0]].ival & 255) == OFLD)
2520                         lval_field = TRUE;
2521                     else if ((ops[yyvsp[0]].ival & 255) == OVFLD)
2522                         lval_field = TRUE;
2523                 }
2524 break;
2525 case 53:
2526 #line 205 "a2p.y"
2527 { yyval = oper1(OUMINUS,yyvsp[0]); }
2528 break;
2529 case 54:
2530 #line 207 "a2p.y"
2531 { yyval = oper1(OUPLUS,yyvsp[0]); }
2532 break;
2533 case 55:
2534 #line 209 "a2p.y"
2535 { yyval = oper1(OPAREN,yyvsp[-1]); }
2536 break;
2537 case 56:
2538 #line 211 "a2p.y"
2539 { yyval = oper0(OGETLINE); }
2540 break;
2541 case 57:
2542 #line 213 "a2p.y"
2543 { yyval = oper1(OGETLINE,yyvsp[0]); }
2544 break;
2545 case 58:
2546 #line 215 "a2p.y"
2547 { yyval = oper3(OGETLINE,Nullop,string("<",1),yyvsp[0]);
2548                     if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2549 break;
2550 case 59:
2551 #line 218 "a2p.y"
2552 { yyval = oper3(OGETLINE,yyvsp[-2],string("<",1),yyvsp[0]);
2553                     if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2554 break;
2555 case 60:
2556 #line 221 "a2p.y"
2557 { yyval = oper3(OGETLINE,Nullop,string("|",1),yyvsp[-2]);
2558                     if (ops[yyvsp[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2559 break;
2560 case 61:
2561 #line 224 "a2p.y"
2562 { yyval = oper3(OGETLINE,yyvsp[0],string("|",1),yyvsp[-3]);
2563                     if (ops[yyvsp[-3]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2564 break;
2565 case 62:
2566 #line 227 "a2p.y"
2567 { yyval = oper0(yyvsp[0]); need_entire = do_chop = TRUE; }
2568 break;
2569 case 63:
2570 #line 229 "a2p.y"
2571 { yyval = oper1(yyvsp[-2],Nullop); need_entire = do_chop = TRUE; }
2572 break;
2573 case 64:
2574 #line 231 "a2p.y"
2575 { yyval = oper1(yyvsp[-3],yyvsp[-1]); }
2576 break;
2577 case 65:
2578 #line 233 "a2p.y"
2579 { yyval = oper1(yyvsp[-3],yyvsp[-1]); }
2580 break;
2581 case 66:
2582 #line 235 "a2p.y"
2583 { yyval = oper2(OUSERFUN,yyvsp[-3],yyvsp[-1]); }
2584 break;
2585 case 67:
2586 #line 237 "a2p.y"
2587 { yyval = oper1(OSPRINTF,yyvsp[-1]); }
2588 break;
2589 case 68:
2590 #line 239 "a2p.y"
2591 { yyval = oper1(OSPRINTF,yyvsp[0]); }
2592 break;
2593 case 69:
2594 #line 241 "a2p.y"
2595 { yyval = oper3(OSUBSTR,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2596 break;
2597 case 70:
2598 #line 243 "a2p.y"
2599 { yyval = oper2(OSUBSTR,yyvsp[-3],yyvsp[-1]); }
2600 break;
2601 case 71:
2602 #line 245 "a2p.y"
2603 { yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),yyvsp[-1]); }
2604 break;
2605 case 72:
2606 #line 247 "a2p.y"
2607 { yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),oper1(OREGEX,yyvsp[-1]));}
2608 break;
2609 case 73:
2610 #line 249 "a2p.y"
2611 { yyval = oper2(OSPLIT,yyvsp[-3],aryrefarg(numary(yyvsp[-1]))); }
2612 break;
2613 case 74:
2614 #line 251 "a2p.y"
2615 { yyval = oper2(OINDEX,yyvsp[-3],yyvsp[-1]); }
2616 break;
2617 case 75:
2618 #line 253 "a2p.y"
2619 { yyval = oper2(OMATCH,yyvsp[-3],oper1(OREGEX,yyvsp[-1])); }
2620 break;
2621 case 76:
2622 #line 255 "a2p.y"
2623 { yyval = oper2(OMATCH,yyvsp[-3],yyvsp[-1]); }
2624 break;
2625 case 77:
2626 #line 257 "a2p.y"
2627 { yyval = oper2(OSUB,yyvsp[-3],yyvsp[-1]); }
2628 break;
2629 case 78:
2630 #line 259 "a2p.y"
2631 { yyval = oper2(OSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
2632 break;
2633 case 79:
2634 #line 261 "a2p.y"
2635 { yyval = oper2(OGSUB,yyvsp[-3],yyvsp[-1]); }
2636 break;
2637 case 80:
2638 #line 263 "a2p.y"
2639 { yyval = oper2(OGSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
2640 break;
2641 case 81:
2642 #line 265 "a2p.y"
2643 { yyval = oper3(OSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2644 break;
2645 case 82:
2646 #line 267 "a2p.y"
2647 { yyval = oper3(OSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
2648 break;
2649 case 83:
2650 #line 269 "a2p.y"
2651 { yyval = oper3(OGSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2652 break;
2653 case 84:
2654 #line 271 "a2p.y"
2655 { yyval = oper3(OGSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
2656 break;
2657 case 85:
2658 #line 275 "a2p.y"
2659 { yyval = oper1(OVAR,yyvsp[0]); }
2660 break;
2661 case 86:
2662 #line 277 "a2p.y"
2663 { yyval = oper2(OVAR,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
2664 break;
2665 case 87:
2666 #line 279 "a2p.y"
2667 { yyval = oper1(OFLD,yyvsp[0]); }
2668 break;
2669 case 88:
2670 #line 281 "a2p.y"
2671 { yyval = oper1(OVFLD,oper1(OVAR,yyvsp[0])); }
2672 break;
2673 case 89:
2674 #line 283 "a2p.y"
2675 { yyval = oper1(OVFLD,yyvsp[0]); }
2676 break;
2677 case 92:
2678 #line 290 "a2p.y"
2679 { yyval = Nullop; }
2680 break;
2681 case 93:
2682 #line 294 "a2p.y"
2683 { yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2684 break;
2685 case 94:
2686 #line 296 "a2p.y"
2687 { yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2688 break;
2689 case 95:
2690 #line 298 "a2p.y"
2691 { yyval = yyvsp[-1]; }
2692 break;
2693 case 96:
2694 #line 302 "a2p.y"
2695 { yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
2696 break;
2697 case 97:
2698 #line 304 "a2p.y"
2699 { yyval = Nullop; }
2700 break;
2701 case 98:
2702 #line 308 "a2p.y"
2703 { yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
2704 break;
2705 case 99:
2706 #line 310 "a2p.y"
2707 { yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
2708 break;
2709 case 100:
2710 #line 312 "a2p.y"
2711 { yyval = oper0(ONEWLINE); }
2712 break;
2713 case 101:
2714 #line 314 "a2p.y"
2715 { yyval = oper1(OCOMMENT,yyvsp[0]); }
2716 break;
2717 case 102:
2718 #line 318 "a2p.y"
2719 { yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
2720 break;
2721 case 103:
2722 #line 320 "a2p.y"
2723 { yyval = Nullop; }
2724 break;
2725 case 104:
2726 #line 324 "a2p.y"
2727 { yyval = oper0(ONEWLINE); }
2728 break;
2729 case 105:
2730 #line 326 "a2p.y"
2731 { yyval = oper1(OCOMMENT,yyvsp[0]); }
2732 break;
2733 case 106:
2734 #line 331 "a2p.y"
2735 { yyval = oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0]); }
2736 break;
2737 case 107:
2738 #line 333 "a2p.y"
2739 { yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
2740 break;
2741 case 108:
2742 #line 335 "a2p.y"
2743 { yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
2744 break;
2745 case 109:
2746 #line 337 "a2p.y"
2747 { yyval = oper2(OJUNK,oper1(OSCOMMENT,yyvsp[-1]),yyvsp[0]); }
2748 break;
2749 case 110:
2750 #line 341 "a2p.y"
2751 { yyval = oper2(OSTATES,yyvsp[-1],yyvsp[0]); }
2752 break;
2753 case 111:
2754 #line 343 "a2p.y"
2755 { yyval = Nullop; }
2756 break;
2757 case 112:
2758 #line 348 "a2p.y"
2759 { yyval = oper2(OJUNK,oper2(OSTATE,yyvsp[-2],yyvsp[-1]),yyvsp[0]); }
2760 break;
2761 case 113:
2762 #line 350 "a2p.y"
2763 { yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0])); }
2764 break;
2765 case 114:
2766 #line 352 "a2p.y"
2767 { yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0])); }
2768 break;
2769 case 117:
2770 #line 358 "a2p.y"
2771 { yyval = Nullop; }
2772 break;
2773 case 119:
2774 #line 364 "a2p.y"
2775 { yyval = oper3(OPRINT,yyvsp[-2],yyvsp[-1],yyvsp[0]);
2776                     do_opens = TRUE;
2777                     saw_ORS = saw_OFS = TRUE;
2778                     if (!yyvsp[-2]) need_entire = TRUE;
2779                     if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2780 break;
2781 case 120:
2782 #line 370 "a2p.y"
2783 { yyval = oper1(OPRINT,yyvsp[0]);
2784                     if (!yyvsp[0]) need_entire = TRUE;
2785                     saw_ORS = saw_OFS = TRUE;
2786                 }
2787 break;
2788 case 121:
2789 #line 375 "a2p.y"
2790 { yyval = oper3(OPRINTF,yyvsp[-2],yyvsp[-1],yyvsp[0]);
2791                     do_opens = TRUE;
2792                     if (!yyvsp[-2]) need_entire = TRUE;
2793                     if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2794 break;
2795 case 122:
2796 #line 380 "a2p.y"
2797 { yyval = oper1(OPRINTF,yyvsp[0]);
2798                     if (!yyvsp[0]) need_entire = TRUE;
2799                 }
2800 break;
2801 case 123:
2802 #line 384 "a2p.y"
2803 { yyval = oper0(OBREAK); }
2804 break;
2805 case 124:
2806 #line 386 "a2p.y"
2807 { yyval = oper0(ONEXT); }
2808 break;
2809 case 125:
2810 #line 388 "a2p.y"
2811 { yyval = oper0(OEXIT); }
2812 break;
2813 case 126:
2814 #line 390 "a2p.y"
2815 { yyval = oper1(OEXIT,yyvsp[0]); }
2816 break;
2817 case 127:
2818 #line 392 "a2p.y"
2819 { yyval = oper0(OCONTINUE); }
2820 break;
2821 case 128:
2822 #line 394 "a2p.y"
2823 { yyval = oper0(ORETURN); }
2824 break;
2825 case 129:
2826 #line 396 "a2p.y"
2827 { yyval = oper1(ORETURN,yyvsp[0]); }
2828 break;
2829 case 130:
2830 #line 398 "a2p.y"
2831 { yyval = oper2(ODELETE,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
2832 break;
2833 case 131:
2834 #line 402 "a2p.y"
2835 { yyval = oper1(OREDIR,string(">",1)); }
2836 break;
2837 case 132:
2838 #line 404 "a2p.y"
2839 { yyval = oper1(OREDIR,string(">>",2)); }
2840 break;
2841 case 133:
2842 #line 406 "a2p.y"
2843 { yyval = oper1(OREDIR,string("|",1)); }
2844 break;
2845 case 134:
2846 #line 411 "a2p.y"
2847 { yyval = oper2(OIF,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2848 break;
2849 case 135:
2850 #line 413 "a2p.y"
2851 { yyval = oper3(OIF,yyvsp[-6],bl(yyvsp[-3],yyvsp[-4]),bl(yyvsp[0],yyvsp[-1])); }
2852 break;
2853 case 136:
2854 #line 415 "a2p.y"
2855 { yyval = oper2(OWHILE,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2856 break;
2857 case 137:
2858 #line 417 "a2p.y"
2859 { yyval = oper2(ODO,bl(yyvsp[-4],yyvsp[-5]),yyvsp[-1]); }
2860 break;
2861 case 138:
2862 #line 419 "a2p.y"
2863 { yyval = oper4(OFOR,yyvsp[-7],yyvsp[-5],yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2864 break;
2865 case 139:
2866 #line 421 "a2p.y"
2867 { yyval = oper4(OFOR,yyvsp[-6],string("",0),yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2868 break;
2869 case 140:
2870 #line 423 "a2p.y"
2871 { yyval = oper2(OFORIN,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2872 break;
2873 case 141:
2874 #line 425 "a2p.y"
2875 { yyval = oper3(OBLOCK,oper2(OJUNK,yyvsp[-3],yyvsp[-2]),Nullop,yyvsp[0]); }
2876 break;
2877 #line 2878 "y.tab.c"
2878     }
2879     yyssp -= yym;
2880     yystate = *yyssp;
2881     yyvsp -= yym;
2882     yym = yylhs[yyn];
2883     if (yystate == 0 && yym == 0)
2884     {
2885 #if YYDEBUG
2886         if (yydebug)
2887             printf("%sdebug: after reduction, shifting from state 0 to\
2888  state %d\n", YYPREFIX, YYFINAL);
2889 #endif
2890         yystate = YYFINAL;
2891         *++yyssp = YYFINAL;
2892         *++yyvsp = yyval;
2893         if (yychar < 0)
2894         {
2895             if ((yychar = yylex()) < 0) yychar = 0;
2896 #if YYDEBUG
2897             if (yydebug)
2898             {
2899                 yys = 0;
2900                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2901                 if (!yys) yys = "illegal-symbol";
2902                 printf("%sdebug: state %d, reading %d (%s)\n",
2903                         YYPREFIX, YYFINAL, yychar, yys);
2904             }
2905 #endif
2906         }
2907         if (yychar == 0) goto yyaccept;
2908         goto yyloop;
2909     }
2910     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2911             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2912         yystate = yytable[yyn];
2913     else
2914         yystate = yydgoto[yym];
2915 #if YYDEBUG
2916     if (yydebug)
2917         printf("%sdebug: after reduction, shifting from state %d \
2918 to state %d\n", YYPREFIX, *yyssp, yystate);
2919 #endif
2920     if (yyssp >= yyss + yystacksize - 1)
2921     {
2922         goto yyoverflow;
2923     }
2924     *++yyssp = yystate;
2925     *++yyvsp = yyval;
2926     goto yyloop;
2927 yyoverflow:
2928     yyerror("yacc stack overflow");
2929 yyabort:
2930     return (1);
2931 yyaccept:
2932     return (0);
2933 }