Initial revision
[charm.git] / src / xlat++ / xp-t.tab.c
1
2 /*  A Bison parser, made from xp-t.y
3  by  GNU Bison version 1.25
4   */
5
6 #define YYBISON 1  /* Identify Bison output.  */
7
8 #define CHARE   258
9 #define BRANCHED        259
10 #define MESSAGE 260
11 #define HANDLE  261
12 #define GROUP   262
13 #define ENTRY   263
14 #define DOUBLEARROW     264
15 #define ALL_NODES       265
16 #define LOCAL   266
17 #define ACCUMULATOR     267
18 #define MONOTONIC       268
19 #define READONLY        269
20 #define WRITEONCE       270
21 #define NEWCHARE        271
22 #define NEWGROUP        272
23 #define AUTO    273
24 #define DOUBLE  274
25 #define INT     275
26 #define STRUCT  276
27 #define BREAK   277
28 #define ELSE    278
29 #define LONG    279
30 #define SWITCH  280
31 #define CASE    281
32 #define ENUM    282
33 #define REGISTER        283
34 #define TYPEDEF 284
35 #define CHAR    285
36 #define EXTERN  286
37 #define RETURN  287
38 #define UNION   288
39 #define CONST   289
40 #define FLOAT   290
41 #define SHORT   291
42 #define UNSIGNED        292
43 #define WCHAR_TOKEN     293
44 #define __WCHAR_TOKEN   294
45 #define PTRDIFF_TOKEN   295
46 #define CONTINUE        296
47 #define FOR     297
48 #define SIGNED  298
49 #define VOID    299
50 #define DEFAULT 300
51 #define GOTO    301
52 #define SIZEOF  302
53 #define VOLATILE        303
54 #define DO      304
55 #define IF      305
56 #define STATIC  306
57 #define WHILE   307
58 #define NEW     308
59 #define DELETE  309
60 #define THIS    310
61 #define OPERATOR        311
62 #define CLASS   312
63 #define PUBLIC  313
64 #define PROTECTED       314
65 #define PRIVATE 315
66 #define VIRTUAL 316
67 #define FRIEND  317
68 #define INLINE  318
69 #define UNDERSCORE_INLINE       319
70 #define OVERLOAD        320
71 #define IDENTIFIER      321
72 #define STRINGliteral   322
73 #define FLOATINGconstant        323
74 #define INTEGERconstant 324
75 #define CHARACTERconstant       325
76 #define OCTALconstant   326
77 #define HEXconstant     327
78 #define TYPEDEFname     328
79 #define ARROW   329
80 #define ICR     330
81 #define DECR    331
82 #define LS      332
83 #define RS      333
84 #define LE      334
85 #define GE      335
86 #define EQ      336
87 #define NE      337
88 #define ANDAND  338
89 #define OROR    339
90 #define ELLIPSIS        340
91 #define CLCL    341
92 #define DOTstar 342
93 #define ARROWstar       343
94 #define MULTassign      344
95 #define DIVassign       345
96 #define MODassign       346
97 #define PLUSassign      347
98 #define MINUSassign     348
99 #define LSassign        349
100 #define RSassign        350
101 #define ANDassign       351
102 #define ERassign        352
103 #define ORassign        353
104
105 #line 1 "xp-t.y"
106
107
108 /*  Copyright (C) 1989-1991 James A. Roskind, All rights reserved. 
109     This grammar was developed  and  written  by  James  A.  Roskind. 
110     Copying  of  this  grammar  description, as a whole, is permitted 
111     providing this notice is intact and applicable  in  all  complete 
112     copies.   Translations as a whole to other parser generator input 
113     languages  (or  grammar  description  languages)   is   permitted 
114     provided  that  this  notice is intact and applicable in all such 
115     copies,  along  with  a  disclaimer  that  the  contents  are   a 
116     translation.   The reproduction of derived text, such as modified 
117     versions of this grammar, or the output of parser generators,  is 
118     permitted,  provided  the  resulting  work includes the copyright 
119     notice "Portions Copyright (c)  1989,  1990  James  A.  Roskind". 
120     Derived products, such as compilers, translators, browsers, etc., 
121     that  use  this  grammar,  must also provide the notice "Portions 
122     Copyright  (c)  1989,  1990  James  A.  Roskind"  in   a   manner 
123     appropriate  to  the  utility,  and in keeping with copyright law 
124     (e.g.: EITHER displayed when first invoked/executed; OR displayed 
125     continuously on display terminal; OR via placement in the  object 
126     code  in  form  readable in a printout, with or near the title of 
127     the work, or at the end of the file).  No royalties, licenses  or 
128     commissions  of  any  kind are required to copy this grammar, its 
129     translations, or derivative products, when the copies are made in 
130     compliance with this notice. Persons or corporations that do make 
131     copies in compliance with this notice may charge  whatever  price 
132     is  agreeable  to  a  buyer, for such copies or derivative works. 
133     THIS GRAMMAR IS PROVIDED ``AS IS'' AND  WITHOUT  ANY  EXPRESS  OR 
134     IMPLIED  WARRANTIES,  INCLUDING,  WITHOUT LIMITATION, THE IMPLIED 
135     WARRANTIES  OF  MERCHANTABILITY  AND  FITNESS  FOR  A  PARTICULAR 
136     PURPOSE.
137
138     James A. Roskind
139     Independent Consultant
140     516 Latania Palm Drive
141     Indialantic FL, 32903
142     (407)729-4348
143     jar@hq.ileaf.com
144
145
146     ---end of copyright notice---
147 */
148
149 /*
150
151 1) template support: Not  done:  pending  syntax  specification  from 
152 ANSI.  (This looks like a major effort, as ANSI has decided to extend 
153 the  "TYPEDEFname"-feedback-to-the-lexer-hack  to  support   template 
154 names as a new kind of terminal token.)
155
156 2)  exception  handling:  Not done: pending syntax specification from 
157 ANSI (but it doesn't look hard)
158
159 done: 3) Support nested types, including identifier::name,  where  we 
160 realize  that  identifier was a hidden type.  Force the lexer to keep 
161 pace in this situation.   This  will  require  an  extension  of  the 
162 yacc-lex feedback loop.
163
164 done: 4) Support nested types even when derivations are used in class 
165 definitions.
166
167 done: 6) Allow declaration specifiers to be left out of  declarations 
168 at file and structure scope so that operator conversion functions can 
169 be  declared and/or defined.  Note that checking to see that it was a 
170 function type that does not require declaration_specifiers is  now  a 
171 constraint  check,  and  not  a  syntax  issue.  Within function body 
172 scopes, declaration specifiers are required, and this is critical  to 
173 distinguishing expressions.
174
175 */
176
177 #line 151 "xp-t.y"
178
179 /*************** Includes and Defines *****************************/
180 #define YYDEBUG_LEXER_TEXT (yylval) /* our lexer loads this up each time.
181                                      We are telling the graphical debugger
182                                      where to find the spelling of the 
183                                      tokens.*/
184 #define YYDEBUG 1        /* get the pretty debugging code to compile*/
185 #define YYSTYPE  char *  /* interface with flex: should be in header file */
186
187
188
189 #include "xp-lexer.h" 
190
191 StackStruct *StackTop=NULL ;
192 StackStruct *GlobalStack=NULL ;
193
194 AggState *PermanentAggTable[MAXAGGS] ;  
195 int PermanentAggTableSize = 0 ;
196 /* this table is only added to, never deleted from. It stores the objects
197    defined in an aggregate type.                                          */
198                                         
199
200 /* These tables just hold lists of Chares,BOCs,Accs ... */
201 ChareInfo * ChareTable[MAXCHARES] ;
202 ChareInfo * BOCTable[MAXCHARES] ;
203 MsgStruct MessageTable[MAXMSGS] ;
204 AccStruct * AccTable[MAXACCS] ;
205 AccStruct * MonoTable[MAXACCS] ;
206 char * DTableTable[MAXDTABLES] ;
207 char * ReadTable[MAXREADS] ;
208 char * ReadMsgTable[MAXREADS] ;
209 FunctionStruct FunctionTable[MAX_FUNCTIONS] ;
210 int charecount = -1 ;
211 int boccount = -1 ;
212 int TotalEntries = 0 ;
213 int TotalMsgs = 0 ;
214 int TotalAccs = 0 ;
215 int TotalMonos = 0 ;
216 int TotalDTables = 0 ;
217 int TotalReadMsgs = 0 ;
218 int TotalReads = 0 ;
219 int TotalFns = 0 ;
220
221 /* This table is used to distinguish between typedefs and idents */
222 SymEntry SymTable[MAXSYMBOLS] ;
223 int TotalSyms = 0 ;
224
225 /* the following three tables store all handle identifiers and their types */
226 HandleEntry ChareHandleTable[MAXIDENTS] ;
227 HandleEntry BOCHandleTable[MAXIDENTS] ;
228 HandleEntry AccHandleTable[MAXIDENTS] ;
229 HandleEntry MonoHandleTable[MAXIDENTS] ;
230 HandleEntry WrOnHandleTable[MAXIDENTS] ;
231 int ChareHandleTableSize = 0 ;
232 int BOCHandleTableSize = 0 ;
233 int AccHandleTableSize = 0 ;
234 int MonoHandleTableSize = 0 ;
235 int WrOnHandleTableSize = 0 ;
236
237 /* char modname[MAX_NAME_LENGTH] ;  */
238
239 char OutBuf[MAX_OUTBUF_SIZE] ;
240
241 int CurrentLine=1 ;
242 int CurrentScope = 0 ;  /* 1 means file scope, > 1 means inside a block */
243 char CurrentFileName[MAX_NAME_LENGTH] = {'\0'} ;
244 int CurrentAccess = -1, CurrentAggType = -1, CurrentStorage = -1 ;
245 int CurrentCharmType = -1 ;
246 int CurrentCharmNameIndex = -1 ;
247 char CurrentTypedef[MAX_NAME_LENGTH] = {'\0'} ;
248 char CurrentDeclType[MAX_NAME_LENGTH] = {'\0'} ;
249 char CurrentAggName[MAX_NAME_LENGTH] = {'\0'} ;
250 char CurrentChare[MAX_NAME_LENGTH] = {'\0'} ; 
251 char CurrentEP[MAX_NAME_LENGTH] = {'\0'} ;
252 char CurrentFn[MAX_NAME_LENGTH] = {'\0'} ;
253 char CurrentMsgParm[MAX_NAME_LENGTH] = {'\0'} ;
254 char CurrentSharedHandle[MAX_NAME_LENGTH] = {'_','C','K','_','N','O','T','A','C','C','H','A','N','D','L','E'} ;
255 AccStruct *CurrentAcc ;
256 ChareInfo *CurrentCharePtr ;
257 char CurrentAssOp[5] ;
258 char CurrentAsterisk[MAX_NAME_LENGTH] ;
259 char *EpMsg=NULL ;
260 char SendEP[MAX_NAME_LENGTH] ;
261 char SendChare[MAX_NAME_LENGTH] ;
262 char SendPe[MAX_NAME_LENGTH] ;
263 char LastChare[MAX_NAME_LENGTH] ;
264 char LastEP[MAX_NAME_LENGTH] ;
265 char LastArg[MAX_NAME_LENGTH] ;
266 char *ParentArray[MAX_PARENTS] ;
267 int SendType = -1 ;
268 int main_argc_argv = FALSE ;
269 int foundargs = FALSE ;
270 int numparents = 0 ;
271 int SendMsgBranchPoss = FALSE ;
272 int FoundHandle = -1 ;
273 int FilledAccMsg = FALSE ;
274 int FoundConstructorBody = FALSE ;
275 int IsMonoCall = FALSE ;
276 int IsAccCall = FALSE ;
277 int FoundParms = FALSE ;
278 int FoundLocalBranch = FALSE ;
279 int AddedScope = 0 ;
280 int FoundGlobalScope = 0 ;
281 int FoundTable = FALSE ;
282 int FoundVarSize = FALSE ;
283 int FoundReadOnly = FALSE ;
284 int StructScope = FALSE ;
285 int AccFnScope = -1 ;
286 int FoundAccFnDef = FALSE ;
287 int MakeGraph = FALSE ;
288 int InsideChareCode = FALSE ;
289 int NewOpType = -1 ;
290 char *NewType ;
291 int FoundDeclarator=FALSE ; 
292 int CurrentFnIsInline=FALSE ;
293 int FoundChareEPPair=0 ;
294
295 int ErrVal = FALSE ;
296
297 char CoreName[MAX_NAME_LENGTH] ;
298 int shouldprint=1 ;
299 char prevtoken[MAX_TOKEN_SIZE] ;
300 FILE *outfile, *headerfile, *graphfile ;
301
302 extern int FoundLBrace, FoundRBrace ;
303
304 extern char *CheckSendError() ;
305 extern char *Mystrstr() ;
306 extern EP *SearchEPList() ;
307 extern char *Concat2() ;
308 extern char *Concat3() ;
309
310 #ifndef YYSTYPE
311 #define YYSTYPE int
312 #endif
313 #include <stdio.h>
314
315 #ifndef __cplusplus
316 #ifndef __STDC__
317 #define const
318 #endif
319 #endif
320
321
322
323 #define YYFINAL         1333
324 #define YYFLAG          -32768
325 #define YYNTBASE        123
326
327 #define YYTRANSLATE(x) ((unsigned)(x) <= 353 ? yytranslate[x] : 340)
328
329 static const char yytranslate[] = {     0,
330      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
331      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
332      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
333      2,     2,   110,     2,     2,     2,   105,   107,     2,    99,
334    100,   103,   101,   116,   102,   113,   104,     2,     2,     2,
335      2,     2,     2,     2,     2,     2,     2,   118,   120,   111,
336    119,   112,   117,     2,     2,     2,     2,     2,     2,     2,
337      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
338      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
339    114,     2,   115,   106,     2,     2,     2,     2,     2,     2,
340      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
341      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
342      2,     2,   121,   108,   122,   109,     2,     2,     2,     2,
343      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
344      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
345      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
346      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
347      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
348      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
349      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
350      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
351      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
352      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
353      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
354      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
355      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
356      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
357     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
358     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
359     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
360     46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
361     56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
362     66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
363     76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
364     86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
365     96,    97,    98
366 };
367
368 #if YYDEBUG != 0
369 static const short yyprhs[] = {     0,
370      0,     2,     4,     6,     8,    10,    12,    15,    17,    19,
371     23,    25,    27,    29,    31,    33,    37,    39,    41,    43,
372     45,    47,    49,    52,    56,    60,    61,    64,    67,    69,
373     71,    73,    75,    77,    79,    81,    83,    85,    87,    89,
374     91,    93,    95,    97,    99,   101,   103,   105,   107,   109,
375    111,   113,   115,   117,   119,   121,   124,   127,   129,   131,
376    133,   134,   136,   138,   143,   147,   152,   153,   158,   159,
377    160,   166,   169,   172,   173,   181,   182,   187,   188,   196,
378    200,   204,   209,   214,   219,   221,   223,   228,   233,   238,
379    240,   244,   246,   249,   252,   255,   258,   261,   264,   267,
380    270,   275,   277,   283,   292,   295,   301,   303,   305,   307,
381    310,   314,   318,   319,   321,   324,   327,   330,   334,   339,
382    340,   343,   347,   349,   354,   356,   359,   365,   370,   372,
383    375,   377,   381,   385,   387,   391,   395,   399,   401,   405,
384    409,   411,   415,   419,   421,   425,   429,   433,   437,   439,
385    443,   447,   449,   453,   455,   459,   461,   465,   467,   471,
386    473,   477,   479,   485,   487,   491,   493,   495,   497,   499,
387    501,   503,   505,   507,   509,   511,   513,   515,   519,   521,
388    522,   524,   527,   530,   533,   536,   539,   542,   543,   548,
389    549,   554,   555,   561,   564,   567,   571,   572,   577,   578,
390    583,   584,   589,   590,   595,   596,   601,   602,   608,   611,
391    614,   617,   620,   623,   627,   629,   631,   636,   642,   644,
392    647,   650,   657,   665,   673,   681,   686,   692,   699,   707,
393    709,   712,   715,   720,   726,   733,   741,   743,   745,   747,
394    749,   751,   753,   755,   757,   760,   763,   765,   768,   770,
395    772,   774,   776,   778,   781,   784,   787,   790,   793,   796,
396    799,   802,   805,   808,   811,   814,   817,   820,   823,   825,
397    828,   831,   833,   836,   839,   842,   845,   848,   851,   854,
398    857,   860,   863,   866,   869,   872,   874,   876,   878,   880,
399    882,   884,   886,   888,   890,   892,   894,   896,   898,   900,
400    902,   904,   906,   908,   910,   912,   914,   916,   918,   920,
401    922,   924,   925,   926,   927,   936,   942,   945,   950,   954,
402    958,   959,   962,   965,   967,   971,   973,   977,   981,   982,
403    984,   985,   987,   989,   991,   993,   995,   997,   999,  1001,
404   1004,  1007,  1010,  1013,  1014,  1017,  1020,  1023,  1026,  1028,
405   1030,  1033,  1036,  1039,  1042,  1045,  1049,  1053,  1058,  1061,
406   1064,  1068,  1072,  1073,  1078,  1082,  1084,  1089,  1092,  1095,
407   1098,  1101,  1104,  1108,  1112,  1116,  1120,  1124,  1128,  1132,
408   1134,  1141,  1148,  1155,  1162,  1167,  1172,  1179,  1186,  1193,
409   1200,  1205,  1210,  1212,  1218,  1225,  1232,  1239,  1245,  1252,
410   1259,  1266,  1267,  1270,  1272,  1273,  1278,  1281,  1282,  1287,
411   1292,  1297,  1300,  1302,  1305,  1307,  1310,  1313,  1318,  1320,
412   1322,  1323,  1326,  1330,  1335,  1341,  1346,  1349,  1353,  1358,
413   1362,  1364,  1367,  1370,  1374,  1376,  1378,  1381,  1383,  1386,
414   1390,  1395,  1399,  1401,  1404,  1406,  1409,  1411,  1414,  1417,
415   1420,  1422,  1425,  1428,  1431,  1434,  1437,  1440,  1443,  1446,
416   1449,  1452,  1455,  1457,  1459,  1461,  1463,  1465,  1468,  1471,
417   1474,  1477,  1480,  1481,  1483,  1486,  1490,  1495,  1497,  1499,
418   1503,  1505,  1507,  1509,  1511,  1513,  1515,  1517,  1521,  1526,
419   1530,  1531,  1532,  1538,  1540,  1543,  1544,  1547,  1550,  1554,
420   1560,  1564,  1568,  1572,  1573,  1580,  1581,  1588,  1596,  1597,
421   1606,  1607,  1618,  1627,  1628,  1635,  1639,  1642,  1645,  1649,
422   1651,  1653,  1654,  1657,  1659,  1661,  1663,  1666,  1669,  1672,
423   1673,  1674,  1681,  1684,  1687,  1690,  1692,  1694,  1696,  1697,
424   1701,  1702,  1707,  1708,  1713,  1714,  1719,  1720,  1725,  1726,
425   1731,  1732,  1737,  1738,  1743,  1744,  1749,  1750,  1755,  1756,
426   1760,  1761,  1766,  1767,  1772,  1773,  1778,  1779,  1784,  1785,
427   1790,  1791,  1796,  1797,  1802,  1805,  1807,  1808,  1814,  1819,
428   1822,  1825,  1828,  1831,  1836,  1843,  1849,  1850,  1857,  1858,
429   1867,  1868,  1876,  1878,  1884,  1890,  1896,  1902,  1908,  1915,
430   1922,  1929,  1936,  1943,  1950,  1957,  1964,  1971,  1979,  1987,
431   1995,  2003,  2005,  2012,  2020,  2027,  2035,  2042,  2050,  2051,
432   2053,  2056,  2060,  2065,  2069,  2074,  2078,  2083,  2087,  2091,
433   2094,  2096,  2098,  2100,  2102,  2104,  2106,  2109,  2111,  2113,
434   2116,  2119,  2123,  2128,  2130,  2135,  2140,  2145,  2150,  2153,
435   2156,  2160,  2165,  2170,  2175,  2179,  2183,  2185,  2187,  2189,
436   2192,  2195,  2198,  2202,  2207,  2209,  2212,  2215,  2220,  2224,
437   2229,  2231,  2233,  2235,  2237,  2239,  2241,  2243,  2246,  2250,
438   2255,  2257,  2259,  2262,  2265,  2269,  2273,  2277,  2282,  2284,
439   2286,  2288,  2290,  2294,  2297,  2299,  2302,  2305,  2309,  2311,
440   2313,  2314,  2317,  2319,  2321,  2324,  2326,  2329,  2331,  2334,
441   2337,  2339,  2342,  2344,  2347,  2349,  2352,  2354,  2357,  2360,
442   2362
443 };
444
445 static const short yyrhs[] = {    69,
446      0,    68,     0,    71,     0,    72,     0,    70,     0,    67,
447      0,   124,    67,     0,   332,     0,   333,     0,    99,   125,
448    100,     0,   335,     0,   336,     0,    55,     0,   123,     0,
449    124,     0,    99,   165,   100,     0,   195,     0,   192,     0,
450    197,     0,   199,     0,    73,     0,   338,     0,    56,   130,
451      0,    56,   188,   129,     0,    56,   127,   129,     0,     0,
452    325,   129,     0,   324,   129,     0,   101,     0,   102,     0,
453    103,     0,   104,     0,   105,     0,   106,     0,   107,     0,
454    108,     0,   109,     0,   110,     0,   111,     0,   112,     0,
455     77,     0,    78,     0,    83,     0,    84,     0,    74,     0,
456     88,     0,   113,     0,    87,     0,    75,     0,    76,     0,
457     79,     0,    80,     0,    81,     0,    82,     0,   164,     0,
458     99,   100,     0,   114,   115,     0,    53,     0,    54,     0,
459    116,     0,     0,   188,     0,   126,     0,   132,   114,   165,
460    115,     0,   132,    99,   100,     0,   132,    99,   140,   100,
461      0,     0,   132,   133,   113,   139,     0,     0,     0,   132,
462    134,    74,   135,   139,     0,   132,    75,     0,   132,    76,
463      0,     0,   132,   114,    11,   115,   136,    74,   139,     0,
464      0,   132,     9,   137,   139,     0,     0,   132,   114,    10,
465    115,     9,   138,   139,     0,    73,    99,   100,     0,   338,
466     99,   100,     0,    73,    99,   140,   100,     0,   338,    99,
467    140,   100,     0,   199,    99,   163,   100,     0,   332,     0,
468    333,     0,   199,    86,   109,   199,     0,   187,    86,   109,
469    187,     0,   188,    86,   109,   188,     0,   163,     0,   140,
470    116,   163,     0,   132,     0,    75,   141,     0,    76,   141,
471      0,   324,   148,     0,   102,   148,     0,   101,   148,     0,
472    109,   148,     0,   110,   148,     0,    47,   141,     0,    47,
473     99,   241,   100,     0,   142,     0,   143,    99,   241,   100,
474    147,     0,   143,    99,   140,   100,    99,   241,   100,   147,
475      0,   143,   144,     0,   143,    99,   140,   100,   144,     0,
476     53,     0,    16,     0,    17,     0,   331,    53,     0,   188,
477    145,   147,     0,   127,   145,   147,     0,     0,   146,     0,
478    324,   145,     0,   325,   145,     0,   114,   115,     0,   114,
479    165,   115,     0,   146,   114,   165,   115,     0,     0,    99,
480    100,     0,    99,   140,   100,     0,   141,     0,    99,   241,
481    100,   148,     0,   148,     0,   150,   149,     0,   150,   114,
482    165,   115,   149,     0,   150,   114,   115,   149,     0,    54,
483      0,   331,    54,     0,   149,     0,   151,    87,   149,     0,
484    151,    88,   149,     0,   151,     0,   152,   103,   151,     0,
485    152,   104,   151,     0,   152,   105,   151,     0,   152,     0,
486    153,   101,   152,     0,   153,   102,   152,     0,   153,     0,
487    154,    77,   153,     0,   154,    78,   153,     0,   154,     0,
488    155,   111,   154,     0,   155,   112,   154,     0,   155,    79,
489    154,     0,   155,    80,   154,     0,   155,     0,   156,    81,
490    155,     0,   156,    82,   155,     0,   156,     0,   157,   107,
491    156,     0,   157,     0,   158,   106,   157,     0,   158,     0,
492    159,   108,   158,     0,   159,     0,   160,    83,   159,     0,
493    160,     0,   161,    84,   160,     0,   161,     0,   161,   117,
494    165,   118,   162,     0,   162,     0,   141,   164,   163,     0,
495    119,     0,    89,     0,    90,     0,    91,     0,    92,     0,
496     93,     0,    94,     0,    95,     0,    96,     0,    97,     0,
497     98,     0,   163,     0,   165,   116,   163,     0,   162,     0,
498      0,   165,     0,   173,   120,     0,   169,   120,     0,   193,
499    120,     0,   195,   120,     0,   194,   120,     0,     1,   120,
500      0,     0,   187,   313,   170,   242,     0,     0,   188,   313,
501    171,   242,     0,     0,   169,   116,   313,   172,   242,     0,
502    187,   183,     0,   188,   183,     0,   169,   116,   183,     0,
503      0,   185,   305,   174,   242,     0,     0,   186,   305,   175,
504    242,     0,     0,   199,   305,   176,   242,     0,     0,    73,
505    305,   177,   242,     0,     0,   338,   305,   178,   242,     0,
506      0,   173,   116,   305,   179,   242,     0,   185,   180,     0,
507    186,   180,     0,   199,   180,     0,    73,   180,     0,   338,
508    180,     0,   173,   116,   180,     0,   184,     0,   181,     0,
509    312,    99,   140,   100,     0,   312,   320,    99,   140,   100,
510      0,   182,     0,   324,   180,     0,   325,   180,     0,    99,
511    310,   100,    99,   140,   100,     0,    99,   310,   100,   320,
512     99,   140,   100,     0,    99,   312,   320,   100,    99,   140,
513    100,     0,    99,    73,   320,   100,    99,   140,   100,     0,
514     73,    99,   140,   100,     0,    73,   320,    99,   140,   100,
515      0,    99,   308,   100,    99,   140,   100,     0,    99,   308,
516    100,   320,    99,   140,   100,     0,   184,     0,   324,   183,
517      0,   325,   183,     0,   125,    99,   140,   100,     0,   125,
518    320,    99,   140,   100,     0,    99,   314,   100,    99,   140,
519    100,     0,    99,   314,   100,   320,    99,   140,   100,     0,
520    191,     0,   193,     0,   196,     0,   192,     0,   195,     0,
521    194,     0,   197,     0,   198,     0,   188,   198,     0,   187,
522    189,     0,   190,     0,   188,   190,     0,   198,     0,   190,
523      0,    34,     0,    48,     0,    14,     0,   187,   199,     0,
524    192,   198,     0,   199,   198,     0,   191,   189,     0,   191,
525    199,     0,   188,   199,     0,   199,   199,     0,   199,   190,
526      0,   192,   190,     0,   192,   199,     0,   187,   201,     0,
527    187,   200,     0,   195,   198,     0,   194,   198,     0,   193,
528    189,     0,   200,     0,   188,   200,     0,   194,   190,     0,
529    201,     0,   188,   201,     0,   195,   190,     0,   187,    73,
530      0,   187,   338,     0,   197,   198,     0,    73,   198,     0,
531    338,   198,     0,   196,   189,     0,   188,    73,     0,   188,
532    338,     0,    73,   190,     0,   338,   190,     0,   197,   190,
533      0,    31,     0,    29,     0,    51,     0,    18,     0,    28,
534      0,    62,     0,    65,     0,    63,     0,    64,     0,    61,
535      0,    20,     0,    30,     0,    36,     0,    24,     0,    35,
536      0,    40,     0,    38,     0,    39,     0,    19,     0,    43,
537      0,    37,     0,    44,     0,   202,     0,   227,     0,   206,
538      0,   228,     0,     0,     0,     0,   206,   207,   203,   121,
539    204,   214,   205,   122,     0,   213,   207,   121,   214,   122,
540      0,   213,   328,     0,   329,   327,   213,   328,     0,   329,
541    213,   328,     0,   327,   213,   328,     0,     0,   118,   208,
542      0,   118,     1,     0,   209,     0,   208,   116,   209,     0,
543    339,     0,    61,   211,   339,     0,   212,   210,   339,     0,
544      0,    61,     0,     0,   212,     0,    58,     0,    60,     0,
545     59,     0,     8,     0,    21,     0,    33,     0,    57,     0,
546      3,    57,     0,     5,    57,     0,    12,    57,     0,    13,
547     57,     0,     0,   214,   215,     0,   217,   120,     0,   216,
548    120,     0,   212,   118,     0,   271,     0,   295,     0,   195,
549    120,     0,   194,   120,     0,   313,   120,     0,   196,   120,
550      0,   193,   120,     0,   188,   313,   222,     0,   187,   313,
551    222,     0,   216,   116,   313,   222,     0,   188,   225,     0,
552    187,   225,     0,   216,   116,   225,     0,   186,   305,   222,
553      0,     0,   199,   305,   218,   222,     0,   338,   305,   222,
554      0,   219,     0,   217,   116,   305,   222,     0,   186,   223,
555      0,   199,   223,     0,    73,   223,     0,   338,   223,     0,
556    185,   223,     0,   217,   116,   223,     0,    73,   313,   222,
557      0,    73,   307,   222,     0,    73,   312,   222,     0,   185,
558    313,   222,     0,   185,   307,   222,     0,   185,   312,   222,
559      0,   220,     0,    73,   324,    99,   312,   100,   222,     0,
560     73,   325,    99,   312,   100,   222,     0,    73,   324,    99,
561     73,   100,   222,     0,    73,   325,    99,    73,   100,   222,
562      0,    73,   324,   310,   222,     0,    73,   325,   310,   222,
563      0,   185,   324,    99,   312,   100,   222,     0,   185,   325,
564     99,   312,   100,   222,     0,   185,   324,    99,    73,   100,
565    222,     0,   185,   325,    99,    73,   100,   222,     0,   185,
566    324,   310,   222,     0,   185,   325,   310,   222,     0,   221,
567      0,    73,    99,   310,   100,   222,     0,    73,    99,   312,
568    320,   100,   222,     0,    73,    99,    73,   320,   100,   222,
569      0,    73,    99,   310,   100,   320,   222,     0,   185,    99,
570    310,   100,   222,     0,   185,    99,   312,   320,   100,   222,
571      0,   185,    99,    73,   320,   100,   222,     0,   185,    99,
572    310,   100,   320,   222,     0,     0,   119,    71,     0,   225,
573      0,     0,    73,   224,   118,   166,     0,   118,   166,     0,
574      0,   313,   226,   118,   166,     0,   229,   121,   230,   122,
575      0,   228,   121,   230,   122,     0,   229,   328,     0,    27,
576      0,   331,    27,     0,   231,     0,   231,   116,     0,   232,
577    233,     0,   231,   116,   232,   233,     0,    66,     0,    73,
578      0,     0,   119,   166,     0,    99,   100,   131,     0,    99,
579    241,   100,   131,     0,    99,   241,   243,   100,   131,     0,
580     99,   236,   100,   131,     0,    99,   100,     0,    99,   241,
581    100,     0,    99,   241,   243,   100,     0,    99,   236,   100,
582      0,   238,     0,   238,   237,     0,   241,   237,     0,   241,
583    243,   237,     0,    85,     0,    85,     0,   116,    85,     0,
584    240,     0,   240,   243,     0,   241,   116,   239,     0,   241,
585    243,   116,   239,     0,   238,   116,   239,     0,   241,     0,
586    241,   243,     0,   240,     0,   240,   243,     0,   185,     0,
587    185,   319,     0,   185,   313,     0,   185,   307,     0,   187,
588      0,   187,   319,     0,   187,   313,     0,   186,   313,     0,
589    186,   307,     0,   199,   313,     0,   199,   307,     0,    73,
590    313,     0,    73,   307,     0,   338,   313,     0,   338,   307,
591      0,   188,   313,     0,   186,     0,   199,     0,    73,     0,
592    338,     0,   188,     0,   186,   319,     0,   199,   319,     0,
593     73,   319,     0,   338,   319,     0,   188,   319,     0,     0,
594    243,     0,   119,   244,     0,   121,   245,   122,     0,   121,
595    245,   116,   122,     0,   163,     0,   244,     0,   245,   116,
596    244,     0,   247,     0,   248,     0,   253,     0,   254,     0,
597    256,     0,   262,     0,   168,     0,   263,   118,   246,     0,
598     26,   166,   118,   246,     0,    45,   118,   246,     0,     0,
599      0,   121,   249,   252,   250,   122,     0,   168,     0,   251,
600    168,     0,     0,   252,   246,     0,   167,   120,     0,    50,
601    255,   246,     0,    50,   255,   246,    23,   246,     0,    25,
602    255,   246,     0,    99,   165,   100,     0,    99,     1,   100,
603      0,     0,    52,    99,   167,   100,   257,   246,     0,     0,
604     52,    99,     1,   100,   258,   246,     0,    49,   246,    52,
605     99,   165,   100,   120,     0,     0,    49,   246,    52,    99,
606      1,   100,   259,   120,     0,     0,    42,    99,   167,   120,
607    167,   120,   167,   100,   260,   246,     0,    42,    99,   168,
608    167,   120,   167,   100,   246,     0,     0,    42,    99,     1,
609    100,   261,   246,     0,    46,   263,   120,     0,    41,   120,
610      0,    22,   120,     0,    32,   167,   120,     0,    66,     0,
611     73,     0,     0,   264,   265,     0,   269,     0,   270,     0,
612    168,     0,   268,   269,     0,   268,   270,     0,   268,   168,
613      0,     0,     0,   268,   121,   266,   264,   267,   122,     0,
614     31,    67,     0,   313,   120,     0,   294,   120,     0,   271,
615      0,   282,     0,   292,     0,     0,   313,   272,   248,     0,
616      0,   185,   305,   273,   248,     0,     0,   185,     1,   274,
617    248,     0,     0,   186,   305,   275,   248,     0,     0,   199,
618    305,   276,   248,     0,     0,   199,     1,   277,   248,     0,
619      0,    73,   305,   278,   248,     0,     0,   338,   305,   279,
620    248,     0,     0,   187,   313,   280,   248,     0,     0,   188,
621    313,   281,   248,     0,     0,   316,   283,   291,     0,     0,
622    185,   316,   284,   291,     0,     0,   186,   316,   285,   291,
623      0,     0,   199,   316,   286,   291,     0,     0,    73,   316,
624    287,   291,     0,     0,   338,   316,   288,   291,     0,     0,
625    187,   316,   289,   291,     0,     0,   188,   316,   290,   291,
626      0,   251,   248,     0,   248,     0,     0,   338,   234,   302,
627    293,   248,     0,   185,   234,   302,   248,     0,   338,   234,
628      0,   185,   234,     0,   185,   296,     0,    73,   296,     0,
629     99,   100,   131,   120,     0,    99,   241,   243,   100,   131,
630    120,     0,    99,   236,   100,   131,   120,     0,     0,    99,
631    100,   131,   302,   297,   248,     0,     0,    99,   241,   243,
632    100,   131,   302,   298,   248,     0,     0,    99,   236,   100,
633    131,   302,   299,   248,     0,   300,     0,    99,   186,   100,
634    131,   120,     0,    99,   199,   100,   131,   120,     0,    99,
635     73,   100,   131,   120,     0,    99,   338,   100,   131,   120,
636      0,    99,   188,   100,   131,   120,     0,    99,   186,   319,
637    100,   131,   120,     0,    99,   199,   319,   100,   131,   120,
638      0,    99,   338,   319,   100,   131,   120,     0,    99,   188,
639    319,   100,   131,   120,     0,    99,   186,   100,   131,   302,
640    248,     0,    99,   199,   100,   131,   302,   248,     0,    99,
641     73,   100,   131,   302,   248,     0,    99,   338,   100,   131,
642    302,   248,     0,    99,   188,   100,   131,   302,   248,     0,
643     99,   186,   319,   100,   131,   302,   248,     0,    99,   199,
644    319,   100,   131,   302,   248,     0,    99,   338,   319,   100,
645    131,   302,   248,     0,    99,   188,   319,   100,   131,   302,
646    248,     0,   301,     0,    99,    73,   322,   100,   131,   120,
647      0,    99,    73,   322,   100,   131,   302,   248,     0,    99,
648     73,   323,   100,   131,   120,     0,    99,    73,   323,   100,
649    131,   302,   248,     0,    99,    73,   320,   100,   131,   120,
650      0,    99,    73,   320,   100,   131,   302,   248,     0,     0,
651    303,     0,   118,   304,     0,   303,   116,   304,     0,    66,
652     99,   140,   100,     0,    66,    99,   100,     0,    73,    99,
653    140,   100,     0,    73,    99,   100,     0,   338,    99,   140,
654    100,     0,   338,    99,   100,     0,    99,   140,   100,     0,
655     99,   100,     0,   313,     0,   306,     0,   310,     0,   312,
656      0,   307,     0,    73,     0,    73,   320,     0,   308,     0,
657    309,     0,   324,   307,     0,   325,   307,     0,    99,   308,
658    100,     0,    99,   308,   100,   320,     0,   311,     0,   324,
659     99,   312,   100,     0,   325,    99,   312,   100,     0,   324,
660     99,    73,   100,     0,   325,    99,    73,   100,     0,   324,
661    310,     0,   325,   310,     0,    99,   310,   100,     0,    99,
662    312,   320,   100,     0,    99,    73,   320,   100,     0,    99,
663    310,   100,   320,     0,    99,    73,   100,     0,    99,   312,
664    100,     0,   314,     0,   125,     0,   315,     0,   324,   313,
665      0,   325,   313,     0,   125,   320,     0,    99,   314,   100,
666      0,    99,   314,   100,   320,     0,   317,     0,   324,   316,
667      0,   325,   316,     0,   125,    99,   140,   100,     0,    99,
668    316,   100,     0,    99,   316,   100,   318,     0,   321,     0,
669    235,     0,   322,     0,   323,     0,   320,     0,   321,     0,
670    234,     0,   114,   115,     0,   114,   166,   115,     0,   321,
671    114,   166,   115,     0,   324,     0,   325,     0,   324,   319,
672      0,   325,   319,     0,    99,   322,   100,     0,    99,   323,
673    100,     0,    99,   320,   100,     0,    99,   322,   100,   320,
674      0,   103,     0,   107,     0,     6,     0,     7,     0,   327,
675    103,   131,     0,   324,   188,     0,   328,     0,   213,   328,
676      0,   326,    86,     0,   327,   326,    86,     0,    66,     0,
677     73,     0,     0,   330,    86,     0,   329,     0,   327,     0,
678    329,   327,     0,    66,     0,   327,    66,     0,   334,     0,
679    327,   334,     0,   109,    73,     0,   128,     0,   329,   332,
680      0,   332,     0,   329,   333,     0,   333,     0,   327,    73,
681      0,   337,     0,   329,   337,     0,   329,    73,     0,    73,
682      0,   338,     0
683 };
684
685 #endif
686
687 #if YYDEBUG != 0
688 static const short yyrline[] = { 0,
689    355,   357,   361,   362,   363,   366,   368,   407,   409,   410,
690    436,   438,   439,   442,   443,   444,   475,   477,   478,   480,
691    481,   482,   490,   495,   496,   510,   512,   513,   518,   520,
692    521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
693    531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
694    541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
695    563,   565,   584,   586,   594,   600,   632,   632,   634,   635,
696    667,   685,   687,   692,   713,   718,   729,   744,   749,   771,
697    773,   775,   780,   785,   807,   820,   821,   823,   824,   827,
698    829,   835,   841,   842,   843,   850,   851,   852,   853,   854,
699    855,   858,   879,   884,   888,   891,   897,   899,   900,   901,
700    904,   908,   921,   923,   925,   927,   931,   933,   934,   937,
701    939,   940,   943,   945,   953,   955,   956,   957,   962,   964,
702    969,   971,   973,   977,   979,   981,   983,   987,   989,   991,
703    995,   997,   999,  1003,  1005,  1007,  1009,  1011,  1015,  1017,
704   1019,  1023,  1025,  1029,  1031,  1035,  1037,  1041,  1043,  1047,
705   1049,  1053,  1056,  1063,  1065,  1069,  1071,  1072,  1073,  1074,
706   1075,  1076,  1077,  1078,  1079,  1080,  1083,  1085,  1089,  1095,
707   1097,  1114,  1121,  1126,  1128,  1129,  1130,  1153,  1155,  1155,
708   1156,  1156,  1158,  1158,  1159,  1160,  1168,  1187,  1187,  1198,
709   1198,  1200,  1200,  1208,  1208,  1210,  1210,  1225,  1225,  1226,
710   1227,  1228,  1229,  1230,  1256,  1258,  1259,  1261,  1264,  1265,
711   1266,  1269,  1273,  1276,  1279,  1284,  1287,  1290,  1293,  1298,
712   1300,  1301,  1310,  1313,  1316,  1319,  1324,  1326,  1330,  1333,
713   1335,  1336,  1337,  1340,  1342,  1343,  1346,  1348,  1351,  1353,
714   1356,  1358,  1359,  1367,  1369,  1370,  1371,  1372,  1375,  1378,
715   1379,  1380,  1381,  1384,  1386,  1387,  1388,  1389,  1392,  1394,
716   1395,  1398,  1400,  1401,  1404,  1406,  1407,  1408,  1409,  1410,
717   1413,  1415,  1417,  1418,  1420,  1448,  1450,  1451,  1452,  1453,
718   1454,  1455,  1456,  1459,  1460,  1463,  1466,  1468,  1470,  1472,
719   1474,  1476,  1478,  1480,  1482,  1484,  1486,  1490,  1492,  1495,
720   1497,  1513,  1544,  1613,  1615,  1694,  1711,  1717,  1726,  1731,
721   1742,  1744,  1745,  1748,  1754,  1761,  1763,  1764,  1767,  1769,
722   1772,  1774,  1777,  1779,  1780,  1781,  1784,  1786,  1787,  1788,
723   1790,  1791,  1793,  1803,  1805,  1809,  1811,  1813,  1815,  1816,
724   1818,  1819,  1820,  1825,  1826,  1829,  1833,  1836,  1839,  1840,
725   1841,  1852,  1860,  1893,  1893,  1900,  1901,  1903,  1904,  1905,
726   1906,  1907,  1908,  1919,  1945,  1947,  1950,  1968,  1970,  1973,
727   1984,  1987,  1989,  1991,  1993,  1995,  1998,  2000,  2002,  2004,
728   2006,  2008,  2011,  2022,  2025,  2027,  2029,  2032,  2034,  2036,
729   2038,  2045,  2047,  2061,  2063,  2063,  2074,  2076,  2076,  2079,
730   2081,  2095,  2099,  2101,  2104,  2106,  2119,  2121,  2124,  2126,
731   2129,  2131,  2139,  2141,  2144,  2145,  2170,  2172,  2173,  2174,
732   2177,  2179,  2180,  2181,  2182,  2185,  2187,  2190,  2192,  2193,
733   2194,  2195,  2207,  2209,  2210,  2211,  2261,  2263,  2264,  2265,
734   2267,  2268,  2269,  2271,  2272,  2274,  2275,  2277,  2281,  2286,
735   2287,  2289,  2292,  2294,  2295,  2296,  2297,  2299,  2300,  2301,
736   2302,  2303,  2306,  2308,  2311,  2315,  2317,  2318,  2321,  2323,
737   2329,  2331,  2332,  2333,  2334,  2335,  2336,  2339,  2341,  2342,
738   2350,  2365,  2375,  2383,  2385,  2388,  2390,  2393,  2397,  2399,
739   2400,  2403,  2405,  2409,  2411,  2411,  2415,  2415,  2416,  2420,
740   2420,  2423,  2423,  2425,  2428,  2430,  2432,  2433,  2434,  2441,
741   2443,  2449,  2451,  2455,  2457,  2458,  2459,  2460,  2461,  2462,
742   2468,  2473,  2475,  2485,  2493,  2496,  2504,  2505,  2526,  2530,
743   2536,  2549,  2553,  2557,  2557,  2560,  2564,  2593,  2598,  2602,
744   2602,  2604,  2607,  2609,  2612,  2614,  2617,  2619,  2631,  2633,
745   2633,  2634,  2634,  2635,  2635,  2636,  2636,  2637,  2637,  2638,
746   2638,  2639,  2639,  2640,  2642,  2644,  2667,  2691,  2695,  2703,
747   2706,  2729,  2732,  2761,  2765,  2768,  2773,  2778,  2780,  2785,
748   2787,  2792,  2795,  2816,  2819,  2822,  2825,  2828,  2832,  2834,
749   2839,  2841,  2845,  2848,  2851,  2854,  2857,  2861,  2864,  2869,
750   2872,  2875,  2889,  2893,  2896,  2899,  2903,  2906,  2911,  2913,
751   2916,  2918,  2921,  2923,  2925,  2926,  2927,  2928,  2930,  2931,
752   2934,  2936,  2939,  2941,  2942,  2945,  2947,  2948,  2959,  2961,
753   2962,  2965,  2967,  2976,  2978,  2979,  2980,  2981,  2982,  2983,
754   2986,  2988,  2989,  2990,  2998,  3000,  3003,  3005,  3015,  3017,
755   3037,  3040,  3043,  3044,  3048,  3050,  3051,  3074,  3076,  3077,
756   3080,  3082,  3085,  3087,  3088,  3091,  3093,  3096,  3098,  3099,
757   3102,  3104,  3105,  3106,  3109,  3111,  3112,  3113,  3116,  3118,
758   3119,  3123,  3129,  3135,  3160,  3165,  3172,  3178,  3196,  3198,
759   3201,  3203,  3205,  3207,  3212,  3226,  3231,  3292,  3294,  3301,
760   3303,  3319,  3321,  3324,  3326,  3336,  3349,  3351,  3356,  3363,
761   3365
762 };
763 #endif
764
765
766 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
767
768 static const char * const yytname[] = {   "$","error","$undefined.","CHARE",
769 "BRANCHED","MESSAGE","HANDLE","GROUP","ENTRY","DOUBLEARROW","ALL_NODES","LOCAL",
770 "ACCUMULATOR","MONOTONIC","READONLY","WRITEONCE","NEWCHARE","NEWGROUP","AUTO",
771 "DOUBLE","INT","STRUCT","BREAK","ELSE","LONG","SWITCH","CASE","ENUM","REGISTER",
772 "TYPEDEF","CHAR","EXTERN","RETURN","UNION","CONST","FLOAT","SHORT","UNSIGNED",
773 "WCHAR_TOKEN","__WCHAR_TOKEN","PTRDIFF_TOKEN","CONTINUE","FOR","SIGNED","VOID",
774 "DEFAULT","GOTO","SIZEOF","VOLATILE","DO","IF","STATIC","WHILE","NEW","DELETE",
775 "THIS","OPERATOR","CLASS","PUBLIC","PROTECTED","PRIVATE","VIRTUAL","FRIEND",
776 "INLINE","UNDERSCORE_INLINE","OVERLOAD","IDENTIFIER","STRINGliteral","FLOATINGconstant",
777 "INTEGERconstant","CHARACTERconstant","OCTALconstant","HEXconstant","TYPEDEFname",
778 "ARROW","ICR","DECR","LS","RS","LE","GE","EQ","NE","ANDAND","OROR","ELLIPSIS",
779 "CLCL","DOTstar","ARROWstar","MULTassign","DIVassign","MODassign","PLUSassign",
780 "MINUSassign","LSassign","RSassign","ANDassign","ERassign","ORassign","'('",
781 "')'","'+'","'-'","'*'","'/'","'%'","'^'","'&'","'|'","'~'","'!'","'<'","'>'",
782 "'.'","'['","']'","','","'?'","':'","'='","';'","'{'","'}'","constant","string_literal_list",
783 "paren_identifier_declarator","primary_expression","non_elaborating_type_specifier",
784 "operator_function_name","operator_function_ptr_opt","any_operator","type_qualifier_list_opt",
785 "postfix_expression","@1","@2","@3","@4","@5","@6","member_name","argument_expression_list",
786 "unary_expression","allocation_expression","global_opt_scope_opt_operator_new",
787 "operator_new_type","operator_new_declarator_opt","operator_new_array_declarator",
788 "operator_new_initializer_opt","cast_expression","deallocation_expression","global_opt_scope_opt_delete",
789 "point_member_expression","multiplicative_expression","additive_expression",
790 "shift_expression","relational_expression","equality_expression","AND_expression",
791 "exclusive_OR_expression","inclusive_OR_expression","logical_AND_expression",
792 "logical_OR_expression","conditional_expression","assignment_expression","assignment_operator",
793 "comma_expression","constant_expression","comma_expression_opt","declaration",
794 "default_declaring_list","@7","@8","@9","declaring_list","@10","@11","@12","@13",
795 "@14","@15","constructed_declarator","constructed_paren_typedef_declarator",
796 "constructed_parameter_typedef_declarator","constructed_identifier_declarator",
797 "nonunary_constructed_identifier_declarator","declaration_specifier","type_specifier",
798 "declaration_qualifier_list","type_qualifier_list","declaration_qualifier","type_qualifier",
799 "basic_declaration_specifier","basic_type_specifier","sue_declaration_specifier",
800 "sue_type_specifier_elaboration","sue_type_specifier","typedef_declaration_specifier",
801 "typedef_type_specifier","storage_class","basic_type_name","elaborated_type_name_elaboration",
802 "elaborated_type_name","aggregate_name_elaboration","@16","@17","@18","aggregate_name",
803 "derivation_opt","derivation_list","parent_class","virtual_opt","access_specifier_opt",
804 "access_specifier","aggregate_key","member_declaration_list_opt","member_declaration",
805 "member_default_declaring_list","member_declaring_list","@19","member_conflict_declaring_item",
806 "member_conflict_paren_declaring_item","member_conflict_paren_postfix_declaring_item",
807 "member_pure_opt","bit_field_declarator","@20","bit_field_identifier_declarator",
808 "@21","enum_name_elaboration","enum_name","global_opt_scope_opt_enum_key","enumerator_list",
809 "enumerator_list_no_trailing_comma","enumerator_name","enumerator_value_opt",
810 "parameter_type_list","old_parameter_type_list","named_parameter_type_list",
811 "comma_opt_ellipsis","parameter_list","parameter_declaration","non_casting_parameter_declaration",
812 "type_name","initializer_opt","initializer","initializer_group","initializer_list",
813 "statement","labeled_statement","compound_statement","@22","@23","declaration_list",
814 "statement_list_opt","expression_statement","selection_statement","if_cond",
815 "iteration_statement","@24","@25","@26","@27","@28","jump_statement","label",
816 "translation_unit","external_definition","@29","@30","linkage_specifier","function_declaration",
817 "function_definition","new_function_definition","@31","@32","@33","@34","@35",
818 "@36","@37","@38","@39","@40","old_function_definition","@41","@42","@43","@44",
819 "@45","@46","@47","@48","old_function_body","constructor_function_definition",
820 "@49","constructor_function_declaration","constructor_function_in_class","constructor_parameter_list_and_body",
821 "@50","@51","@52","constructor_conflicting_parameter_list_and_body","constructor_conflicting_typedef_declarator",
822 "constructor_init_list_opt","constructor_init_list","constructor_init","declarator",
823 "typedef_declarator","parameter_typedef_declarator","clean_typedef_declarator",
824 "clean_postfix_typedef_declarator","paren_typedef_declarator","postfix_paren_typedef_declarator",
825 "simple_paren_typedef_declarator","identifier_declarator","unary_identifier_declarator",
826 "postfix_identifier_declarator","old_function_declarator","postfix_old_function_declarator",
827 "old_postfixing_abstract_declarator","abstract_declarator","postfixing_abstract_declarator",
828 "array_abstract_declarator","unary_abstract_declarator","postfix_abstract_declarator",
829 "asterisk_or_ampersand","unary_modifier","scoping_name","scope","tag_name","global_scope",
830 "@53","global_or_scope","scope_opt_identifier","scope_opt_complex_name","complex_name",
831 "global_opt_scope_opt_identifier","global_opt_scope_opt_complex_name","scoped_typedefname",
832 "global_or_scoped_typedefname","global_opt_scope_opt_typedefname", NULL
833 };
834 #endif
835
836 static const short yyr1[] = {     0,
837    123,   123,   123,   123,   123,   124,   124,   125,   125,   125,
838    126,   126,   126,   126,   126,   126,   127,   127,   127,   127,
839    127,   127,   128,   128,   128,   129,   129,   129,   130,   130,
840    130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
841    130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
842    130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
843    131,   131,   132,   132,   132,   132,   133,   132,   134,   135,
844    132,   132,   132,   136,   132,   137,   132,   138,   132,   132,
845    132,   132,   132,   132,   139,   139,   139,   139,   139,   140,
846    140,   141,   141,   141,   141,   141,   141,   141,   141,   141,
847    141,   141,   142,   142,   142,   142,   143,   143,   143,   143,
848    144,   144,   145,   145,   145,   145,   146,   146,   146,   147,
849    147,   147,   148,   148,   149,   149,   149,   149,   150,   150,
850    151,   151,   151,   152,   152,   152,   152,   153,   153,   153,
851    154,   154,   154,   155,   155,   155,   155,   155,   156,   156,
852    156,   157,   157,   158,   158,   159,   159,   160,   160,   161,
853    161,   162,   162,   163,   163,   164,   164,   164,   164,   164,
854    164,   164,   164,   164,   164,   164,   165,   165,   166,   167,
855    167,   168,   168,   168,   168,   168,   168,   170,   169,   171,
856    169,   172,   169,   169,   169,   169,   174,   173,   175,   173,
857    176,   173,   177,   173,   178,   173,   179,   173,   173,   173,
858    173,   173,   173,   173,   180,   180,   180,   180,   180,   180,
859    180,   181,   181,   181,   181,   182,   182,   182,   182,   183,
860    183,   183,   184,   184,   184,   184,   185,   185,   185,   186,
861    186,   186,   186,   187,   187,   187,   188,   188,   189,   189,
862    190,   190,   190,   191,   191,   191,   191,   191,   192,   192,
863    192,   192,   192,   193,   193,   193,   193,   193,   194,   194,
864    194,   195,   195,   195,   196,   196,   196,   196,   196,   196,
865    197,   197,   197,   197,   197,   198,   198,   198,   198,   198,
866    198,   198,   198,   198,   198,   199,   199,   199,   199,   199,
867    199,   199,   199,   199,   199,   199,   199,   200,   200,   201,
868    201,   203,   204,   205,   202,   202,   206,   206,   206,   206,
869    207,   207,   207,   208,   208,   209,   209,   209,   210,   210,
870    211,   211,   212,   212,   212,   212,   213,   213,   213,   213,
871    213,   213,   213,   214,   214,   215,   215,   215,   215,   215,
872    215,   215,   215,   215,   215,   216,   216,   216,   216,   216,
873    216,   217,   218,   217,   217,   217,   217,   217,   217,   217,
874    217,   217,   217,   219,   219,   219,   219,   219,   219,   219,
875    220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
876    220,   220,   220,   221,   221,   221,   221,   221,   221,   221,
877    221,   222,   222,   223,   224,   223,   225,   226,   225,   227,
878    227,   228,   229,   229,   230,   230,   231,   231,   232,   232,
879    233,   233,   234,   234,   234,   234,   235,   235,   235,   235,
880    236,   236,   236,   236,   236,   237,   237,   238,   238,   238,
881    238,   238,   239,   239,   239,   239,   240,   240,   240,   240,
882    240,   240,   240,   240,   240,   240,   240,   240,   240,   240,
883    240,   240,   241,   241,   241,   241,   241,   241,   241,   241,
884    241,   241,   242,   242,   243,   244,   244,   244,   245,   245,
885    246,   246,   246,   246,   246,   246,   246,   247,   247,   247,
886    249,   250,   248,   251,   251,   252,   252,   253,   254,   254,
887    254,   255,   255,   257,   256,   258,   256,   256,   259,   256,
888    260,   256,   256,   261,   256,   262,   262,   262,   262,   263,
889    263,   264,   264,   265,   265,   265,   265,   265,   265,   266,
890    267,   265,   268,   269,   269,   270,   270,   270,   272,   271,
891    273,   271,   274,   271,   275,   271,   276,   271,   277,   271,
892    278,   271,   279,   271,   280,   271,   281,   271,   283,   282,
893    284,   282,   285,   282,   286,   282,   287,   282,   288,   282,
894    289,   282,   290,   282,   291,   291,   293,   292,   292,   294,
895    294,   295,   295,   296,   296,   296,   297,   296,   298,   296,
896    299,   296,   296,   300,   300,   300,   300,   300,   300,   300,
897    300,   300,   300,   300,   300,   300,   300,   300,   300,   300,
898    300,   300,   301,   301,   301,   301,   301,   301,   302,   302,
899    303,   303,   304,   304,   304,   304,   304,   304,   304,   304,
900    305,   305,   306,   306,   306,   307,   307,   307,   308,   308,
901    308,   309,   309,   310,   310,   310,   310,   310,   310,   310,
902    311,   311,   311,   311,   312,   312,   313,   313,   314,   314,
903    314,   315,   315,   315,   316,   316,   316,   317,   317,   317,
904    318,   318,   319,   319,   319,   320,   320,   321,   321,   321,
905    322,   322,   322,   322,   323,   323,   323,   323,   324,   324,
906    324,   324,   325,   325,   326,   326,   327,   327,   328,   328,
907    330,   329,   331,   331,   331,   332,   332,   333,   333,   334,
908    334,   335,   335,   336,   336,   337,   338,   338,   338,   339,
909    339
910 };
911
912 static const short yyr2[] = {     0,
913      1,     1,     1,     1,     1,     1,     2,     1,     1,     3,
914      1,     1,     1,     1,     1,     3,     1,     1,     1,     1,
915      1,     1,     2,     3,     3,     0,     2,     2,     1,     1,
916      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
917      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
918      1,     1,     1,     1,     1,     2,     2,     1,     1,     1,
919      0,     1,     1,     4,     3,     4,     0,     4,     0,     0,
920      5,     2,     2,     0,     7,     0,     4,     0,     7,     3,
921      3,     4,     4,     4,     1,     1,     4,     4,     4,     1,
922      3,     1,     2,     2,     2,     2,     2,     2,     2,     2,
923      4,     1,     5,     8,     2,     5,     1,     1,     1,     2,
924      3,     3,     0,     1,     2,     2,     2,     3,     4,     0,
925      2,     3,     1,     4,     1,     2,     5,     4,     1,     2,
926      1,     3,     3,     1,     3,     3,     3,     1,     3,     3,
927      1,     3,     3,     1,     3,     3,     3,     3,     1,     3,
928      3,     1,     3,     1,     3,     1,     3,     1,     3,     1,
929      3,     1,     5,     1,     3,     1,     1,     1,     1,     1,
930      1,     1,     1,     1,     1,     1,     1,     3,     1,     0,
931      1,     2,     2,     2,     2,     2,     2,     0,     4,     0,
932      4,     0,     5,     2,     2,     3,     0,     4,     0,     4,
933      0,     4,     0,     4,     0,     4,     0,     5,     2,     2,
934      2,     2,     2,     3,     1,     1,     4,     5,     1,     2,
935      2,     6,     7,     7,     7,     4,     5,     6,     7,     1,
936      2,     2,     4,     5,     6,     7,     1,     1,     1,     1,
937      1,     1,     1,     1,     2,     2,     1,     2,     1,     1,
938      1,     1,     1,     2,     2,     2,     2,     2,     2,     2,
939      2,     2,     2,     2,     2,     2,     2,     2,     1,     2,
940      2,     1,     2,     2,     2,     2,     2,     2,     2,     2,
941      2,     2,     2,     2,     2,     1,     1,     1,     1,     1,
942      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
943      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
944      1,     0,     0,     0,     8,     5,     2,     4,     3,     3,
945      0,     2,     2,     1,     3,     1,     3,     3,     0,     1,
946      0,     1,     1,     1,     1,     1,     1,     1,     1,     2,
947      2,     2,     2,     0,     2,     2,     2,     2,     1,     1,
948      2,     2,     2,     2,     2,     3,     3,     4,     2,     2,
949      3,     3,     0,     4,     3,     1,     4,     2,     2,     2,
950      2,     2,     3,     3,     3,     3,     3,     3,     3,     1,
951      6,     6,     6,     6,     4,     4,     6,     6,     6,     6,
952      4,     4,     1,     5,     6,     6,     6,     5,     6,     6,
953      6,     0,     2,     1,     0,     4,     2,     0,     4,     4,
954      4,     2,     1,     2,     1,     2,     2,     4,     1,     1,
955      0,     2,     3,     4,     5,     4,     2,     3,     4,     3,
956      1,     2,     2,     3,     1,     1,     2,     1,     2,     3,
957      4,     3,     1,     2,     1,     2,     1,     2,     2,     2,
958      1,     2,     2,     2,     2,     2,     2,     2,     2,     2,
959      2,     2,     1,     1,     1,     1,     1,     2,     2,     2,
960      2,     2,     0,     1,     2,     3,     4,     1,     1,     3,
961      1,     1,     1,     1,     1,     1,     1,     3,     4,     3,
962      0,     0,     5,     1,     2,     0,     2,     2,     3,     5,
963      3,     3,     3,     0,     6,     0,     6,     7,     0,     8,
964      0,    10,     8,     0,     6,     3,     2,     2,     3,     1,
965      1,     0,     2,     1,     1,     1,     2,     2,     2,     0,
966      0,     6,     2,     2,     2,     1,     1,     1,     0,     3,
967      0,     4,     0,     4,     0,     4,     0,     4,     0,     4,
968      0,     4,     0,     4,     0,     4,     0,     4,     0,     3,
969      0,     4,     0,     4,     0,     4,     0,     4,     0,     4,
970      0,     4,     0,     4,     2,     1,     0,     5,     4,     2,
971      2,     2,     2,     4,     6,     5,     0,     6,     0,     8,
972      0,     7,     1,     5,     5,     5,     5,     5,     6,     6,
973      6,     6,     6,     6,     6,     6,     6,     7,     7,     7,
974      7,     1,     6,     7,     6,     7,     6,     7,     0,     1,
975      2,     3,     4,     3,     4,     3,     4,     3,     3,     2,
976      1,     1,     1,     1,     1,     1,     2,     1,     1,     2,
977      2,     3,     4,     1,     4,     4,     4,     4,     2,     2,
978      3,     4,     4,     4,     3,     3,     1,     1,     1,     2,
979      2,     2,     3,     4,     1,     2,     2,     4,     3,     4,
980      1,     1,     1,     1,     1,     1,     1,     2,     3,     4,
981      1,     1,     2,     2,     3,     3,     3,     4,     1,     1,
982      1,     1,     3,     2,     1,     2,     2,     3,     1,     1,
983      0,     2,     1,     1,     2,     1,     2,     1,     2,     2,
984      1,     2,     1,     2,     1,     2,     1,     2,     2,     1,
985      1
986 };
987
988 static const short yydefact[] = {   522,
989      0,     0,     0,     0,   691,   692,     0,     0,   253,   289,
990    304,   296,   337,   299,   413,   290,   287,   297,   286,   338,
991    251,   300,   298,   306,   302,   303,   301,   305,   307,   252,
992    288,   701,   339,   295,   291,   293,   294,   292,   706,   700,
993      0,   689,   690,     0,   658,   711,   526,     0,     0,     0,
994      0,   701,   701,   247,   237,   240,   238,   242,   241,   239,
995    243,   244,     0,   269,   272,   308,   310,   321,   309,   311,
996      0,   523,     0,   524,   525,   536,   537,   538,     0,   539,
997    657,   659,   559,   665,     0,     0,     0,   704,   695,   703,
998      0,     0,     8,     9,   708,   717,     0,   187,   340,   341,
999    342,   343,   533,    58,    59,   699,    21,    45,    49,    50,
1000     41,    42,    51,    52,    53,    54,    43,    44,    48,    46,
1001    167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1002      0,    29,    30,    31,    32,    33,    34,    35,    36,    37,
1003     38,    39,    40,    47,     0,    60,   166,    26,    23,    55,
1004     26,    18,    17,    19,    20,   310,     0,   311,     0,   704,
1005     22,   286,   636,     0,   658,   212,   216,   219,   215,   283,
1006    278,     0,   203,   632,   635,   638,   639,   633,   644,   634,
1007    631,   567,     0,     0,     0,   700,     0,     0,     0,   710,
1008    701,   701,   677,   662,   676,     0,   183,     0,   182,   543,
1009    701,   209,   581,   197,   561,   210,   199,   563,   275,     0,
1010    194,   230,   246,   250,   249,   254,   265,   264,   188,   571,
1011      0,     0,   276,   281,   195,   248,   245,   259,   270,   273,
1012    190,   573,   282,   257,   258,   262,   255,   263,   184,   268,
1013    186,   271,   267,   185,   274,   266,   280,   285,   277,   549,
1014    211,   261,   256,   260,   201,   565,     0,   312,     0,   317,
1015      0,     0,   412,   530,   529,   527,   528,   535,   534,     0,
1016      0,   694,   660,   666,   661,   667,   697,   707,   716,    61,
1017      0,     0,   709,   719,     0,   705,   718,   702,   414,   213,
1018    284,   279,   580,   205,   569,    56,    57,    25,    26,    26,
1019      0,    24,   704,   701,   637,   700,     0,     0,     0,     0,
1020      0,     0,     0,   701,   662,   696,   473,     0,   701,     0,
1021      0,     0,   220,   640,   649,     0,     0,   221,   641,   650,
1022     10,   663,   669,   108,   109,   701,   107,   129,    13,     6,
1023      2,     1,     5,     3,     4,   465,   701,   701,   435,   701,
1024     61,   701,   701,   701,   701,    14,    15,    63,    92,     0,
1025    123,   102,   701,   125,   131,   701,   134,   138,   141,   144,
1026    149,   152,   154,   156,   158,   160,   162,   164,    90,   447,
1027    463,   451,   467,   238,   242,   241,   464,     0,   431,   438,
1028      0,   701,   704,   703,     0,   713,   715,    11,    12,   466,
1029    700,   678,   123,   179,     0,     0,   704,   703,     0,     0,
1030    701,     0,   658,   196,   192,     0,     0,     0,   214,   207,
1031      0,     0,     0,   465,   464,   466,   701,     0,   620,   473,
1032      0,     0,   473,     0,     0,   473,     0,     0,   231,   232,
1033    473,     0,     0,     0,   473,     0,     0,   323,   336,   333,
1034    335,   334,   331,   720,   322,   324,   329,     0,     0,   721,
1035    326,     0,   344,   419,   420,     0,   415,   421,     0,   522,
1036    491,   540,   700,   494,     0,     0,   701,   701,     0,   576,
1037      0,   560,     0,   693,    62,   320,   698,   319,     0,   577,
1038    473,     0,     0,    28,    27,     0,   701,   701,   655,     0,
1039    700,     0,     0,     0,   642,   651,   656,     0,   663,   636,
1040      0,     0,     0,   701,   701,   204,   474,   552,     0,   701,
1041    568,   700,     0,   700,     0,   664,   701,   672,   670,   671,
1042    701,   100,     0,   701,   658,   459,   458,   470,   675,   673,
1043    674,   681,   682,   701,    93,    94,   465,   177,     0,   463,
1044    467,   240,   242,   241,   243,   464,     0,   466,   423,    97,
1045     96,   710,    98,    99,     7,    76,    72,    73,   701,   701,
1046      0,     0,   668,   701,   701,   701,   113,   105,   113,   701,
1047    126,   701,   701,   701,   701,   701,   701,   701,   701,   701,
1048    701,   701,   701,   701,   701,   701,   701,   701,   701,   701,
1049    701,   701,   701,   450,   449,   448,   455,   454,   468,   701,
1050    453,   452,   681,   682,   462,   472,   701,   457,   456,   469,
1051     61,   436,   701,   432,   439,    61,   701,   433,     0,    95,
1052    705,   712,   714,   110,   130,   701,   461,   460,   471,   701,
1053    679,   701,   705,   701,     0,     0,     0,     0,     0,   701,
1054    473,     0,     0,     0,   473,     0,     0,   544,   675,   699,
1055    700,   701,   621,     0,   579,   701,   198,   542,   562,   200,
1056    546,   564,   189,   556,   572,   191,   558,   574,   550,   202,
1057    548,   566,   701,   332,   701,   330,   701,   313,   701,   411,
1058    416,   701,   417,   410,     0,   496,   203,   197,   199,   188,
1059    190,   201,   495,   575,   205,   318,     0,   206,   554,   570,
1060    226,     0,   465,   653,     0,   642,   651,     0,   701,   643,
1061    701,   654,   652,   701,   664,   637,   700,     0,   700,     0,
1062    668,     0,   701,   478,   475,   217,     0,   647,   645,   648,
1063    646,   427,     0,     0,     0,   701,    80,     0,     0,     0,
1064      0,   681,   713,   715,   683,   684,   701,   681,   682,    16,
1065    701,   701,   701,   701,   701,     0,    65,     0,     0,     0,
1066      0,     0,    70,    91,   165,     0,     0,   701,   120,   114,
1067    113,   113,   120,   701,     0,   132,   133,   135,   136,   137,
1068    139,   140,   142,   143,   147,   148,   145,   146,   150,   151,
1069    153,   155,   157,   159,   161,     0,     0,   426,   437,   442,
1070    445,   443,   424,   440,    61,   701,   434,    81,     0,    80,
1071     81,   680,     0,   193,     0,     0,   208,   701,   701,   630,
1072      0,   701,   622,   327,   325,   328,   344,   700,   316,     0,
1073      0,   701,   701,   238,   242,   241,   239,     0,     0,   345,
1074      0,     0,   366,   380,   393,   349,   350,   539,     0,   421,
1075    422,     0,     0,   578,   227,   701,   653,   643,   654,   652,
1076      0,   701,     0,   701,   701,     0,   701,   647,   645,   648,
1077    646,   234,   479,     0,   218,   430,   428,     0,   101,     0,
1078     82,   687,   685,   686,   636,   704,   701,   681,   178,   124,
1079     77,     0,     0,     0,     0,    85,    86,    66,     0,    74,
1080     64,    68,     0,   701,   120,   117,     0,   701,   112,   701,
1081    115,   116,   111,   128,   701,   701,    84,   446,   444,   425,
1082    441,    83,   233,   624,     0,   626,     0,   629,   628,     0,
1083    314,   636,   701,   701,   370,   404,   583,   593,   612,   551,
1084    402,   402,   402,     0,     0,   701,   372,   582,   541,   402,
1085    402,   402,     0,     0,   368,   402,   634,   631,   360,   402,
1086    359,   402,   355,   352,   351,   354,   369,   363,   348,     0,
1087    347,     0,   346,   353,   371,   402,   418,   532,     0,     0,
1088    701,   180,     0,     0,     0,     0,     0,     0,     0,   706,
1089    521,   181,     0,   487,     0,   497,   481,   482,     0,   483,
1090    484,   485,   486,     0,     0,     0,   228,     0,   222,     0,
1091      0,   235,     0,   701,   476,   429,    61,   688,   701,     0,
1092      0,     0,    78,     0,    71,   701,   106,   103,   118,   121,
1093      0,     0,   127,   163,   623,   625,   627,     0,     0,   465,
1094     61,   463,   467,   464,     0,     0,     0,     0,   466,   407,
1095      0,   375,   376,   374,     0,     0,   402,     0,   402,   465,
1096      0,     0,   378,   379,   377,     0,   402,     0,   402,   362,
1097    357,   356,   402,   361,   402,   373,   402,   365,   518,     0,
1098      0,     0,     0,   517,     0,     0,   520,   521,     0,     0,
1099      0,     0,   701,   498,   701,   493,     0,   701,   225,   229,
1100    223,   224,   236,   477,   480,     0,     0,     0,     0,     0,
1101    465,   464,     0,   466,   122,   119,   315,   701,    61,   675,
1102    673,   674,   619,    61,   468,    61,   472,    61,   469,    61,
1103      0,   402,     0,    61,   471,   403,   701,   700,     0,   385,
1104    700,     0,   386,   675,   402,     0,   700,     0,   391,   700,
1105      0,   392,   364,   358,   367,     0,     0,   501,     0,   519,
1106      0,   700,     0,   180,   490,   516,     0,   499,     0,     0,
1107    700,   701,   701,   488,    88,     0,    89,    87,    79,    75,
1108    120,   406,   619,    61,    61,    61,   584,   587,   619,    61,
1109    619,    61,   619,    61,   619,    61,   394,   402,   402,   619,
1110     61,   409,   402,   402,   402,   402,    61,   398,   402,   402,
1111    402,   402,   402,   402,   503,   502,   489,   514,   180,     0,
1112      0,     0,   506,   504,   700,   701,   104,   596,     0,   619,
1113    396,   619,   619,     0,   594,     0,   619,   598,     0,   619,
1114    595,     0,   619,   586,   591,   619,   397,   395,   597,     0,
1115    619,   383,   381,   384,   382,   400,   401,   399,   389,   387,
1116    390,   388,     0,     0,   180,     0,     0,   500,     0,     0,
1117      0,   700,   605,   617,     0,   613,     0,   615,     0,   588,
1118    603,   599,     0,   607,   602,     0,   604,   600,     0,     0,
1119    585,   589,   606,   601,     0,   515,   180,     0,   509,     0,
1120    507,   505,   618,   614,   616,   608,   611,   609,   592,     0,
1121    610,     0,     0,     0,   508,   590,   511,   513,   510,     0,
1122    512,     0,     0
1123 };
1124
1125 static const short yydefgoto[] = {   356,
1126    357,   535,   358,   577,    46,   298,   149,   559,   359,   571,
1127    572,   913,  1034,   766,  1119,   901,   748,   361,   362,   363,
1128    578,   779,   780,   919,   364,   365,   366,   367,   368,   369,
1129    370,   371,   372,   373,   374,   375,   376,   377,   378,   548,
1130    150,  1002,   405,  1003,  1004,    48,   436,   441,   651,    49,
1131    430,   433,   445,   317,   491,   655,   166,   167,   168,   211,
1132    169,   380,   381,   382,   383,   213,    54,    55,    56,   384,
1133    385,   386,    60,    61,    62,   406,    64,    65,    66,   462,
1134    837,  1048,    67,   258,   455,   456,   687,   683,   457,   172,
1135    689,   850,   851,   852,  1083,   853,   854,   855,  1062,   945,
1136   1049,   946,  1065,    69,    70,    71,   466,   467,   468,   693,
1137    193,   528,   388,   628,   389,   810,   390,   391,   516,   517,
1138    735,   884,  1006,  1007,  1008,   696,  1009,   481,   863,  1010,
1139   1011,  1091,  1012,  1280,  1279,  1324,  1330,  1273,  1013,  1014,
1140      1,    72,   470,   862,    73,    74,    75,    76,   270,   431,
1141    423,   434,   446,   444,   318,   492,   437,   442,    77,   271,
1142    432,   435,   447,   321,   493,   438,   443,   482,    78,   707,
1143     79,   857,   947,  1244,  1320,  1300,   948,   949,   428,   429,
1144    663,   697,   174,   175,   176,   177,   178,   179,   180,   181,
1145     81,    82,   189,    84,   529,   538,   539,   195,   540,   541,
1146    392,   654,    87,   185,    89,   408,    91,   409,   396,   397,
1147     95,   398,   399,    96,   410,   461
1148 };
1149
1150 static const short yypact[] = {-32768,
1151  12729,   -66,    25,    65,-32768,-32768,   136,   179,-32768,-32768,
1152 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   157,-32768,
1153 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1154 -32768,  9452,-32768,-32768,-32768,-32768,-32768,-32768,   228, 16674,
1155   3313,-32768,-32768,   180,   159,-32768,-32768,   -35,   186,  1391,
1156   5099, 16023, 16122,-32768,  8650,  8650,  1696,  2455,  2648,  3651,
1157   3651,-32768, 12828,-32768,-32768,-32768,    84,   -17,-32768,   198,
1158    -16,-32768,  6722,-32768,-32768,-32768,-32768,-32768,   237,   258,
1159 -32768,-32768,-32768,-32768,  5893,  3313,   300,    83,-32768,  1801,
1160    327,   317,-32768,-32768,-32768,-32768, 16738,-32768,-32768,-32768,
1161 -32768,-32768,-32768,-32768,-32768,-32768,    31,-32768,-32768,-32768,
1162 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1163 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1164    332,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1165 -32768,-32768,-32768,-32768,   338,-32768,-32768,  2624,-32768,-32768,
1166  17173,  3602,    66,    66,  3602,-32768,    68,-32768,    68,  1996,
1167     66,-32768,   153,  5516,   183,-32768,-32768,-32768,-32768,-32768,
1168 -32768,    68,   339,-32768,-32768,-32768,-32768,-32768,-32768,   193,
1169 -32768,-32768,  5976,  6158,  1318,-32768,   306,   366,   371,-32768,
1170  12927,  9781,-32768,-32768,   433,  6312,-32768,  6528,-32768,-32768,
1171  15726,-32768,   170,   364,-32768,-32768,   377,-32768,   417,  3313,
1172 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   440,-32768,
1173   6089,  7885,-32768,   417,-32768,-32768,-32768,-32768,-32768,-32768,
1174    483,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1175 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1176 -32768,-32768,-32768,-32768,   487,-32768,  4799,-32768,   490,   539,
1177    137,   137,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   499,
1178   6411,    66,-32768,-32768,-32768,-32768,-32768,   228,   417,    66,
1179     68,   543,-32768,   417,    68,  1996,-32768,-32768,-32768,-32768,
1180 -32768,-32768,   170,   513,-32768,-32768,-32768,-32768,  4663,  2624,
1181    709,-32768,  1012, 12927,   551,   437,  7914,   556,   563,   463,
1182    566,  7500, 10969, 12927,   570,-32768,   554,   499, 12927,   577,
1183   6411, 12483,-32768,-32768,-32768,   193, 12593,-32768,-32768,-32768,
1184 -32768,   350,   425,-32768,-32768, 15195,-32768,-32768,-32768,-32768,
1185 -32768,-32768,-32768,-32768,-32768, 11958, 15303, 15303,-32768, 13143,
1186     66, 15411, 15411, 15519, 15411,-32768,   618,-32768,   531,   -73,
1187   2049,-32768, 17334,-32768,-32768, 10994,    74,   632,   199,   322,
1188    167,   343,   606,   591,   620,   636,    29,-32768,-32768,  2346,
1189   2346,  7739, 11401,  3651,  3651,  3651, 11698,   644,   -43,   554,
1190    -32, 15411,  1304,  1515,   144,-32768,-32768,-32768,-32768, 12150,
1191    660,-32768,-32768,-32768,   664,   685,  1304,  1515,   488,   689,
1192  14979, 14090,   445,-32768,-32768,  7613,  6312, 14198,-32768,-32768,
1193   8042, 14306,   499,  7107, 11797, 12214,  1167,   499,   679,   554,
1194    499,  6411,   554,   499,  6411,   554,   499,  6411,-32768,-32768,
1195    554,   499,  6411,   499,   554,   499,  6411,-32768,-32768,-32768,
1196 -32768,-32768,    52,   417,   682,-32768,   744,  1996,  1801,-32768,
1197 -32768,   687,-32768,-32768,-32768,   696,   713,   706,   737,-32768,
1198 -32768,-32768, 16802,-32768,  6528,  6528, 16221, 16320, 16419,-32768,
1199   6411,-32768, 16802,-32768,    66,   539,-32768,   539,    68,-32768,
1200    554,   499,  6411,-32768,-32768,   -33, 14979,  8859,-32768,   772,
1201    437,   775,   785,   463,   532,   584,-32768,   791,   588,   191,
1202  14414, 14522,     2, 14979,  9250,-32768,-32768,-32768,    21, 14979,
1203 -32768,   466,   518,   528,   537,-32768, 17265,-32768,-32768,   433,
1204  13143,-32768,   841, 10114,   350,-32768,-32768,-32768,-32768,-32768,
1205 -32768,  2547,  2346, 14979,-32768,-32768,  2408,-32768,    48,  2263,
1206  11896,  3602,    66,    66,    66,  5050,   799,  4875,-32768,-32768,
1207 -32768,    45,-32768,-32768,-32768,-32768,-32768,-32768, 13791, 13575,
1208    796,   849,-32768, 14979, 14979, 13143,  1129,-32768,  7300,  9892,
1209 -32768, 14979, 14979, 14979, 14979, 14979, 14979, 14979, 14979, 14979,
1210  14979, 14979, 14979, 14979, 14979, 14979, 14979, 14979, 14979, 14979,
1211  14979, 14979, 11104,-32768,-32768,-32768,-32768,-32768,-32768, 11203,
1212 -32768,-32768,  3234,  3750,-32768,-32768, 10224,-32768,-32768,-32768,
1213     66,-32768, 17432,-32768,-32768,    66, 17432,-32768,    51,-32768,
1214   1304,-32768,-32768,-32768,-32768, 10334,-32768,-32768,-32768, 13899,
1215 -32768, 14979,  1304, 14007,   838, 14090,   548,  8218, 14090, 12927,
1216    554, 14630, 13766, 14846,   554, 14954, 15062,-32768,   772,   867,
1217    870, 14115,-32768,   873,-32768,  1167,-32768,-32768,-32768,-32768,
1218 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1219 -32768,-32768,  2736,-32768,  3165,-32768,  2736,-32768,  9169,-32768,
1220    137, 14979,-32768,-32768,  8336,-32768,-32768,-32768,-32768,-32768,
1221 -32768,-32768,-32768,-32768,-32768,   539,   499,-32768,-32768,-32768,
1222 -32768,   117, 12022,   875,   826,   350,   350,   876, 12927,   878,
1223  12927,   880,   881, 12927,   883,-32768,   578,   581,   590,   617,
1224    307,   149,  9250,-32768,-32768,-32768,   150,   594,   611,   594,
1225    611,-32768,   886,     7,   887, 10224,   624,   168,   888,   892,
1226    893, 10774,   627,   634,-32768,-32768, 10444,  5436,  2263,-32768,
1227  14979, 11500, 10554, 15411, 10664, 16610,-32768,   240,   868,   879,
1228    363, 16610,-32768,-32768,-32768,   248,   897, 10003,   899,   885,
1229   2198,  1129,   899, 14979,   544,-32768,-32768,    74,    74,    74,
1230    632,   632,   199,   199,   322,   322,   322,   322,   167,   167,
1231    343,   606,   591,   620,   636,   -54,   900,-32768,-32768,-32768,
1232    554,   554,-32768,-32768,    66, 17432,-32768,   624,   292,-32768,
1233 -32768,-32768,   295,-32768, 15170, 15278,-32768, 14223, 14331,-32768,
1234    335, 14439,-32768,-32768,-32768,-32768,-32768,  5775,-32768,  1142,
1235   1352,  9567,  9674,  2829,  2929,  3867,  4436,  9360,   884,-32768,
1236    418,   444,-32768,-32768,-32768,-32768,-32768,   889,  6984,   706,
1237 -32768,   891,  8748,-32768,-32768, 14979,-32768,-32768,-32768,-32768,
1238    345, 14979,   347, 14979, 14979,   352, 14979,-32768,-32768,-32768,
1239 -32768,-32768,-32768,    57,-32768,-32768,-32768,    58,-32768,     8,
1240 -32768,-32768,   350,-32768,   259,    83, 10554, 10884,-32768,-32768,
1241 -32768,  4258,  4586,   915,  1530,-32768,-32768,-32768,   996,-32768,
1242 -32768,-32768, 16610, 17382,   899,-32768,   652, 14547,-32768, 14979,
1243 -32768,-32768,-32768,-32768, 14979, 14979,-32768,-32768,-32768,-32768,
1244 -32768,-32768,-32768,-32768,   370,-32768,   372,-32768,-32768,   374,
1245  15627,   269, 15825, 14979,-32768,-32768,-32768,-32768,-32768,-32768,
1246     94,   206,   628, 13874, 15386, 15924,-32768,-32768,-32768,    94,
1247    206,   628, 13982, 15494,-32768,   451,-32768,   890,-32768,   714,
1248 -32768,   745,-32768,-32768,-32768,-32768,-32768,   487,-32768,  1776,
1249 -32768,  1352,-32768,-32768,-32768,   534,-32768,-32768,   896,   904,
1250  14979, 14655,   901,   912,   902,   265,  8936,   904,   919,   -47,
1251   8147,   903,   916,-32768, 16518,-32768,-32768,-32768,   917,-32768,
1252 -32768,-32768,-32768,   920, 16866,   383,-32768,   384,-32768,   389,
1253    404,-32768,   411,  8545,-32768,-32768, 13467,-32768, 13035,   913,
1254    932,   933,-32768,   969,-32768, 17499,-32768,-32768,-32768,-32768,
1255    415,   698,-32768,-32768,-32768,-32768,-32768,   925,   931,  8400,
1256     66,  2723, 11302, 11599,   950,    13,   951,   463, 12086,-32768,
1257    982,-32768,-32768,-32768,   936, 16994,   657, 17005,   718,  8400,
1258    955,   463,-32768,-32768,-32768, 17063,   657, 17074,   718,-32768,
1259 -32768,-32768,   938,-32768,   587,-32768,   938,-32768,-32768, 12508,
1260   8936,   940,   939,-32768,  9060,  8936,-32768,-32768,   941,  1008,
1261   8936, 12398, 14763,-32768, 15087,-32768,  8936, 14871,-32768,-32768,
1262 -32768,-32768,-32768,-32768,-32768,  3651,    66,  3007, 16610, 16610,
1263   3090, 12313,   963,  5436,-32768,-32768,-32768, 14979,    85,   966,
1264    968,   970,   390,    66,   971,    66,   974,    66,   976,    66,
1265     96,   298,   979,    66,   980,-32768, 14979,   639,   655,-32768,
1266    673,   686,-32768,   986,   298,   991,   690,   692,-32768,   702,
1267    722,-32768,-32768,-32768,-32768,   998,   416,-32768,  8936,-32768,
1268    -59, 16930,   962, 14655,-32768,-32768,  1000,  1082,  1009,  1010,
1269    724, 13251, 13683,-32768,  3651,  3651,    66,-32768,-32768,-32768,
1270    899,-32768,   691,   282,    66,    66,-32768,-32768,   740,    66,
1271    749,    66,   750,    66,   760,    66,-32768,   763,   779,   761,
1272     66,-32768,   801,   811,   815,   816,   282,-32768,   763,   779,
1273    801,   811,   815,   816,-32768,-32768,-32768,-32768, 14655,   992,
1274  12618,  8936,-32768,-32768,  4029, 13359,-32768,-32768,   499,   821,
1275 -32768,   827,   828,   499,-32768,   499,   832,-32768,   499,   839,
1276 -32768,   499,   840,-32768,-32768,   844,-32768,-32768,-32768,   499,
1277    845,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1278 -32768,-32768,  8936,   993, 14655,  1011,   429,-32768,  8936,  8936,
1279    826,  4335,-32768,-32768,   499,-32768,   499,-32768,   499,-32768,
1280 -32768,-32768,   499,-32768,-32768,   499,-32768,-32768,   499,   499,
1281 -32768,-32768,-32768,-32768,   499,-32768, 14655,  1014,-32768,   997,
1282 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   499,
1283 -32768,  1016,  8936,  1002,-32768,-32768,-32768,-32768,-32768,  8936,
1284 -32768,  1125,-32768
1285 };
1286
1287 static const short yypgoto[] = {-32768,
1288 -32768,  7527,-32768,  1096,-32768,  -123,-32768,   898,-32768,-32768,
1289 -32768,-32768,-32768,-32768,-32768,  -735,  2938,  6334,-32768,-32768,
1290    215,  -553,-32768,  -770,  -277,  -322,-32768,   268,   257,   313,
1291    256,   320,   533,   540,   538,   552,   530,-32768,  -174,  3654,
1292    783,  -287,  -321,  -857,     1,-32768,-32768,-32768,-32768,-32768,
1293 -32768,-32768,-32768,-32768,-32768,-32768,   192,-32768,-32768,   -13,
1294    -37,   408,  1218,  1491,  1804,   -48,  5218,-32768,   -24,  1505,
1295    994,  1191,  -670,   -22,  7486,   855,   -49,   -23,-32768,-32768,
1296 -32768,-32768,   -31,  1083,-32768,   468,-32768,-32768,  -448,  2582,
1297    319,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  2516,  -793,
1298 -32768,  -810,-32768,-32768,   -26,   -21,   895,-32768,   470,   304,
1299    -27,-32768,  -513,  -367,-32768,  -610,  -589,    88,  -182,  -355,
1300   -713,-32768,  -140,-32768,  -212,-32768,-32768,-32768,-32768,-32768,
1301 -32768,   169,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   175,
1302    695,-32768,-32768,-32768,-32768,  1093,  1104,  -665,-32768,-32768,
1303 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1304 -32768,-32768,-32768,-32768,-32768,-32768,-32768,  -275,-32768,-32768,
1305 -32768,-32768,   344,-32768,-32768,-32768,-32768,-32768,  -272,-32768,
1306    519,   224,-32768,  3792,  2484,-32768,  3595,-32768,  5004,  7881,
1307   2838,-32768,   102,-32768,-32768,  1639,  5411,   854,  -396,  -240,
1308   4181,  4917,     9,    -1,    23,  2930,-32768,  1294,  6196,  7019,
1309    -19,-32768,-32768,   -65,  3517,  -116
1310 };
1311
1312
1313 #define YYLAST          17572
1314
1315
1316 static const short yytable[] = {    88,
1317    156,    47,   217,   229,   684,   158,   234,   152,   240,   154,
1318    159,   247,   923,   743,   212,   212,   814,   404,   847,   883,
1319    490,   624,   203,   856,   287,   783,   573,   302,   218,   230,
1320    160,   969,   971,   811,   625,   629,   912,   811,  -699,   225,
1321   1228,   622,   574,   581,     9,   521,   957,   965,   106,   106,
1322     88,    88,   622,    98,   977,   186,   186,   472,   480,   449,
1323     98,   761,   549,   926,    21,   985,   711,   626,   283,   293,
1324   -520,    88,   623,   265,   560,   561,   563,   564,    30,     9,
1325    196,    99,   574,   627,   197,     3,   515,     4,   286,   645,
1326    260,   622,   622,   263,     7,     8,   282,   622,     9,    21,
1327    257,   731,    83,    13,   262,   518,   887,  1027,   480,   450,
1328    451,   452,   601,    30,   630,    20,  -700,   574,    21,   156,
1329    736,   100,   627,   627,   158,   515,   515,   230,   627,   159,
1330   -700,   515,    30,   106,  1093,   622,   574,   750,    32,    33,
1331    186,   182,   622,   640,  1038,   602,   301,   760,   278,   303,
1332    815,   205,   208,   220,   232,   279,   669,  1026,   212,   672,
1333    582,   583,   675,   761,   256,   283,   816,   678,   282,  1084,
1334    289,   682,  1024,   816,    83,   494,   495,  1035,  1025,   260,
1335    622,   263,   414,   212,   212,   280,   274,   276,  1086,   393,
1336    407,    44,   101,   282,   316,  1206,   634,   635,   295,    88,
1337   -655,   257,   464,  -655,  -321,   931,   750,   439,   440,   465,
1338    658,   816,  1061,   750,  -635,   665,   865,   710,   668,   480,
1339    750,   671,   480,   103,   674,   480,   811,   921,   922,   677,
1340    480,   679,   574,   681,   480,   102,   404,  1173,  -700,   750,
1341    849,   202,   206,   549,  1180,   591,   592,   667,   882,   885,
1342    670,   304,   190,   673,   251,   458,   549,   191,   676,   786,
1343    787,   817,   680,   173,   574,   574,   192,   891,   704,   160,
1344    847,   474,   192,   204,   207,   856,  -700,   593,   594,   709,
1345    480,   314,   771,   574,   274,   276,   255,   427,   290,   498,
1346   -619,   319,   785,   751,   282,     9,   192,   301,   301,   587,
1347    588,   198,   393,   486,   192,   199,   192,   488,   708,   282,
1348   1115,   282,   393,  -699,   806,    21,  1230,   393,   261,   160,
1349    294,   474,   274,   276,  1061,   552,  -634,   555,   287,    30,
1350   1097,   156,   217,   229,   407,   240,   158,  1098,   152,   908,
1351    154,   159,   287,   289,  -700,   407,   407,   914,   393,   750,
1352    407,   407,   407,   407,  -700,   574,   268,  1029,   218,   230,
1353    750,   160,   751,   574,   407,   750,   750,   498,   750,   751,
1354    861,  1274,   192,   283,   323,   328,   751,   269,   212,   212,
1355     88,    88,   192,  1189,  1190,   277,  -405,   283,   888,   419,
1356    407,   932,   631,   287,   933,   751,   498,  -402,   589,   590,
1357   1061,   282,   439,   440,   191,   331,   643,   574,    50,   407,
1358    574,   192,   288,   274,   276,   282,  1061,  1308,  -651,   192,
1359   1237,   420,  -233,   595,   596,   458,  -233,   217,   229,  1055,
1360    160,   296,   474,   160,   938,   474,   160,   557,   474,   212,
1361    212,   160,  1055,   474,  1017,   160,  1019,   474,   498,  1322,
1362    574,  1022,   297,   218,   230,   928,   929,   458,   549,  -551,
1363    574,   924,   574,   192,   225,   332,   282,   574,   824,  1045,
1364    333,  1046,   827,  1047,   630,    88,    88,   911,   761,   160,
1365     50,   703,  1109,  1110,  -541,   574,   900,   574,  1111,   574,
1366    917,   160,   849,   474,   864,   407,   160,  -545,   574,   574,
1367    750,   229,  -700,  1112,   574,   751,   552,   427,   555,  1197,
1368   1113,   706,   407,   407,  1125,  1226,   751,   404,   407,   574,
1369    817,   751,   751,   527,   751,   160,   574,   230,  1310,   393,
1370    574,   761,    88,   980,   629,   498,   499,   981,   192,   566,
1371    634,   635,   407,   650,   761,   301,   411,   156,   301,   303,
1372    192,   552,   158,   555,   301,   230,   301,   159,   192,   982,
1373   -555,   498,   507,   983,   498,   738,   834,   407,   407,  1061,
1374    836,  -545,   407,   407,   393,   301,   192,   303,   407,   192,
1375    407,   407,   407,   407,   407,   407,   407,   407,   407,   407,
1376    407,   407,   407,   407,   407,   407,   407,   407,   407,   407,
1377    407,    88,  1043,  -557,   -69,   567,   568,  -547,    88,   549,
1378    463,   283,   323,   328,   744,    88,   498,   739,   745,   471,
1379    630,   160,  1060,   283,  -696,   160,   498,   740,   487,   569,
1380    719,   192,  1042,  -553,    88,   498,   741,     9,   407,   282,
1381    407,   192,   407,   -67,   570,   192,   498,   331,   393,   497,
1382    192,   282,  1061,  1131,  -553,   505,   751,    21,   925,   761,
1383    407,   192,   506,   777,   458,   509,   202,   206,   514,  1092,
1384    251,    30,   515,  1131,   290,   520,   498,   878,   475,   498,
1385    879,   458,   721,   458,   565,   458,   724,    88,   498,   880,
1386    407,   192,  -655,    88,   192,    47,   598,   192,   698,   699,
1387   1141,   192,   702,   192,  -408,  1061,   705,  -655,   -61,  -656,
1388    812,     3,   597,     4,   812,   498,   881,   393,   600,   393,
1389      7,     8,   393,   -61,  -656,    -8,    -8,   599,   475,    13,
1390    192,   407,    -9,    -9,   584,   585,   586,   498,  1213,   -61,
1391     -8,    20,   -61,   621,    88,  -408,  1061,    -9,  -631,   900,
1392    896,  1044,   192,   498,  1214,    88,   301,   301,   640,   407,
1393    303,    88,   407,    88,   905,    33,  1039,   761,   192,   404,
1394    905,   498,  1215,   817,   106,  1061,   407,  -649,   641,   301,
1395    301,   186,   407,   642,   498,  1216,   192,   644,   498,  1221,
1396    498,  1222,   217,   229,   666,   240,    83,   685,   247,   192,
1397    498,  1223,  1167,   192,   686,   192,  1192,   688,   427,  1132,
1398   1238,   280,  1126,   761,   160,   192,   404,   690,   218,   230,
1399    498,  1224,  1029,   499,   692,  1212,   407,   407,   691,  1132,
1400    407,  -408,  1061,   890,  -555,   192,  1061,   192,  -650,   475,
1401     88,    88,   475,   791,   792,   475,   795,   796,   797,   798,
1402    475,   788,   789,   790,   475,    63,  1100,   427,   694,  1245,
1403   1198,   393,  -408,  1061,   407,  -557,   427,   427,  1248,  1251,
1404    407,   714,   407,   407,   716,   407,   283,   427,   427,  1254,
1405   1259,  1061,   156,  -654,   717,   283,   155,   158,   475,   152,
1406    723,   154,   159,   634,   549,    88,   896,  1061,   764,  -652,
1407    475,   793,   794,   812,   282,   630,   216,   228,   772,   235,
1408    238,   905,   160,   282,   799,   800,   407,   254,   407,  1061,
1409   1239,  -647,   773,   407,   407,   867,  1246,    63,  1249,  1061,
1410   1252,  -645,  1255,  1061,  1061,  -648,  -646,  1260,   427,    88,
1411   1284,    88,   407,  1277,   427,   427,  1286,  1288,   549,   427,
1412   1168,  1292,   822,   404,    88,  1175,   427,   427,  1295,  1298,
1413   1178,   427,   427,  1301,  1304,   828,  1184,  1285,   829,  1287,
1414   1289,   832,   404,   866,  1293,   870,   872,  1296,   874,   875,
1415   1299,   877,   909,  1302,   890,   886,   889,   892,  1305,   407,
1416    407,   893,   894,   910,    58,   393,   915,   918,   920,   927,
1417   1032,   979,  1090,   229,  1033,   228,   238,  -408,   984,   254,
1418   1095,   552,   988,   555,     3,  1089,     4,  1102,   761,  1096,
1419   1094,  1116,   407,     7,     8,   407,  1283,   393,  1227,   230,
1420   1056,  1290,    13,  1291,   160,  1104,  1294,  1107,  1106,  1297,
1421   1117,  1118,  1120,  1056,    20,   387,  1127,  1303,  1128,  1140,
1422   1142,    88,  1146,  1147,  1155,   425,  1061,  1169,  1170,  1177,
1423   1176,   950,  1191,   959,   966,  1194,    58,  1195,    33,  1196,
1424   1200,   978,  1313,  1202,  1314,  1204,  1315,   106,  1209,  1211,
1425   1316,  1229,   986,  1317,   279,  1217,  1318,  1319,   407,   393,
1426   1220,  1278,  1321,   393,   393,  1174,   840,  1225,  1231,   393,
1427    407,   896,    50,   896,  1232,   393,   896,  1326,  1233,  1234,
1428   1309,  1275,  1307,  1323,   280,  1327,  1325,   905,   905,   301,
1429    301,  1329,   301,  1123,  1333,   479,   407,   148,  1037,   801,
1430    805,     3,  1306,     4,     5,     6,   803,   802,  1311,  1312,
1431      7,     8,   200,   575,     3,   407,     4,     5,     6,    13,
1432    259,   804,   835,     7,     8,   941,   469,   552,   387,   555,
1433    860,    20,    13,   987,   695,   266,  1101,   393,   387,     3,
1434   1099,     4,   407,   387,    20,   479,   267,   484,     7,     8,
1435     88,   896,  1328,   958,   833,    33,   530,    13,     0,  1331,
1436      0,    59,     0,     0,   106,     0,   251,    32,    33,    20,
1437      0,   186,     0,     0,   556,  1087,   290,    39,     0,     0,
1438      0,   552,     0,   555,   942,     0,     0,   155,    51,     0,
1439      0,     0,   153,    33,     0,     0,     0,   407,   702,   407,
1440    393,    42,   660,   301,    88,    43,   216,   228,   705,   661,
1441    956,   254,   778,     0,    42,     0,     0,     0,    43,     0,
1442     44,     0,     0,     0,     0,     0,     0,     0,     0,   944,
1443      0,     0,     0,    59,    58,   662,     0,     0,     0,   557,
1444    475,   393,     0,   407,     0,     0,     0,   393,   393,   254,
1445    301,     0,     0,     0,     0,     0,   479,     0,     0,   479,
1446     51,     0,   479,     0,    92,     0,     0,   479,     0,     0,
1447      0,   479,     0,     0,     0,   407,     3,     0,     4,     0,
1448      0,     0,     0,     0,    58,     7,     8,     0,     0,     0,
1449      3,   393,     4,   557,    13,    92,     0,     0,   393,     7,
1450      8,   216,   228,   254,     0,   479,    20,     0,    13,     0,
1451      0,     0,     0,   553,     0,    92,    92,   479,   840,     0,
1452     20,     0,   425,     0,     3,     0,     4,     5,     6,    32,
1453     33,     0,     0,     7,     8,     0,    92,     0,     0,   278,
1454      0,     0,    13,    32,    33,     0,   279,     0,     0,     0,
1455      0,   425,     0,   278,    20,   556,     0,     0,   387,     0,
1456    186,   200,     0,     3,     0,     4,     5,     6,     0,     0,
1457      0,     0,     7,     8,   475,   228,   238,    32,    33,     0,
1458    254,    13,    44,     0,     0,     0,     0,    39,     0,     0,
1459    280,     0,     0,    20,   942,    58,    44,     0,    58,     0,
1460    556,    58,     0,   228,     0,     0,    58,     0,     0,     0,
1461     58,     0,     0,     0,    92,     0,    32,    33,     0,     0,
1462    652,     0,     0,     0,    42,     0,    39,   425,    43,     0,
1463     44,    59,     0,   163,   425,     0,     0,     0,     0,   944,
1464      0,   387,     0,     0,    58,     0,     0,   425,     0,     0,
1465      0,   425,     0,     0,   395,     0,    58,     0,   476,   201,
1466    387,    52,     0,    42,    92,     0,     0,    43,   475,    44,
1467      0,     0,   475,   475,   387,    57,     0,     0,   475,     0,
1468      0,    59,     0,     0,   475,     0,     0,     3,   808,     4,
1469      0,     0,     0,   813,   553,     0,     7,     8,     0,     0,
1470      0,     0,     3,     0,     4,    13,     0,     0,   476,     0,
1471    554,     7,     8,   848,     0,     0,     0,    20,     0,    63,
1472     13,     0,     0,   153,     0,     0,     0,     0,     0,     0,
1473      0,     0,    20,    52,    92,     0,     0,   550,     0,   553,
1474     32,    33,     0,   387,     0,   387,   475,    57,   387,     0,
1475     39,     0,     0,     0,     0,    32,    33,   284,     0,     0,
1476      0,     0,     0,     0,     0,   278,     0,   395,     0,     0,
1477    387,     0,   186,     0,     0,     0,     0,   395,     0,     0,
1478      0,   387,   395,     0,    92,     0,   425,   387,     0,   387,
1479    904,     0,    59,    44,     0,    59,   904,     0,    59,   533,
1480      0,     0,     0,    59,     0,     0,     0,    59,    44,   475,
1481    533,   533,     0,   395,     0,   533,   533,   533,   533,   476,
1482      0,     0,   476,     0,     0,   476,    92,     0,     0,     0,
1483    476,     0,     0,     0,   476,     0,     0,     0,     0,     0,
1484    425,    59,     0,     0,     0,    92,    92,     0,     0,     0,
1485    475,     0,   845,    59,     0,   533,   475,   475,    58,     0,
1486      0,     0,     0,     0,     0,     0,   216,   228,   476,     0,
1487      0,     0,   254,     0,     0,     0,     0,     0,     0,     9,
1488    476,     0,   930,    10,     0,     0,     0,  1005,     0,     0,
1489      0,   554,     0,    16,    17,    92,   162,     0,    92,    21,
1490    475,    92,     0,     0,     0,     0,    92,   475,     0,     0,
1491     92,     0,     0,    30,     0,     0,    31,     0,   550,     0,
1492      0,   387,     0,     0,     0,     0,    34,    35,    36,    37,
1493     38,   477,     0,     0,     0,     0,   554,   904,   155,     0,
1494     92,    92,     0,     0,    92,    57,     0,     0,     3,     0,
1495      4,     5,     6,     0,     0,     0,    92,     7,     8,     0,
1496      0,    92,     0,   550,     0,   848,    13,  1054,     0,     0,
1497      0,     0,     0,     3,    53,     4,     0,     0,    20,     0,
1498   1054,   477,     7,     8,     0,   239,     0,     0,     0,     0,
1499     92,    13,     0,     0,   395,    57,     0,   395,     0,     0,
1500      0,    32,    33,    20,     0,   151,     0,     0,     0,     0,
1501      0,    39,     0,     0,    92,     0,     0,     0,   186,     0,
1502      0,  1005,     0,     0,     0,     0,    58,    33,     0,   254,
1503      0,     0,     0,     0,     0,     0,   106,     0,     0,   395,
1504      0,     0,    92,   284,   646,     0,    53,     0,    42,   846,
1505      0,     0,    43,   387,    44,    59,     0,     0,   272,     0,
1506   1122,     0,     0,   944,     0,     0,    92,     0,     0,     0,
1507      0,     0,     0,    92,     0,     0,   841,   228,   254,     0,
1508    395,     0,    51,     0,     0,     0,    92,     0,     0,     0,
1509     92,     0,   477,     0,   813,   477,     0,     0,   477,   395,
1510      0,     0,     0,   477,   845,     0,    57,   477,     0,    57,
1511      0,     0,    57,   395,     0,  1005,     0,    57,  1133,  1005,
1512   1005,    57,     0,     0,     0,  1005,     0,     0,     0,     0,
1513      0,  1005,     0,     0,     0,     0,     0,     0,     0,     0,
1514      0,   477,  1188,   904,   904,     0,   254,     0,     0,     0,
1515      0,     0,    92,   477,     0,    57,   272,     0,    92,     0,
1516     58,     0,     0,     0,     0,     0,     0,    57,     3,     0,
1517      4,     0,     0,     0,     0,     0,     0,     7,     8,     0,
1518      0,     0,   395,     0,   395,     0,    13,   395,   606,   609,
1519    612,   616,     0,  1005,   272,   620,  1193,     0,    20,   553,
1520      0,  1199,     0,  1201,     0,  1203,   556,  1205,   639,   395,
1521      0,  1210,     0,     0,     0,   533,     0,     0,     0,     0,
1522    395,     0,    33,    59,     0,    92,   395,   533,   395,     0,
1523      0,   106,     0,   620,   639,     0,     0,     0,   279,     0,
1524      0,     0,     0,     0,   478,     0,     0,     0,     0,     0,
1525    476,     0,     0,   485,    58,     0,  1005,     0,    58,    58,
1526    556,  1240,  1242,  1243,    58,     0,     0,  1247,     0,  1250,
1527     58,  1253,   272,  1256,   153,     0,     0,     0,  1261,    92,
1528      0,     0,     0,     0,  1240,   272,     0,     0,     0,     0,
1529      0,     0,     0,     0,   478,     0,     0,  1005,     0,     0,
1530      0,   846,     0,  1005,  1005,    92,    92,   121,   122,   123,
1531    124,   125,   126,   127,   128,   129,   130,     0,     0,     0,
1532      0,     0,     0,   551,   485,     0,   395,     0,   841,     0,
1533   1052,     0,    58,     0,     0,     0,   579,   147,     0,     0,
1534      0,     0,     0,  1052,     0,   553,     0,  1005,     0,   842,
1535    755,   756,     0,     0,  1005,    52,     0,    59,   609,   616,
1536    395,   533,     0,   844,   620,     0,   639,     0,     0,    57,
1537      3,     0,     4,     5,     6,     0,     0,    92,     0,     7,
1538      8,     9,     0,     0,   476,     0,     0,     0,    13,   272,
1539      0,     0,     0,     0,   272,    58,   554,     0,     0,   553,
1540     20,    21,     0,     0,    92,   478,    92,     0,   478,     0,
1541      0,   478,     0,     0,     0,    30,   478,     0,     0,    92,
1542    478,   755,   756,   550,    33,     0,   902,     0,     0,     0,
1543      0,     0,   902,   106,     0,     3,    58,     4,     5,     6,
1544    186,     0,    58,    58,     7,     8,     0,     0,     0,     0,
1545      0,    59,     0,    13,   478,    59,    59,     0,     0,     0,
1546    395,    59,     0,     0,     0,    20,   478,    59,     0,     0,
1547     42,     0,     0,     0,    43,     0,     0,     0,   476,     0,
1548      0,   778,   476,   476,     0,     0,    58,     0,   476,    33,
1549    533,     0,   395,    58,   476,     0,     0,     0,   106,    92,
1550      0,     0,     0,     0,   551,   186,     0,     0,     0,     0,
1551      0,     0,     0,     0,     0,   272,    92,     0,     3,     0,
1552      4,     5,     6,   477,     0,     0,     0,     7,     8,    59,
1553      0,   762,     0,     0,     0,    42,    13,    57,     0,    43,
1554      0,     0,   554,     0,     0,     0,   192,     0,    20,   551,
1555      0,     0,     0,     0,   395,     0,   476,     0,   395,   395,
1556    755,     0,     0,     0,   395,     0,   755,   756,     0,   550,
1557    395,    32,    33,   902,     0,     0,     0,     0,     0,     0,
1558      3,    39,     4,     5,     6,     0,   272,     0,   510,     7,
1559      8,     9,    59,     0,   485,     0,   554,     0,    13,   485,
1560      0,   842,     0,     0,     0,     0,     0,     0,     0,     0,
1561     20,    21,     0,     0,   603,   844,     0,     0,    42,   476,
1562      0,   272,    43,   550,    44,    30,   272,     0,     0,   192,
1563      0,     0,   395,    59,    33,     0,     0,     0,     9,    59,
1564     59,     0,    10,   106,     0,   395,   533,     0,     0,     0,
1565    186,     0,    16,    17,     0,   162,     0,   477,    21,     0,
1566    476,     0,   843,  -700,     0,     0,   476,   476,    53,     0,
1567      0,    57,    30,     0,     0,    31,   757,     0,     0,     0,
1568     42,     0,     0,    59,    43,    34,    35,    36,    37,    38,
1569     59,   192,     0,     0,     0,   395,     0,     0,     0,   395,
1570      0,     0,     0,     0,     0,     0,   755,     0,     0,     0,
1571    476,     0,     0,     0,     0,     0,     0,   476,     0,     3,
1572    485,     4,     5,     6,     0,   272,     0,     0,     7,     8,
1573      9,   272,     0,     0,     0,     0,   395,    13,     0,   903,
1574      0,     0,   395,   395,   241,   903,     0,     0,     0,    20,
1575     21,   477,    68,     0,   272,   477,   477,     0,     0,     0,
1576      0,   477,     0,     0,    30,    57,     0,   477,     0,    57,
1577     57,     0,    32,    33,     0,    57,  1185,     0,     0,   902,
1578    902,    57,    39,   157,     0,     0,   395,     0,   485,   510,
1579      0,   485,     0,   395,     0,     0,     3,     0,     4,     5,
1580      6,     0,     0,    68,    68,     7,     8,     0,     0,     0,
1581      0,     0,     0,     0,    13,   603,     0,   308,     0,    42,
1582      0,     0,     0,    43,    68,    44,    20,     0,     0,   477,
1583    192,     9,     0,     0,     0,    10,   478,     0,     0,   281,
1584      0,   285,     0,    57,     0,    16,    17,     0,   162,     0,
1585     33,    21,     0,     0,   308,     0,     0,     0,     0,   106,
1586   1135,  1137,  1139,     0,     0,    30,   186,  1145,    31,     0,
1587      0,   272,     0,     0,     0,     0,     0,     0,    34,    35,
1588     36,    37,    38,     0,     0,     0,   903,   579,     0,     0,
1589      0,     0,   477,     0,     0,     3,    42,     4,     5,     6,
1590     43,     0,   157,     0,     7,     8,    57,     0,     3,     0,
1591      4,   281,     0,    13,   843,     0,  1053,     7,     8,     0,
1592      0,     0,     0,     0,     0,    20,    13,   272,     0,  1053,
1593    620,     0,   639,   477,     0,     0,   272,   244,    20,   477,
1594    477,     0,    68,     0,     0,     0,     0,    57,    32,    33,
1595      0,     0,    68,    57,    57,     0,     0,     0,    39,     0,
1596    502,     0,    33,     0,     0,   510,     0,     0,     0,     0,
1597    478,   106,     0,     0,     0,   308,     0,     0,   454,     0,
1598    308,     0,     0,   477,     0,     0,     0,     0,     0,     0,
1599    477,   603,  1134,     0,     0,    42,     0,    57,     0,    43,
1600    485,    44,     0,     0,    57,     0,   192,     0,     0,   551,
1601      0,     0,     9,     0,     0,     0,    10,     0,     0,     0,
1602      0,     0,    68,     0,   485,     0,    16,    17,     0,   162,
1603      0,     0,    21,     0,     0,     0,     0,   489,     0,     0,
1604      0,     0,     0,     0,     0,     0,    30,     0,   188,    31,
1605      0,     0,     0,     0,   281,    68,     0,     0,     0,    34,
1606     35,    36,    37,    38,   478,    68,     0,     0,   478,   478,
1607     68,   308,    68,     0,   478,     0,     0,     0,     0,     0,
1608    478,     0,     0,     0,     0,     0,     0,     0,     0,  1186,
1609   1187,     0,   903,   903,     0,     0,     0,     0,     0,     0,
1610     90,    68,   485,     0,     0,     0,     0,   485,     0,   485,
1611      0,   485,     9,   485,   157,     0,    10,   485,   973,     0,
1612      0,     0,     0,     0,     0,     0,    16,    17,     0,   162,
1613      0,    90,    21,    68,    68,     0,     0,     0,     0,     0,
1614      0,     0,   478,     0,   281,   285,    30,     0,     0,    31,
1615      0,    90,    90,     0,     0,   551,   272,     0,     0,    34,
1616     35,    36,    37,    38,   502,   502,     0,   485,   485,   485,
1617      0,   311,    90,   485,     0,   485,     0,   485,     0,   485,
1618      0,     0,     0,    68,   485,     0,    68,   502,     0,    68,
1619    485,     0,     0,     0,    68,    11,    12,     0,    68,     0,
1620     14,     0,     0,     0,     0,   478,    18,     0,   311,   551,
1621      0,    22,    23,    24,    25,    26,    27,   311,   974,    28,
1622     29,     0,     0,     0,     0,     0,     0,     0,    68,    68,
1623      0,     0,    68,     0,     0,     0,     0,     0,     0,     0,
1624      0,     0,     0,     0,    68,     0,   478,     0,     0,    68,
1625     90,     0,   478,   478,     0,     0,   502,     0,     0,     0,
1626      0,     0,     3,     0,     4,     5,     6,     0,     0,     0,
1627    502,     7,     8,     9,     0,     0,     0,     0,    68,     0,
1628     13,     0,    68,     0,     0,    68,     0,     0,     0,   502,
1629    394,     0,    20,    21,     0,     0,   478,     0,   360,     0,
1630     90,     0,    68,   478,     0,   502,     0,    30,     0,   308,
1631    308,     0,     0,     0,   188,     0,    33,     0,     0,     0,
1632      0,     0,     0,     0,     0,   106,     0,    68,     0,   311,
1633    157,     0,   186,     0,   311,     0,     0,     3,     0,     4,
1634      0,     0,   449,     0,     0,  -700,     7,     8,     0,     0,
1635      0,     0,     0,     0,    68,    13,   459,     0,   762,     0,
1636      0,    68,    42,     0,     0,     0,    43,    20,    68,     0,
1637     90,     0,     0,   192,    68,     0,     0,     0,    68,     0,
1638      0,     0,   489,     0,     0,     0,     0,    68,     0,     0,
1639      0,    33,   450,   451,   452,   453,     0,     0,     0,   502,
1640    106,    68,     0,   394,     0,     0,     3,   454,     4,     5,
1641      6,   496,     0,   394,     0,     7,     8,     9,   394,   311,
1642     90,   513,     0,     0,    13,   311,   519,     0,     0,     0,
1643      0,     0,     0,     0,     0,     0,    20,    21,     0,     0,
1644     68,     0,     0,     0,     0,     0,    68,     0,     0,   394,
1645      0,    30,     0,     0,     0,     0,     0,     0,     0,    32,
1646     33,     0,    90,     0,     0,     0,     0,     0,     0,    39,
1647     68,     0,    68,     0,     0,    68,   186,     0,   502,   502,
1648      0,    90,    90,     0,     0,     3,     0,     4,     5,     6,
1649      0,     0,     0,     0,     7,     8,     0,    68,     0,     0,
1650      0,     0,   610,    13,     0,     0,    42,     0,    68,     0,
1651     43,     0,    44,    68,    68,    20,    68,   192,   188,   188,
1652      0,     0,     0,     0,     0,     0,   459,     0,     0,     0,
1653      0,    90,     0,     0,    90,     0,     0,    90,    32,    33,
1654      0,   188,    90,     0,     0,     0,    90,     0,    39,     0,
1655      0,     0,     0,     0,     0,   186,     0,     0,     0,     0,
1656      0,     0,     0,     0,     0,     0,     0,    68,     0,     0,
1657      0,     0,     0,     0,     0,     0,    90,    90,     0,     0,
1658     90,    41,     0,     0,     0,    42,     0,     0,     0,    43,
1659      0,    44,    90,    68,    68,     0,   502,    90,     0,     0,
1660      0,     0,     0,     0,   712,     0,     0,     0,     0,   502,
1661    188,     0,     0,     0,    68,     0,     0,   188,     0,     0,
1662      0,   732,     0,     0,   188,     0,    90,   737,     0,     0,
1663    394,     0,     0,   394,     0,     0,     0,  1063,  1064,     0,
1664      0,     0,     0,   188,     0,  1073,  1074,  1075,    68,     0,
1665     90,  1080,     0,   188,     0,  1081,     0,  1082,     0,   188,
1666      0,     0,     0,   311,   311,   157,     0,     0,     0,     0,
1667      0,  1088,     0,     0,     0,   394,   768,     0,    90,     0,
1668      0,     0,     0,   776,     0,     0,     0,    97,     0,     0,
1669      0,     0,    68,     0,    68,     0,     0,     0,     0,     0,
1670      0,     0,    90,     0,     0,     0,     0,    68,     0,    90,
1671      0,     0,     0,     0,     0,     0,   394,     0,   161,   502,
1672      0,   502,    90,     0,     0,     0,    90,     0,     0,   502,
1673      0,   502,     0,     0,     0,   394,     0,     0,   223,   233,
1674      0,     0,     0,   819,     0,     0,     0,     0,    68,   394,
1675      0,   819,  1150,   188,  1153,     0,   308,   823,   308,    97,
1676      0,   308,  1159,     0,  1162,   459,     0,     0,  1163,   831,
1677   1164,     0,  1165,     0,     0,     0,     0,     0,     0,     0,
1678     68,     0,   459,     0,   459,     9,   459,    68,    90,     0,
1679     11,    12,     0,     0,    90,    14,     0,     0,     0,     0,
1680      0,    18,     0,     0,    68,    21,    22,    23,    24,    25,
1681     26,    27,     0,     0,    28,    29,     0,     0,   394,    30,
1682    394,     0,     0,   394,     0,     0,   871,  1207,   873,     0,
1683      0,   876,   188,   188,     9,   502,     0,   233,    10,     0,
1684   1218,     0,    68,     0,     0,   394,    68,    68,    16,    17,
1685      0,   162,    68,     0,    21,     0,   394,     0,    68,     0,
1686      0,    90,   394,     0,   394,     0,     0,     0,    30,     0,
1687      0,    31,   819,     0,     0,     0,     0,   400,     0,  1241,
1688      0,    34,    35,    36,    37,    38,     0,   426,     0,   502,
1689      0,     0,     0,  1257,  1258,     0,     0,     0,  1262,  1263,
1690   1264,  1265,  1266,     0,  1267,  1268,  1269,  1270,  1271,  1272,
1691      0,     0,     0,     0,     0,    90,     0,     0,     0,     0,
1692     68,     0,     3,     0,     4,     5,     6,     0,   309,     0,
1693      0,     7,     8,    68,     0,   935,   937,     0,     0,   940,
1694     13,    90,    90,   460,     0,     0,     0,   325,   330,     0,
1695    188,     0,    20,     0,     0,     0,     0,   483,     0,     0,
1696      0,     0,   394,   188,     0,   309,     0,     0,     0,     0,
1697      0,     0,     0,  1016,     0,    32,    33,     0,     0,  1018,
1698      0,  1020,  1021,    68,  1023,    39,     0,    68,     0,     0,
1699    400,     0,   186,     0,     0,     0,   394,     0,     0,     0,
1700    400,     0,     0,     0,     0,   400,     0,   483,     0,     0,
1701      0,     0,     0,    90,   379,     0,     0,     0,   610,     0,
1702      0,     0,    42,     0,    68,  1041,    43,     0,    44,     0,
1703     68,    68,     0,   192,     0,     0,   558,     0,     0,     0,
1704     90,     0,    90,     0,     0,     0,     0,     0,     0,   161,
1705      9,     0,     0,     0,    10,    90,     0,     0,     0,     0,
1706      0,     0,     0,     0,    16,    17,     0,   162,   223,   233,
1707     21,   503,     0,   188,    68,   188,   325,   330,     0,     0,
1708      0,    68,     0,   188,    30,   188,   309,    31,     0,     0,
1709      0,   309,     0,     0,     0,     0,   394,    34,    35,    36,
1710     37,    38,     0,     0,     0,     0,     0,     0,     0,     0,
1711    311,     0,   311,   664,     0,   311,     0,     0,   483,     0,
1712      0,   483,     0,     0,   483,     0,     0,   379,   394,   483,
1713      0,     0,     0,   483,     0,    90,     0,   379,     0,     0,
1714      0,     0,   379,     0,   324,   329,     0,     0,     0,     0,
1715      0,     0,    90,     0,     0,     0,   975,     0,     0,     0,
1716      0,     0,     0,   223,   233,     0,     0,   483,     0,     0,
1717      0,     0,     0,     0,     0,     0,     0,     0,     0,   483,
1718      0,     0,   309,     0,   426,   325,   330,     0,     0,   188,
1719    394,     0,     0,     0,   394,   394,     0,     0,     0,     0,
1720    394,     3,     0,     4,     5,     6,   394,     0,     0,     0,
1721      7,     8,     9,   426,     0,   819,     0,   558,     0,    13,
1722    400,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1723      0,    20,    21,     0,     0,     0,     0,   233,     0,     0,
1724      0,     0,     0,   188,     0,     0,    30,     0,     0,     0,
1725      0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
1726      0,     0,   558,     0,   106,   233,     0,     0,   394,     0,
1727      0,   186,     0,   324,   329,   503,   503,     0,     0,     0,
1728      0,   394,     0,     0,     0,     0,     0,     0,     0,   426,
1729      0,     0,     0,     0,     0,     0,   426,   757,   499,     0,
1730      0,    42,     0,   400,     0,    43,     0,   536,     0,   426,
1731      0,     0,   192,   426,     0,     0,     0,     0,     0,     0,
1732    379,     0,   400,     0,     0,     0,     0,     0,     0,     0,
1733      0,   394,     0,     0,     0,   394,   400,   379,   734,     0,
1734      0,   604,   607,   379,     0,     0,     0,     0,   618,     0,
1735      0,    85,   664,     0,     0,     0,     0,   379,     0,     0,
1736      0,   637,     0,     0,     0,     0,     0,     0,     0,   460,
1737      0,   460,   394,   460,     0,   859,     0,     0,   394,   394,
1738      0,    97,   324,   329,     0,   536,   618,   637,     0,     0,
1739    183,    85,   379,     0,     0,     0,     0,   774,   775,   379,
1740    183,   183,   221,   221,     0,   400,     0,   400,     0,     0,
1741    400,     0,     0,   183,     0,     0,   503,   325,   330,     0,
1742    309,   309,   394,    85,     0,     0,     0,     0,     0,   394,
1743      0,     0,   400,     0,     0,    85,    85,     0,     0,     0,
1744    807,     9,     0,   400,     0,    10,     0,   183,   426,   400,
1745      0,   400,     0,     0,     0,    16,    17,     0,   162,   379,
1746      0,    21,     0,   379,     0,   807,     0,   379,     0,     0,
1747      0,     0,     0,   379,     0,    30,     0,     0,    31,     0,
1748      0,     0,     0,     0,     0,   379,     0,     0,    34,    35,
1749     36,    37,    38,     0,     0,     0,     0,     0,   299,     0,
1750      0,   299,   426,   324,   329,     0,     0,     3,     0,     4,
1751      5,     6,     0,  1030,   312,     0,     7,     8,     9,     0,
1752      0,     0,     0,     0,     0,    13,     0,     0,   223,   233,
1753      0,     0,     0,   183,   183,     0,     0,    20,    21,     0,
1754      0,     0,   379,     0,   379,     0,   416,   379,   421,  1015,
1755      0,   312,    30,     0,     0,     0,   734,     0,     0,     0,
1756     85,    33,     0,     0,     0,     0,     0,     0,     0,     0,
1757    106,   221,   221,     0,     0,     0,     0,   186,     0,     0,
1758    379,     0,     0,   400,   899,     0,   807,     0,   379,   503,
1759    503,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1760    161,     0,     0,   757,   878,     0,     0,    42,     0,     0,
1761      0,    43,     0,     0,   324,   329,     0,     0,   192,     9,
1762      0,     0,     0,    10,     0,     0,     0,   859,     0,  1059,
1763      0,     0,     0,    16,    17,     0,   162,     0,     0,    21,
1764      0,     0,  1059,     0,     0,     0,     0,     0,     0,   299,
1765    299,   379,   379,    30,     0,   379,    31,   312,     0,     0,
1766      0,     0,   312,   312,     0,     0,    34,    35,    36,    37,
1767     38,     0,   312,     0,   536,     0,     0,   312,     0,     0,
1768      0,     0,     0,  1015,     0,     0,     0,     0,     0,   379,
1769      0,     0,     0,     0,     0,   379,   542,   379,   379,     0,
1770    379,     0,     0,     0,     0,     0,     0,  1057,     0,     0,
1771      0,     0,     0,   324,     0,   400,     0,     0,  1067,  1069,
1772   1071,     0,  1124,     0,     0,   976,     0,  1077,  1079,     0,
1773    542,   542,   613,   613,     0,     0,     0,   542,     0,   233,
1774      0,   379,     0,     0,     0,     0,     0,     0,     0,     0,
1775    542,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1776      0,     0,   648,     0,     0,     0,   416,   416,   653,     9,
1777      0,   421,   421,    10,   542,   542,   542,  1015,     0,     0,
1778      0,  1015,  1015,    16,    17,     0,   162,  1015,     0,    21,
1779      0,     0,     0,  1015,     0,     0,     0,     0,     0,   951,
1780      0,   960,     0,    30,     0,     0,    31,     0,     0,     0,
1781      0,     0,     0,     0,     0,     0,    34,    35,    36,    37,
1782     38,     0,     0,   421,     0,   421,   421,   416,   416,   421,
1783    503,     0,   503,   421,     0,     3,     0,     4,     5,     6,
1784    503,  1031,   503,     0,     7,     8,     9,   734,     0,     0,
1785      0,     0,   379,    13,     0,  1015,     0,     0,     0,     0,
1786      0,   312,   312,     0,     0,    20,    21,   309,   558,   309,
1787      0,     0,   309,     0,     0,     0,     0,     0,     0,     0,
1788     30,     0,     0,     0,   752,     0,     0,     0,     0,    33,
1789      0,     0,   542,   542,     0,     0,     0,   758,   106,     0,
1790    758,   758,     0,     0,     0,   186,   758,     0,   758,     0,
1791      0,     0,     0,     0,     0,   324,   329,     0,  1015,     0,
1792      0,     0,   558,     0,   324,   329,   379,   781,   807,   781,
1793      0,   379,     0,     0,     0,    42,     0,     0,     0,    43,
1794      0,     0,     0,     0,     0,     0,   503,   325,     0,     0,
1795      0,     0,     0,   542,     0,     0,     0,     0,     0,  1015,
1796    613,     0,     0,   613,   613,  1015,  1015,   752,     0,   448,
1797      0,     3,     0,     4,     0,     0,   449,     0,     0,     0,
1798      7,     8,     0,     0,     0,     0,   752,     0,     0,    13,
1799      0,     0,     0,     0,     0,     0,   648,     0,   648,   648,
1800    503,    20,   653,   653,   653,     0,   653,   653,     0,  1015,
1801      0,   536,     0,   607,     0,   618,  1015,     0,     0,     0,
1802    637,     0,     0,     0,     0,    33,   450,   451,   452,   453,
1803      0,   536,     0,     0,   106,     0,     0,     0,     0,   648,
1804      0,   454,     0,     0,     0,    85,     0,     3,     0,     4,
1805      5,     6,     0,     0,  -701,     0,     7,     8,     9,     0,
1806      0,     0,     0,   542,     0,    13,     0,     0,     0,     0,
1807      0,     0,     0,     0,     0,     0,     0,    20,    21,     0,
1808      0,     0,     0,     0,     0,     0,     0,    86,     0,     0,
1809      0,     0,    30,     0,     0,     0,   752,     0,     0,     0,
1810      0,    33,   752,     0,     0,     0,     0,   898,   758,   758,
1811    106,     0,   758,   898,     0,   898,     0,   186,     0,     0,
1812      0,     0,     0,     0,     0,     0,   184,    86,     0,     0,
1813      0,   781,   781,     0,     0,     0,   184,   184,   222,   222,
1814      0,     0,     0,   765,   324,     0,     0,    42,     0,   184,
1815      0,    43,     0,     0,     0,     0,     0,     0,   192,    86,
1816      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1817      0,    86,    86,     0,     0,   653,   653,     0,     0,     0,
1818      0,     0,     0,   184,     0,     0,     0,     0,   954,     0,
1819    963,   653,   648,   648,     0,     0,     0,     0,   653,     0,
1820      0,     0,     0,     0,     0,     0,     0,     0,     0,   653,
1821      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1822      0,     0,     3,     0,     4,     5,     6,     0,     0,     0,
1823      0,     7,     8,     9,   300,     0,     0,   300,    11,    12,
1824     13,     0,     0,    14,     0,     0,     0,   898,   898,    18,
1825    313,     0,    20,    21,    22,    23,    24,    25,    26,    27,
1826      0,     0,    28,    29,     0,     0,     0,    30,     0,   184,
1827    184,     3,     0,     4,     5,     6,    33,     0,     0,     0,
1828      7,     8,   417,     0,   422,   106,     0,   313,     0,    13,
1829      0,   648,   186,   653,     0,     0,    86,     0,     0,     0,
1830      0,    20,     0,     0,   653,   653,   653,   222,   222,     0,
1831      0,     0,     0,   653,   653,     0,     0,     0,   763,     0,
1832      0,     0,    42,     0,    32,    33,    43,     0,     0,     0,
1833    648,     0,   653,   192,    39,     0,     0,   310,     0,     0,
1834      0,   163,     0,     0,     0,     0,     0,     0,     0,     0,
1835      0,   421,     0,     0,     0,   421,   326,   326,     0,     0,
1836      0,     0,     0,     0,     0,   421,     0,   164,     0,     0,
1837      0,    42,     0,     0,   310,    43,     0,    44,     0,     0,
1838      0,     0,     0,     0,     0,   300,   300,     0,     0,     0,
1839      0,     0,     0,   313,     0,     0,     0,     0,   313,   313,
1840    542,     0,   542,   613,   542,     0,     0,     0,   313,   542,
1841      0,     0,     0,   313,     0,     0,   653,     0,   653,     0,
1842    542,     0,     0,     0,     0,     0,   653,   170,   653,     0,
1843      0,     0,   543,     0,     0,     0,     0,     0,     0,   214,
1844    226,     0,   214,   236,   214,   242,   245,   214,   248,     0,
1845    252,     0,     0,  1183,     0,  1183,     0,     0,  1183,     0,
1846      0,     0,     0,     0,     0,     0,   543,   543,   614,   614,
1847      0,   758,   758,   543,   758,     0,     0,     0,     0,     0,
1848    504,     0,     0,     0,   291,     0,   543,     0,     0,     0,
1849      0,     0,     0,     0,   170,   523,     0,     0,   649,     0,
1850    525,     0,   417,   417,     0,     0,     0,   422,   422,     0,
1851    543,   543,   543,     0,     0,     0,     0,     0,     0,     0,
1852      0,     0,   421,     0,     0,     0,     0,     0,     0,     0,
1853      0,     0,  1183,  1183,     0,     0,     0,     0,   226,   236,
1854    245,   248,   252,     0,     0,     0,     0,     0,   291,     0,
1855      0,     0,     0,     0,     0,     0,     0,     0,     0,   422,
1856      0,   422,   422,   417,   417,   422,     0,     0,     0,   422,
1857      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1858      0,     0,     0,     0,     0,   758,  1183,     0,     0,     0,
1859      0,   310,     0,     0,   326,   326,     0,   313,   313,     0,
1860      0,     0,     0,     0,     0,     0,     0,     0,     3,     0,
1861      4,     5,     6,     0,     0,     0,     0,     7,     8,     9,
1862    543,     0,     0,     0,     0,   194,    13,     0,   543,   543,
1863      0,     0,   758,   759,     0,     0,   759,   759,    20,    21,
1864      0,     0,   759,     0,   759,     0,     0,     0,     0,     0,
1865      0,     0,     0,    30,     0,     0,     0,     0,     0,   226,
1866      0,     0,    33,   782,     0,   782,     0,     0,     0,     0,
1867      0,   106,     0,     0,     0,     0,     0,     0,   186,     0,
1868      0,     0,     0,     0,   728,   730,     0,     0,     3,   543,
1869      4,     5,     6,     0,     0,     0,   614,     7,     8,   614,
1870    614,     0,     0,   543,   762,     0,    13,     0,    42,     0,
1871      0,     0,    43,     0,     0,     0,     0,     0,    20,   192,
1872      0,     0,   543,     0,     0,     0,     0,     0,     0,     0,
1873      0,     0,   649,   170,   649,   649,     0,     0,     0,     0,
1874      0,    32,    33,   305,     0,   315,     0,     0,     0,     0,
1875      0,    39,     0,     0,     0,     0,     0,     0,   306,     0,
1876    320,     0,     0,     0,     0,     0,     0,   194,     0,   214,
1877    226,   214,   242,   245,   252,   649,     0,     0,     0,     0,
1878      0,    86,     0,     0,   307,     0,     0,   291,    42,     0,
1879      0,     0,    43,     0,    44,     0,     0,     0,     0,   543,
1880      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1881      0,   170,   252,   291,     0,     0,     0,     0,     0,     0,
1882      0,     0,     0,     0,     0,   504,     0,     0,     0,   523,
1883    525,     0,   543,     0,     0,     0,     0,     0,   543,     0,
1884      0,     0,     0,   759,   759,   759,     0,     0,   759,   759,
1885      0,   759,     0,     0,     0,     0,     0,     0,     0,     0,
1886    170,     0,     0,     0,   214,   226,   252,   782,   782,     0,
1887    291,     0,   226,     0,     0,     0,     0,     0,     0,     0,
1888      0,     0,     0,     0,     0,     0,   500,     0,     0,     0,
1889    508,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1890      0,     0,     0,     0,     0,     0,   320,     0,     0,     0,
1891      0,     0,   526,     0,     0,     0,     0,     0,     0,     0,
1892      0,     0,     0,     0,   955,     0,   964,     0,   649,   649,
1893      0,     0,     0,     0,   170,     0,     0,     0,   226,   236,
1894    242,   245,   248,   252,     0,   291,     0,     3,     0,     4,
1895      5,     6,     0,     0,     0,     0,     7,     8,     9,     0,
1896      0,     0,    10,     0,     0,    13,   226,     0,     0,     0,
1897      0,     0,    16,    17,     0,   162,     0,    20,    21,     0,
1898      0,     0,     0,   759,   759,     0,     0,     0,     0,     0,
1899      0,     0,    30,   315,     0,    31,     0,     0,   728,   730,
1900     32,    33,     0,     0,   659,    34,    35,    36,    37,    38,
1901     39,   952,     0,   961,   967,     0,     0,   942,     0,     0,
1902      0,   967,     0,     0,     0,     0,     0,   649,     0,     0,
1903      0,     0,   967,     0,     0,     0,     0,     0,     0,     0,
1904      0,     0,     0,   943,     0,     0,     0,    42,     0,     0,
1905      0,    43,     0,    44,     0,     0,     0,     0,     0,     0,
1906      0,     0,   944,     0,     0,     3,   649,     4,     5,     6,
1907      0,     0,     0,     0,     7,     8,     9,     0,     0,     0,
1908      0,   715,     0,    13,   718,   720,   722,   422,     0,   725,
1909    726,   422,     0,     0,     0,    20,    21,     0,     0,     0,
1910    170,   422,   500,   508,   500,   508,     0,     0,     0,     0,
1911     30,     0,     0,     0,   749,   194,  1058,     0,    32,    33,
1912      0,     0,     0,     0,     0,     0,     0,     0,    39,  1072,
1913      0,     0,     0,     0,     0,   186,   543,     0,   543,   614,
1914    543,     0,     0,     0,     0,   543,     0,     0,     3,     0,
1915      4,     5,     6,     0,     0,   967,   543,     7,     8,     9,
1916      0,    41,     0,     0,     0,    42,    13,     0,     0,    43,
1917      0,    44,     0,     0,     0,     0,     0,     0,    20,    21,
1918      0,     0,     0,   749,     0,     0,     0,     0,     0,     0,
1919    749,     0,     0,    30,     0,     0,     0,   749,     0,     0,
1920      0,    32,    33,     0,     0,     0,     0,   759,   759,     0,
1921    759,    39,     0,     0,     0,     0,   749,     0,   163,     0,
1922      0,     0,     0,     0,     0,   170,     0,   194,     0,   214,
1923    226,   214,   242,   245,   214,   252,     0,     0,     0,  1149,
1924      0,  1152,     0,     0,   322,     0,   291,     0,    42,  1158,
1925      0,  1161,    43,     0,    44,     0,     0,     0,   422,     0,
1926      0,     3,     0,     4,     5,     6,     0,     0,     0,     0,
1927      7,     8,     9,     0,     0,     0,   310,     0,   310,    13,
1928      0,   310,     0,     0,     0,     0,     0,     0,     0,   214,
1929    226,    20,    21,     0,     0,     0,   868,   869,     0,     0,
1930      0,     0,     0,     0,     0,     0,    30,   715,   718,   715,
1931    718,     0,     0,     0,    32,    33,     0,     0,     0,     0,
1932      0,   759,     0,     0,    39,     0,   749,     0,     0,     0,
1933      3,   186,     4,     5,     6,     0,     0,   749,     0,     7,
1934      8,     0,   749,   749,     0,   749,     0,     0,    13,     0,
1935      0,     0,     0,     0,     0,   504,     0,   210,     0,     0,
1936     20,    42,     0,     0,     0,    43,    93,    44,   759,     0,
1937      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1938      0,     0,     0,    32,    33,     0,     0,     0,   170,     0,
1939      0,     0,   252,    39,     0,     0,     0,     0,     0,     0,
1940    163,     0,   291,     0,     0,    93,    93,     0,     0,   728,
1941      0,     0,     0,     0,     0,    93,    93,    93,    93,     0,
1942      0,     0,     0,     0,     0,     0,   327,     0,    93,     0,
1943     42,     0,     0,     0,    43,     0,    44,   170,    93,     0,
1944    226,   252,     0,     0,     0,     0,   291,     0,     0,     0,
1945     93,    93,     0,     0,     0,     0,     0,   170,     0,     0,
1946      0,     0,    93,     0,     0,     0,     0,     0,     0,     0,
1947      0,     0,     0,  1028,     0,   726,     0,   749,     0,     0,
1948      0,     0,     0,     0,     3,     0,     4,     5,     6,     0,
1949      0,     0,     0,     7,     8,     0,     0,     0,     0,     0,
1950      0,     0,    13,     0,     0,     0,     0,     0,   170,   252,
1951      0,   291,     0,     0,    20,     0,     0,     0,     0,     0,
1952      0,     0,   726,     0,     0,     0,     0,     0,     0,    93,
1953      0,     0,     0,     0,     0,     0,     0,    32,    33,     0,
1954      0,     0,     0,     0,     0,     0,     0,    39,    93,    93,
1955      0,     0,     0,     0,   186,     0,     0,     0,     0,   170,
1956      0,    93,     0,    93,     0,     0,    93,     0,     0,     0,
1957      0,     0,   214,   226,   226,    93,     0,     0,     0,     0,
1958    412,     2,     0,     3,    42,     4,    93,    93,    43,     0,
1959     44,     0,     7,     8,     9,     0,     0,     0,    10,    11,
1960     12,    13,     0,     0,    14,     0,     0,    15,    16,    17,
1961     18,   162,     0,    20,    21,    22,    23,    24,    25,    26,
1962     27,     0,   170,    28,    29,     0,     0,     0,    30,     0,
1963   1130,    31,     0,     0,     0,     0,     0,    33,  1143,     0,
1964      0,    34,    35,    36,    37,    38,   106,     0,     0,     0,
1965   1154,     0,  1156,   473,     0,     0,     0,     0,     0,     0,
1966      0,     0,     0,     0,     0,     0,  -701,     0,     0,   170,
1967      0,     0,    93,     0,     0,     0,     0,    93,    93,     0,
1968      0,     0,     0,     0,     0,     0,     0,    93,     0,     0,
1969      0,     0,    93,     0,     0,   403,     0,     0,     0,     0,
1970      3,   471,     4,     5,     6,     0,     0,     0,     0,     7,
1971      8,    93,     0,     0,     0,     0,     0,     0,    13,     0,
1972      0,     0,  1208,     0,     0,     0,     0,     0,   715,   718,
1973     20,   715,   718,     0,     0,  1219,     0,   715,   718,     0,
1974    715,   718,     0,     0,     0,    93,    93,    93,    93,     0,
1975      0,     0,    93,    32,    33,     0,     0,     0,     0,   632,
1976      0,   500,     0,    39,     0,    93,     0,     0,     0,     0,
1977    163,     0,     0,   632,     0,     0,     0,    93,     0,     0,
1978      0,    93,    93,    93,     0,     0,    93,    93,     0,    93,
1979     93,    93,     0,     0,     0,     0,   418,     0,     0,     0,
1980     42,     0,     0,     0,    43,     0,    44,     0,     0,     0,
1981      0,     0,     0,     0,     0,  1281,     0,     0,     0,     0,
1982      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1983      0,     0,     0,     0,     0,     0,     0,     0,    93,   532,
1984     93,    93,    93,    93,    93,     0,     0,     0,    93,     0,
1985    545,   546,     0,     0,     0,   403,   403,   403,   403,     0,
1986      0,     0,  1281,     0,     0,     0,     0,     0,     0,   403,
1987      0,     0,     0,     0,     0,     0,    93,    93,     0,     0,
1988      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1989      0,     0,     2,     0,     3,   403,     4,     5,     6,   753,
1990      0,     0,     0,     7,     8,     9,     0,    93,    93,    10,
1991     11,    12,    13,     0,   403,    14,     0,     0,    15,    16,
1992     17,    18,   162,     0,    20,    21,    22,    23,    24,    25,
1993     26,    27,     0,     0,    28,    29,     0,     0,     0,    30,
1994      0,     0,    31,     0,     0,     0,     0,    32,    33,     0,
1995      0,     0,    34,    35,    36,    37,    38,    39,     0,     0,
1996      0,     0,     0,     0,    40,     0,     0,     0,    93,     0,
1997      0,     0,     0,     0,     0,    93,     0,  -701,    93,    93,
1998      0,     0,   753,     0,     0,     0,     0,     0,     0,     0,
1999     41,     0,     0,     0,    42,     0,     0,     0,    43,     0,
2000     44,   753,     0,     0,     0,     0,     0,     0,     0,     0,
2001      0,    93,   264,    93,    93,     0,     0,    93,    93,    93,
2002      0,    93,    93,     0,     0,     0,     0,     0,     0,     0,
2003      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2004      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2005      0,     0,     0,     0,    93,     0,     0,     0,     0,     0,
2006     93,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2007      0,     0,     0,     0,     0,     0,     0,     0,    93,     0,
2008      0,     0,     0,     0,     0,   403,   403,   403,   403,   403,
2009    403,   403,   403,   403,   403,   403,   403,   403,   403,   403,
2010    403,   403,   403,   403,   403,     0,     0,     0,     0,     0,
2011      0,   753,     0,     0,     0,     0,     0,   753,     0,     0,
2012      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2013      0,   906,     0,     0,     0,     0,     0,   906,     0,     0,
2014      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2015      0,     0,     0,     0,     0,     0,     3,     0,     4,     5,
2016      6,     0,     0,     0,     0,     7,     8,     9,     0,     0,
2017      0,    10,     0,     0,    13,     0,     0,     0,     0,     0,
2018      0,    16,    17,     0,   162,     0,    20,    21,     0,    94,
2019     93,    93,     0,     0,     0,   403,     0,     0,     0,     0,
2020      0,    30,     0,    93,    31,    93,    93,    93,    93,    32,
2021     33,     0,     0,    93,    34,    35,    36,    37,    38,    39,
2022      0,     0,     0,     0,    93,     0,   942,     0,    94,    94,
2023      0,     0,     0,     0,     0,     0,     0,     0,    94,    94,
2024     94,    94,     0,     0,     0,     0,     0,     0,     0,     0,
2025      0,    94,   652,     0,     0,   403,    42,     0,     0,     0,
2026     43,    94,    44,     0,     0,     0,     0,   403,     0,     0,
2027      0,   944,     0,    94,    94,     0,     0,     0,   906,     3,
2028      0,     4,     5,     6,     0,    94,     0,   403,     7,     8,
2029      9,     0,     0,     0,    10,     0,     0,    13,     0,     0,
2030      0,     0,     0,     0,    16,    17,    93,   162,    93,    20,
2031     21,     0,     0,     0,     0,     0,     0,     0,     0,    93,
2032     93,    93,     0,     0,    30,     0,     0,    31,    93,    93,
2033      0,     0,    32,    33,     0,     0,     0,    34,    35,    36,
2034     37,    38,    39,     0,     0,    93,     0,    93,     0,   510,
2035      0,     0,    94,     0,     0,     0,     0,     0,     0,     0,
2036      0,     0,  -700,     0,     0,     0,    93,     0,     0,     0,
2037     93,    94,    94,     0,     0,   603,   499,     0,     0,    42,
2038     93,     0,     0,    43,    94,    44,    94,     0,     0,    94,
2039    192,     0,     0,     0,     0,     0,     0,     0,    94,     0,
2040      0,   403,     0,     0,     0,     0,     0,     0,     0,    94,
2041     94,     0,     0,     0,     0,    93,     0,    93,    93,    93,
2042      0,     0,     0,     0,    93,     0,     0,     0,   403,   403,
2043      0,    93,     0,    93,     0,    93,     0,     0,     0,     0,
2044      0,    93,     0,    93,     0,     0,     0,   403,     0,     0,
2045      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2046      0,     0,     0,     0,     0,     0,     0,     0,   753,     0,
2047    753,     0,     3,   753,     4,     5,     6,     0,     0,     0,
2048      0,     7,     8,     9,   906,   906,     0,     0,    11,    12,
2049     13,     0,     0,    14,   403,    94,    15,     0,     0,    18,
2050     94,    94,    20,    21,    22,    23,    24,    25,    26,    27,
2051     94,     0,    28,    29,     0,    94,     0,    30,     0,     0,
2052      0,     0,     0,     0,     0,     0,    33,     0,     0,     0,
2053    403,     0,     0,     0,    94,   106,     0,    93,     0,     0,
2054      0,     0,   224,     0,     0,     0,     0,   753,   753,     0,
2055      0,     0,     0,     0,     0,  -701,     0,     0,     0,     0,
2056      0,     0,     0,     0,     0,     0,     0,     0,    94,    94,
2057     94,    94,    42,     0,     0,    94,    43,     0,     0,     0,
2058      0,     0,   633,   778,     0,     0,     0,     0,    94,     0,
2059      0,     0,     0,     0,     0,     0,   633,     0,     0,     0,
2060     94,   753,     0,     0,    94,    94,    94,     0,     0,    94,
2061     94,     0,    94,    94,    94,     0,     0,     0,     0,     0,
2062      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2063      0,   403,     0,     0,     0,     0,     0,     0,     0,     0,
2064      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2065    403,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2066      0,    94,     0,    94,    94,    94,    94,    94,     0,     0,
2067      0,    94,     3,     0,     4,     5,     6,     0,     0,     0,
2068      0,     7,     8,     9,     0,     0,   403,     0,     0,     0,
2069     13,     0,     0,     0,     0,   171,     0,    45,     0,    94,
2070     94,     0,    20,    21,     0,     0,     0,   215,   227,     0,
2071    215,   237,   215,   243,   246,   215,   249,    30,   253,     0,
2072      0,     0,   754,     0,     0,    32,    33,     0,     0,     0,
2073     94,    94,     0,     0,     0,    39,   165,   187,     0,     0,
2074      0,     0,   510,     0,     0,     0,   165,   165,   165,   165,
2075      0,     0,   292,     0,     0,     0,     0,     0,     0,   165,
2076      0,     0,     0,     0,     0,     0,     0,     0,   511,    45,
2077      0,     0,    42,     0,     0,     0,    43,     0,    44,     0,
2078      0,    45,    45,     0,     0,     3,     0,     4,     5,     6,
2079      0,    94,     0,   165,     7,     8,     9,     0,    94,     0,
2080      0,    94,    94,    13,     0,   754,     0,     0,     0,     0,
2081      0,     0,     0,     0,     0,    20,    21,     0,     0,     0,
2082      0,     0,     0,     0,   754,     0,     0,     0,     0,     0,
2083     30,     0,     0,     0,    94,     0,    94,    94,    32,    33,
2084     94,    94,    94,     0,    94,    94,     0,     0,    39,     0,
2085      0,     0,     0,     0,     0,   186,     0,     0,     0,     0,
2086    187,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2087      0,     0,     0,     0,     0,     0,     0,    94,     0,   165,
2088    165,   412,     0,    94,     0,    42,     0,     0,     0,    43,
2089      0,    44,   413,     0,   413,     0,     0,   187,     0,     0,
2090      0,    94,     0,     0,     0,     0,   187,     0,     0,     0,
2091      0,     3,     0,     4,     5,     6,     0,   165,   165,     0,
2092      7,     8,     9,     0,     0,     0,    10,    11,    12,    13,
2093      0,     0,    14,     0,   754,    15,    16,    17,    18,   162,
2094    754,    20,    21,    22,    23,    24,    25,    26,    27,     0,
2095      0,    28,    29,     0,   907,     0,    30,     0,     0,    31,
2096    907,     0,     0,     0,    32,    33,     0,     0,     0,    34,
2097     35,    36,    37,    38,    39,     0,     0,     0,     0,     0,
2098      0,   209,     0,     0,     0,     0,     0,     0,     0,     0,
2099      0,     0,     0,     0,  -701,     0,     0,     0,     0,     0,
2100      0,   171,     0,   187,     0,     0,     0,   610,    45,    45,
2101      0,    42,     0,    94,    94,    43,     0,    44,   187,     0,
2102      0,     0,   192,   187,     0,     0,    94,     0,    94,    94,
2103     94,    94,     0,     0,     0,     0,    94,   215,   227,   215,
2104    243,   246,   253,     0,     0,     0,     0,    94,     0,     0,
2105      0,    80,     0,     0,     0,   292,     0,     3,     0,     4,
2106      5,     6,     0,     0,     0,     0,     7,     8,     0,     0,
2107      0,     0,     0,     0,     0,    13,     0,     0,     0,   171,
2108    253,   292,     0,     0,     0,     0,     3,    20,     4,     5,
2109      6,     0,     0,     0,     0,     7,     8,     0,     0,     0,
2110      0,   907,   219,   231,    13,     0,     0,     0,   647,     0,
2111     32,    33,   413,   413,   647,     0,    20,   413,   413,     0,
2112     39,     0,     0,    80,     0,     0,     0,   186,   171,    94,
2113      0,    94,   215,   227,   253,   273,   275,     0,   292,    32,
2114     33,     0,    94,    94,    94,     0,     0,     0,     0,    39,
2115      0,    94,    94,   210,     0,     0,   501,    42,     0,     0,
2116      0,    43,     0,    44,     0,     0,     0,     0,    94,   413,
2117     94,   413,   413,   413,   413,   413,     0,     0,     0,   413,
2118      0,     0,   307,     0,     0,     0,    42,     0,     0,    94,
2119     43,     0,    44,    94,     0,     0,     0,     0,     0,     0,
2120      0,     0,     0,    94,     0,     0,     0,   187,   187,     0,
2121      0,     0,     0,     0,     3,     0,     4,     5,     6,     0,
2122      0,     0,     0,     7,     8,     9,     0,     0,     0,     0,
2123    647,     0,    13,   273,   275,     0,     0,     0,    94,     0,
2124     94,    94,    94,     0,    20,    21,   415,    94,     0,     0,
2125      0,     0,     0,     0,    94,     0,    94,     0,    94,    30,
2126      0,     0,     0,     0,    94,     0,    94,    32,    33,     0,
2127      0,   273,   275,     0,     0,     0,     0,    39,     0,     0,
2128      0,     0,     0,     0,   163,     0,     0,     0,     0,     0,
2129      0,   754,     0,   754,     0,     0,   754,     0,     0,   647,
2130      0,     0,     0,     0,     0,     0,   647,   907,   907,     0,
2131    656,     0,     0,   647,    42,     0,     0,     0,    43,     3,
2132     44,     4,     5,     6,     0,     0,     0,     0,     7,     8,
2133      9,     0,   647,     0,    10,     0,     0,    13,     0,     0,
2134      0,     0,   647,     0,    16,    17,     0,   162,   647,    20,
2135     21,     0,   647,   647,     0,     0,     0,     0,     0,     0,
2136     94,     0,   273,   275,    30,     0,     0,    31,   171,     0,
2137    754,   754,    32,    33,     0,     0,     0,    34,    35,    36,
2138     37,    38,    39,     0,     0,     0,     0,     0,     0,   163,
2139      3,    45,     4,     5,     6,     0,   537,     0,     0,     7,
2140      8,     9,  -700,     0,     0,     0,     0,     0,    13,     0,
2141      0,     0,     0,     0,     0,  1103,     0,     0,     0,    42,
2142     20,    21,     0,    43,   754,    44,     0,     0,     0,     0,
2143    605,   608,   611,   615,     0,    30,     0,   619,     0,     0,
2144      0,     0,   647,    32,    33,     0,     0,     0,     0,     0,
2145    638,     0,     0,    39,     0,     0,     0,     0,     0,     0,
2146    186,     0,     0,     0,     0,     0,   273,   275,     0,     0,
2147      0,   273,   275,     0,   537,   619,   638,     0,     0,     0,
2148      0,     0,     0,     0,     0,     0,   646,     0,     0,     0,
2149     42,     0,     0,   171,    43,     0,    44,   215,   227,   215,
2150    243,   246,   215,   253,     0,     0,     2,     0,     3,     0,
2151      4,     5,     6,     0,   292,     0,     0,     7,     8,     9,
2152      0,   647,   647,    10,    11,    12,    13,   700,   701,    14,
2153      0,     0,    15,    16,    17,    18,    19,     0,    20,    21,
2154     22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
2155      0,     0,     0,    30,     0,     0,    31,   215,   227,     0,
2156      0,    32,    33,     0,     0,     0,    34,    35,    36,    37,
2157     38,    39,     3,     0,     4,     5,     6,     0,    40,     0,
2158      0,     7,     8,     9,     0,     0,     0,    10,     0,     0,
2159     13,  -701,   273,   275,     0,     0,     0,    16,    17,     0,
2160    162,     0,    20,    21,    41,     0,     0,     0,    42,     0,
2161      0,     0,    43,     0,    44,     0,     0,    30,     0,     0,
2162     31,     0,     0,     0,     0,    32,    33,  -531,     0,     0,
2163     34,    35,    36,    37,    38,    39,     0,     0,     0,   647,
2164      0,     0,   510,     0,     0,     0,     0,     0,     0,     0,
2165      0,     0,   647,     0,     0,  -700,   171,     0,     0,     0,
2166    253,     0,     0,   273,   275,     0,     0,     0,   603,  1129,
2167    292,     0,    42,     0,     0,     0,    43,     0,    44,     0,
2168      0,     0,     0,   192,     0,     0,     0,     0,     0,     0,
2169      0,     0,     0,     0,     0,     0,     0,   413,   273,   275,
2170      0,   413,     0,   273,   275,   171,     0,     0,   227,   253,
2171      0,   413,     0,     0,   292,     0,     0,     3,     0,     4,
2172      5,     6,     0,     0,     0,   171,     7,     8,     0,     0,
2173    334,   335,     0,    11,    12,    13,     0,     0,    14,   858,
2174      0,     0,     0,     0,    18,    80,     0,    20,     0,    22,
2175     23,    24,    25,    26,    27,     0,     0,    28,    29,     0,
2176      0,   336,   647,   537,   647,     0,     0,   337,   338,   339,
2177     32,    33,   647,     0,   647,     0,     0,     0,     0,     0,
2178     39,   340,   341,   342,   343,   344,   345,   401,     0,   347,
2179    348,     0,     0,     0,     0,     0,     0,     0,     0,   647,
2180      0,   647,   273,     0,   647,     0,     0,     0,     0,     0,
2181      0,     0,     0,   350,     0,   352,   353,    42,     0,     0,
2182      0,    43,     0,   354,   355,     0,     0,   171,     0,     0,
2183      0,     0,     0,     9,     0,   733,  1114,    10,    11,    12,
2184    215,   227,     0,    14,     0,     0,     0,    16,    17,    18,
2185    162,     0,     0,    21,    22,    23,    24,    25,    26,    27,
2186      0,     0,    28,    29,     0,     0,     0,    30,   413,     0,
2187     31,     0,     0,     0,     0,     0,     0,     0,   647,     0,
2188     34,    35,    36,    37,    38,     0,     0,     0,   953,     0,
2189    962,   968,   970,   972,     0,     0,     0,     0,   968,     0,
2190      0,     0,     0,     0,     0,     0,     0,     0,     0,   968,
2191      0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
2192      3,     0,     4,     5,     6,     0,     0,     0,     0,     7,
2193      8,     9,   647,   334,   335,    10,    11,    12,    13,   989,
2194      0,    14,   990,   991,    15,    16,    17,    18,   162,   992,
2195     20,    21,    22,    23,    24,    25,    26,    27,   993,   994,
2196     28,    29,   995,   996,   336,    30,   997,   998,    31,   999,
2197    337,   338,   339,    32,    33,     0,     0,     0,    34,    35,
2198     36,    37,    38,  1000,   340,   341,   342,   343,   344,   345,
2199   1001,   858,   347,   348,     0,     0,     0,     0,     0,     0,
2200      0,     0,     0,  -701,   273,   275,     0,     0,     0,     0,
2201      0,     0,     0,   273,   275,     0,   350,     0,   352,   353,
2202     42,     0,     0,     0,    43,     0,   354,   355,     0,     0,
2203   1085,     3,   968,     4,     0,     0,     0,  -180,   471,  -492,
2204      7,     8,     9,     0,     0,     0,    10,    11,    12,    13,
2205      0,     0,    14,     0,     0,    15,    16,    17,    18,   162,
2206      0,    20,    21,    22,    23,    24,    25,    26,    27,     0,
2207      0,    28,    29,     0,     0,     0,    30,     0,     0,    31,
2208      0,     0,     0,     0,     0,    33,     0,     0,     0,    34,
2209     35,    36,    37,    38,   106,     0,     0,     0,     0,     0,
2210    537,   713,   608,   615,   619,     0,     2,     0,     3,   638,
2211      4,     5,     6,   349,     0,     0,     0,     7,     8,     9,
2212    537,   334,   335,    10,    11,    12,    13,   989,   351,    14,
2213    990,   991,    15,    16,    17,    18,   162,   992,    20,    21,
2214     22,    23,    24,    25,    26,    27,   993,   994,    28,    29,
2215    995,   996,   336,    30,   997,   998,    31,   999,   337,   338,
2216    339,    32,    33,     0,     0,     0,    34,    35,    36,    37,
2217     38,  1000,   340,   341,   342,   343,   344,   345,  1001,     0,
2218    347,   348,     0,     0,     0,     0,     0,     0,     0,     0,
2219      0,  -701,     0,     0,     0,     0,     0,     0,     0,     0,
2220      0,     0,     0,     0,   350,     0,   352,   353,    42,     0,
2221      0,     0,    43,     0,   354,   355,     0,     0,     0,     0,
2222      0,     0,     0,     0,     0,  -180,   471,     0,     0,     0,
2223   1171,     0,     3,   273,     4,     5,     6,     0,     0,     0,
2224      0,     7,     8,     9,     0,   334,   335,    10,    11,    12,
2225     13,     0,     0,    14,     0,     0,    15,    16,    17,    18,
2226    162,     0,    20,    21,    22,    23,    24,    25,    26,    27,
2227      0,     0,    28,    29,     0,     0,   336,    30,     0,     0,
2228     31,     0,   337,   338,   339,    32,    33,     0,     0,     0,
2229     34,    35,    36,    37,    38,    39,   340,   341,   342,   343,
2230    344,   345,  1172,     0,   347,   348,     0,     0,     0,     0,
2231      0,     0,     0,     0,     0,  -701,     0,     0,     0,     0,
2232      0,     0,     0,     0,     0,     0,     0,     0,   350,     0,
2233    352,   353,    42,     0,     0,     0,    43,     0,   354,   355,
2234      0,     3,     0,     4,     5,     6,   449,     0,     0,  -180,
2235      7,     8,     9,     0,     0,     0,    10,    11,    12,    13,
2236      0,     0,    14,     0,     0,    15,    16,    17,    18,   162,
2237      0,    20,    21,    22,    23,    24,    25,    26,    27,     0,
2238      0,    28,    29,     0,     0,     0,    30,     0,     0,    31,
2239      0,     0,     0,     0,    32,    33,   450,   451,   452,    34,
2240     35,    36,    37,    38,    39,     0,     0,     0,     0,     0,
2241      0,   838,     0,     0,     0,     0,     0,     0,     0,     0,
2242      0,     0,     3,     0,     4,     5,     6,     0,     0,     0,
2243      0,     7,     8,     0,     0,   334,   335,   646,    11,    12,
2244     13,    42,     0,    14,     0,    43,     0,    44,     0,    18,
2245      0,     0,    20,     0,    22,    23,    24,    25,    26,    27,
2246    839,     0,    28,    29,     0,     0,   336,     0,     0,     0,
2247      0,     0,   337,   338,   339,    32,    33,     0,     0,     0,
2248      0,     0,     0,     0,     0,    39,   340,   341,   342,   343,
2249    344,   345,   401,     0,   347,   348,     0,     0,     0,     0,
2250      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2251      0,     0,     0,     0,     0,     0,     0,     0,   350,     0,
2252    352,   353,    42,     0,     0,     0,    43,     0,   354,   355,
2253    250,     0,     3,     0,     4,     5,     6,     0,     0,     0,
2254    733,     7,     8,     9,     0,     0,     0,    10,    11,    12,
2255     13,     0,     0,    14,     0,     0,     0,    16,    17,    18,
2256    162,     0,    20,    21,    22,    23,    24,    25,    26,    27,
2257      0,     0,    28,    29,     0,     0,     0,    30,     0,     0,
2258     31,     0,     0,     0,     0,    32,    33,     0,     0,     0,
2259     34,    35,    36,    37,    38,    39,     0,     0,     0,     0,
2260      0,     0,   942,     0,     0,     0,     0,     0,     0,     0,
2261      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2262      0,     0,     0,     0,     3,     0,     4,     0,   652,     0,
2263      0,     0,    42,     7,     8,     9,    43,     0,    44,     0,
2264     11,    12,    13,     0,     0,    14,     0,   944,    15,     0,
2265      0,    18,     0,     0,    20,    21,    22,    23,    24,    25,
2266     26,    27,     0,     0,    28,    29,     0,     0,     0,    30,
2267      0,     0,     0,     0,   104,   105,     0,     0,    33,     0,
2268      0,     0,     0,     0,     0,     0,     0,   106,     0,     0,
2269      0,     0,     0,     0,   107,   108,   109,   110,   111,   112,
2270    113,   114,   115,   116,   117,   118,     0,     0,   119,   120,
2271    121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
2272    131,     0,   132,   133,   134,   135,   136,   137,   138,   139,
2273    140,   141,   142,   143,   144,   145,     0,   146,     0,     3,
2274    147,     4,     5,     6,     0,     0,     0,     0,     7,     8,
2275      9,     0,     0,     0,    10,    11,    12,    13,     0,     0,
2276     14,     0,     0,    15,    16,    17,    18,   162,     0,    20,
2277     21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
2278     29,     0,     0,     0,    30,     0,     0,    31,     0,     0,
2279      0,     0,    32,    33,     0,     0,     0,    34,    35,    36,
2280     37,    38,    39,     0,     0,     0,     0,     0,     0,   209,
2281      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2282      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2283      0,     0,     0,     0,     0,   646,     0,     0,     0,    42,
2284      0,     0,     0,    43,     0,    44,     3,     0,     4,     5,
2285      6,     0,     0,     0,   944,     7,     8,     9,     0,     0,
2286      0,    10,    11,    12,    13,     0,     0,    14,     0,     0,
2287     15,    16,    17,    18,   162,     0,    20,    21,    22,    23,
2288     24,    25,    26,    27,     0,     0,    28,    29,     0,     0,
2289      0,    30,     0,     0,    31,     0,     0,     0,     0,    32,
2290     33,     0,     0,     0,    34,    35,    36,    37,    38,    39,
2291      0,     0,     0,     0,     0,     0,   224,     0,     0,     0,
2292      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2293      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2294      0,     0,   646,     0,     0,     0,    42,     0,     0,     0,
2295     43,     0,    44,     3,     0,     4,     5,     6,     0,     0,
2296      0,   944,     7,     8,     0,     0,   334,   335,     0,    11,
2297     12,    13,     0,     0,    14,     0,     0,     0,     0,     0,
2298     18,     0,     0,    20,     0,    22,    23,    24,    25,    26,
2299     27,     0,     0,    28,    29,     0,     0,   336,     0,     0,
2300      0,     0,     0,   337,   338,   339,    32,    33,     0,     0,
2301      0,     0,     0,     0,     0,     0,    39,   340,   341,   342,
2302    343,   344,   345,   401,     0,   347,   348,     0,     0,     0,
2303      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2304      0,     0,     0,     0,     0,     0,     0,     0,     0,   350,
2305      0,   352,   353,    42,     0,     0,     0,    43,     0,   354,
2306    355,     0,     0,     0,     3,   402,     4,     5,     6,     0,
2307      0,     0,     0,     7,     8,     0,     0,   334,   335,     0,
2308     11,    12,    13,     0,     0,    14,     0,     0,     0,     0,
2309      0,    18,     0,     0,    20,     0,    22,    23,    24,    25,
2310     26,    27,     0,     0,    28,    29,     0,     0,   336,     0,
2311      0,     0,     0,     0,   337,   338,   339,    32,    33,     0,
2312      0,     0,     0,     0,     0,     0,     0,    39,   340,   341,
2313    342,   343,   344,   345,   401,     0,   347,   348,     0,     0,
2314      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2315      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2316    350,     0,   352,   353,    42,     0,     0,     0,    43,     0,
2317    354,   355,     0,     0,     0,     3,   784,     4,     5,     6,
2318      0,     0,     0,     0,     7,     8,     0,     0,   334,   335,
2319      0,    11,    12,    13,     0,     0,    14,     0,     0,     0,
2320      0,     0,    18,     0,     0,    20,     0,    22,    23,    24,
2321     25,    26,    27,     0,     0,    28,    29,     0,     0,   336,
2322      0,     0,     0,     0,     0,   337,   338,   339,    32,    33,
2323      0,     0,     0,     0,     0,     0,     0,     0,    39,   340,
2324    341,   342,   343,   344,   345,   401,     0,   347,   348,     0,
2325      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2326      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2327      0,   350,     0,   352,   353,    42,     0,     0,     0,    43,
2328      0,   354,   355,     0,     0,     0,     3,   916,     4,     5,
2329      6,     0,     0,     0,     0,     7,     8,     9,     0,   334,
2330    335,    10,    11,    12,    13,     0,     0,    14,     0,     0,
2331     15,    16,    17,    18,   162,     0,    20,    21,    22,    23,
2332     24,    25,    26,    27,     0,     0,    28,    29,     0,     0,
2333    336,    30,     0,     0,    31,     0,   337,   338,   339,    32,
2334     33,     0,     0,     0,    34,    35,    36,    37,    38,    39,
2335    340,   341,   342,   343,   344,   345,   346,     0,   347,   348,
2336      0,     0,     0,     0,     0,     0,     0,     0,   349,     0,
2337      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2338      0,     0,   746,   747,   352,   353,    42,     0,     0,     0,
2339     43,     0,   354,   355,     0,     0,     3,   192,     4,     5,
2340      6,     0,     0,     0,     0,     7,     8,     9,     0,   334,
2341    335,    10,    11,    12,    13,     0,     0,    14,     0,     0,
2342     15,    16,    17,    18,   162,     0,    20,    21,    22,    23,
2343     24,    25,    26,    27,     0,     0,    28,    29,     0,     0,
2344    336,    30,     0,     0,    31,     0,   337,   338,   339,    32,
2345     33,     0,     0,     0,    34,    35,    36,    37,    38,    39,
2346    340,   341,   342,   343,   344,   345,   346,     0,   347,   348,
2347      0,     0,     0,     0,     0,     0,     0,     0,   349,     0,
2348      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2349      0,     0,   746,   351,   352,   353,    42,     0,     0,     0,
2350     43,     0,   354,   355,     0,     0,     3,   192,     4,     5,
2351      6,     0,     0,     0,     0,     7,     8,     9,     0,   334,
2352    335,    10,    11,    12,    13,     0,     0,    14,     0,     0,
2353     15,    16,    17,    18,   162,     0,    20,    21,    22,    23,
2354     24,    25,    26,    27,     0,     0,    28,    29,     0,     0,
2355    336,    30,     0,     0,    31,     0,   337,   338,   339,    32,
2356     33,&nbs