2 static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
7 #define yyclearin (yychar=(-1))
8 #define yyerrok (yyerrflag=0)
9 #define YYRECOVERING (yyerrflag!=0)
12 /* $RCSfile: a2p.y,v $$Revision: 4.1 $$Date: 92/08/07 18:29:12 $
14 * Copyright (c) 1991, Larry Wall
16 * You may distribute under the terms of either the GNU General Public
17 * License or the Artistic License, as specified in the README file.
80 0, 3, 6, 6, 2, 2, 7, 7, 7, 7,
81 7, 7, 9, 8, 8, 11, 11, 11, 11, 11,
82 15, 15, 15, 15, 14, 14, 14, 14, 13, 13,
83 13, 13, 12, 12, 12, 16, 16, 16, 16, 16,
84 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
85 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
86 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
87 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
88 16, 17, 17, 17, 17, 10, 10, 10, 18, 18,
89 18, 1, 1, 19, 19, 19, 19, 4, 4, 20,
90 20, 21, 21, 21, 21, 5, 5, 22, 22, 22,
91 22, 25, 25, 23, 23, 23, 23, 23, 23, 23,
92 23, 23, 23, 23, 23, 23, 26, 26, 26, 24,
93 24, 24, 24, 24, 24, 24, 24,
96 2, 6, 5, 2, 3, 0, 1, 5, 10, 4,
97 1, 1, 1, 1, 3, 1, 1, 1, 1, 5,
98 3, 4, 4, 2, 3, 3, 3, 3, 3, 3,
99 1, 3, 1, 2, 3, 1, 1, 1, 3, 3,
100 3, 3, 3, 3, 3, 5, 2, 2, 2, 2,
101 2, 2, 3, 1, 2, 3, 4, 3, 4, 1,
102 3, 4, 4, 4, 2, 8, 6, 8, 8, 6,
103 6, 6, 6, 6, 6, 6, 6, 8, 8, 8,
104 8, 1, 4, 1, 2, 1, 1, 0, 4, 4,
105 3, 2, 0, 1, 1, 1, 1, 2, 0, 1,
106 1, 2, 2, 2, 2, 2, 0, 3, 2, 2,
107 1, 1, 0, 1, 4, 2, 4, 2, 1, 1,
108 1, 2, 1, 1, 2, 5, 1, 1, 1, 6,
109 9, 6, 7, 10, 9, 6, 5,
111 short yydefred[] = { 93,
112 0, 0, 95, 96, 97, 94, 0, 92, 0, 0,
113 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
114 0, 37, 0, 0, 0, 38, 0, 0, 0, 0,
115 0, 84, 0, 99, 0, 11, 0, 93, 0, 0,
116 0, 17, 18, 19, 0, 0, 99, 99, 0, 0,
117 0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
118 0, 0, 0, 0, 0, 0, 0, 0, 24, 49,
119 50, 0, 0, 0, 0, 0, 0, 4, 0, 99,
120 0, 99, 99, 0, 0, 0, 0, 0, 0, 0,
121 0, 0, 0, 0, 0, 0, 0, 0, 47, 48,
122 0, 0, 61, 0, 0, 0, 0, 99, 99, 0,
123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
124 0, 0, 100, 101, 0, 98, 53, 32, 28, 21,
125 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
126 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
127 0, 62, 63, 91, 0, 0, 0, 0, 0, 0,
128 0, 0, 0, 0, 13, 64, 83, 0, 0, 99,
129 0, 0, 0, 0, 0, 0, 120, 119, 123, 0,
130 99, 0, 99, 10, 99, 0, 106, 0, 111, 0,
131 0, 0, 22, 59, 93, 3, 0, 0, 0, 0,
132 0, 0, 0, 0, 0, 99, 0, 0, 0, 0,
133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
134 99, 99, 99, 99, 99, 8, 0, 0, 70, 0,
135 75, 0, 74, 0, 77, 0, 76, 0, 72, 73,
136 0, 67, 0, 71, 128, 127, 129, 0, 0, 0,
137 0, 0, 112, 0, 0, 0, 0, 0, 0, 0,
138 0, 0, 0, 0, 0, 0, 0, 0, 99, 0,
139 0, 0, 99, 99, 99, 0, 0, 0, 99, 69,
140 68, 79, 78, 81, 80, 0, 66, 0, 0, 0,
141 0, 0, 0, 126, 0, 0, 0, 132, 136, 0,
142 0, 0, 9, 99, 99, 0, 133, 0, 0, 99,
145 short yydgoto[] = { 1,
146 2, 7, 36, 73, 125, 37, 38, 39, 164, 52,
147 53, 41, 42, 43, 44, 45, 46, 55, 8, 126,
148 225, 187, 188, 189, 254, 248,
150 short yysindex[] = { 0,
151 0, -48, 0, 0, 0, 0, 6619, 0, -121, -110,
152 0, -4, 32, 4183, 38, 30, 51, 64, 68, -260,
153 70, 0, -61, 82, 83, 0, 4448, 4448, 4448, -183,
154 -183, 0, 4448, 0, 4448, 0, -188, 0, 3, 22,
155 6884, 0, 0, 0, 34, -213, 0, 0, 2061, 4183,
156 4183, 0, -49, 5612, 85, 4448, 4448, 14, 4713, 6753,
157 4448, 87, 4183, 4183, 4448, 4448, -77, -77, 0, 0,
158 0, 18, -192, -36, 91, 92, 95, 0, -48, 0,
159 4448, 0, 0, 4448, 6980, 4448, 4448, 4448, 34, -154,
160 4448, 4448, 4448, 4448, 4448, 4448, -135, 4448, 0, 0,
161 -192, -192, 0, 5658, 106, 5612, 11, 0, 0, 5704,
162 186, 4448, 113, 5751, 115, 5805, 5885, 4183, 114, 67,
163 5931, 5978, 0, 0, 4572, 0, 0, 0, 0, 0,
164 -192, 6032, 1964, 1964, -49, 0, 3230, 186, 186, 186,
165 0, 97, 97, -77, -77, -77, -77, -183, -49, 4665,
166 4765, 0, 0, 0, 1964, 1964, -131, 186, 4448, 4448,
167 4448, 4448, 7026, 121, 0, 0, 0, 4448, 4448, 0,
168 4183, 4183, 124, 125, 132, 4448, 0, 0, 0, 4448,
169 0, -117, 0, 0, 0, 6884, 0, -44, 0, 4837,
170 4448, -114, 0, 0, 0, 0, 6884, 6884, 13, 3635,
171 5295, 5367, 5506, 137, 6078, 0, 5560, 6243, -192, -59,
172 -59, 4448, 4448, 5241, 6884, 6884, 3701, 93, -192, -192,
173 0, 0, 0, 0, 0, 0, 6884, -48, 0, 7084,
174 0, 4448, 0, 4448, 0, 4448, 0, 4448, 0, 0,
175 -119, 0, 4448, 0, 0, 0, 0, 4448, 4448, -34,
176 -16, 6343, 0, 123, -89, 4183, 4930, -192, -192, -192,
177 -192, -192, 144, 6389, 6435, 6508, 6554, 6700, 0, 6819,
178 6884, 6884, 0, 0, 0, 6930, 146, 94, 0, 0,
179 0, 0, 0, 0, 0, -192, 0, 3701, 3701, 3701,
180 5241, -53, 4448, 0, -192, 5030, -83, 0, 0, 148,
181 5241, -13, 0, 0, 0, 149, 0, 3701, 3701, 0,
184 short yyrindex[] = { 0,
185 0, 2015, 0, 0, 0, 0, 192, 0, 0, 0,
186 0, 56, 0, 3424, 0, 2619, 0, 0, 0, 0,
187 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
188 0, 0, 0, 0, 0, 0, 2147, 0, 2195, 1676,
189 3509, 0, 0, 0, 1782, 1340, 0, 0, 0, 152,
190 0, 0, 0, 3829, 111, 0, 0, 381, 0, 0,
191 0, 0, 152, 101, 0, 0, 564, 834, 0, 0,
192 0, 436, 5102, 0, -47, 39, 42, 0, 2245, 0,
193 0, 0, 0, 0, 0, 0, 0, 0, 1830, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
195 5102, 5102, 0, 72, 0, 17, 0, 0, 0, 72,
196 2718, 0, 74, 72, 74, 72, 72, 152, 0, 0,
197 72, 72, 0, 0, 0, 0, 0, 0, 0, 0,
198 5102, 72, 0, 0, 1882, 0, 3464, 3057, 3097, 3145,
199 0, 1468, 1734, 888, 942, 1016, 1286, 2564, 1395, 0,
200 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0,
201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
202 538, 538, 0, 0, 0, 122, 0, 0, 0, 241,
203 0, 0, 0, 0, 0, -41, 0, 0, 0, 0,
204 0, 491, 0, 0, 0, 0, 3549, 3594, 0, 72,
205 72, 72, 72, 74, 72, 0, 72, 72, 3866, 296,
206 357, 0, 0, 136, -10, 169, 0, 0, 5102, 3970,
207 0, 0, 0, 0, 0, 0, 3784, 2294, 0, 0,
208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
210 0, -51, 0, 0, 0, 101, 0, 4038, 4135, 4235,
211 4307, 4400, 74, 72, 72, 72, 72, 72, 0, 72,
212 507, 553, 0, 0, 0, 0, 0, 0, 0, 0,
213 0, 0, 0, 0, 0, 5102, 0, 0, 0, 0,
214 155, 0, 0, 0, 4500, 0, 5195, 0, 0, 0,
215 155, 0, 0, 0, 0, 0, 0, 0, 0, 0,
218 short yygindex[] = { 0,
219 -18, 0, 0, 7251, -19, 0, 0, 0, 0, -31,
220 33, 2875, -14, -12, 16, 7373, 76, 147, 0, 0,
221 0, 231, -205, 0, -267, -9,
223 #define YYTABLESIZE 7645
224 short yytable[] = { 114,
225 82, 47, 246, 269, 127, 301, 273, 114, 253, 81,
226 6, 16, 48, 81, 224, 17, 96, 114, 105, 79,
227 75, 16, 76, 300, 274, 62, 81, 307, 81, 64,
228 122, 119, 120, 306, 97, 49, 75, 82, 76, 40,
229 82, 82, 82, 82, 82, 82, 81, 82, 122, 81,
230 77, 154, 16, 229, 109, 60, 230, 16, 82, 82,
231 82, 69, 82, 82, 247, 84, 77, 74, 123, 124,
232 95, 50, 78, 112, 98, 93, 91, 56, 92, 16,
233 94, 150, 151, 74, 81, 253, 165, 99, 100, 57,
234 59, 58, 60, 82, 82, 253, 60, 60, 60, 60,
235 60, 18, 60, 60, 19, 70, 71, 61, 23, 63,
236 87, 190, 82, 60, 60, 60, 135, 60, 60, 32,
237 33, 65, 66, 82, 82, 80, 118, 96, 109, 97,
238 149, 128, 129, 95, 16, 130, 31, 141, 93, 210,
239 211, 123, 124, 94, 148, 97, 153, 87, 60, 60,
240 87, 87, 87, 87, 166, 87, 159, 87, 161, 167,
241 199, 206, 121, 212, 213, 192, 193, 60, 87, 87,
242 87, 214, 87, 87, 218, 83, 228, 239, 60, 60,
243 121, 276, 277, 256, 280, 293, 294, 304, 305, 310,
244 96, 1, 88, 88, 113, 113, 0, 107, 0, 257,
245 0, 249, 0, 87, 87, 245, 0, 0, 97, 125,
246 0, 3, 4, 5, 0, 221, 222, 223, 114, 114,
247 114, 0, 87, 194, 278, 35, 0, 125, 27, 0,
248 28, 16, 0, 87, 87, 82, 83, 16, 16, 82,
249 83, 17, 17, 0, 250, 251, 0, 16, 16, 122,
250 122, 122, 82, 83, 82, 83, 0, 82, 82, 82,
251 82, 82, 82, 82, 82, 82, 296, 0, 82, 82,
252 0, 0, 82, 83, 82, 82, 83, 0, 16, 16,
253 82, 124, 82, 82, 82, 82, 82, 0, 82, 82,
254 82, 82, 82, 82, 82, 82, 82, 0, 82, 124,
255 82, 82, 82, 82, 82, 16, 16, 90, 292, 0,
256 82, 83, 60, 60, 60, 60, 60, 60, 60, 60,
257 60, 23, 0, 60, 60, 302, 0, 18, 18, 60,
258 19, 19, 32, 33, 0, 60, 116, 60, 60, 60,
259 60, 60, 0, 60, 60, 60, 60, 60, 60, 60,
260 60, 60, 0, 60, 116, 60, 60, 60, 60, 60,
261 16, 16, 31, 31, 0, 0, 0, 87, 87, 87,
262 87, 87, 87, 87, 87, 87, 0, 0, 87, 87,
263 55, 121, 121, 121, 87, 0, 0, 0, 0, 0,
264 87, 0, 87, 87, 87, 87, 87, 118, 87, 87,
265 87, 87, 87, 87, 87, 87, 87, 0, 87, 0,
266 87, 87, 87, 87, 87, 118, 0, 55, 0, 0,
267 55, 55, 55, 55, 55, 55, 0, 55, 125, 125,
268 125, 0, 0, 0, 0, 85, 0, 0, 55, 55,
269 0, 0, 55, 55, 11, 0, 0, 255, 12, 13,
270 0, 0, 0, 14, 15, 0, 0, 16, 16, 0,
271 0, 0, 0, 0, 0, 16, 0, 17, 18, 19,
272 0, 21, 85, 55, 55, 33, 85, 85, 85, 85,
273 85, 0, 85, 26, 0, 29, 30, 31, 32, 33,
274 23, 0, 55, 85, 85, 33, 0, 33, 33, 0,
275 124, 124, 124, 55, 55, 0, 0, 0, 0, 0,
276 0, 0, 0, 0, 0, 0, 0, 0, 297, 298,
277 299, 0, 0, 0, 0, 0, 0, 23, 85, 85,
278 23, 23, 23, 23, 23, 23, 0, 23, 311, 312,
279 0, 0, 0, 314, 0, 0, 0, 115, 23, 23,
280 23, 0, 23, 23, 0, 116, 116, 116, 85, 85,
281 0, 0, 0, 52, 0, 115, 0, 0, 0, 16,
282 0, 0, 0, 0, 0, 0, 0, 0, 88, 0,
283 0, 0, 0, 23, 23, 0, 0, 0, 0, 0,
284 0, 0, 0, 117, 0, 0, 88, 0, 0, 88,
285 52, 0, 23, 33, 52, 52, 52, 52, 52, 0,
286 52, 117, 0, 23, 23, 16, 118, 118, 118, 0,
287 0, 52, 52, 33, 0, 33, 33, 0, 0, 0,
288 0, 0, 0, 0, 0, 0, 0, 55, 55, 55,
289 55, 55, 55, 55, 55, 55, 0, 0, 55, 55,
290 0, 0, 0, 0, 55, 0, 52, 0, 0, 0,
291 55, 88, 55, 55, 55, 55, 55, 0, 55, 55,
292 55, 55, 55, 55, 55, 55, 55, 0, 55, 0,
293 55, 55, 55, 55, 55, 0, 52, 52, 0, 0,
294 0, 0, 85, 85, 33, 85, 85, 85, 33, 33,
295 85, 0, 0, 33, 33, 0, 0, 0, 0, 85,
296 0, 0, 0, 0, 0, 33, 0, 33, 33, 33,
297 85, 33, 0, 85, 33, 33, 33, 33, 33, 33,
298 33, 33, 0, 33, 0, 33, 33, 33, 33, 33,
299 0, 0, 0, 0, 0, 0, 0, 23, 23, 23,
300 23, 23, 23, 23, 23, 23, 0, 0, 23, 23,
301 0, 0, 0, 0, 23, 0, 115, 115, 115, 0,
302 23, 0, 23, 23, 23, 23, 23, 0, 23, 23,
303 0, 23, 23, 23, 23, 23, 23, 0, 23, 0,
304 23, 23, 23, 23, 23, 16, 16, 88, 88, 88,
305 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
306 0, 0, 117, 117, 117, 0, 0, 0, 0, 0,
307 52, 52, 33, 52, 52, 52, 33, 33, 52, 0,
308 0, 33, 33, 51, 0, 0, 0, 52, 0, 0,
309 0, 16, 16, 33, 0, 33, 33, 33, 52, 33,
310 0, 52, 33, 33, 33, 33, 33, 33, 33, 33,
311 0, 33, 0, 33, 33, 33, 33, 33, 0, 0,
312 51, 0, 0, 33, 51, 51, 51, 51, 51, 0,
313 51, 0, 0, 0, 0, 0, 0, 41, 0, 0,
314 0, 51, 51, 33, 0, 33, 33, 0, 0, 0,
315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
317 0, 0, 0, 0, 41, 0, 51, 33, 41, 41,
318 41, 41, 41, 0, 41, 0, 0, 0, 0, 0,
319 0, 42, 0, 0, 0, 41, 41, 33, 0, 33,
320 33, 0, 0, 0, 0, 0, 51, 51, 0, 0,
321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
322 0, 0, 0, 0, 0, 0, 0, 0, 42, 0,
323 41, 33, 42, 42, 42, 42, 42, 0, 42, 0,
324 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,
325 42, 33, 0, 33, 33, 0, 0, 0, 0, 0,
326 41, 41, 0, 0, 0, 43, 0, 0, 0, 0,
327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
328 0, 0, 0, 0, 42, 0, 0, 0, 0, 0,
329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
330 0, 0, 43, 0, 0, 33, 43, 43, 43, 43,
331 43, 0, 43, 0, 42, 42, 0, 0, 0, 0,
332 0, 0, 0, 43, 43, 33, 0, 33, 33, 0,
333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
334 51, 51, 33, 51, 51, 51, 33, 33, 51, 0,
335 0, 33, 33, 0, 0, 0, 0, 51, 43, 0,
336 0, 0, 0, 33, 0, 33, 33, 33, 51, 33,
337 0, 51, 33, 33, 33, 33, 33, 33, 33, 33,
338 0, 33, 0, 33, 33, 33, 33, 33, 43, 43,
339 0, 0, 0, 0, 41, 41, 33, 41, 41, 41,
340 33, 33, 41, 0, 0, 33, 33, 0, 0, 0,
341 0, 41, 0, 0, 0, 0, 0, 33, 0, 33,
342 33, 33, 41, 33, 0, 41, 33, 33, 33, 33,
343 33, 33, 33, 33, 0, 33, 0, 33, 33, 33,
344 33, 33, 0, 0, 0, 0, 0, 0, 42, 42,
345 33, 42, 42, 42, 33, 33, 42, 0, 0, 33,
346 33, 0, 0, 0, 0, 42, 0, 0, 0, 0,
347 0, 33, 0, 33, 33, 33, 42, 33, 0, 42,
348 33, 33, 33, 33, 33, 33, 33, 33, 0, 33,
349 0, 33, 33, 33, 33, 33, 0, 0, 0, 0,
350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
352 0, 0, 43, 43, 33, 43, 43, 43, 33, 33,
353 43, 0, 0, 33, 33, 44, 0, 0, 0, 43,
354 0, 0, 0, 0, 0, 33, 0, 33, 33, 33,
355 43, 33, 0, 43, 33, 33, 33, 33, 33, 33,
356 33, 33, 0, 33, 0, 33, 33, 33, 33, 33,
357 0, 0, 44, 0, 0, 33, 44, 44, 44, 44,
358 44, 0, 44, 0, 0, 0, 0, 0, 0, 36,
359 0, 0, 0, 44, 44, 33, 0, 33, 33, 0,
360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
362 0, 0, 0, 0, 0, 0, 36, 0, 44, 36,
363 36, 36, 36, 36, 36, 0, 36, 0, 0, 0,
364 0, 0, 0, 0, 35, 0, 0, 36, 36, 36,
365 0, 36, 36, 0, 0, 0, 0, 0, 44, 44,
366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368 0, 35, 36, 36, 35, 35, 35, 35, 35, 35,
369 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
370 0, 36, 35, 35, 35, 0, 35, 0, 0, 0,
371 0, 0, 36, 36, 0, 0, 0, 39, 0, 0,
372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
373 0, 0, 0, 0, 0, 0, 0, 35, 35, 0,
374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
375 0, 0, 0, 0, 0, 0, 35, 33, 39, 0,
376 39, 39, 39, 0, 0, 0, 0, 35, 35, 0,
377 0, 0, 0, 0, 0, 39, 39, 33, 0, 33,
378 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,
379 0, 0, 44, 44, 33, 44, 44, 44, 33, 33,
380 44, 0, 0, 33, 33, 0, 0, 0, 0, 44,
381 39, 0, 0, 0, 0, 33, 0, 33, 33, 33,
382 44, 33, 0, 44, 33, 33, 33, 33, 33, 33,
383 33, 33, 0, 33, 0, 33, 33, 33, 33, 33,
384 39, 39, 0, 0, 0, 0, 36, 36, 36, 36,
385 36, 36, 36, 36, 36, 0, 0, 36, 36, 0,
386 0, 0, 0, 36, 0, 0, 0, 0, 0, 36,
387 0, 36, 36, 36, 36, 36, 0, 0, 36, 36,
388 36, 36, 36, 36, 36, 36, 0, 36, 0, 36,
389 0, 0, 36, 36, 0, 0, 0, 0, 0, 0,
390 0, 35, 35, 35, 35, 35, 35, 35, 35, 35,
391 0, 0, 35, 35, 0, 0, 0, 0, 35, 0,
392 0, 0, 0, 0, 35, 14, 35, 35, 35, 35,
393 35, 0, 35, 0, 0, 35, 35, 35, 35, 35,
394 35, 0, 35, 0, 35, 35, 35, 35, 35, 0,
395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
396 0, 0, 0, 0, 0, 14, 0, 0, 14, 0,
397 14, 0, 0, 0, 39, 39, 33, 39, 39, 39,
398 33, 33, 39, 40, 14, 33, 33, 0, 0, 0,
399 0, 39, 0, 0, 0, 0, 0, 33, 0, 33,
400 33, 33, 39, 33, 0, 39, 33, 33, 33, 33,
401 33, 33, 33, 33, 0, 33, 0, 33, 33, 33,
402 33, 33, 0, 33, 40, 0, 40, 40, 40, 0,
403 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
404 0, 40, 40, 33, 0, 33, 33, 0, 14, 0,
405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
407 0, 33, 33, 0, 0, 33, 40, 0, 0, 34,
408 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,
409 33, 33, 0, 33, 33, 0, 0, 0, 0, 0,
410 0, 0, 0, 0, 0, 0, 40, 40, 0, 0,
411 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,
412 34, 0, 0, 34, 33, 0, 0, 0, 0, 0,
413 0, 15, 0, 0, 0, 0, 0, 34, 34, 33,
414 0, 33, 33, 0, 0, 0, 0, 0, 0, 0,
415 0, 0, 0, 0, 33, 33, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
417 0, 15, 34, 0, 15, 0, 15, 0, 0, 0,
418 0, 0, 14, 14, 14, 14, 14, 14, 14, 14,
419 15, 0, 0, 14, 14, 0, 0, 0, 0, 0,
420 0, 0, 34, 34, 0, 14, 0, 14, 14, 14,
421 14, 14, 0, 0, 0, 0, 14, 14, 14, 14,
422 0, 0, 0, 14, 0, 14, 14, 14, 14, 14,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 40, 40, 33, 40, 40, 40, 33, 33, 40, 0,
425 0, 33, 33, 35, 15, 0, 27, 40, 28, 0,
426 0, 0, 0, 33, 6, 33, 33, 33, 40, 33,
427 0, 40, 33, 33, 33, 33, 33, 33, 33, 33,
428 0, 33, 0, 33, 33, 33, 33, 33, 33, 33,
429 33, 33, 33, 33, 33, 33, 33, 0, 0, 33,
430 33, 0, 0, 0, 6, 0, 0, 6, 0, 6,
431 0, 33, 0, 33, 33, 33, 33, 33, 0, 33,
432 33, 33, 33, 33, 33, 33, 33, 33, 0, 33,
433 0, 33, 33, 33, 33, 33, 34, 34, 33, 34,
434 34, 34, 33, 33, 34, 0, 0, 33, 33, 0,
435 35, 103, 0, 27, 0, 28, 0, 0, 0, 33,
436 0, 33, 33, 33, 34, 33, 0, 34, 33, 33,
437 33, 33, 33, 33, 33, 33, 0, 33, 0, 33,
438 33, 33, 33, 33, 0, 0, 0, 6, 15, 15,
439 15, 15, 15, 15, 15, 15, 12, 0, 0, 15,
440 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 0, 15, 0, 15, 15, 15, 15, 15, 0, 0,
442 0, 0, 15, 15, 15, 15, 0, 0, 0, 15,
443 0, 15, 15, 15, 15, 15, 12, 0, 0, 12,
444 0, 12, 0, 0, 7, 0, 0, 0, 0, 0,
445 0, 0, 0, 0, 0, 12, 0, 0, 0, 0,
446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
447 0, 0, 11, 0, 123, 124, 12, 13, 0, 0,
448 0, 14, 15, 0, 7, 0, 0, 7, 0, 7,
449 0, 0, 0, 16, 5, 17, 18, 19, 0, 21,
450 0, 0, 0, 7, 22, 23, 24, 25, 0, 0,
451 0, 26, 0, 29, 30, 31, 32, 33, 0, 12,
452 0, 6, 6, 6, 0, 0, 0, 6, 6, 0,
453 0, 0, 6, 6, 5, 0, 0, 5, 0, 5,
454 0, 0, 0, 2, 6, 0, 6, 6, 6, 6,
455 6, 0, 0, 0, 0, 6, 6, 6, 6, 0,
456 0, 0, 6, 0, 6, 6, 6, 6, 6, 11,
457 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
458 0, 0, 0, 2, 0, 0, 2, 0, 2, 0,
459 16, 0, 17, 18, 19, 0, 21, 0, 0, 0,
460 0, 22, 23, 24, 25, 0, 0, 0, 26, 0,
461 29, 30, 31, 32, 33, 0, 0, 5, 0, 0,
462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
465 0, 0, 0, 12, 12, 12, 12, 0, 12, 12,
466 12, 0, 0, 0, 12, 12, 2, 0, 0, 0,
467 0, 0, 0, 0, 0, 0, 12, 0, 12, 12,
468 12, 12, 12, 0, 0, 0, 0, 12, 12, 12,
469 12, 0, 0, 0, 12, 0, 12, 12, 12, 12,
470 12, 7, 7, 7, 7, 7, 7, 7, 7, 0,
471 0, 0, 7, 7, 0, 0, 0, 0, 0, 0,
472 0, 0, 0, 0, 7, 0, 7, 7, 7, 7,
473 7, 0, 0, 0, 0, 7, 7, 7, 7, 0,
474 0, 0, 7, 0, 7, 7, 7, 7, 7, 0,
475 0, 5, 5, 5, 0, 0, 0, 5, 5, 0,
476 0, 0, 5, 5, 0, 0, 0, 0, 0, 0,
477 0, 0, 0, 0, 5, 0, 5, 5, 5, 5,
478 5, 0, 0, 0, 0, 5, 5, 5, 5, 0,
479 0, 0, 5, 0, 5, 5, 5, 5, 5, 0,
480 2, 2, 2, 0, 0, 0, 2, 2, 0, 0,
481 0, 2, 2, 58, 0, 0, 0, 0, 0, 0,
482 0, 0, 0, 2, 0, 2, 2, 2, 2, 2,
483 0, 0, 0, 0, 2, 2, 2, 2, 0, 0,
484 0, 2, 0, 2, 2, 2, 2, 2, 0, 0,
485 58, 0, 0, 58, 58, 58, 58, 58, 58, 0,
486 58, 0, 0, 0, 0, 0, 0, 0, 54, 0,
487 0, 58, 58, 58, 0, 58, 58, 0, 0, 0,
488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
490 0, 0, 0, 0, 0, 54, 58, 58, 54, 54,
491 54, 54, 54, 54, 0, 54, 0, 0, 0, 0,
492 0, 0, 0, 0, 0, 58, 54, 54, 0, 0,
493 54, 54, 0, 0, 0, 0, 58, 58, 0, 0,
494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
496 0, 54, 54, 0, 0, 0, 0, 56, 0, 0,
497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
498 54, 0, 0, 0, 0, 0, 0, 0, 0, 0,
499 0, 54, 54, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 0, 0, 56, 0, 0, 0, 56, 56,
501 0, 56, 0, 0, 56, 0, 0, 0, 0, 0,
502 0, 0, 0, 0, 0, 56, 56, 56, 0, 56,
503 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
506 56, 56, 0, 0, 0, 0, 0, 0, 0, 0,
507 58, 58, 58, 58, 58, 58, 58, 58, 58, 56,
508 0, 58, 58, 0, 0, 0, 0, 58, 0, 0,
509 56, 56, 0, 58, 0, 58, 58, 58, 58, 58,
510 0, 58, 58, 58, 58, 0, 58, 58, 58, 58,
511 0, 58, 0, 58, 58, 58, 0, 0, 0, 0,
512 0, 0, 0, 0, 0, 54, 54, 54, 54, 54,
513 54, 54, 54, 54, 0, 0, 54, 54, 54, 0,
514 0, 0, 54, 0, 0, 0, 0, 0, 54, 0,
515 54, 54, 54, 54, 54, 0, 54, 54, 54, 54,
516 0, 54, 54, 54, 54, 0, 54, 0, 54, 54,
517 54, 0, 0, 104, 54, 106, 0, 0, 0, 0,
518 110, 111, 0, 114, 116, 117, 0, 54, 54, 121,
519 122, 0, 0, 0, 0, 0, 0, 0, 0, 0,
520 0, 0, 0, 0, 0, 132, 0, 0, 0, 137,
521 138, 139, 140, 0, 0, 0, 0, 0, 0, 0,
522 0, 0, 0, 0, 56, 56, 0, 56, 56, 56,
523 0, 0, 56, 0, 0, 0, 158, 0, 0, 0,
524 0, 56, 54, 0, 0, 0, 0, 0, 0, 186,
525 0, 0, 56, 0, 0, 56, 16, 16, 56, 56,
526 56, 56, 56, 56, 0, 0, 0, 0, 0, 0,
527 0, 0, 0, 0, 186, 186, 0, 0, 0, 197,
528 198, 0, 0, 200, 201, 202, 203, 205, 0, 0,
529 0, 0, 207, 208, 0, 54, 54, 0, 0, 0,
530 215, 0, 0, 0, 216, 0, 25, 0, 0, 0,
531 0, 0, 0, 0, 186, 227, 0, 0, 0, 0,
532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
533 0, 0, 0, 0, 0, 0, 0, 0, 252, 0,
534 0, 186, 0, 25, 0, 0, 27, 25, 25, 0,
535 25, 0, 0, 25, 264, 0, 265, 0, 266, 0,
536 267, 0, 268, 0, 25, 25, 25, 270, 25, 16,
537 0, 0, 271, 272, 0, 0, 0, 0, 0, 0,
538 54, 186, 0, 27, 0, 0, 0, 27, 27, 0,
539 27, 0, 0, 27, 26, 0, 0, 0, 0, 25,
540 25, 0, 0, 0, 27, 27, 27, 0, 27, 16,
541 0, 0, 186, 186, 186, 186, 0, 0, 25, 0,
542 186, 0, 0, 0, 0, 186, 0, 0, 0, 25,
543 25, 26, 186, 186, 57, 26, 26, 186, 26, 27,
544 27, 26, 0, 0, 0, 0, 0, 0, 0, 0,
545 0, 0, 26, 26, 26, 0, 26, 16, 27, 0,
546 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,
547 27, 57, 0, 0, 0, 57, 57, 0, 57, 0,
548 0, 57, 0, 0, 0, 0, 0, 26, 26, 0,
549 0, 0, 57, 57, 57, 0, 57, 16, 0, 0,
550 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,
551 0, 0, 0, 0, 0, 0, 0, 26, 26, 35,
552 0, 0, 27, 0, 28, 0, 0, 57, 57, 0,
553 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
554 0, 88, 0, 0, 0, 0, 57, 0, 0, 0,
555 0, 0, 0, 0, 0, 0, 0, 57, 57, 0,
556 0, 0, 0, 25, 25, 0, 25, 25, 25, 0,
557 0, 25, 0, 0, 0, 0, 0, 0, 0, 0,
558 25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
559 0, 25, 0, 0, 25, 16, 16, 25, 25, 25,
560 25, 25, 25, 27, 27, 0, 27, 27, 27, 0,
561 0, 27, 0, 0, 0, 0, 0, 0, 0, 0,
562 27, 0, 0, 0, 0, 0, 0, 0, 0, 0,
563 0, 27, 0, 0, 27, 16, 16, 27, 27, 27,
564 27, 27, 27, 0, 0, 0, 0, 0, 0, 0,
565 0, 26, 26, 0, 26, 26, 26, 0, 0, 26,
566 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
567 0, 0, 0, 88, 0, 0, 0, 0, 0, 26,
568 0, 0, 26, 16, 16, 26, 26, 26, 26, 26,
569 26, 57, 57, 0, 57, 57, 57, 0, 0, 57,
570 0, 0, 0, 0, 0, 0, 0, 0, 57, 0,
571 88, 0, 0, 29, 88, 88, 0, 88, 0, 57,
572 88, 0, 57, 16, 16, 57, 57, 57, 57, 57,
573 57, 88, 88, 88, 0, 88, 88, 0, 11, 0,
574 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
575 29, 0, 0, 0, 29, 29, 0, 29, 16, 16,
576 29, 17, 18, 19, 0, 21, 88, 88, 0, 0,
577 0, 29, 29, 0, 0, 86, 16, 26, 0, 29,
578 30, 31, 32, 33, 0, 88, 0, 0, 0, 0,
579 0, 0, 0, 0, 0, 16, 88, 88, 89, 16,
580 16, 0, 16, 0, 0, 16, 29, 29, 0, 0,
581 0, 0, 0, 0, 0, 0, 16, 16, 0, 0,
582 0, 16, 0, 0, 0, 29, 0, 0, 0, 0,
583 0, 0, 0, 0, 0, 89, 29, 29, 0, 89,
584 89, 0, 89, 90, 0, 89, 0, 0, 0, 0,
585 0, 16, 16, 0, 0, 0, 89, 89, 0, 0,
586 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,
587 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
588 90, 16, 16, 0, 90, 90, 0, 90, 0, 0,
589 90, 89, 89, 0, 0, 0, 0, 0, 0, 0,
590 0, 90, 90, 0, 0, 0, 16, 0, 0, 0,
591 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
592 0, 89, 89, 0, 35, 231, 0, 27, 232, 28,
593 88, 88, 0, 88, 88, 88, 90, 90, 88, 0,
594 0, 0, 0, 0, 87, 0, 88, 88, 0, 0,
595 0, 0, 0, 0, 0, 90, 0, 0, 88, 0,
596 0, 88, 88, 88, 0, 0, 90, 90, 88, 88,
597 29, 29, 0, 29, 29, 29, 0, 0, 29, 0,
598 0, 0, 0, 0, 0, 0, 0, 29, 0, 0,
599 35, 0, 0, 27, 0, 28, 0, 0, 29, 0,
600 0, 29, 16, 16, 29, 29, 29, 29, 29, 185,
601 0, 0, 0, 0, 0, 16, 16, 0, 16, 16,
602 16, 0, 0, 16, 0, 0, 0, 0, 0, 0,
603 0, 0, 16, 20, 0, 0, 0, 0, 0, 0,
604 0, 0, 0, 16, 0, 0, 16, 16, 16, 0,
605 0, 0, 0, 0, 0, 89, 89, 0, 89, 89,
606 89, 0, 0, 89, 0, 0, 0, 0, 0, 0,
607 20, 0, 89, 183, 20, 20, 0, 20, 86, 0,
608 20, 0, 0, 89, 0, 0, 89, 16, 16, 0,
609 0, 20, 20, 0, 0, 0, 16, 0, 0, 0,
610 90, 90, 0, 90, 90, 90, 0, 0, 90, 0,
611 0, 0, 0, 0, 0, 86, 0, 90, 0, 86,
612 86, 0, 0, 0, 0, 86, 20, 20, 90, 0,
613 0, 90, 16, 16, 0, 0, 86, 86, 0, 0,
614 0, 16, 0, 11, 0, 20, 0, 12, 13, 0,
615 0, 0, 14, 15, 0, 110, 20, 20, 110, 0,
616 110, 0, 0, 0, 16, 0, 17, 18, 19, 0,
617 21, 86, 86, 0, 110, 22, 23, 24, 25, 85,
618 86, 0, 26, 0, 29, 30, 31, 32, 33, 0,
619 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
620 0, 86, 86, 0, 0, 0, 0, 0, 0, 11,
621 170, 123, 124, 12, 13, 0, 171, 172, 14, 15,
622 173, 0, 174, 175, 0, 176, 177, 178, 179, 180,
623 16, 181, 17, 18, 19, 0, 21, 182, 110, 0,
624 110, 22, 23, 24, 25, 0, 0, 0, 26, 0,
625 29, 30, 31, 32, 33, 0, 0, 0, 0, 109,
626 0, 0, 109, 0, 109, 0, 0, 0, 0, 0,
627 0, 0, 0, 0, 0, 0, 0, 0, 109, 0,
628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
629 20, 20, 0, 20, 20, 20, 0, 0, 20, 0,
630 0, 0, 0, 0, 0, 0, 0, 20, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0, 20, 0,
632 0, 20, 16, 16, 0, 0, 0, 103, 0, 0,
633 103, 0, 103, 0, 0, 86, 86, 0, 86, 86,
634 86, 0, 109, 86, 109, 0, 103, 0, 0, 0,
635 0, 0, 86, 0, 0, 0, 0, 0, 0, 0,
636 0, 0, 0, 86, 0, 0, 86, 16, 16, 0,
637 0, 0, 0, 0, 110, 110, 0, 0, 110, 110,
638 0, 110, 110, 110, 110, 110, 110, 110, 110, 0,
639 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
640 0, 110, 110, 0, 0, 0, 110, 110, 110, 110,
641 103, 0, 103, 110, 0, 110, 110, 110, 110, 110,
642 0, 0, 0, 0, 104, 0, 0, 104, 0, 104,
643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 104, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
647 0, 0, 51, 0, 0, 27, 0, 28, 109, 109,
648 0, 0, 109, 109, 0, 109, 109, 109, 109, 109,
649 109, 109, 109, 0, 109, 109, 109, 109, 109, 109,
650 109, 109, 109, 109, 0, 109, 109, 104, 0, 104,
651 109, 109, 109, 109, 0, 0, 0, 109, 0, 109,
652 109, 109, 109, 109, 105, 0, 0, 105, 0, 105,
653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 105, 0, 0, 103, 103, 0, 0,
655 103, 103, 0, 103, 103, 103, 103, 103, 103, 103,
656 103, 0, 103, 103, 103, 103, 103, 103, 103, 103,
657 103, 103, 0, 103, 103, 0, 0, 0, 103, 103,
658 103, 103, 0, 0, 0, 103, 0, 103, 103, 103,
659 103, 103, 0, 0, 0, 0, 102, 0, 0, 102,
660 0, 102, 0, 0, 0, 0, 0, 105, 0, 105,
661 0, 0, 0, 0, 0, 102, 0, 0, 0, 0,
662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 104, 104, 0, 0, 104, 104, 0,
665 104, 104, 104, 104, 104, 104, 104, 104, 0, 104,
666 104, 104, 104, 104, 104, 104, 104, 104, 104, 0,
667 104, 104, 0, 0, 0, 104, 104, 104, 104, 102,
668 0, 102, 104, 0, 104, 104, 104, 104, 104, 108,
669 0, 11, 108, 0, 108, 12, 13, 0, 0, 0,
670 14, 15, 0, 0, 0, 0, 0, 0, 108, 0,
671 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
672 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
673 26, 0, 29, 30, 31, 32, 33, 35, 0, 0,
674 27, 0, 28, 105, 105, 0, 0, 105, 105, 0,
675 105, 105, 105, 105, 105, 105, 105, 105, 0, 105,
676 105, 105, 105, 105, 105, 105, 105, 105, 105, 0,
677 105, 105, 108, 0, 108, 105, 105, 105, 105, 0,
678 0, 0, 105, 0, 105, 105, 105, 105, 105, 137,
679 0, 0, 137, 0, 137, 0, 0, 0, 0, 0,
680 0, 0, 0, 0, 0, 0, 0, 0, 137, 0,
681 0, 0, 0, 0, 0, 102, 102, 0, 0, 102,
682 102, 0, 102, 102, 102, 102, 102, 102, 102, 102,
683 0, 102, 102, 102, 102, 102, 102, 102, 102, 102,
684 102, 0, 102, 102, 0, 0, 0, 102, 102, 102,
685 102, 0, 0, 0, 102, 0, 102, 102, 102, 102,
686 102, 35, 0, 0, 27, 0, 28, 0, 0, 0,
687 0, 0, 137, 0, 137, 0, 0, 0, 0, 0,
688 185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
690 0, 0, 0, 0, 0, 0, 0, 0, 108, 108,
691 0, 0, 108, 108, 0, 108, 108, 108, 108, 108,
692 108, 108, 108, 0, 108, 108, 108, 108, 108, 108,
693 108, 108, 108, 108, 0, 108, 108, 0, 0, 0,
694 108, 108, 108, 108, 183, 0, 184, 108, 0, 108,
695 108, 108, 108, 108, 35, 0, 11, 27, 0, 28,
696 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
697 0, 0, 0, 185, 0, 0, 0, 16, 0, 17,
698 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
699 24, 25, 0, 0, 0, 26, 0, 29, 30, 31,
700 32, 33, 35, 0, 0, 27, 0, 28, 137, 137,
701 0, 0, 137, 137, 0, 137, 137, 137, 137, 137,
702 137, 137, 137, 0, 137, 137, 137, 137, 137, 137,
703 137, 137, 137, 137, 0, 137, 137, 183, 0, 195,
704 137, 137, 137, 137, 0, 0, 0, 137, 0, 137,
705 137, 137, 137, 137, 35, 0, 0, 27, 0, 28,
706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
707 0, 0, 0, 185, 0, 0, 0, 0, 0, 0,
708 11, 170, 0, 0, 12, 13, 0, 171, 172, 14,
709 15, 173, 0, 174, 175, 0, 176, 177, 178, 179,
710 180, 16, 181, 17, 18, 19, 0, 21, 182, 0,
711 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
712 0, 29, 30, 31, 32, 33, 35, 0, 0, 27,
713 0, 28, 0, 0, 0, 0, 0, 183, 0, 196,
714 0, 0, 0, 0, 0, 185, 0, 0, 0, 0,
715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 11, 170, 0, 0, 12, 13, 0,
718 171, 172, 14, 15, 173, 0, 174, 175, 0, 176,
719 177, 178, 179, 180, 16, 181, 17, 18, 19, 0,
720 21, 182, 0, 0, 0, 22, 23, 24, 25, 183,
721 0, 226, 26, 0, 29, 30, 31, 32, 33, 35,
722 0, 113, 27, 0, 28, 12, 13, 0, 0, 0,
723 14, 15, 0, 0, 0, 0, 0, 0, 185, 0,
724 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
725 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
726 26, 0, 29, 30, 31, 32, 33, 0, 0, 0,
727 0, 0, 0, 11, 170, 0, 0, 12, 13, 0,
728 171, 172, 14, 15, 173, 0, 174, 175, 0, 176,
729 177, 178, 179, 180, 16, 181, 17, 18, 19, 0,
730 21, 182, 183, 0, 279, 22, 23, 24, 25, 0,
731 0, 0, 26, 0, 29, 30, 31, 32, 33, 35,
732 0, 0, 27, 0, 28, 0, 0, 0, 0, 0,
733 0, 0, 0, 0, 0, 0, 0, 0, 185, 0,
734 0, 0, 0, 0, 0, 11, 170, 0, 0, 12,
735 13, 0, 171, 172, 14, 15, 173, 0, 174, 175,
736 0, 176, 177, 178, 179, 180, 16, 181, 17, 18,
737 19, 0, 21, 182, 0, 0, 0, 22, 23, 24,
738 25, 0, 0, 0, 26, 0, 29, 30, 31, 32,
739 33, 107, 0, 0, 107, 0, 107, 0, 0, 0,
740 0, 0, 183, 0, 303, 0, 0, 0, 0, 0,
741 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 0, 0, 11, 170,
744 0, 0, 12, 13, 0, 171, 172, 14, 15, 173,
745 0, 174, 175, 0, 176, 177, 178, 179, 180, 16,
746 181, 17, 18, 19, 0, 21, 182, 0, 0, 0,
747 22, 23, 24, 25, 107, 0, 107, 26, 0, 29,
748 30, 31, 32, 33, 130, 0, 0, 130, 0, 130,
749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
750 0, 0, 0, 130, 0, 0, 0, 0, 0, 0,
751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
753 35, 0, 0, 27, 0, 28, 0, 0, 11, 170,
754 0, 0, 12, 13, 0, 171, 172, 14, 15, 173,
755 0, 174, 175, 0, 176, 177, 178, 179, 180, 16,
756 181, 17, 18, 19, 0, 21, 182, 130, 0, 130,
757 22, 23, 24, 25, 0, 0, 0, 26, 0, 29,
758 30, 31, 32, 33, 35, 233, 0, 27, 234, 28,
759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
760 0, 0, 0, 0, 87, 0, 88, 0, 0, 0,
761 107, 107, 0, 0, 107, 107, 0, 107, 107, 107,
762 107, 107, 0, 107, 107, 0, 107, 107, 107, 107,
763 107, 107, 107, 107, 107, 107, 0, 107, 107, 0,
764 0, 0, 107, 107, 107, 107, 0, 0, 0, 107,
765 0, 107, 107, 107, 107, 107, 35, 235, 0, 27,
766 236, 28, 0, 0, 0, 0, 0, 0, 0, 0,
767 0, 0, 0, 0, 0, 0, 87, 0, 88, 0,
768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
770 0, 0, 0, 130, 130, 0, 0, 130, 130, 0,
771 130, 130, 130, 130, 130, 0, 130, 130, 0, 130,
772 130, 130, 130, 130, 130, 130, 130, 130, 130, 0,
773 130, 130, 0, 0, 0, 130, 130, 130, 130, 0,
774 0, 0, 130, 0, 130, 130, 130, 130, 130, 11,
775 0, 0, 0, 12, 13, 0, 171, 172, 14, 15,
776 0, 0, 0, 0, 0, 176, 177, 178, 179, 180,
777 16, 0, 17, 18, 19, 0, 21, 182, 0, 0,
778 0, 22, 23, 24, 25, 0, 0, 0, 26, 0,
779 29, 30, 31, 32, 33, 35, 237, 0, 27, 238,
780 28, 0, 0, 11, 0, 0, 0, 12, 13, 0,
781 0, 0, 14, 15, 0, 87, 0, 88, 0, 0,
782 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
783 21, 0, 0, 0, 0, 22, 23, 24, 25, 85,
784 86, 0, 26, 0, 29, 30, 31, 32, 33, 35,
785 242, 0, 27, 243, 28, 0, 0, 0, 0, 0,
786 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
787 0, 88, 0, 0, 0, 11, 0, 0, 0, 12,
788 13, 0, 0, 0, 14, 15, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
790 19, 35, 21, 0, 27, 108, 28, 22, 23, 24,
791 25, 85, 86, 0, 26, 0, 29, 30, 31, 32,
792 33, 87, 0, 88, 0, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 35, 152, 0,
795 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 0, 0, 0, 0, 87, 0, 88,
797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
799 0, 0, 0, 35, 0, 0, 27, 157, 28, 0,
800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
801 0, 0, 0, 87, 11, 88, 0, 0, 12, 13,
802 0, 0, 0, 14, 15, 0, 0, 0, 0, 0,
803 0, 0, 0, 0, 0, 16, 0, 17, 18, 19,
804 35, 21, 0, 27, 160, 28, 22, 23, 24, 25,
805 85, 86, 0, 26, 0, 29, 30, 31, 32, 33,
806 87, 0, 88, 0, 0, 0, 0, 0, 11, 0,
807 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
808 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
809 0, 17, 18, 19, 35, 21, 0, 27, 162, 28,
810 22, 23, 24, 25, 85, 86, 0, 26, 0, 29,
811 30, 31, 32, 33, 87, 0, 88, 0, 0, 0,
812 11, 0, 0, 0, 12, 13, 0, 0, 0, 14,
813 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
814 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
815 0, 0, 22, 23, 24, 25, 85, 86, 0, 26,
816 0, 29, 30, 31, 32, 33, 11, 0, 0, 0,
817 12, 13, 0, 0, 35, 14, 15, 27, 163, 28,
818 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
819 18, 19, 0, 21, 87, 0, 88, 0, 22, 23,
820 24, 25, 85, 86, 0, 26, 0, 29, 30, 31,
821 32, 33, 11, 0, 0, 0, 12, 13, 0, 0,
822 35, 14, 15, 27, 168, 28, 0, 0, 0, 0,
823 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
824 87, 0, 88, 0, 22, 23, 24, 25, 85, 86,
825 0, 26, 0, 29, 30, 31, 32, 33, 0, 11,
826 0, 0, 0, 12, 13, 0, 0, 35, 14, 15,
827 27, 169, 28, 0, 0, 0, 0, 0, 0, 0,
828 16, 0, 17, 18, 19, 0, 21, 87, 0, 88,
829 0, 22, 23, 24, 25, 85, 86, 0, 26, 0,
830 29, 30, 31, 32, 33, 0, 0, 0, 0, 0,
831 0, 0, 0, 11, 0, 0, 0, 12, 13, 0,
832 0, 35, 14, 15, 27, 0, 28, 0, 0, 0,
833 0, 0, 0, 0, 16, 0, 17, 18, 19, 191,
834 21, 87, 0, 88, 0, 22, 23, 24, 25, 85,
835 86, 0, 26, 0, 29, 30, 31, 32, 33, 0,
836 0, 0, 0, 0, 0, 0, 0, 35, 240, 0,
837 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
838 0, 0, 0, 0, 0, 0, 0, 87, 0, 88,
839 0, 0, 0, 11, 0, 0, 0, 12, 13, 0,
840 0, 0, 14, 15, 0, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
842 21, 0, 0, 0, 0, 22, 23, 24, 25, 85,
843 86, 0, 26, 0, 29, 30, 31, 32, 33, 11,
844 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
846 16, 0, 17, 18, 19, 0, 21, 0, 0, 0,
847 0, 22, 23, 24, 25, 85, 86, 0, 26, 0,
848 29, 30, 31, 32, 33, 0, 11, 0, 0, 0,
849 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
850 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
851 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
852 24, 25, 85, 86, 0, 26, 0, 29, 30, 31,
853 32, 33, 35, 244, 0, 27, 0, 28, 0, 0,
854 11, 0, 0, 0, 12, 13, 0, 0, 0, 14,
855 15, 0, 87, 0, 88, 0, 0, 0, 0, 0,
856 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
857 0, 0, 22, 23, 24, 25, 85, 86, 0, 26,
858 0, 29, 30, 31, 32, 33, 11, 0, 0, 0,
859 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
860 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
861 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
862 24, 25, 85, 86, 0, 26, 0, 29, 30, 31,
863 32, 33, 35, 275, 0, 27, 0, 28, 0, 0,
864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
865 0, 0, 87, 0, 88, 0, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
867 0, 0, 0, 0, 0, 0, 0, 0, 35, 281,
868 0, 27, 0, 28, 0, 0, 0, 0, 0, 0,
869 0, 0, 0, 0, 0, 0, 0, 0, 87, 0,
870 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 0, 35, 282, 0, 27, 0, 28,
873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
874 0, 0, 0, 0, 87, 0, 88, 0, 0, 0,
875 0, 11, 0, 0, 0, 12, 13, 0, 0, 0,
876 14, 15, 0, 0, 0, 0, 0, 0, 0, 0,
877 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
878 0, 0, 0, 22, 23, 24, 25, 85, 86, 0,
879 26, 0, 29, 30, 31, 32, 33, 35, 283, 0,
880 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
881 0, 0, 0, 0, 0, 0, 0, 87, 0, 88,
882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
884 0, 0, 0, 35, 284, 0, 27, 0, 28, 0,
885 0, 11, 0, 0, 0, 12, 13, 0, 0, 0,
886 14, 15, 0, 87, 0, 88, 0, 0, 0, 0,
887 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
888 0, 0, 0, 22, 23, 24, 25, 85, 86, 0,
889 26, 0, 29, 30, 31, 32, 33, 11, 0, 0,
890 0, 12, 13, 0, 0, 0, 14, 15, 35, 0,
891 0, 27, 0, 28, 0, 0, 0, 0, 16, 0,
892 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
893 23, 24, 25, 85, 86, 0, 26, 0, 29, 30,
894 31, 32, 33, 11, 0, 0, 0, 12, 13, 0,
895 0, 0, 14, 15, 0, 0, 0, 0, 0, 0,
896 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
897 21, 0, 0, 0, 0, 22, 23, 24, 25, 85,
898 86, 0, 26, 0, 29, 30, 31, 32, 33, 35,
899 285, 34, 27, 0, 28, 0, 0, 0, 0, 0,
900 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
901 0, 88, 0, 0, 0, 0, 11, 0, 0, 0,
902 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
903 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
904 18, 19, 35, 21, 0, 27, 0, 28, 22, 23,
905 24, 25, 85, 86, 0, 26, 0, 29, 30, 31,
906 32, 33, 11, 0, 0, 0, 12, 13, 0, 0,
907 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
909 0, 0, 0, 0, 22, 23, 24, 25, 85, 86,
910 0, 26, 0, 29, 30, 31, 32, 33, 35, 287,
911 0, 27, 0, 28, 0, 0, 0, 0, 0, 0,
912 0, 0, 0, 0, 0, 9, 10, 11, 87, 0,
913 88, 12, 13, 0, 0, 0, 14, 15, 0, 0,
914 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
915 17, 18, 19, 20, 21, 0, 0, 0, 0, 22,
916 23, 24, 25, 0, 0, 0, 26, 0, 29, 30,
917 31, 32, 33, 35, 0, 0, 27, 0, 28, 0,
918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
919 0, 0, 0, 87, 0, 88, 0, 0, 0, 0,
920 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
921 0, 0, 12, 13, 0, 0, 0, 14, 15, 35,
922 0, 0, 27, 0, 28, 0, 0, 0, 0, 16,
923 0, 17, 18, 19, 0, 21, 0, 0, 291, 0,
924 22, 23, 24, 25, 85, 86, 0, 26, 0, 29,
925 30, 31, 32, 33, 0, 0, 0, 0, 0, 0,
926 0, 115, 0, 0, 0, 12, 13, 0, 0, 35,
927 14, 15, 27, 0, 28, 0, 0, 0, 0, 0,
928 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
929 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
930 26, 0, 29, 30, 31, 32, 33, 0, 0, 0,
931 0, 0, 0, 0, 0, 35, 0, 0, 27, 0,
932 28, 0, 0, 0, 0, 0, 0, 11, 0, 0,
933 0, 12, 13, 0, 0, 0, 14, 15, 0, 0,
934 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
935 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
936 23, 24, 25, 85, 86, 0, 26, 0, 29, 30,
937 31, 32, 33, 35, 0, 0, 27, 0, 28, 0,
938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
939 0, 0, 11, 0, 0, 0, 12, 13, 0, 0,
940 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
941 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
942 0, 0, 0, 0, 22, 23, 24, 25, 85, 86,
943 0, 26, 0, 29, 30, 31, 32, 33, 11, 0,
944 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
945 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
946 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
947 22, 23, 24, 25, 0, 0, 0, 26, 0, 29,
948 30, 31, 32, 33, 0, 0, 0, 0, 136, 0,
949 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
950 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
951 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
952 22, 23, 24, 25, 0, 0, 0, 26, 0, 29,
953 30, 31, 32, 33, 204, 0, 0, 0, 12, 13,
954 0, 0, 0, 14, 15, 0, 0, 101, 102, 0,
955 0, 0, 0, 0, 0, 16, 0, 17, 18, 19,
956 0, 21, 0, 0, 0, 0, 22, 23, 24, 25,
957 0, 0, 0, 26, 0, 29, 30, 31, 32, 33,
958 131, 0, 133, 134, 0, 0, 0, 0, 0, 0,
959 0, 0, 263, 0, 0, 0, 12, 13, 0, 0,
960 0, 14, 15, 0, 0, 0, 0, 0, 155, 156,
961 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
962 0, 0, 0, 0, 22, 23, 24, 25, 0, 0,
963 0, 26, 0, 29, 30, 31, 32, 33, 0, 0,
964 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
965 68, 0, 0, 0, 0, 72, 0, 0, 0, 0,
966 0, 0, 0, 89, 0, 0, 0, 0, 0, 0,
967 209, 0, 0, 0, 0, 0, 89, 0, 0, 0,
968 0, 217, 0, 219, 0, 220, 0, 0, 0, 0,
969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
970 0, 0, 0, 0, 0, 0, 241, 0, 0, 0,
971 0, 0, 0, 142, 143, 144, 145, 146, 147, 0,
972 0, 258, 259, 260, 261, 262, 89, 0, 89, 0,
973 0, 0, 89, 89, 0, 0, 89, 0, 89, 89,
974 0, 0, 0, 89, 89, 0, 0, 0, 0, 0,
975 0, 0, 0, 0, 89, 0, 0, 0, 0, 89,
976 89, 89, 89, 0, 0, 0, 0, 0, 0, 286,
977 0, 0, 0, 288, 289, 290, 0, 0, 0, 295,
978 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
980 0, 0, 0, 0, 308, 309, 0, 0, 89, 0,
981 313, 0, 0, 0, 0, 0, 0, 0, 0, 89,
982 89, 0, 89, 89, 89, 89, 0, 89, 0, 89,
983 89, 0, 0, 0, 0, 0, 0, 89, 89, 0,
984 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,
985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, 89, 0, 0, 0, 0, 0,
988 0, 0, 0, 0, 0, 0, 89, 89, 89, 89,
991 short yycheck[] = { 41,
992 0, 123, 62, 123, 41, 59, 41, 59, 214, 63,
993 59, 63, 123, 63, 59, 63, 94, 59, 50, 38,
994 35, 63, 35, 291, 41, 286, 63, 41, 63, 91,
995 41, 63, 64, 301, 112, 40, 51, 37, 51, 7,
996 40, 41, 42, 43, 44, 45, 63, 47, 59, 63,
997 35, 41, 63, 41, 44, 0, 44, 41, 58, 59,
998 60, 29, 62, 63, 124, 44, 51, 35, 261, 262,
999 37, 40, 261, 60, 288, 42, 43, 40, 45, 63,
1000 47, 101, 102, 51, 63, 291, 118, 301, 302, 60,
1001 40, 16, 37, 93, 94, 301, 41, 42, 43, 44,
1002 45, 63, 47, 40, 63, 30, 31, 40, 292, 40,
1003 0, 131, 112, 58, 59, 60, 84, 62, 63, 303,
1004 304, 40, 40, 123, 124, 123, 40, 94, 44, 112,
1005 98, 41, 41, 37, 63, 41, 63, 292, 42, 171,
1006 172, 261, 262, 47, 280, 112, 41, 37, 93, 94,
1007 40, 41, 42, 43, 41, 45, 44, 47, 44, 93,
1008 292, 41, 41, 40, 40, 133, 134, 112, 58, 59,
1009 60, 40, 62, 63, 292, 290, 195, 41, 123, 124,
1010 59, 59, 272, 91, 41, 40, 93, 271, 41, 41,
1011 94, 0, 41, 93, 59, 41, -1, 51, -1, 219,
1012 -1, 211, -1, 93, 94, 265, -1, -1, 112, 41,
1013 -1, 260, 261, 262, -1, 260, 261, 262, 260, 261,
1014 262, -1, 112, 148, 256, 40, -1, 59, 43, -1,
1015 45, 63, -1, 123, 124, 289, 290, 289, 290, 289,
1016 290, 289, 290, -1, 212, 213, -1, 289, 290, 260,
1017 261, 262, 289, 290, 289, 290, -1, 257, 258, 259,
1018 260, 261, 262, 263, 264, 265, 286, -1, 268, 269,
1019 -1, -1, 289, 290, 274, 289, 290, -1, 289, 290,
1020 280, 41, 282, 283, 284, 285, 286, -1, 288, 289,
1021 290, 291, 292, 293, 294, 295, 296, -1, 298, 59,
1022 300, 301, 302, 303, 304, 289, 290, 274, 276, -1,
1023 289, 290, 257, 258, 259, 260, 261, 262, 263, 264,
1024 265, 292, -1, 268, 269, 293, -1, 289, 290, 274,
1025 289, 290, 303, 304, -1, 280, 41, 282, 283, 284,
1026 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
1027 295, 296, -1, 298, 59, 300, 301, 302, 303, 304,
1028 289, 290, 289, 290, -1, -1, -1, 257, 258, 259,
1029 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
1030 0, 260, 261, 262, 274, -1, -1, -1, -1, -1,
1031 280, -1, 282, 283, 284, 285, 286, 41, 288, 289,
1032 290, 291, 292, 293, 294, 295, 296, -1, 298, -1,
1033 300, 301, 302, 303, 304, 59, -1, 37, -1, -1,
1034 40, 41, 42, 43, 44, 45, -1, 47, 260, 261,
1035 262, -1, -1, -1, -1, 0, -1, -1, 58, 59,
1036 -1, -1, 62, 63, 259, -1, -1, 217, 263, 264,
1037 -1, -1, -1, 268, 269, -1, -1, 289, 290, -1,
1038 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1039 -1, 286, 37, 93, 94, 40, 41, 42, 43, 44,
1040 45, -1, 47, 298, -1, 300, 301, 302, 303, 304,
1041 0, -1, 112, 58, 59, 60, -1, 62, 63, -1,
1042 260, 261, 262, 123, 124, -1, -1, -1, -1, -1,
1043 -1, -1, -1, -1, -1, -1, -1, -1, 288, 289,
1044 290, -1, -1, -1, -1, -1, -1, 37, 93, 94,
1045 40, 41, 42, 43, 44, 45, -1, 47, 308, 309,
1046 -1, -1, -1, 313, -1, -1, -1, 41, 58, 59,
1047 60, -1, 62, 63, -1, 260, 261, 262, 123, 124,
1048 -1, -1, -1, 0, -1, 59, -1, -1, -1, 63,
1049 -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
1050 -1, -1, -1, 93, 94, -1, -1, -1, -1, -1,
1051 -1, -1, -1, 41, -1, -1, 59, -1, -1, 62,
1052 37, -1, 112, 40, 41, 42, 43, 44, 45, -1,
1053 47, 59, -1, 123, 124, 63, 260, 261, 262, -1,
1054 -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
1055 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
1056 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
1057 -1, -1, -1, -1, 274, -1, 93, -1, -1, -1,
1058 280, 124, 282, 283, 284, 285, 286, -1, 288, 289,
1059 290, 291, 292, 293, 294, 295, 296, -1, 298, -1,
1060 300, 301, 302, 303, 304, -1, 123, 124, -1, -1,
1061 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
1062 265, -1, -1, 268, 269, -1, -1, -1, -1, 274,
1063 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1064 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
1065 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
1066 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
1067 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
1068 -1, -1, -1, -1, 274, -1, 260, 261, 262, -1,
1069 280, -1, 282, 283, 284, 285, 286, -1, 288, 289,
1070 -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
1071 300, 301, 302, 303, 304, 289, 290, 260, 261, 262,
1072 -1, -1, 265, -1, -1, -1, -1, -1, -1, -1,
1073 -1, -1, 260, 261, 262, -1, -1, -1, -1, -1,
1074 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
1075 -1, 268, 269, 0, -1, -1, -1, 274, -1, -1,
1076 -1, 289, 290, 280, -1, 282, 283, 284, 285, 286,
1077 -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1078 -1, 298, -1, 300, 301, 302, 303, 304, -1, -1,
1079 37, -1, -1, 40, 41, 42, 43, 44, 45, -1,
1080 47, -1, -1, -1, -1, -1, -1, 0, -1, -1,
1081 -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
1082 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1083 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1084 -1, -1, -1, -1, 37, -1, 93, 40, 41, 42,
1085 43, 44, 45, -1, 47, -1, -1, -1, -1, -1,
1086 -1, 0, -1, -1, -1, 58, 59, 60, -1, 62,
1087 63, -1, -1, -1, -1, -1, 123, 124, -1, -1,
1088 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1089 -1, -1, -1, -1, -1, -1, -1, -1, 37, -1,
1090 93, 40, 41, 42, 43, 44, 45, -1, 47, -1,
1091 -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
1092 59, 60, -1, 62, 63, -1, -1, -1, -1, -1,
1093 123, 124, -1, -1, -1, 0, -1, -1, -1, -1,
1094 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1095 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
1096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1097 -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
1098 45, -1, 47, -1, 123, 124, -1, -1, -1, -1,
1099 -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
1100 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1101 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
1102 -1, 268, 269, -1, -1, -1, -1, 274, 93, -1,
1103 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
1104 -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1105 -1, 298, -1, 300, 301, 302, 303, 304, 123, 124,
1106 -1, -1, -1, -1, 257, 258, 259, 260, 261, 262,
1107 263, 264, 265, -1, -1, 268, 269, -1, -1, -1,
1108 -1, 274, -1, -1, -1, -1, -1, 280, -1, 282,
1109 283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
1110 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
1111 303, 304, -1, -1, -1, -1, -1, -1, 257, 258,
1112 259, 260, 261, 262, 263, 264, 265, -1, -1, 268,
1113 269, -1, -1, -1, -1, 274, -1, -1, -1, -1,
1114 -1, 280, -1, 282, 283, 284, 285, 286, -1, 288,
1115 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
1116 -1, 300, 301, 302, 303, 304, -1, -1, -1, -1,
1117 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1118 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1119 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
1120 265, -1, -1, 268, 269, 0, -1, -1, -1, 274,
1121 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1122 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
1123 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
1124 -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
1125 45, -1, 47, -1, -1, -1, -1, -1, -1, 0,
1126 -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
1127 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1128 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1129 -1, -1, -1, -1, -1, -1, 37, -1, 93, 40,
1130 41, 42, 43, 44, 45, -1, 47, -1, -1, -1,
1131 -1, -1, -1, -1, 0, -1, -1, 58, 59, 60,
1132 -1, 62, 63, -1, -1, -1, -1, -1, 123, 124,
1133 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1134 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1135 -1, 37, 93, 94, 40, 41, 42, 43, 44, 45,
1136 -1, 47, -1, -1, -1, -1, -1, -1, -1, -1,
1137 -1, 112, 58, 59, 60, -1, 62, -1, -1, -1,
1138 -1, -1, 123, 124, -1, -1, -1, 0, -1, -1,
1139 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1140 -1, -1, -1, -1, -1, -1, -1, 93, 94, -1,
1141 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1142 -1, -1, -1, -1, -1, -1, 112, 40, 41, -1,
1143 43, 44, 45, -1, -1, -1, -1, 123, 124, -1,
1144 -1, -1, -1, -1, -1, 58, 59, 60, -1, 62,
1145 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1146 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
1147 265, -1, -1, 268, 269, -1, -1, -1, -1, 274,
1148 93, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1149 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
1150 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
1151 123, 124, -1, -1, -1, -1, 257, 258, 259, 260,
1152 261, 262, 263, 264, 265, -1, -1, 268, 269, -1,
1153 -1, -1, -1, 274, -1, -1, -1, -1, -1, 280,
1154 -1, 282, 283, 284, 285, 286, -1, -1, 289, 290,
1155 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
1156 -1, -1, 303, 304, -1, -1, -1, -1, -1, -1,
1157 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1158 -1, -1, 268, 269, -1, -1, -1, -1, 274, -1,
1159 -1, -1, -1, -1, 280, 0, 282, 283, 284, 285,
1160 286, -1, 288, -1, -1, 291, 292, 293, 294, 295,
1161 296, -1, 298, -1, 300, 301, 302, 303, 304, -1,
1162 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1163 -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
1164 45, -1, -1, -1, 257, 258, 259, 260, 261, 262,
1165 263, 264, 265, 0, 59, 268, 269, -1, -1, -1,
1166 -1, 274, -1, -1, -1, -1, -1, 280, -1, 282,
1167 283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
1168 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
1169 303, 304, -1, 40, 41, -1, 43, 44, 45, -1,
1170 -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
1171 -1, 58, 59, 60, -1, 62, 63, -1, 123, -1,
1172 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1173 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1174 -1, 40, 41, -1, -1, 44, 93, -1, -1, 0,
1175 -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
1176 59, 60, -1, 62, 63, -1, -1, -1, -1, -1,
1177 -1, -1, -1, -1, -1, -1, 123, 124, -1, -1,
1178 -1, -1, -1, -1, -1, -1, -1, -1, -1, 40,
1179 41, -1, -1, 44, 93, -1, -1, -1, -1, -1,
1180 -1, 0, -1, -1, -1, -1, -1, 58, 59, 60,
1181 -1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
1182 -1, -1, -1, -1, 123, 124, -1, -1, -1, -1,
1183 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1184 -1, 40, 93, -1, 43, -1, 45, -1, -1, -1,
1185 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
1186 59, -1, -1, 268, 269, -1, -1, -1, -1, -1,
1187 -1, -1, 123, 124, -1, 280, -1, 282, 283, 284,
1188 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
1189 -1, -1, -1, 298, -1, 300, 301, 302, 303, 304,
1190 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1191 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
1192 -1, 268, 269, 40, 123, -1, 43, 274, 45, -1,
1193 -1, -1, -1, 280, 0, 282, 283, 284, 285, 286,
1194 -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1195 -1, 298, -1, 300, 301, 302, 303, 304, 257, 258,
1196 259, 260, 261, 262, 263, 264, 265, -1, -1, 268,
1197 269, -1, -1, -1, 40, -1, -1, 43, -1, 45,
1198 -1, 280, -1, 282, 283, 284, 285, 286, -1, 288,
1199 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
1200 -1, 300, 301, 302, 303, 304, 257, 258, 259, 260,
1201 261, 262, 263, 264, 265, -1, -1, 268, 269, -1,
1202 40, 41, -1, 43, -1, 45, -1, -1, -1, 280,
1203 -1, 282, 283, 284, 285, 286, -1, 288, 289, 290,
1204 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
1205 301, 302, 303, 304, -1, -1, -1, 123, 257, 258,
1206 259, 260, 261, 262, 263, 264, 0, -1, -1, 268,
1207 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1208 -1, 280, -1, 282, 283, 284, 285, 286, -1, -1,
1209 -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
1210 -1, 300, 301, 302, 303, 304, 40, -1, -1, 43,
1211 -1, 45, -1, -1, 0, -1, -1, -1, -1, -1,
1212 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
1213 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1214 -1, -1, 259, -1, 261, 262, 263, 264, -1, -1,
1215 -1, 268, 269, -1, 40, -1, -1, 43, -1, 45,
1216 -1, -1, -1, 280, 0, 282, 283, 284, -1, 286,
1217 -1, -1, -1, 59, 291, 292, 293, 294, -1, -1,
1218 -1, 298, -1, 300, 301, 302, 303, 304, -1, 123,
1219 -1, 257, 258, 259, -1, -1, -1, 263, 264, -1,
1220 -1, -1, 268, 269, 40, -1, -1, 43, -1, 45,
1221 -1, -1, -1, 0, 280, -1, 282, 283, 284, 285,
1222 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
1223 -1, -1, 298, -1, 300, 301, 302, 303, 304, 259,
1224 -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
1225 -1, -1, -1, 40, -1, -1, 43, -1, 45, -1,
1226 280, -1, 282, 283, 284, -1, 286, -1, -1, -1,
1227 -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
1228 300, 301, 302, 303, 304, -1, -1, 123, -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, -1, -1, -1, -1, -1, -1, -1,
1232 -1, -1, -1, 257, 258, 259, 260, -1, 262, 263,
1233 264, -1, -1, -1, 268, 269, 123, -1, -1, -1,
1234 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
1235 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
1236 294, -1, -1, -1, 298, -1, 300, 301, 302, 303,
1237 304, 257, 258, 259, 260, 261, 262, 263, 264, -1,
1238 -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
1239 -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
1240 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
1241 -1, -1, 298, -1, 300, 301, 302, 303, 304, -1,
1242 -1, 257, 258, 259, -1, -1, -1, 263, 264, -1,
1243 -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
1244 -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
1245 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
1246 -1, -1, 298, -1, 300, 301, 302, 303, 304, -1,
1247 257, 258, 259, -1, -1, -1, 263, 264, -1, -1,
1248 -1, 268, 269, 0, -1, -1, -1, -1, -1, -1,
1249 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
1250 -1, -1, -1, -1, 291, 292, 293, 294, -1, -1,
1251 -1, 298, -1, 300, 301, 302, 303, 304, -1, -1,
1252 37, -1, -1, 40, 41, 42, 43, 44, 45, -1,
1253 47, -1, -1, -1, -1, -1, -1, -1, 0, -1,
1254 -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
1255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1256 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1257 -1, -1, -1, -1, -1, 37, 93, 94, 40, 41,
1258 42, 43, 44, 45, -1, 47, -1, -1, -1, -1,
1259 -1, -1, -1, -1, -1, 112, 58, 59, -1, -1,
1260 62, 63, -1, -1, -1, -1, 123, 124, -1, -1,
1261 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1262 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1263 -1, 93, 94, -1, -1, -1, -1, 0, -1, -1,
1264 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1265 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1266 -1, 123, 124, -1, -1, -1, -1, -1, -1, -1,
1267 -1, -1, -1, -1, 37, -1, -1, -1, 41, 42,
1268 -1, 44, -1, -1, 47, -1, -1, -1, -1, -1,
1269 -1, -1, -1, -1, -1, 58, 59, 60, -1, 62,
1270 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1271 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1273 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
1274 257, 258, 259, 260, 261, 262, 263, 264, 265, 112,
1275 -1, 268, 269, -1, -1, -1, -1, 274, -1, -1,
1276 123, 124, -1, 280, -1, 282, 283, 284, 285, 286,
1277 -1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
1278 -1, 298, -1, 300, 301, 302, -1, -1, -1, -1,
1279 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
1280 262, 263, 264, 265, -1, -1, 268, 269, 14, -1,
1281 -1, -1, 274, -1, -1, -1, -1, -1, 280, -1,
1282 282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
1283 -1, 293, 294, 295, 296, -1, 298, -1, 300, 301,
1284 302, -1, -1, 49, 50, 51, -1, -1, -1, -1,
1285 56, 57, -1, 59, 60, 61, -1, 63, 64, 65,
1286 66, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1287 -1, -1, -1, -1, -1, 81, -1, -1, -1, 85,
1288 86, 87, 88, -1, -1, -1, -1, -1, -1, -1,
1289 -1, -1, -1, -1, 257, 258, -1, 260, 261, 262,
1290 -1, -1, 265, -1, -1, -1, 112, -1, -1, -1,
1291 -1, 274, 118, -1, -1, -1, -1, -1, -1, 125,
1292 -1, -1, 285, -1, -1, 288, 289, 290, 291, 292,
1293 293, 294, 295, 296, -1, -1, -1, -1, -1, -1,
1294 -1, -1, -1, -1, 150, 151, -1, -1, -1, 155,
1295 156, -1, -1, 159, 160, 161, 162, 163, -1, -1,
1296 -1, -1, 168, 169, -1, 171, 172, -1, -1, -1,
1297 176, -1, -1, -1, 180, -1, 0, -1, -1, -1,
1298 -1, -1, -1, -1, 190, 191, -1, -1, -1, -1,
1299 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1300 -1, -1, -1, -1, -1, -1, -1, -1, 214, -1,
1301 -1, 217, -1, 37, -1, -1, 0, 41, 42, -1,
1302 44, -1, -1, 47, 230, -1, 232, -1, 234, -1,
1303 236, -1, 238, -1, 58, 59, 60, 243, 62, 63,
1304 -1, -1, 248, 249, -1, -1, -1, -1, -1, -1,
1305 256, 257, -1, 37, -1, -1, -1, 41, 42, -1,
1306 44, -1, -1, 47, 0, -1, -1, -1, -1, 93,
1307 94, -1, -1, -1, 58, 59, 60, -1, 62, 63,
1308 -1, -1, 288, 289, 290, 291, -1, -1, 112, -1,
1309 296, -1, -1, -1, -1, 301, -1, -1, -1, 123,
1310 124, 37, 308, 309, 0, 41, 42, 313, 44, 93,
1311 94, 47, -1, -1, -1, -1, -1, -1, -1, -1,
1312 -1, -1, 58, 59, 60, -1, 62, 63, 112, -1,
1313 -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
1314 124, 37, -1, -1, -1, 41, 42, -1, 44, -1,
1315 -1, 47, -1, -1, -1, -1, -1, 93, 94, -1,
1316 -1, -1, 58, 59, 60, -1, 62, 63, -1, -1,
1317 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
1318 -1, -1, -1, -1, -1, -1, -1, 123, 124, 40,
1319 -1, -1, 43, -1, 45, -1, -1, 93, 94, -1,
1320 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1321 -1, 62, -1, -1, -1, -1, 112, -1, -1, -1,
1322 -1, -1, -1, -1, -1, -1, -1, 123, 124, -1,
1323 -1, -1, -1, 257, 258, -1, 260, 261, 262, -1,
1324 -1, 265, -1, -1, -1, -1, -1, -1, -1, -1,
1325 274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1326 -1, 285, -1, -1, 288, 289, 290, 291, 292, 293,
1327 294, 295, 296, 257, 258, -1, 260, 261, 262, -1,
1328 -1, 265, -1, -1, -1, -1, -1, -1, -1, -1,
1329 274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1330 -1, 285, -1, -1, 288, 289, 290, 291, 292, 293,
1331 294, 295, 296, -1, -1, -1, -1, -1, -1, -1,
1332 -1, 257, 258, -1, 260, 261, 262, -1, -1, 265,
1333 -1, -1, -1, -1, -1, -1, -1, -1, 274, -1,
1334 -1, -1, -1, 0, -1, -1, -1, -1, -1, 285,
1335 -1, -1, 288, 289, 290, 291, 292, 293, 294, 295,
1336 296, 257, 258, -1, 260, 261, 262, -1, -1, 265,
1337 -1, -1, -1, -1, -1, -1, -1, -1, 274, -1,
1338 37, -1, -1, 0, 41, 42, -1, 44, -1, 285,
1339 47, -1, 288, 289, 290, 291, 292, 293, 294, 295,
1340 296, 58, 59, 60, -1, 62, 63, -1, 259, -1,
1341 -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
1342 37, -1, -1, -1, 41, 42, -1, 44, 0, 280,
1343 47, 282, 283, 284, -1, 286, 93, 94, -1, -1,
1344 -1, 58, 59, -1, -1, 296, 63, 298, -1, 300,
1345 301, 302, 303, 304, -1, 112, -1, -1, -1, -1,
1346 -1, -1, -1, -1, -1, 37, 123, 124, 0, 41,
1347 42, -1, 44, -1, -1, 47, 93, 94, -1, -1,
1348 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
1349 -1, 63, -1, -1, -1, 112, -1, -1, -1, -1,
1350 -1, -1, -1, -1, -1, 37, 123, 124, -1, 41,
1351 42, -1, 44, 0, -1, 47, -1, -1, -1, -1,
1352 -1, 93, 94, -1, -1, -1, 58, 59, -1, -1,
1353 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1354 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1355 37, 123, 124, -1, 41, 42, -1, 44, -1, -1,
1356 47, 93, 94, -1, -1, -1, -1, -1, -1, -1,
1357 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
1358 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1359 -1, 123, 124, -1, 40, 41, -1, 43, 44, 45,
1360 257, 258, -1, 260, 261, 262, 93, 94, 265, -1,
1361 -1, -1, -1, -1, 60, -1, 62, 274, -1, -1,
1362 -1, -1, -1, -1, -1, 112, -1, -1, 285, -1,
1363 -1, 288, 289, 290, -1, -1, 123, 124, 295, 296,
1364 257, 258, -1, 260, 261, 262, -1, -1, 265, -1,
1365 -1, -1, -1, -1, -1, -1, -1, 274, -1, -1,
1366 40, -1, -1, 43, -1, 45, -1, -1, 285, -1,
1367 -1, 288, 289, 290, 291, 292, 293, 294, 295, 59,
1368 -1, -1, -1, -1, -1, 257, 258, -1, 260, 261,
1369 262, -1, -1, 265, -1, -1, -1, -1, -1, -1,
1370 -1, -1, 274, 0, -1, -1, -1, -1, -1, -1,
1371 -1, -1, -1, 285, -1, -1, 288, 289, 290, -1,
1372 -1, -1, -1, -1, -1, 257, 258, -1, 260, 261,
1373 262, -1, -1, 265, -1, -1, -1, -1, -1, -1,
1374 37, -1, 274, 123, 41, 42, -1, 44, 0, -1,
1375 47, -1, -1, 285, -1, -1, 288, 289, 290, -1,
1376 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
1377 257, 258, -1, 260, 261, 262, -1, -1, 265, -1,
1378 -1, -1, -1, -1, -1, 37, -1, 274, -1, 41,
1379 42, -1, -1, -1, -1, 47, 93, 94, 285, -1,
1380 -1, 288, 289, 290, -1, -1, 58, 59, -1, -1,
1381 -1, 63, -1, 259, -1, 112, -1, 263, 264, -1,
1382 -1, -1, 268, 269, -1, 40, 123, 124, 43, -1,
1383 45, -1, -1, -1, 280, -1, 282, 283, 284, -1,
1384 286, 93, 94, -1, 59, 291, 292, 293, 294, 295,
1385 296, -1, 298, -1, 300, 301, 302, 303, 304, -1,
1386 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1387 -1, 123, 124, -1, -1, -1, -1, -1, -1, 259,
1388 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
1389 270, -1, 272, 273, -1, 275, 276, 277, 278, 279,
1390 280, 281, 282, 283, 284, -1, 286, 287, 123, -1,
1391 125, 291, 292, 293, 294, -1, -1, -1, 298, -1,
1392 300, 301, 302, 303, 304, -1, -1, -1, -1, 40,
1393 -1, -1, 43, -1, 45, -1, -1, -1, -1, -1,
1394 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
1395 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1396 257, 258, -1, 260, 261, 262, -1, -1, 265, -1,
1397 -1, -1, -1, -1, -1, -1, -1, 274, -1, -1,
1398 -1, -1, -1, -1, -1, -1, -1, -1, 285, -1,
1399 -1, 288, 289, 290, -1, -1, -1, 40, -1, -1,
1400 43, -1, 45, -1, -1, 257, 258, -1, 260, 261,
1401 262, -1, 123, 265, 125, -1, 59, -1, -1, -1,
1402 -1, -1, 274, -1, -1, -1, -1, -1, -1, -1,
1403 -1, -1, -1, 285, -1, -1, 288, 289, 290, -1,
1404 -1, -1, -1, -1, 259, 260, -1, -1, 263, 264,
1405 -1, 266, 267, 268, 269, 270, 271, 272, 273, -1,
1406 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1407 -1, 286, 287, -1, -1, -1, 291, 292, 293, 294,
1408 123, -1, 125, 298, -1, 300, 301, 302, 303, 304,
1409 -1, -1, -1, -1, 40, -1, -1, 43, -1, 45,
1410 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1411 -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
1412 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1413 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1414 -1, -1, 40, -1, -1, 43, -1, 45, 259, 260,
1415 -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
1416 271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
1417 281, 282, 283, 284, -1, 286, 287, 123, -1, 125,
1418 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
1419 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
1420 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1421 -1, -1, -1, 59, -1, -1, 259, 260, -1, -1,
1422 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
1423 273, -1, 275, 276, 277, 278, 279, 280, 281, 282,
1424 283, 284, -1, 286, 287, -1, -1, -1, 291, 292,
1425 293, 294, -1, -1, -1, 298, -1, 300, 301, 302,
1426 303, 304, -1, -1, -1, -1, 40, -1, -1, 43,
1427 -1, 45, -1, -1, -1, -1, -1, 123, -1, 125,
1428 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
1429 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1430 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1431 -1, -1, -1, 259, 260, -1, -1, 263, 264, -1,
1432 266, 267, 268, 269, 270, 271, 272, 273, -1, 275,
1433 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
1434 286, 287, -1, -1, -1, 291, 292, 293, 294, 123,
1435 -1, 125, 298, -1, 300, 301, 302, 303, 304, 40,
1436 -1, 259, 43, -1, 45, 263, 264, -1, -1, -1,
1437 268, 269, -1, -1, -1, -1, -1, -1, 59, -1,
1438 -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
1439 -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
1440 298, -1, 300, 301, 302, 303, 304, 40, -1, -1,
1441 43, -1, 45, 259, 260, -1, -1, 263, 264, -1,
1442 266, 267, 268, 269, 270, 271, 272, 273, -1, 275,
1443 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
1444 286, 287, 123, -1, 125, 291, 292, 293, 294, -1,
1445 -1, -1, 298, -1, 300, 301, 302, 303, 304, 40,
1446 -1, -1, 43, -1, 45, -1, -1, -1, -1, -1,
1447 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
1448 -1, -1, -1, -1, -1, 259, 260, -1, -1, 263,
1449 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
1450 -1, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1451 284, -1, 286, 287, -1, -1, -1, 291, 292, 293,
1452 294, -1, -1, -1, 298, -1, 300, 301, 302, 303,
1453 304, 40, -1, -1, 43, -1, 45, -1, -1, -1,
1454 -1, -1, 123, -1, 125, -1, -1, -1, -1, -1,
1455 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1456 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1457 -1, -1, -1, -1, -1, -1, -1, -1, 259, 260,
1458 -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
1459 271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
1460 281, 282, 283, 284, -1, 286, 287, -1, -1, -1,
1461 291, 292, 293, 294, 123, -1, 125, 298, -1, 300,
1462 301, 302, 303, 304, 40, -1, 259, 43, -1, 45,
1463 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
1464 -1, -1, -1, 59, -1, -1, -1, 280, -1, 282,
1465 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
1466 293, 294, -1, -1, -1, 298, -1, 300, 301, 302,
1467 303, 304, 40, -1, -1, 43, -1, 45, 259, 260,
1468 -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
1469 271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
1470 281, 282, 283, 284, -1, 286, 287, 123, -1, 125,
1471 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
1472 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
1473 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1474 -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
1475 259, 260, -1, -1, 263, 264, -1, 266, 267, 268,
1476 269, 270, -1, 272, 273, -1, 275, 276, 277, 278,
1477 279, 280, 281, 282, 283, 284, -1, 286, 287, -1,
1478 -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
1479 -1, 300, 301, 302, 303, 304, 40, -1, -1, 43,
1480 -1, 45, -1, -1, -1, -1, -1, 123, -1, 125,
1481 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
1482 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1483 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1484 -1, -1, -1, 259, 260, -1, -1, 263, 264, -1,
1485 266, 267, 268, 269, 270, -1, 272, 273, -1, 275,
1486 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
1487 286, 287, -1, -1, -1, 291, 292, 293, 294, 123,
1488 -1, 125, 298, -1, 300, 301, 302, 303, 304, 40,
1489 -1, 259, 43, -1, 45, 263, 264, -1, -1, -1,
1490 268, 269, -1, -1, -1, -1, -1, -1, 59, -1,
1491 -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
1492 -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
1493 298, -1, 300, 301, 302, 303, 304, -1, -1, -1,
1494 -1, -1, -1, 259, 260, -1, -1, 263, 264, -1,
1495 266, 267, 268, 269, 270, -1, 272, 273, -1, 275,
1496 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
1497 286, 287, 123, -1, 125, 291, 292, 293, 294, -1,
1498 -1, -1, 298, -1, 300, 301, 302, 303, 304, 40,
1499 -1, -1, 43, -1, 45, -1, -1, -1, -1, -1,
1500 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
1501 -1, -1, -1, -1, -1, 259, 260, -1, -1, 263,
1502 264, -1, 266, 267, 268, 269, 270, -1, 272, 273,
1503 -1, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1504 284, -1, 286, 287, -1, -1, -1, 291, 292, 293,
1505 294, -1, -1, -1, 298, -1, 300, 301, 302, 303,
1506 304, 40, -1, -1, 43, -1, 45, -1, -1, -1,
1507 -1, -1, 123, -1, 125, -1, -1, -1, -1, -1,
1508 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1509 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1510 -1, -1, -1, -1, -1, -1, -1, -1, 259, 260,
1511 -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
1512 -1, 272, 273, -1, 275, 276, 277, 278, 279, 280,
1513 281, 282, 283, 284, -1, 286, 287, -1, -1, -1,
1514 291, 292, 293, 294, 123, -1, 125, 298, -1, 300,
1515 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
1516 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1517 -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
1518 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1519 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1520 40, -1, -1, 43, -1, 45, -1, -1, 259, 260,
1521 -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
1522 -1, 272, 273, -1, 275, 276, 277, 278, 279, 280,
1523 281, 282, 283, 284, -1, 286, 287, 123, -1, 125,
1524 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
1525 301, 302, 303, 304, 40, 41, -1, 43, 44, 45,
1526 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1527 -1, -1, -1, -1, 60, -1, 62, -1, -1, -1,
1528 259, 260, -1, -1, 263, 264, -1, 266, 267, 268,
1529 269, 270, -1, 272, 273, -1, 275, 276, 277, 278,
1530 279, 280, 281, 282, 283, 284, -1, 286, 287, -1,
1531 -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
1532 -1, 300, 301, 302, 303, 304, 40, 41, -1, 43,
1533 44, 45, -1, -1, -1, -1, -1, -1, -1, -1,
1534 -1, -1, -1, -1, -1, -1, 60, -1, 62, -1,
1535 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1536 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1537 -1, -1, -1, 259, 260, -1, -1, 263, 264, -1,
1538 266, 267, 268, 269, 270, -1, 272, 273, -1, 275,
1539 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
1540 286, 287, -1, -1, -1, 291, 292, 293, 294, -1,
1541 -1, -1, 298, -1, 300, 301, 302, 303, 304, 259,
1542 -1, -1, -1, 263, 264, -1, 266, 267, 268, 269,
1543 -1, -1, -1, -1, -1, 275, 276, 277, 278, 279,
1544 280, -1, 282, 283, 284, -1, 286, 287, -1, -1,
1545 -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
1546 300, 301, 302, 303, 304, 40, 41, -1, 43, 44,
1547 45, -1, -1, 259, -1, -1, -1, 263, 264, -1,
1548 -1, -1, 268, 269, -1, 60, -1, 62, -1, -1,
1549 -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
1550 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
1551 296, -1, 298, -1, 300, 301, 302, 303, 304, 40,
1552 41, -1, 43, 44, 45, -1, -1, -1, -1, -1,
1553 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1554 -1, 62, -1, -1, -1, 259, -1, -1, -1, 263,
1555 264, -1, -1, -1, 268, 269, -1, -1, -1, -1,
1556 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
1557 284, 40, 286, -1, 43, 44, 45, 291, 292, 293,
1558 294, 295, 296, -1, 298, -1, 300, 301, 302, 303,
1559 304, 60, -1, 62, -1, -1, -1, -1, -1, -1,
1560 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1561 -1, -1, -1, -1, -1, -1, -1, 40, 41, -1,
1562 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
1563 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62,
1564 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1565 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1566 -1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
1567 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1568 -1, -1, -1, 60, 259, 62, -1, -1, 263, 264,
1569 -1, -1, -1, 268, 269, -1, -1, -1, -1, -1,
1570 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1571 40, 286, -1, 43, 44, 45, 291, 292, 293, 294,
1572 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
1573 60, -1, 62, -1, -1, -1, -1, -1, 259, -1,
1574 -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
1575 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
1576 -1, 282, 283, 284, 40, 286, -1, 43, 44, 45,
1577 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
1578 301, 302, 303, 304, 60, -1, 62, -1, -1, -1,
1579 259, -1, -1, -1, 263, 264, -1, -1, -1, 268,
1580 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1581 -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
1582 -1, -1, 291, 292, 293, 294, 295, 296, -1, 298,
1583 -1, 300, 301, 302, 303, 304, 259, -1, -1, -1,
1584 263, 264, -1, -1, 40, 268, 269, 43, 44, 45,
1585 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
1586 283, 284, -1, 286, 60, -1, 62, -1, 291, 292,
1587 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
1588 303, 304, 259, -1, -1, -1, 263, 264, -1, -1,
1589 40, 268, 269, 43, 44, 45, -1, -1, -1, -1,
1590 -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
1591 60, -1, 62, -1, 291, 292, 293, 294, 295, 296,
1592 -1, 298, -1, 300, 301, 302, 303, 304, -1, 259,
1593 -1, -1, -1, 263, 264, -1, -1, 40, 268, 269,
1594 43, 44, 45, -1, -1, -1, -1, -1, -1, -1,
1595 280, -1, 282, 283, 284, -1, 286, 60, -1, 62,
1596 -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
1597 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
1598 -1, -1, -1, 259, -1, -1, -1, 263, 264, -1,
1599 -1, 40, 268, 269, 43, -1, 45, -1, -1, -1,
1600 -1, -1, -1, -1, 280, -1, 282, 283, 284, 58,
1601 286, 60, -1, 62, -1, 291, 292, 293, 294, 295,
1602 296, -1, 298, -1, 300, 301, 302, 303, 304, -1,
1603 -1, -1, -1, -1, -1, -1, -1, 40, 41, -1,
1604 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
1605 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62,
1606 -1, -1, -1, 259, -1, -1, -1, 263, 264, -1,
1607 -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
1608 -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
1609 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
1610 296, -1, 298, -1, 300, 301, 302, 303, 304, 259,
1611 -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
1612 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1613 280, -1, 282, 283, 284, -1, 286, -1, -1, -1,
1614 -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
1615 300, 301, 302, 303, 304, -1, 259, -1, -1, -1,
1616 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
1617 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
1618 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
1619 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
1620 303, 304, 40, 41, -1, 43, -1, 45, -1, -1,
1621 259, -1, -1, -1, 263, 264, -1, -1, -1, 268,
1622 269, -1, 60, -1, 62, -1, -1, -1, -1, -1,
1623 -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
1624 -1, -1, 291, 292, 293, 294, 295, 296, -1, 298,
1625 -1, 300, 301, 302, 303, 304, 259, -1, -1, -1,
1626 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
1627 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
1628 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
1629 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
1630 303, 304, 40, 41, -1, 43, -1, 45, -1, -1,
1631 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1632 -1, -1, 60, -1, 62, -1, -1, -1, -1, -1,
1633 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1634 -1, -1, -1, -1, -1, -1, -1, -1, 40, 41,
1635 -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
1636 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
1637 62, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1638 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1639 -1, -1, -1, -1, 40, 41, -1, 43, -1, 45,
1640 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1641 -1, -1, -1, -1, 60, -1, 62, -1, -1, -1,
1642 -1, 259, -1, -1, -1, 263, 264, -1, -1, -1,
1643 268, 269, -1, -1, -1, -1, -1, -1, -1, -1,
1644 -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
1645 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
1646 298, -1, 300, 301, 302, 303, 304, 40, 41, -1,
1647 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
1648 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62,
1649 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1650 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1651 -1, -1, -1, 40, 41, -1, 43, -1, 45, -1,
1652 -1, 259, -1, -1, -1, 263, 264, -1, -1, -1,
1653 268, 269, -1, 60, -1, 62, -1, -1, -1, -1,
1654 -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
1655 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
1656 298, -1, 300, 301, 302, 303, 304, 259, -1, -1,
1657 -1, 263, 264, -1, -1, -1, 268, 269, 40, -1,
1658 -1, 43, -1, 45, -1, -1, -1, -1, 280, -1,
1659 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
1660 292, 293, 294, 295, 296, -1, 298, -1, 300, 301,
1661 302, 303, 304, 259, -1, -1, -1, 263, 264, -1,
1662 -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
1663 -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
1664 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
1665 296, -1, 298, -1, 300, 301, 302, 303, 304, 40,
1666 41, 123, 43, -1, 45, -1, -1, -1, -1, -1,
1667 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1668 -1, 62, -1, -1, -1, -1, 259, -1, -1, -1,
1669 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
1670 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
1671 283, 284, 40, 286, -1, 43, -1, 45, 291, 292,
1672 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
1673 303, 304, 259, -1, -1, -1, 263, 264, -1, -1,
1674 -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
1675 -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
1676 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
1677 -1, 298, -1, 300, 301, 302, 303, 304, 40, 41,
1678 -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
1679 -1, -1, -1, -1, -1, 257, 258, 259, 60, -1,
1680 62, 263, 264, -1, -1, -1, 268, 269, -1, -1,
1681 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
1682 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
1683 292, 293, 294, -1, -1, -1, 298, -1, 300, 301,
1684 302, 303, 304, 40, -1, -1, 43, -1, 45, -1,
1685 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1686 -1, -1, -1, 60, -1, 62, -1, -1, -1, -1,
1687 -1, -1, -1, -1, -1, -1, -1, -1, 259, -1,
1688 -1, -1, 263, 264, -1, -1, -1, 268, 269, 40,
1689 -1, -1, 43, -1, 45, -1, -1, -1, -1, 280,
1690 -1, 282, 283, 284, -1, 286, -1, -1, 59, -1,
1691 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
1692 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
1693 -1, 259, -1, -1, -1, 263, 264, -1, -1, 40,
1694 268, 269, 43, -1, 45, -1, -1, -1, -1, -1,
1695 -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
1696 -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
1697 298, -1, 300, 301, 302, 303, 304, -1, -1, -1,
1698 -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
1699 45, -1, -1, -1, -1, -1, -1, 259, -1, -1,
1700 -1, 263, 264, -1, -1, -1, 268, 269, -1, -1,
1701 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
1702 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
1703 292, 293, 294, 295, 296, -1, 298, -1, 300, 301,
1704 302, 303, 304, 40, -1, -1, 43, -1, 45, -1,
1705 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1706 -1, -1, 259, -1, -1, -1, 263, 264, -1, -1,
1707 -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
1708 -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
1709 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
1710 -1, 298, -1, 300, 301, 302, 303, 304, 259, -1,
1711 -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
1712 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
1713 -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
1714 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
1715 301, 302, 303, 304, -1, -1, -1, -1, 259, -1,
1716 -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
1717 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
1718 -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
1719 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
1720 301, 302, 303, 304, 259, -1, -1, -1, 263, 264,
1721 -1, -1, -1, 268, 269, -1, -1, 47, 48, -1,
1722 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1723 -1, 286, -1, -1, -1, -1, 291, 292, 293, 294,
1724 -1, -1, -1, 298, -1, 300, 301, 302, 303, 304,
1725 80, -1, 82, 83, -1, -1, -1, -1, -1, -1,
1726 -1, -1, 259, -1, -1, -1, 263, 264, -1, -1,
1727 -1, 268, 269, -1, -1, -1, -1, -1, 108, 109,
1728 -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
1729 -1, -1, -1, -1, 291, 292, 293, 294, -1, -1,
1730 -1, 298, -1, 300, 301, 302, 303, 304, -1, -1,
1731 -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
1732 28, -1, -1, -1, -1, 33, -1, -1, -1, -1,
1733 -1, -1, -1, 41, -1, -1, -1, -1, -1, -1,
1734 170, -1, -1, -1, -1, -1, 54, -1, -1, -1,
1735 -1, 181, -1, 183, -1, 185, -1, -1, -1, -1,
1736 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1737 -1, -1, -1, -1, -1, -1, 206, -1, -1, -1,
1738 -1, -1, -1, 91, 92, 93, 94, 95, 96, -1,
1739 -1, 221, 222, 223, 224, 225, 104, -1, 106, -1,
1740 -1, -1, 110, 111, -1, -1, 114, -1, 116, 117,
1741 -1, -1, -1, 121, 122, -1, -1, -1, -1, -1,
1742 -1, -1, -1, -1, 132, -1, -1, -1, -1, 137,
1743 138, 139, 140, -1, -1, -1, -1, -1, -1, 269,
1744 -1, -1, -1, 273, 274, 275, -1, -1, -1, 279,
1745 158, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1746 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1747 -1, -1, -1, -1, 304, 305, -1, -1, 186, -1,
1748 310, -1, -1, -1, -1, -1, -1, -1, -1, 197,
1749 198, -1, 200, 201, 202, 203, -1, 205, -1, 207,
1750 208, -1, -1, -1, -1, -1, -1, 215, 216, -1,
1751 -1, -1, -1, -1, -1, -1, -1, -1, -1, 227,
1752 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1753 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1754 -1, -1, -1, -1, 252, -1, -1, -1, -1, -1,
1755 -1, -1, -1, -1, -1, -1, 264, 265, 266, 267,
1756 268, -1, 270, 271, 272,
1762 #define YYMAXTOKEN 304
1765 "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,
1766 0,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,0,0,0,0,0,0,0,
1767 "':'","';'","'<'",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,
1768 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,
1769 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,
1770 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,
1771 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,
1772 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",
1773 "NEWLINE","COMMENT","FUN1","FUNN","GRGR","PRINT","PRINTF","SPRINTF","SPLIT",
1774 "IF","ELSE","WHILE","FOR","IN","EXIT","NEXT","BREAK","CONTINUE","RET","GETLINE",
1775 "DO","SUB","GSUB","MATCH","FUNCTION","USERFUN","DELETE","ASGNOP","OROR",
1776 "ANDAND","NUMBER","VAR","SUBSTR","INDEX","MATCHOP","RELOP","OR","STRING",
1777 "UMINUS","NOT","INCR","DECR","FIELD","VFIELD",
1780 "$accept : program",
1781 "program : junk hunks",
1782 "begin : BEGIN '{' maybe states '}' junk",
1783 "end : END '{' maybe states '}'",
1784 "end : end NEWLINE",
1785 "hunks : hunks hunk junk",
1788 "hunk : patpat '{' maybe states '}'",
1789 "hunk : FUNCTION USERFUN '(' arg_list ')' maybe '{' maybe states '}'",
1790 "hunk : '{' maybe states '}'",
1793 "arg_list : expr_list",
1795 "patpat : cond ',' cond",
1799 "cond : compound_cond",
1800 "cond : cond '?' expr ':' expr",
1801 "compound_cond : '(' compound_cond ')'",
1802 "compound_cond : cond ANDAND maybe cond",
1803 "compound_cond : cond OROR maybe cond",
1804 "compound_cond : NOT cond",
1805 "rel : expr RELOP expr",
1806 "rel : expr '>' expr",
1807 "rel : expr '<' expr",
1808 "rel : '(' rel ')'",
1809 "match : expr MATCHOP expr",
1810 "match : expr MATCHOP REGEX",
1812 "match : '(' match ')'",
1815 "expr : variable ASGNOP cond",
1819 "term : term '+' term",
1820 "term : term '-' term",
1821 "term : term '*' term",
1822 "term : term '/' term",
1823 "term : term '%' term",
1824 "term : term '^' term",
1825 "term : term IN VAR",
1826 "term : cond '?' expr ':' expr",
1827 "term : variable INCR",
1828 "term : variable DECR",
1829 "term : INCR variable",
1830 "term : DECR variable",
1833 "term : '(' cond ')'",
1835 "term : GETLINE variable",
1836 "term : GETLINE '<' expr",
1837 "term : GETLINE variable '<' expr",
1838 "term : term 'p' GETLINE",
1839 "term : term 'p' GETLINE variable",
1841 "term : FUN1 '(' ')'",
1842 "term : FUN1 '(' expr ')'",
1843 "term : FUNN '(' expr_list ')'",
1844 "term : USERFUN '(' expr_list ')'",
1845 "term : SPRINTF expr_list",
1846 "term : SUBSTR '(' expr ',' expr ',' expr ')'",
1847 "term : SUBSTR '(' expr ',' expr ')'",
1848 "term : SPLIT '(' expr ',' VAR ',' expr ')'",
1849 "term : SPLIT '(' expr ',' VAR ',' REGEX ')'",
1850 "term : SPLIT '(' expr ',' VAR ')'",
1851 "term : INDEX '(' expr ',' expr ')'",
1852 "term : MATCH '(' expr ',' REGEX ')'",
1853 "term : MATCH '(' expr ',' expr ')'",
1854 "term : SUB '(' expr ',' expr ')'",
1855 "term : SUB '(' REGEX ',' expr ')'",
1856 "term : GSUB '(' expr ',' expr ')'",
1857 "term : GSUB '(' REGEX ',' expr ')'",
1858 "term : SUB '(' expr ',' expr ',' expr ')'",
1859 "term : SUB '(' REGEX ',' expr ',' expr ')'",
1860 "term : GSUB '(' expr ',' expr ',' expr ')'",
1861 "term : GSUB '(' REGEX ',' expr ',' expr ')'",
1863 "variable : VAR '[' expr_list ']'",
1865 "variable : VFIELD term",
1867 "expr_list : clist",
1869 "clist : expr ',' maybe expr",
1870 "clist : clist ',' maybe expr",
1871 "clist : '(' clist ')'",
1872 "junk : junk hunksep",
1875 "hunksep : SEMINEW",
1876 "hunksep : NEWLINE",
1877 "hunksep : COMMENT",
1878 "maybe : maybe nlstuff",
1880 "nlstuff : NEWLINE",
1881 "nlstuff : COMMENT",
1882 "separator : ';' maybe",
1883 "separator : SEMINEW maybe",
1884 "separator : NEWLINE maybe",
1885 "separator : COMMENT maybe",
1886 "states : states statement",
1888 "statement : simple separator maybe",
1889 "statement : ';' maybe",
1890 "statement : SEMINEW maybe",
1891 "statement : compound",
1892 "simpnull : simple",
1895 "simple : PRINT expr_list redir expr",
1896 "simple : PRINT expr_list",
1897 "simple : PRINTF expr_list redir expr",
1898 "simple : PRINTF expr_list",
1902 "simple : EXIT expr",
1903 "simple : CONTINUE",
1905 "simple : RET expr",
1906 "simple : DELETE VAR '[' expr_list ']'",
1910 "compound : IF '(' cond ')' maybe statement",
1911 "compound : IF '(' cond ')' maybe statement ELSE maybe statement",
1912 "compound : WHILE '(' cond ')' maybe statement",
1913 "compound : DO maybe statement WHILE '(' cond ')'",
1914 "compound : FOR '(' simpnull ';' cond ';' simpnull ')' maybe statement",
1915 "compound : FOR '(' simpnull ';' ';' simpnull ')' maybe statement",
1916 "compound : FOR '(' expr ')' maybe statement",
1917 "compound : '{' maybe states '}' maybe",
1921 typedef int YYSTYPE;
1925 #define YYMAXDEPTH YYSTACKSIZE
1928 #define YYSTACKSIZE YYMAXDEPTH
1930 #define YYSTACKSIZE 500
1931 #define YYMAXDEPTH 500
1942 short yyss[YYSTACKSIZE];
1943 YYSTYPE yyvs[YYSTACKSIZE];
1944 #define yystacksize YYSTACKSIZE
1947 #line 1948 "y.tab.c"
1948 #define YYABORT goto yyabort
1949 #define YYREJECT goto yyabort
1950 #define YYACCEPT goto yyaccept
1951 #define YYERROR goto yyerrlab
1955 register int yym, yyn, yystate;
1958 extern char *getenv();
1960 if (yys = getenv("YYDEBUG"))
1963 if (yyn >= '0' && yyn <= '9')
1964 yydebug = yyn - '0';
1974 *yyssp = yystate = 0;
1977 if (yyn = yydefred[yystate]) goto yyreduce;
1980 if ((yychar = yylex()) < 0) yychar = 0;
1985 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1986 if (!yys) yys = "illegal-symbol";
1987 printf("%sdebug: state %d, reading %d (%s)\n",
1988 YYPREFIX, yystate, yychar, yys);
1992 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1993 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1997 printf("%sdebug: state %d, shifting to state %d\n",
1998 YYPREFIX, yystate, yytable[yyn]);
2000 if (yyssp >= yyss + yystacksize - 1)
2004 *++yyssp = yystate = yytable[yyn];
2007 if (yyerrflag > 0) --yyerrflag;
2010 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
2011 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
2016 if (yyerrflag) goto yyinrecovery;
2021 yyerror("syntax error");
2033 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
2034 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
2038 printf("%sdebug: state %d, error recovery shifting\
2039 to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
2041 if (yyssp >= yyss + yystacksize - 1)
2045 *++yyssp = yystate = yytable[yyn];
2053 printf("%sdebug: error recovery discarding state %d\n",
2056 if (yyssp <= yyss) goto yyabort;
2064 if (yychar == 0) goto yyabort;
2069 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2070 if (!yys) yys = "illegal-symbol";
2071 printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
2072 YYPREFIX, yystate, yychar, yys);
2081 printf("%sdebug: state %d, reducing by rule %d (%s)\n",
2082 YYPREFIX, yystate, yyn, yyrule[yyn]);
2085 yyval = yyvsp[1-yym];
2090 { root = oper4(OPROG,yyvsp[-1],begins,yyvsp[0],ends); }
2094 { begins = oper4(OJUNK,begins,yyvsp[-3],yyvsp[-2],yyvsp[0]); in_begin = FALSE;
2099 { ends = oper3(OJUNK,ends,yyvsp[-2],yyvsp[-1]); yyval = Nullop; }
2103 { yyval = yyvsp[-1]; }
2107 { yyval = oper3(OHUNKS,yyvsp[-2],yyvsp[-1],yyvsp[0]); }
2115 { yyval = oper1(OHUNK,yyvsp[0]); need_entire = TRUE; }
2119 { yyval = oper2(OHUNK,yyvsp[-4],oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
2123 { fixfargs(yyvsp[-8],yyvsp[-6],0); yyval = oper5(OUSERDEF,yyvsp[-8],yyvsp[-6],yyvsp[-4],yyvsp[-2],yyvsp[-1]); }
2127 { yyval = oper2(OHUNK,Nullop,oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
2131 { yyval = rememberargs(yyval); }
2135 { yyval = oper1(OPAT,yyvsp[0]); }
2139 { yyval = oper2(ORANGE,yyvsp[-2],yyvsp[0]); }
2143 { yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
2147 { yyval = oper1(OCPAREN,yyvsp[-1]); }
2151 { yyval = oper3(OCANDAND,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2155 { yyval = oper3(OCOROR,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2159 { yyval = oper1(OCNOT,yyvsp[0]); }
2163 { yyval = oper3(ORELOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
2167 { yyval = oper3(ORELOP,string(">",1),yyvsp[-2],yyvsp[0]); }
2171 { yyval = oper3(ORELOP,string("<",1),yyvsp[-2],yyvsp[0]); }
2175 { yyval = oper1(ORPAREN,yyvsp[-1]); }
2179 { yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
2183 { yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],oper1(OREGEX,yyvsp[0])); }
2187 { yyval = oper1(OREGEX,yyvsp[0]); }
2191 { yyval = oper1(OMPAREN,yyvsp[-1]); }
2195 { yyval = yyvsp[0]; }
2199 { yyval = oper2(OCONCAT,yyvsp[-1],yyvsp[0]); }
2203 { yyval = oper3(OASSIGN,yyvsp[-1],yyvsp[-2],yyvsp[0]);
2204 if ((ops[yyvsp[-2]].ival & 255) == OFLD)
2206 if ((ops[yyvsp[-2]].ival & 255) == OVFLD)
2212 { yyval = yyvsp[0]; }
2216 { yyval = oper1(ONUM,yyvsp[0]); }
2220 { yyval = oper1(OSTR,yyvsp[0]); }
2224 { yyval = oper2(OADD,yyvsp[-2],yyvsp[0]); }
2228 { yyval = oper2(OSUBTRACT,yyvsp[-2],yyvsp[0]); }
2232 { yyval = oper2(OMULT,yyvsp[-2],yyvsp[0]); }
2236 { yyval = oper2(ODIV,yyvsp[-2],yyvsp[0]); }
2240 { yyval = oper2(OMOD,yyvsp[-2],yyvsp[0]); }
2244 { yyval = oper2(OPOW,yyvsp[-2],yyvsp[0]); }
2248 { yyval = oper2(ODEFINED,aryrefarg(yyvsp[0]),yyvsp[-2]); }
2252 { yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
2256 { yyval = oper1(OPOSTINCR,yyvsp[-1]); }
2260 { yyval = oper1(OPOSTDECR,yyvsp[-1]); }
2264 { yyval = oper1(OPREINCR,yyvsp[0]); }
2268 { yyval = oper1(OPREDECR,yyvsp[0]); }
2272 { yyval = oper1(OUMINUS,yyvsp[0]); }
2276 { yyval = oper1(OUPLUS,yyvsp[0]); }
2280 { yyval = oper1(OPAREN,yyvsp[-1]); }
2284 { yyval = oper0(OGETLINE); }
2288 { yyval = oper1(OGETLINE,yyvsp[0]); }
2292 { yyval = oper3(OGETLINE,Nullop,string("<",1),yyvsp[0]);
2293 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2297 { yyval = oper3(OGETLINE,yyvsp[-2],string("<",1),yyvsp[0]);
2298 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2302 { yyval = oper3(OGETLINE,Nullop,string("|",1),yyvsp[-2]);
2303 if (ops[yyvsp[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2307 { yyval = oper3(OGETLINE,yyvsp[0],string("|",1),yyvsp[-3]);
2308 if (ops[yyvsp[-3]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2312 { yyval = oper0(yyvsp[0]); need_entire = do_chop = TRUE; }
2316 { yyval = oper1(yyvsp[-2],Nullop); need_entire = do_chop = TRUE; }
2320 { yyval = oper1(yyvsp[-3],yyvsp[-1]); }
2324 { yyval = oper1(yyvsp[-3],yyvsp[-1]); }
2328 { yyval = oper2(OUSERFUN,yyvsp[-3],yyvsp[-1]); }
2332 { yyval = oper1(OSPRINTF,yyvsp[0]); }
2336 { yyval = oper3(OSUBSTR,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2340 { yyval = oper2(OSUBSTR,yyvsp[-3],yyvsp[-1]); }
2344 { yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),yyvsp[-1]); }
2348 { yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),oper1(OREGEX,yyvsp[-1]));}
2352 { yyval = oper2(OSPLIT,yyvsp[-3],aryrefarg(numary(yyvsp[-1]))); }
2356 { yyval = oper2(OINDEX,yyvsp[-3],yyvsp[-1]); }
2360 { yyval = oper2(OMATCH,yyvsp[-3],oper1(OREGEX,yyvsp[-1])); }
2364 { yyval = oper2(OMATCH,yyvsp[-3],yyvsp[-1]); }
2368 { yyval = oper2(OSUB,yyvsp[-3],yyvsp[-1]); }
2372 { yyval = oper2(OSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
2376 { yyval = oper2(OGSUB,yyvsp[-3],yyvsp[-1]); }
2380 { yyval = oper2(OGSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
2384 { yyval = oper3(OSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2388 { yyval = oper3(OSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
2392 { yyval = oper3(OGSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2396 { yyval = oper3(OGSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
2400 { yyval = oper1(OVAR,yyvsp[0]); }
2404 { yyval = oper2(OVAR,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
2408 { yyval = oper1(OFLD,yyvsp[0]); }
2412 { yyval = oper1(OVFLD,yyvsp[0]); }
2420 { yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2424 { yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2428 { yyval = yyvsp[-1]; }
2432 { yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
2440 { yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
2444 { yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
2448 { yyval = oper0(ONEWLINE); }
2452 { yyval = oper1(OCOMMENT,yyvsp[0]); }
2456 { yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
2464 { yyval = oper0(ONEWLINE); }
2468 { yyval = oper1(OCOMMENT,yyvsp[0]); }
2472 { yyval = oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0]); }
2476 { yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
2480 { yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
2484 { yyval = oper2(OJUNK,oper1(OSCOMMENT,yyvsp[-1]),yyvsp[0]); }
2488 { yyval = oper2(OSTATES,yyvsp[-1],yyvsp[0]); }
2496 { yyval = oper2(OJUNK,oper2(OSTATE,yyvsp[-2],yyvsp[-1]),yyvsp[0]); }
2500 { yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0])); }
2504 { yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0])); }
2512 { yyval = oper3(OPRINT,yyvsp[-2],yyvsp[-1],yyvsp[0]);
2514 saw_ORS = saw_OFS = TRUE;
2515 if (!yyvsp[-2]) need_entire = TRUE;
2516 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2520 { yyval = oper1(OPRINT,yyvsp[0]);
2521 if (!yyvsp[0]) need_entire = TRUE;
2522 saw_ORS = saw_OFS = TRUE;
2527 { yyval = oper3(OPRINTF,yyvsp[-2],yyvsp[-1],yyvsp[0]);
2529 if (!yyvsp[-2]) need_entire = TRUE;
2530 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2534 { yyval = oper1(OPRINTF,yyvsp[0]);
2535 if (!yyvsp[0]) need_entire = TRUE;
2540 { yyval = oper0(OBREAK); }
2544 { yyval = oper0(ONEXT); }
2548 { yyval = oper0(OEXIT); }
2552 { yyval = oper1(OEXIT,yyvsp[0]); }
2556 { yyval = oper0(OCONTINUE); }
2560 { yyval = oper0(ORETURN); }
2564 { yyval = oper1(ORETURN,yyvsp[0]); }
2568 { yyval = oper2(ODELETE,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
2572 { yyval = oper1(OREDIR,string(">",1)); }
2576 { yyval = oper1(OREDIR,string(">>",2)); }
2580 { yyval = oper1(OREDIR,string("|",1)); }
2584 { yyval = oper2(OIF,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2588 { yyval = oper3(OIF,yyvsp[-6],bl(yyvsp[-3],yyvsp[-4]),bl(yyvsp[0],yyvsp[-1])); }
2592 { yyval = oper2(OWHILE,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2596 { yyval = oper2(ODO,bl(yyvsp[-4],yyvsp[-5]),yyvsp[-1]); }
2600 { yyval = oper4(OFOR,yyvsp[-7],yyvsp[-5],yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2604 { yyval = oper4(OFOR,yyvsp[-6],string("",0),yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2608 { yyval = oper2(OFORIN,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2612 { yyval = oper3(OBLOCK,oper2(OJUNK,yyvsp[-3],yyvsp[-2]),Nullop,yyvsp[0]); }
2614 #line 2615 "y.tab.c"
2620 if (yystate == 0 && yym == 0)
2624 printf("%sdebug: after reduction, shifting from state 0 to\
2625 state %d\n", YYPREFIX, YYFINAL);
2632 if ((yychar = yylex()) < 0) yychar = 0;
2637 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2638 if (!yys) yys = "illegal-symbol";
2639 printf("%sdebug: state %d, reading %d (%s)\n",
2640 YYPREFIX, YYFINAL, yychar, yys);
2644 if (yychar == 0) goto yyaccept;
2647 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2648 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2649 yystate = yytable[yyn];
2651 yystate = yydgoto[yym];
2654 printf("%sdebug: after reduction, shifting from state %d \
2655 to state %d\n", YYPREFIX, *yyssp, yystate);
2657 if (yyssp >= yyss + yystacksize - 1)
2665 yyerror("yacc stack overflow");