This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make offsets support conditional
[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
2183 #if YYDEBUG
2184 EXTERN_C char *getenv(const char *);
2185 #endif
2186
2187 int
2188 yyparse(void)
2189 {
2190     register int yym, yyn, yystate;
2191 #if YYDEBUG
2192     register char *yys;
2193
2194     if ((yys = getenv("YYDEBUG")))
2195     {
2196         yyn = *yys;
2197         if (yyn >= '0' && yyn <= '9')
2198             yydebug = yyn - '0';
2199     }
2200 #endif
2201
2202     yynerrs = 0;
2203     yyerrflag = 0;
2204     yychar = (-1);
2205
2206     yyssp = yyss;
2207     yyvsp = yyvs;
2208     *yyssp = yystate = 0;
2209
2210 yyloop:
2211     if (((yyn = yydefred[yystate])) != 0) goto yyreduce;
2212     if (yychar < 0)
2213     {
2214         if ((yychar = yylex()) < 0) yychar = 0;
2215 #if YYDEBUG
2216         if (yydebug)
2217         {
2218             yys = 0;
2219             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2220             if (!yys) yys = "illegal-symbol";
2221             printf("%sdebug: state %d, reading %d (%s)\n",
2222                     YYPREFIX, yystate, yychar, yys);
2223         }
2224 #endif
2225     }
2226     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
2227             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
2228     {
2229 #if YYDEBUG
2230         if (yydebug)
2231             printf("%sdebug: state %d, shifting to state %d\n",
2232                     YYPREFIX, yystate, yytable[yyn]);
2233 #endif
2234         if (yyssp >= yyss + yystacksize - 1)
2235         {
2236             goto yyoverflow;
2237         }
2238         *++yyssp = yystate = yytable[yyn];
2239         *++yyvsp = yylval;
2240         yychar = (-1);
2241         if (yyerrflag > 0)  --yyerrflag;
2242         goto yyloop;
2243     }
2244     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
2245             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
2246     {
2247         yyn = yytable[yyn];
2248         goto yyreduce;
2249     }
2250     if (yyerrflag) goto yyinrecovery;
2251 #ifdef lint
2252
2253 #endif
2254
2255     yyerror("syntax error");
2256 #ifdef lint
2257
2258 #endif
2259
2260     ++yynerrs;
2261 yyinrecovery:
2262     if (yyerrflag < 3)
2263     {
2264         yyerrflag = 3;
2265         for (;;)
2266         {
2267             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
2268                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
2269             {
2270 #if YYDEBUG
2271                 if (yydebug)
2272                     printf("%sdebug: state %d, error recovery shifting\
2273  to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
2274 #endif
2275                 if (yyssp >= yyss + yystacksize - 1)
2276                 {
2277                     goto yyoverflow;
2278                 }
2279                 *++yyssp = yystate = yytable[yyn];
2280                 *++yyvsp = yylval;
2281                 goto yyloop;
2282             }
2283             else
2284             {
2285 #if YYDEBUG
2286                 if (yydebug)
2287                     printf("%sdebug: error recovery discarding state %d\n",
2288                             YYPREFIX, *yyssp);
2289 #endif
2290                 if (yyssp <= yyss) goto yyabort;
2291                 --yyssp;
2292                 --yyvsp;
2293             }
2294         }
2295     }
2296     else
2297     {
2298         if (yychar == 0) goto yyabort;
2299 #if YYDEBUG
2300         if (yydebug)
2301         {
2302             yys = 0;
2303             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2304             if (!yys) yys = "illegal-symbol";
2305             printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
2306                     YYPREFIX, yystate, yychar, yys);
2307         }
2308 #endif
2309         yychar = (-1);
2310         goto yyloop;
2311     }
2312 yyreduce:
2313 #if YYDEBUG
2314     if (yydebug)
2315         printf("%sdebug: state %d, reducing by rule %d (%s)\n",
2316                 YYPREFIX, yystate, yyn, yyrule[yyn]);
2317 #endif
2318     yym = yylen[yyn];
2319     yyval = yyvsp[1-yym];
2320     switch (yyn)
2321     {
2322 case 1:
2323 #line 52 "a2p.y"
2324 { root = oper4(OPROG,yyvsp[-1],begins,yyvsp[0],ends); }
2325 break;
2326 case 2:
2327 #line 56 "a2p.y"
2328 { begins = oper4(OJUNK,begins,yyvsp[-3],yyvsp[-2],yyvsp[0]); in_begin = FALSE;
2329                     yyval = Nullop; }
2330 break;
2331 case 3:
2332 #line 61 "a2p.y"
2333 { ends = oper3(OJUNK,ends,yyvsp[-2],yyvsp[-1]); yyval = Nullop; }
2334 break;
2335 case 4:
2336 #line 63 "a2p.y"
2337 { yyval = yyvsp[-1]; }
2338 break;
2339 case 5:
2340 #line 67 "a2p.y"
2341 { yyval = oper3(OHUNKS,yyvsp[-2],yyvsp[-1],yyvsp[0]); }
2342 break;
2343 case 6:
2344 #line 69 "a2p.y"
2345 { yyval = Nullop; }
2346 break;
2347 case 7:
2348 #line 73 "a2p.y"
2349 { yyval = oper1(OHUNK,yyvsp[0]); need_entire = TRUE; }
2350 break;
2351 case 8:
2352 #line 75 "a2p.y"
2353 { yyval = oper2(OHUNK,yyvsp[-4],oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
2354 break;
2355 case 9:
2356 #line 77 "a2p.y"
2357 { fixfargs(yyvsp[-8],yyvsp[-6],0); yyval = oper5(OUSERDEF,yyvsp[-8],yyvsp[-6],yyvsp[-4],yyvsp[-2],yyvsp[-1]); }
2358 break;
2359 case 10:
2360 #line 79 "a2p.y"
2361 { yyval = oper2(OHUNK,Nullop,oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
2362 break;
2363 case 13:
2364 #line 85 "a2p.y"
2365 { yyval = rememberargs(yyval); }
2366 break;
2367 case 14:
2368 #line 89 "a2p.y"
2369 { yyval = oper1(OPAT,yyvsp[0]); }
2370 break;
2371 case 15:
2372 #line 91 "a2p.y"
2373 { yyval = oper2(ORANGE,yyvsp[-2],yyvsp[0]); }
2374 break;
2375 case 20:
2376 #line 99 "a2p.y"
2377 { yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
2378 break;
2379 case 21:
2380 #line 104 "a2p.y"
2381 { yyval = oper1(OCPAREN,yyvsp[-1]); }
2382 break;
2383 case 22:
2384 #line 106 "a2p.y"
2385 { yyval = oper3(OCANDAND,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2386 break;
2387 case 23:
2388 #line 108 "a2p.y"
2389 { yyval = oper3(OCOROR,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2390 break;
2391 case 24:
2392 #line 110 "a2p.y"
2393 { yyval = oper1(OCNOT,yyvsp[0]); }
2394 break;
2395 case 25:
2396 #line 114 "a2p.y"
2397 { yyval = oper3(ORELOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
2398 break;
2399 case 26:
2400 #line 116 "a2p.y"
2401 { yyval = oper3(ORELOP,string(">",1),yyvsp[-2],yyvsp[0]); }
2402 break;
2403 case 27:
2404 #line 118 "a2p.y"
2405 { yyval = oper3(ORELOP,string("<",1),yyvsp[-2],yyvsp[0]); }
2406 break;
2407 case 28:
2408 #line 120 "a2p.y"
2409 { yyval = oper1(ORPAREN,yyvsp[-1]); }
2410 break;
2411 case 29:
2412 #line 124 "a2p.y"
2413 { yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
2414 break;
2415 case 30:
2416 #line 126 "a2p.y"
2417 { yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],oper1(OREGEX,yyvsp[0])); }
2418 break;
2419 case 31:
2420 #line 128 "a2p.y"
2421 { yyval = oper1(OREGEX,yyvsp[0]); }
2422 break;
2423 case 32:
2424 #line 130 "a2p.y"
2425 { yyval = oper1(OMPAREN,yyvsp[-1]); }
2426 break;
2427 case 33:
2428 #line 134 "a2p.y"
2429 { yyval = yyvsp[0]; }
2430 break;
2431 case 34:
2432 #line 136 "a2p.y"
2433 { yyval = oper2(OCONCAT,yyvsp[-1],yyvsp[0]); }
2434 break;
2435 case 35:
2436 #line 138 "a2p.y"
2437 { yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
2438 break;
2439 case 36:
2440 #line 140 "a2p.y"
2441 {
2442                     yyval = oper3(OASSIGN,yyvsp[-1],yyvsp[-2],yyvsp[0]);
2443                     if ((ops[yyvsp[-2]].ival & 255) == OFLD)
2444                         lval_field = TRUE;
2445                     else if ((ops[yyvsp[-2]].ival & 255) == OVFLD)
2446                         lval_field = TRUE;
2447                 }
2448 break;
2449 case 39:
2450 #line 153 "a2p.y"
2451 { yyval = yyvsp[0]; }
2452 break;
2453 case 40:
2454 #line 155 "a2p.y"
2455 { yyval = oper1(ONUM,yyvsp[0]); }
2456 break;
2457 case 41:
2458 #line 157 "a2p.y"
2459 { yyval = oper1(OSTR,yyvsp[0]); }
2460 break;
2461 case 42:
2462 #line 159 "a2p.y"
2463 { yyval = oper2(OADD,yyvsp[-2],yyvsp[0]); }
2464 break;
2465 case 43:
2466 #line 161 "a2p.y"
2467 { yyval = oper2(OSUBTRACT,yyvsp[-2],yyvsp[0]); }
2468 break;
2469 case 44:
2470 #line 163 "a2p.y"
2471 { yyval = oper2(OMULT,yyvsp[-2],yyvsp[0]); }
2472 break;
2473 case 45:
2474 #line 165 "a2p.y"
2475 { yyval = oper2(ODIV,yyvsp[-2],yyvsp[0]); }
2476 break;
2477 case 46:
2478 #line 167 "a2p.y"
2479 { yyval = oper2(OMOD,yyvsp[-2],yyvsp[0]); }
2480 break;
2481 case 47:
2482 #line 169 "a2p.y"
2483 { yyval = oper2(OPOW,yyvsp[-2],yyvsp[0]); }
2484 break;
2485 case 48:
2486 #line 171 "a2p.y"
2487 { yyval = oper2(ODEFINED,aryrefarg(yyvsp[0]),yyvsp[-2]); }
2488 break;
2489 case 49:
2490 #line 173 "a2p.y"
2491 {
2492                     yyval = oper1(OPOSTINCR,yyvsp[-1]);
2493                     if ((ops[yyvsp[-1]].ival & 255) == OFLD)
2494                         lval_field = TRUE;
2495                     else if ((ops[yyvsp[-1]].ival & 255) == OVFLD)
2496                         lval_field = TRUE;
2497                 }
2498 break;
2499 case 50:
2500 #line 181 "a2p.y"
2501 {
2502                     yyval = oper1(OPOSTDECR,yyvsp[-1]);
2503                     if ((ops[yyvsp[-1]].ival & 255) == OFLD)
2504                         lval_field = TRUE;
2505                     else if ((ops[yyvsp[-1]].ival & 255) == OVFLD)
2506                         lval_field = TRUE;
2507                 }
2508 break;
2509 case 51:
2510 #line 189 "a2p.y"
2511 {
2512                     yyval = oper1(OPREINCR,yyvsp[0]);
2513                     if ((ops[yyvsp[0]].ival & 255) == OFLD)
2514                         lval_field = TRUE;
2515                     else if ((ops[yyvsp[0]].ival & 255) == OVFLD)
2516                         lval_field = TRUE;
2517                 }
2518 break;
2519 case 52:
2520 #line 197 "a2p.y"
2521 {
2522                     yyval = oper1(OPREDECR,yyvsp[0]);
2523                     if ((ops[yyvsp[0]].ival & 255) == OFLD)
2524                         lval_field = TRUE;
2525                     else if ((ops[yyvsp[0]].ival & 255) == OVFLD)
2526                         lval_field = TRUE;
2527                 }
2528 break;
2529 case 53:
2530 #line 205 "a2p.y"
2531 { yyval = oper1(OUMINUS,yyvsp[0]); }
2532 break;
2533 case 54:
2534 #line 207 "a2p.y"
2535 { yyval = oper1(OUPLUS,yyvsp[0]); }
2536 break;
2537 case 55:
2538 #line 209 "a2p.y"
2539 { yyval = oper1(OPAREN,yyvsp[-1]); }
2540 break;
2541 case 56:
2542 #line 211 "a2p.y"
2543 { yyval = oper0(OGETLINE); }
2544 break;
2545 case 57:
2546 #line 213 "a2p.y"
2547 { yyval = oper1(OGETLINE,yyvsp[0]); }
2548 break;
2549 case 58:
2550 #line 215 "a2p.y"
2551 { yyval = oper3(OGETLINE,Nullop,string("<",1),yyvsp[0]);
2552                     if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2553 break;
2554 case 59:
2555 #line 218 "a2p.y"
2556 { yyval = oper3(OGETLINE,yyvsp[-2],string("<",1),yyvsp[0]);
2557                     if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2558 break;
2559 case 60:
2560 #line 221 "a2p.y"
2561 { yyval = oper3(OGETLINE,Nullop,string("|",1),yyvsp[-2]);
2562                     if (ops[yyvsp[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2563 break;
2564 case 61:
2565 #line 224 "a2p.y"
2566 { yyval = oper3(OGETLINE,yyvsp[0],string("|",1),yyvsp[-3]);
2567                     if (ops[yyvsp[-3]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2568 break;
2569 case 62:
2570 #line 227 "a2p.y"
2571 { yyval = oper0(yyvsp[0]); need_entire = do_chop = TRUE; }
2572 break;
2573 case 63:
2574 #line 229 "a2p.y"
2575 { yyval = oper1(yyvsp[-2],Nullop); need_entire = do_chop = TRUE; }
2576 break;
2577 case 64:
2578 #line 231 "a2p.y"
2579 { yyval = oper1(yyvsp[-3],yyvsp[-1]); }
2580 break;
2581 case 65:
2582 #line 233 "a2p.y"
2583 { yyval = oper1(yyvsp[-3],yyvsp[-1]); }
2584 break;
2585 case 66:
2586 #line 235 "a2p.y"
2587 { yyval = oper2(OUSERFUN,yyvsp[-3],yyvsp[-1]); }
2588 break;
2589 case 67:
2590 #line 237 "a2p.y"
2591 { yyval = oper1(OSPRINTF,yyvsp[-1]); }
2592 break;
2593 case 68:
2594 #line 239 "a2p.y"
2595 { yyval = oper1(OSPRINTF,yyvsp[0]); }
2596 break;
2597 case 69:
2598 #line 241 "a2p.y"
2599 { yyval = oper3(OSUBSTR,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2600 break;
2601 case 70:
2602 #line 243 "a2p.y"
2603 { yyval = oper2(OSUBSTR,yyvsp[-3],yyvsp[-1]); }
2604 break;
2605 case 71:
2606 #line 245 "a2p.y"
2607 { yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),yyvsp[-1]); }
2608 break;
2609 case 72:
2610 #line 247 "a2p.y"
2611 { yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),oper1(OREGEX,yyvsp[-1]));}
2612 break;
2613 case 73:
2614 #line 249 "a2p.y"
2615 { yyval = oper2(OSPLIT,yyvsp[-3],aryrefarg(numary(yyvsp[-1]))); }
2616 break;
2617 case 74:
2618 #line 251 "a2p.y"
2619 { yyval = oper2(OINDEX,yyvsp[-3],yyvsp[-1]); }
2620 break;
2621 case 75:
2622 #line 253 "a2p.y"
2623 { yyval = oper2(OMATCH,yyvsp[-3],oper1(OREGEX,yyvsp[-1])); }
2624 break;
2625 case 76:
2626 #line 255 "a2p.y"
2627 { yyval = oper2(OMATCH,yyvsp[-3],yyvsp[-1]); }
2628 break;
2629 case 77:
2630 #line 257 "a2p.y"
2631 { yyval = oper2(OSUB,yyvsp[-3],yyvsp[-1]); }
2632 break;
2633 case 78:
2634 #line 259 "a2p.y"
2635 { yyval = oper2(OSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
2636 break;
2637 case 79:
2638 #line 261 "a2p.y"
2639 { yyval = oper2(OGSUB,yyvsp[-3],yyvsp[-1]); }
2640 break;
2641 case 80:
2642 #line 263 "a2p.y"
2643 { yyval = oper2(OGSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
2644 break;
2645 case 81:
2646 #line 265 "a2p.y"
2647 { yyval = oper3(OSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2648 break;
2649 case 82:
2650 #line 267 "a2p.y"
2651 { yyval = oper3(OSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
2652 break;
2653 case 83:
2654 #line 269 "a2p.y"
2655 { yyval = oper3(OGSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2656 break;
2657 case 84:
2658 #line 271 "a2p.y"
2659 { yyval = oper3(OGSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
2660 break;
2661 case 85:
2662 #line 275 "a2p.y"
2663 { yyval = oper1(OVAR,yyvsp[0]); }
2664 break;
2665 case 86:
2666 #line 277 "a2p.y"
2667 { yyval = oper2(OVAR,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
2668 break;
2669 case 87:
2670 #line 279 "a2p.y"
2671 { yyval = oper1(OFLD,yyvsp[0]); }
2672 break;
2673 case 88:
2674 #line 281 "a2p.y"
2675 { yyval = oper1(OVFLD,oper1(OVAR,yyvsp[0])); }
2676 break;
2677 case 89:
2678 #line 283 "a2p.y"
2679 { yyval = oper1(OVFLD,yyvsp[0]); }
2680 break;
2681 case 92:
2682 #line 290 "a2p.y"
2683 { yyval = Nullop; }
2684 break;
2685 case 93:
2686 #line 294 "a2p.y"
2687 { yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2688 break;
2689 case 94:
2690 #line 296 "a2p.y"
2691 { yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2692 break;
2693 case 95:
2694 #line 298 "a2p.y"
2695 { yyval = yyvsp[-1]; }
2696 break;
2697 case 96:
2698 #line 302 "a2p.y"
2699 { yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
2700 break;
2701 case 97:
2702 #line 304 "a2p.y"
2703 { yyval = Nullop; }
2704 break;
2705 case 98:
2706 #line 308 "a2p.y"
2707 { yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
2708 break;
2709 case 99:
2710 #line 310 "a2p.y"
2711 { yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
2712 break;
2713 case 100:
2714 #line 312 "a2p.y"
2715 { yyval = oper0(ONEWLINE); }
2716 break;
2717 case 101:
2718 #line 314 "a2p.y"
2719 { yyval = oper1(OCOMMENT,yyvsp[0]); }
2720 break;
2721 case 102:
2722 #line 318 "a2p.y"
2723 { yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
2724 break;
2725 case 103:
2726 #line 320 "a2p.y"
2727 { yyval = Nullop; }
2728 break;
2729 case 104:
2730 #line 324 "a2p.y"
2731 { yyval = oper0(ONEWLINE); }
2732 break;
2733 case 105:
2734 #line 326 "a2p.y"
2735 { yyval = oper1(OCOMMENT,yyvsp[0]); }
2736 break;
2737 case 106:
2738 #line 331 "a2p.y"
2739 { yyval = oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0]); }
2740 break;
2741 case 107:
2742 #line 333 "a2p.y"
2743 { yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
2744 break;
2745 case 108:
2746 #line 335 "a2p.y"
2747 { yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
2748 break;
2749 case 109:
2750 #line 337 "a2p.y"
2751 { yyval = oper2(OJUNK,oper1(OSCOMMENT,yyvsp[-1]),yyvsp[0]); }
2752 break;
2753 case 110:
2754 #line 341 "a2p.y"
2755 { yyval = oper2(OSTATES,yyvsp[-1],yyvsp[0]); }
2756 break;
2757 case 111:
2758 #line 343 "a2p.y"
2759 { yyval = Nullop; }
2760 break;
2761 case 112:
2762 #line 348 "a2p.y"
2763 { yyval = oper2(OJUNK,oper2(OSTATE,yyvsp[-2],yyvsp[-1]),yyvsp[0]); }
2764 break;
2765 case 113:
2766 #line 350 "a2p.y"
2767 { yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0])); }
2768 break;
2769 case 114:
2770 #line 352 "a2p.y"
2771 { yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0])); }
2772 break;
2773 case 117:
2774 #line 358 "a2p.y"
2775 { yyval = Nullop; }
2776 break;
2777 case 119:
2778 #line 364 "a2p.y"
2779 { yyval = oper3(OPRINT,yyvsp[-2],yyvsp[-1],yyvsp[0]);
2780                     do_opens = TRUE;
2781                     saw_ORS = saw_OFS = TRUE;
2782                     if (!yyvsp[-2]) need_entire = TRUE;
2783                     if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2784 break;
2785 case 120:
2786 #line 370 "a2p.y"
2787 { yyval = oper1(OPRINT,yyvsp[0]);
2788                     if (!yyvsp[0]) need_entire = TRUE;
2789                     saw_ORS = saw_OFS = TRUE;
2790                 }
2791 break;
2792 case 121:
2793 #line 375 "a2p.y"
2794 { yyval = oper3(OPRINTF,yyvsp[-2],yyvsp[-1],yyvsp[0]);
2795                     do_opens = TRUE;
2796                     if (!yyvsp[-2]) need_entire = TRUE;
2797                     if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2798 break;
2799 case 122:
2800 #line 380 "a2p.y"
2801 { yyval = oper1(OPRINTF,yyvsp[0]);
2802                     if (!yyvsp[0]) need_entire = TRUE;
2803                 }
2804 break;
2805 case 123:
2806 #line 384 "a2p.y"
2807 { yyval = oper0(OBREAK); }
2808 break;
2809 case 124:
2810 #line 386 "a2p.y"
2811 { yyval = oper0(ONEXT); }
2812 break;
2813 case 125:
2814 #line 388 "a2p.y"
2815 { yyval = oper0(OEXIT); }
2816 break;
2817 case 126:
2818 #line 390 "a2p.y"
2819 { yyval = oper1(OEXIT,yyvsp[0]); }
2820 break;
2821 case 127:
2822 #line 392 "a2p.y"
2823 { yyval = oper0(OCONTINUE); }
2824 break;
2825 case 128:
2826 #line 394 "a2p.y"
2827 { yyval = oper0(ORETURN); }
2828 break;
2829 case 129:
2830 #line 396 "a2p.y"
2831 { yyval = oper1(ORETURN,yyvsp[0]); }
2832 break;
2833 case 130:
2834 #line 398 "a2p.y"
2835 { yyval = oper2(ODELETE,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
2836 break;
2837 case 131:
2838 #line 402 "a2p.y"
2839 { yyval = oper1(OREDIR,string(">",1)); }
2840 break;
2841 case 132:
2842 #line 404 "a2p.y"
2843 { yyval = oper1(OREDIR,string(">>",2)); }
2844 break;
2845 case 133:
2846 #line 406 "a2p.y"
2847 { yyval = oper1(OREDIR,string("|",1)); }
2848 break;
2849 case 134:
2850 #line 411 "a2p.y"
2851 { yyval = oper2(OIF,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2852 break;
2853 case 135:
2854 #line 413 "a2p.y"
2855 { yyval = oper3(OIF,yyvsp[-6],bl(yyvsp[-3],yyvsp[-4]),bl(yyvsp[0],yyvsp[-1])); }
2856 break;
2857 case 136:
2858 #line 415 "a2p.y"
2859 { yyval = oper2(OWHILE,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2860 break;
2861 case 137:
2862 #line 417 "a2p.y"
2863 { yyval = oper2(ODO,bl(yyvsp[-4],yyvsp[-5]),yyvsp[-1]); }
2864 break;
2865 case 138:
2866 #line 419 "a2p.y"
2867 { yyval = oper4(OFOR,yyvsp[-7],yyvsp[-5],yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2868 break;
2869 case 139:
2870 #line 421 "a2p.y"
2871 { yyval = oper4(OFOR,yyvsp[-6],string("",0),yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2872 break;
2873 case 140:
2874 #line 423 "a2p.y"
2875 { yyval = oper2(OFORIN,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2876 break;
2877 case 141:
2878 #line 425 "a2p.y"
2879 { yyval = oper3(OBLOCK,oper2(OJUNK,yyvsp[-3],yyvsp[-2]),Nullop,yyvsp[0]); }
2880 break;
2881 #line 2878 "y.tab.c"
2882     }
2883     yyssp -= yym;
2884     yystate = *yyssp;
2885     yyvsp -= yym;
2886     yym = yylhs[yyn];
2887     if (yystate == 0 && yym == 0)
2888     {
2889 #if YYDEBUG
2890         if (yydebug)
2891             printf("%sdebug: after reduction, shifting from state 0 to\
2892  state %d\n", YYPREFIX, YYFINAL);
2893 #endif
2894         yystate = YYFINAL;
2895         *++yyssp = YYFINAL;
2896         *++yyvsp = yyval;
2897         if (yychar < 0)
2898         {
2899             if ((yychar = yylex()) < 0) yychar = 0;
2900 #if YYDEBUG
2901             if (yydebug)
2902             {
2903                 yys = 0;
2904                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2905                 if (!yys) yys = "illegal-symbol";
2906                 printf("%sdebug: state %d, reading %d (%s)\n",
2907                         YYPREFIX, YYFINAL, yychar, yys);
2908             }
2909 #endif
2910         }
2911         if (yychar == 0) goto yyaccept;
2912         goto yyloop;
2913     }
2914     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2915             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2916         yystate = yytable[yyn];
2917     else
2918         yystate = yydgoto[yym];
2919 #if YYDEBUG
2920     if (yydebug)
2921         printf("%sdebug: after reduction, shifting from state %d \
2922 to state %d\n", YYPREFIX, *yyssp, yystate);
2923 #endif
2924     if (yyssp >= yyss + yystacksize - 1)
2925     {
2926         goto yyoverflow;
2927     }
2928     *++yyssp = yystate;
2929     *++yyvsp = yyval;
2930     goto yyloop;
2931 yyoverflow:
2932     yyerror("yacc stack overflow");
2933 yyabort:
2934     return (1);
2935 yyaccept:
2936     return (0);
2937 }