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