New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 2715 for trunk/NEMOGCM/EXTERNAL/AGRIF/LIB/fortran.tab.c – NEMO

Ignore:
Timestamp:
2011-03-30T17:58:35+02:00 (13 years ago)
Author:
rblod
Message:

First attempt to put dynamic allocation on the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/EXTERNAL/AGRIF/LIB/fortran.tab.c

    r2528 r2715  
    1 #ifndef lint 
    2 static char yysccsid[] = "@(#)yaccpar  1.9 (Berkeley) 02/21/93"; 
    3 #endif 
    4 #define YYBYACC 1 
    5 #define YYMAJOR 1 
    6 #define YYMINOR 9 
    7 #define yyclearin (yychar=(-1)) 
    8 #define yyerrok (yyerrflag=0) 
    9 #define YYRECOVERING (yyerrflag!=0) 
     1/* A Bison parser, made by GNU Bison 2.3.  */ 
     2 
     3/* Skeleton implementation for Bison's Yacc-like parsers in C 
     4 
     5   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 
     6   Free Software Foundation, Inc. 
     7 
     8   This program is free software; you can redistribute it and/or modify 
     9   it under the terms of the GNU General Public License as published by 
     10   the Free Software Foundation; either version 2, or (at your option) 
     11   any later version. 
     12 
     13   This program is distributed in the hope that it will be useful, 
     14   but WITHOUT ANY WARRANTY; without even the implied warranty of 
     15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     16   GNU General Public License for more details. 
     17 
     18   You should have received a copy of the GNU General Public License 
     19   along with this program; if not, write to the Free Software 
     20   Foundation, Inc., 51 Franklin Street, Fifth Floor, 
     21   Boston, MA 02110-1301, USA.  */ 
     22 
     23/* As a special exception, you may create a larger work that contains 
     24   part or all of the Bison parser skeleton and distribute that work 
     25   under terms of your choice, so long as that work isn't itself a 
     26   parser generator using the skeleton or a modified version thereof 
     27   as a parser skeleton.  Alternatively, if you modify or redistribute 
     28   the parser skeleton itself, you may (at your option) remove this 
     29   special exception, which will cause the skeleton and the resulting 
     30   Bison output files to be licensed under the GNU General Public 
     31   License without this special exception. 
     32 
     33   This special exception was added by the Free Software Foundation in 
     34   version 2.2 of Bison.  */ 
     35 
     36/* C LALR(1) parser skeleton written by Richard Stallman, by 
     37   simplifying the original so-called "semantic" parser.  */ 
     38 
     39/* All symbols defined below should begin with yy or YY, to avoid 
     40   infringing on user name space.  This should be done even for local 
     41   variables, as they might otherwise be expanded by user macros. 
     42   There are some unavoidable exceptions within include files to 
     43   define necessary library symbols; they are noted "INFRINGES ON 
     44   USER NAME SPACE" below.  */ 
     45 
     46/* Identify Bison output.  */ 
     47#define YYBISON 1 
     48 
     49/* Bison version.  */ 
     50#define YYBISON_VERSION "2.3" 
     51 
     52/* Skeleton name.  */ 
     53#define YYSKELETON_NAME "yacc.c" 
     54 
     55/* Pure parsers.  */ 
     56#define YYPURE 0 
     57 
     58/* Using locations.  */ 
     59#define YYLSP_NEEDED 0 
     60 
     61/* Substitute the variable and function names.  */ 
    1062#define yyparse fortranparse 
    1163#define yylex fortranlex 
    1264#define yyerror fortranerror 
    13 #define yychar fortranchar 
    14 #define yyval fortranval 
    1565#define yylval fortranlval 
     66#define yychar  fortranchar 
    1667#define yydebug fortrandebug 
    1768#define yynerrs fortrannerrs 
    18 #define yyerrflag fortranerrflag 
    19 #define yyss fortranss 
    20 #define yyssp fortranssp 
    21 #define yyvs fortranvs 
    22 #define yyvsp fortranvsp 
    23 #define yylhs fortranlhs 
    24 #define yylen fortranlen 
    25 #define yydefred fortrandefred 
    26 #define yydgoto fortrandgoto 
    27 #define yysindex fortransindex 
    28 #define yyrindex fortranrindex 
    29 #define yygindex fortrangindex 
    30 #define yytable fortrantable 
    31 #define yycheck fortrancheck 
    32 #define yyname fortranname 
    33 #define yyrule fortranrule 
    34 #define YYPREFIX "fortran" 
     69 
     70 
     71/* Tokens.  */ 
     72#ifndef YYTOKENTYPE 
     73# define YYTOKENTYPE 
     74   /* Put the tokens into the symbol table, so that GDB and other debuggers 
     75      know about them.  */ 
     76   enum yytokentype { 
     77     TOK_BINARY_OP = 258, 
     78     TOK_NEQV = 259, 
     79     TOK_EQV = 260, 
     80     TOK_XOR = 261, 
     81     TOK_OR = 262, 
     82     TOK_AND = 263, 
     83     TOK_NOT = 264, 
     84     TOK_NE = 265, 
     85     TOK_EQ = 266, 
     86     TOK_GE = 267, 
     87     TOK_LE = 268, 
     88     TOK_GT = 269, 
     89     TOK_LT = 270, 
     90     TOK_UNARY_OP = 271, 
     91     TOK_DSLASH = 272, 
     92     TOK_SLASH = 273, 
     93     TOK_DASTER = 274, 
     94     TOK_SEP = 275, 
     95     TOK_SEMICOLON = 276, 
     96     TOK_NEXTLINE = 277, 
     97     TOK_PARAMETER = 278, 
     98     TOK_RESULT = 279, 
     99     TOK_ONLY = 280, 
     100     TOK_INCLUDE = 281, 
     101     TOK_SUBROUTINE = 282, 
     102     TOK_PROGRAM = 283, 
     103     TOK_FUNCTION = 284, 
     104     TOK_OMP = 285, 
     105     TOK_DOLLAR = 286, 
     106     TOK_FORMAT = 287, 
     107     TOK_MAX = 288, 
     108     TOK_TANH = 289, 
     109     TOK_WHERE = 290, 
     110     TOK_ELSEWHERE = 291, 
     111     TOK_ENDWHERE = 292, 
     112     TOK_MAXVAL = 293, 
     113     TOK_TRIM = 294, 
     114     TOK_SUM = 295, 
     115     TOK_SQRT = 296, 
     116     TOK_CASE = 297, 
     117     TOK_SELECTCASE = 298, 
     118     TOK_FILE = 299, 
     119     TOK_END = 300, 
     120     TOK_ERR = 301, 
     121     TOK_DONOTTREAT = 302, 
     122     TOK_ENDDONOTTREAT = 303, 
     123     TOK_EXIST = 304, 
     124     TOK_MIN = 305, 
     125     TOK_FLOAT = 306, 
     126     TOK_EXP = 307, 
     127     TOK_COS = 308, 
     128     TOK_COSH = 309, 
     129     TOK_ACOS = 310, 
     130     TOK_NINT = 311, 
     131     TOK_CYCLE = 312, 
     132     TOK_SIN = 313, 
     133     TOK_SINH = 314, 
     134     TOK_ASIN = 315, 
     135     TOK_EQUIVALENCE = 316, 
     136     TOK_BACKSPACE = 317, 
     137     TOK_LOG = 318, 
     138     TOK_TAN = 319, 
     139     TOK_ATAN = 320, 
     140     TOK_RECURSIVE = 321, 
     141     TOK_ABS = 322, 
     142     TOK_MOD = 323, 
     143     TOK_SIGN = 324, 
     144     TOK_MINLOC = 325, 
     145     TOK_MAXLOC = 326, 
     146     TOK_EXIT = 327, 
     147     TOK_MINVAL = 328, 
     148     TOK_PUBLIC = 329, 
     149     TOK_PRIVATE = 330, 
     150     TOK_ALLOCATABLE = 331, 
     151     TOK_RETURN = 332, 
     152     TOK_THEN = 333, 
     153     TOK_ELSEIF = 334, 
     154     TOK_ELSE = 335, 
     155     TOK_ENDIF = 336, 
     156     TOK_PRINT = 337, 
     157     TOK_PLAINGOTO = 338, 
     158     TOK_CONSTRUCTID = 339, 
     159     TOK_LOGICALIF = 340, 
     160     TOK_PLAINDO = 341, 
     161     TOK_CONTAINS = 342, 
     162     TOK_ENDDO = 343, 
     163     TOK_MODULE = 344, 
     164     TOK_ENDMODULE = 345, 
     165     TOK_DOWHILE = 346, 
     166     TOK_ALLOCATE = 347, 
     167     TOK_OPEN = 348, 
     168     TOK_CLOSE = 349, 
     169     TOK_INQUIRE = 350, 
     170     TOK_WRITE = 351, 
     171     TOK_READ = 352, 
     172     TOK_REWIND = 353, 
     173     TOK_DEALLOCATE = 354, 
     174     TOK_NULLIFY = 355, 
     175     TOK_FIN = 356, 
     176     TOK_DEBUT = 357, 
     177     TOK_DIMENSION = 358, 
     178     TOK_ENDSELECT = 359, 
     179     TOK_EXTERNAL = 360, 
     180     TOK_INTENT = 361, 
     181     TOK_INTRINSIC = 362, 
     182     TOK_NAMELIST = 363, 
     183     TOK_CASEDEFAULT = 364, 
     184     TOK_OPTIONAL = 365, 
     185     TOK_POINTER = 366, 
     186     TOK_CONTINUE = 367, 
     187     TOK_SAVE = 368, 
     188     TOK_TARGET = 369, 
     189     TOK_QUOTE = 370, 
     190     TOK_IMPLICIT = 371, 
     191     TOK_NONE = 372, 
     192     TOK_CALL = 373, 
     193     TOK_STAT = 374, 
     194     TOK_POINT_TO = 375, 
     195     TOK_COMMON = 376, 
     196     TOK_GLOBAL = 377, 
     197     TOK_INTERFACE = 378, 
     198     TOK_ENDINTERFACE = 379, 
     199     TOK_LEFTAB = 380, 
     200     TOK_RIGHTAB = 381, 
     201     TOK_PAUSE = 382, 
     202     TOK_PROCEDURE = 383, 
     203     TOK_STOP = 384, 
     204     TOK_NAMEEQ = 385, 
     205     TOK_REAL8 = 386, 
     206     TOK_OUT = 387, 
     207     TOK_INOUT = 388, 
     208     TOK_IN = 389, 
     209     TOK_USE = 390, 
     210     TOK_TRUE = 391, 
     211     TOK_FALSE = 392, 
     212     TOK_LABEL = 393, 
     213     TOK_TYPE = 394, 
     214     TOK_TYPEPAR = 395, 
     215     TOK_ENDTYPE = 396, 
     216     TOK_REAL = 397, 
     217     TOK_INTEGER = 398, 
     218     TOK_LOGICAL = 399, 
     219     TOK_DOUBLEPRECISION = 400, 
     220     TOK_DOUBLEREAL = 401, 
     221     TOK_ENDSUBROUTINE = 402, 
     222     TOK_ENDFUNCTION = 403, 
     223     TOK_ENDPROGRAM = 404, 
     224     TOK_ENDUNIT = 405, 
     225     TOK_CHARACTER = 406, 
     226     TOK_CHAR_CONSTANT = 407, 
     227     TOK_CHAR_CUT = 408, 
     228     TOK_DATA = 409, 
     229     TOK_CHAR_INT = 410, 
     230     TOK_CHAR_MESSAGE = 411, 
     231     TOK_CSTREAL = 412, 
     232     TOK_CSTREALDP = 413, 
     233     TOK_CSTREALQP = 414, 
     234     TOK_SFREAL = 415, 
     235     TOK_COMPLEX = 416, 
     236     TOK_DOUBLECOMPLEX = 417, 
     237     TOK_NAME = 418, 
     238     TOK_NAME_CHAR = 419, 
     239     TOK_PROBTYPE = 420, 
     240     TOK_INTERPTYPE = 421, 
     241     TOK_VARTYPE = 422, 
     242     TOK_BC = 423, 
     243     TOK_OP = 424, 
     244     TOK_CSTINT = 425, 
     245     TOK_COMMENT = 426, 
     246     TOK_FILENAME = 427 
     247   }; 
     248#endif 
     249/* Tokens.  */ 
     250#define TOK_BINARY_OP 258 
     251#define TOK_NEQV 259 
     252#define TOK_EQV 260 
     253#define TOK_XOR 261 
     254#define TOK_OR 262 
     255#define TOK_AND 263 
     256#define TOK_NOT 264 
     257#define TOK_NE 265 
     258#define TOK_EQ 266 
     259#define TOK_GE 267 
     260#define TOK_LE 268 
     261#define TOK_GT 269 
     262#define TOK_LT 270 
     263#define TOK_UNARY_OP 271 
     264#define TOK_DSLASH 272 
     265#define TOK_SLASH 273 
     266#define TOK_DASTER 274 
     267#define TOK_SEP 275 
     268#define TOK_SEMICOLON 276 
     269#define TOK_NEXTLINE 277 
     270#define TOK_PARAMETER 278 
     271#define TOK_RESULT 279 
     272#define TOK_ONLY 280 
     273#define TOK_INCLUDE 281 
     274#define TOK_SUBROUTINE 282 
     275#define TOK_PROGRAM 283 
     276#define TOK_FUNCTION 284 
     277#define TOK_OMP 285 
     278#define TOK_DOLLAR 286 
     279#define TOK_FORMAT 287 
     280#define TOK_MAX 288 
     281#define TOK_TANH 289 
     282#define TOK_WHERE 290 
     283#define TOK_ELSEWHERE 291 
     284#define TOK_ENDWHERE 292 
     285#define TOK_MAXVAL 293 
     286#define TOK_TRIM 294 
     287#define TOK_SUM 295 
     288#define TOK_SQRT 296 
     289#define TOK_CASE 297 
     290#define TOK_SELECTCASE 298 
     291#define TOK_FILE 299 
     292#define TOK_END 300 
     293#define TOK_ERR 301 
     294#define TOK_DONOTTREAT 302 
     295#define TOK_ENDDONOTTREAT 303 
     296#define TOK_EXIST 304 
     297#define TOK_MIN 305 
     298#define TOK_FLOAT 306 
     299#define TOK_EXP 307 
     300#define TOK_COS 308 
     301#define TOK_COSH 309 
     302#define TOK_ACOS 310 
     303#define TOK_NINT 311 
     304#define TOK_CYCLE 312 
     305#define TOK_SIN 313 
     306#define TOK_SINH 314 
     307#define TOK_ASIN 315 
     308#define TOK_EQUIVALENCE 316 
     309#define TOK_BACKSPACE 317 
     310#define TOK_LOG 318 
     311#define TOK_TAN 319 
     312#define TOK_ATAN 320 
     313#define TOK_RECURSIVE 321 
     314#define TOK_ABS 322 
     315#define TOK_MOD 323 
     316#define TOK_SIGN 324 
     317#define TOK_MINLOC 325 
     318#define TOK_MAXLOC 326 
     319#define TOK_EXIT 327 
     320#define TOK_MINVAL 328 
     321#define TOK_PUBLIC 329 
     322#define TOK_PRIVATE 330 
     323#define TOK_ALLOCATABLE 331 
     324#define TOK_RETURN 332 
     325#define TOK_THEN 333 
     326#define TOK_ELSEIF 334 
     327#define TOK_ELSE 335 
     328#define TOK_ENDIF 336 
     329#define TOK_PRINT 337 
     330#define TOK_PLAINGOTO 338 
     331#define TOK_CONSTRUCTID 339 
     332#define TOK_LOGICALIF 340 
     333#define TOK_PLAINDO 341 
     334#define TOK_CONTAINS 342 
     335#define TOK_ENDDO 343 
     336#define TOK_MODULE 344 
     337#define TOK_ENDMODULE 345 
     338#define TOK_DOWHILE 346 
     339#define TOK_ALLOCATE 347 
     340#define TOK_OPEN 348 
     341#define TOK_CLOSE 349 
     342#define TOK_INQUIRE 350 
     343#define TOK_WRITE 351 
     344#define TOK_READ 352 
     345#define TOK_REWIND 353 
     346#define TOK_DEALLOCATE 354 
     347#define TOK_NULLIFY 355 
     348#define TOK_FIN 356 
     349#define TOK_DEBUT 357 
     350#define TOK_DIMENSION 358 
     351#define TOK_ENDSELECT 359 
     352#define TOK_EXTERNAL 360 
     353#define TOK_INTENT 361 
     354#define TOK_INTRINSIC 362 
     355#define TOK_NAMELIST 363 
     356#define TOK_CASEDEFAULT 364 
     357#define TOK_OPTIONAL 365 
     358#define TOK_POINTER 366 
     359#define TOK_CONTINUE 367 
     360#define TOK_SAVE 368 
     361#define TOK_TARGET 369 
     362#define TOK_QUOTE 370 
     363#define TOK_IMPLICIT 371 
     364#define TOK_NONE 372 
     365#define TOK_CALL 373 
     366#define TOK_STAT 374 
     367#define TOK_POINT_TO 375 
     368#define TOK_COMMON 376 
     369#define TOK_GLOBAL 377 
     370#define TOK_INTERFACE 378 
     371#define TOK_ENDINTERFACE 379 
     372#define TOK_LEFTAB 380 
     373#define TOK_RIGHTAB 381 
     374#define TOK_PAUSE 382 
     375#define TOK_PROCEDURE 383 
     376#define TOK_STOP 384 
     377#define TOK_NAMEEQ 385 
     378#define TOK_REAL8 386 
     379#define TOK_OUT 387 
     380#define TOK_INOUT 388 
     381#define TOK_IN 389 
     382#define TOK_USE 390 
     383#define TOK_TRUE 391 
     384#define TOK_FALSE 392 
     385#define TOK_LABEL 393 
     386#define TOK_TYPE 394 
     387#define TOK_TYPEPAR 395 
     388#define TOK_ENDTYPE 396 
     389#define TOK_REAL 397 
     390#define TOK_INTEGER 398 
     391#define TOK_LOGICAL 399 
     392#define TOK_DOUBLEPRECISION 400 
     393#define TOK_DOUBLEREAL 401 
     394#define TOK_ENDSUBROUTINE 402 
     395#define TOK_ENDFUNCTION 403 
     396#define TOK_ENDPROGRAM 404 
     397#define TOK_ENDUNIT 405 
     398#define TOK_CHARACTER 406 
     399#define TOK_CHAR_CONSTANT 407 
     400#define TOK_CHAR_CUT 408 
     401#define TOK_DATA 409 
     402#define TOK_CHAR_INT 410 
     403#define TOK_CHAR_MESSAGE 411 
     404#define TOK_CSTREAL 412 
     405#define TOK_CSTREALDP 413 
     406#define TOK_CSTREALQP 414 
     407#define TOK_SFREAL 415 
     408#define TOK_COMPLEX 416 
     409#define TOK_DOUBLECOMPLEX 417 
     410#define TOK_NAME 418 
     411#define TOK_NAME_CHAR 419 
     412#define TOK_PROBTYPE 420 
     413#define TOK_INTERPTYPE 421 
     414#define TOK_VARTYPE 422 
     415#define TOK_BC 423 
     416#define TOK_OP 424 
     417#define TOK_CSTINT 425 
     418#define TOK_COMMENT 426 
     419#define TOK_FILENAME 427 
     420 
     421 
     422 
     423 
     424/* Copy the first part of user declarations.  */ 
    35425#line 36 "fortran.y" 
     426 
     427#define YYMAXDEPTH 1000 
    36428#include <stdlib.h> 
    37429#include <stdio.h> 
     
    53445int removeline=0; 
    54446listvar *test; 
    55 #line 57 "fortran.y" 
    56 typedef union { 
     447 
     448 
     449/* Enabling traces.  */ 
     450#ifndef YYDEBUG 
     451# define YYDEBUG 1 
     452#endif 
     453 
     454/* Enabling verbose error messages.  */ 
     455#ifdef YYERROR_VERBOSE 
     456# undef YYERROR_VERBOSE 
     457# define YYERROR_VERBOSE 1 
     458#else 
     459# define YYERROR_VERBOSE 0 
     460#endif 
     461 
     462/* Enabling the token table.  */ 
     463#ifndef YYTOKEN_TABLE 
     464# define YYTOKEN_TABLE 0 
     465#endif 
     466 
     467#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 
     468typedef union YYSTYPE 
     469#line 59 "fortran.y" 
     470{ 
    57471       char      nac[LONG_C]; 
    58472       char      na[LONGNOM]; 
     
    64478       typedim   dim1; 
    65479       variable *v; 
    66        } YYSTYPE; 
    67 #line 68 "y.tab.c" 
    68 #define TOK_BINARY_OP 257 
    69 #define TOK_EQV 258 
    70 #define TOK_NEQV 259 
    71 #define TOK_OR 260 
    72 #define TOK_XOR 261 
    73 #define TOK_AND 262 
    74 #define TOK_NOT 263 
    75 #define TOK_LT 264 
    76 #define TOK_GT 265 
    77 #define TOK_LE 266 
    78 #define TOK_GE 267 
    79 #define TOK_EQ 268 
    80 #define TOK_NE 269 
    81 #define TOK_UNARY_OP 270 
    82 #define TOK_DSLASH 271 
    83 #define TOK_SLASH 272 
    84 #define TOK_DASTER 273 
    85 #define TOK_SEP 274 
    86 #define TOK_SEMICOLON 275 
    87 #define TOK_NEXTLINE 276 
    88 #define TOK_PARAMETER 277 
    89 #define TOK_RESULT 278 
    90 #define TOK_ONLY 279 
    91 #define TOK_INCLUDE 280 
    92 #define TOK_SUBROUTINE 281 
    93 #define TOK_PROGRAM 282 
    94 #define TOK_FUNCTION 283 
    95 #define TOK_OMP 284 
    96 #define TOK_DOLLAR 285 
    97 #define TOK_FORMAT 286 
    98 #define TOK_MAX 287 
    99 #define TOK_TANH 288 
    100 #define TOK_WHERE 289 
    101 #define TOK_ELSEWHERE 290 
    102 #define TOK_ENDWHERE 291 
    103 #define TOK_MAXVAL 292 
    104 #define TOK_TRIM 293 
    105 #define TOK_SUM 294 
    106 #define TOK_SQRT 295 
    107 #define TOK_CASE 296 
    108 #define TOK_SELECTCASE 297 
    109 #define TOK_FILE 298 
    110 #define TOK_END 299 
    111 #define TOK_ERR 300 
    112 #define TOK_DONOTTREAT 301 
    113 #define TOK_ENDDONOTTREAT 302 
    114 #define TOK_EXIST 303 
    115 #define TOK_MIN 304 
    116 #define TOK_FLOAT 305 
    117 #define TOK_EXP 306 
    118 #define TOK_COS 307 
    119 #define TOK_COSH 308 
    120 #define TOK_ACOS 309 
    121 #define TOK_NINT 310 
    122 #define TOK_CYCLE 311 
    123 #define TOK_SIN 312 
    124 #define TOK_SINH 313 
    125 #define TOK_ASIN 314 
    126 #define TOK_EQUIVALENCE 315 
    127 #define TOK_BACKSPACE 316 
    128 #define TOK_LOG 317 
    129 #define TOK_TAN 318 
    130 #define TOK_ATAN 319 
    131 #define TOK_RECURSIVE 320 
    132 #define TOK_ABS 321 
    133 #define TOK_MOD 322 
    134 #define TOK_SIGN 323 
    135 #define TOK_MINLOC 324 
    136 #define TOK_MAXLOC 325 
    137 #define TOK_EXIT 326 
    138 #define TOK_MINVAL 327 
    139 #define TOK_PUBLIC 328 
    140 #define TOK_PRIVATE 329 
    141 #define TOK_ALLOCATABLE 330 
    142 #define TOK_RETURN 331 
    143 #define TOK_THEN 332 
    144 #define TOK_ELSEIF 333 
    145 #define TOK_ELSE 334 
    146 #define TOK_ENDIF 335 
    147 #define TOK_PRINT 336 
    148 #define TOK_PLAINGOTO 337 
    149 #define TOK_CONSTRUCTID 338 
    150 #define TOK_LOGICALIF 339 
    151 #define TOK_PLAINDO 340 
    152 #define TOK_CONTAINS 341 
    153 #define TOK_ENDDO 342 
    154 #define TOK_MODULE 343 
    155 #define TOK_ENDMODULE 344 
    156 #define TOK_DOWHILE 345 
    157 #define TOK_ALLOCATE 346 
    158 #define TOK_OPEN 347 
    159 #define TOK_CLOSE 348 
    160 #define TOK_INQUIRE 349 
    161 #define TOK_WRITE 350 
    162 #define TOK_READ 351 
    163 #define TOK_REWIND 352 
    164 #define TOK_DEALLOCATE 353 
    165 #define TOK_NULLIFY 354 
    166 #define TOK_FIN 355 
    167 #define TOK_DEBUT 356 
    168 #define TOK_DIMENSION 357 
    169 #define TOK_ENDSELECT 358 
    170 #define TOK_EXTERNAL 359 
    171 #define TOK_INTENT 360 
    172 #define TOK_INTRINSIC 361 
    173 #define TOK_NAMELIST 362 
    174 #define TOK_CASEDEFAULT 363 
    175 #define TOK_OPTIONAL 364 
    176 #define TOK_POINTER 365 
    177 #define TOK_CONTINUE 366 
    178 #define TOK_SAVE 367 
    179 #define TOK_TARGET 368 
    180 #define TOK_QUOTE 369 
    181 #define TOK_IMPLICIT 370 
    182 #define TOK_NONE 371 
    183 #define TOK_CALL 372 
    184 #define TOK_STAT 373 
    185 #define TOK_POINT_TO 374 
    186 #define TOK_COMMON 375 
    187 #define TOK_GLOBAL 376 
    188 #define TOK_INTERFACE 377 
    189 #define TOK_ENDINTERFACE 378 
    190 #define TOK_LEFTAB 379 
    191 #define TOK_RIGHTAB 380 
    192 #define TOK_PAUSE 381 
    193 #define TOK_PROCEDURE 382 
    194 #define TOK_STOP 383 
    195 #define TOK_NAMEEQ 384 
    196 #define TOK_REAL8 385 
    197 #define TOK_OUT 386 
    198 #define TOK_INOUT 387 
    199 #define TOK_IN 388 
    200 #define TOK_USE 389 
    201 #define TOK_TRUE 390 
    202 #define TOK_FALSE 391 
    203 #define TOK_LABEL 392 
    204 #define TOK_TYPE 393 
    205 #define TOK_TYPEPAR 394 
    206 #define TOK_ENDTYPE 395 
    207 #define TOK_REAL 396 
    208 #define TOK_INTEGER 397 
    209 #define TOK_LOGICAL 398 
    210 #define TOK_DOUBLEPRECISION 399 
    211 #define TOK_DOUBLEREAL 400 
    212 #define TOK_ENDSUBROUTINE 401 
    213 #define TOK_ENDFUNCTION 402 
    214 #define TOK_ENDPROGRAM 403 
    215 #define TOK_ENDUNIT 404 
    216 #define TOK_CHARACTER 405 
    217 #define TOK_CHAR_CONSTANT 406 
    218 #define TOK_CHAR_CUT 407 
    219 #define TOK_DATA 408 
    220 #define TOK_CHAR_INT 409 
    221 #define TOK_CHAR_MESSAGE 410 
    222 #define TOK_CSTREAL 411 
    223 #define TOK_CSTREALDP 412 
    224 #define TOK_CSTREALQP 413 
    225 #define TOK_SFREAL 414 
    226 #define TOK_COMPLEX 415 
    227 #define TOK_DOUBLECOMPLEX 416 
    228 #define TOK_NAME 417 
    229 #define TOK_NAME_CHAR 418 
    230 #define TOK_PROBTYPE 419 
    231 #define TOK_INTERPTYPE 420 
    232 #define TOK_VARTYPE 421 
    233 #define TOK_BC 422 
    234 #define TOK_OP 423 
    235 #define TOK_CSTINT 424 
    236 #define TOK_COMMENT 425 
    237 #define TOK_FILENAME 426 
    238 #define YYERRCODE 256 
    239 short fortranlhs[] = {                                        -1, 
    240     0,    0,   68,   68,   68,   68,   68,   71,   71,   76, 
    241    76,   76,   76,   76,   82,   78,   72,   72,   72,   72, 
    242    69,   70,   70,   73,   73,   83,   75,   84,   84,   77, 
    243    77,   77,   77,   77,   77,   16,   74,   80,   33,    6, 
    244     6,    6,   85,   85,   85,    5,    5,   38,   38,   79, 
    245    79,   79,   79,   79,   79,   79,   79,   79,   79,   79, 
    246    79,   79,   79,   79,   79,   79,   79,   79,   79,   79, 
    247    86,   86,  103,  103,  103,  103,  103,  103,  103,  103, 
    248   103,  103,  103,  103,  103,  103,  103,  103,  103,  103, 
    249   103,  103,  103,  103,  103,  103,   98,   98,   88,   88, 
    250    99,   99,  105,  106,  106,  104,  104,   87,   87,    2, 
    251     2,  108,   89,  100,  101,  101,  101,   58,   58,   91, 
    252    91,   91,   91,  111,  112,  112,  110,  110,  110,   47, 
    253    47,   47,   47,   47,   32,   32,   97,  113,  113,  113, 
    254   113,  114,   96,   96,  115,    3,    3,   93,   93,   67, 
    255    67,   66,   66,   90,   90,   90,  117,  117,  118,  118, 
    256   119,   15,   15,  109,  109,    4,    4,   14,   95,  120, 
    257   120,   92,   92,  121,    1,    1,  107,   19,   19,   19, 
    258    19,  127,  126,  126,  126,  126,  128,  128,  128,  125, 
    259    25,   24,   24,   24,   24,   24,   24,  116,  116,   65, 
    260    65,  124,  124,  124,  130,  130,   34,   34,   34,   34, 
    261    37,   37,  129,  129,  122,  122,  122,  131,  131,  132, 
    262   132,  132,  132,  132,  132,  132,  132,  132,  132,  132, 
    263    30,   30,   30,  102,  102,   11,   11,   12,   12,   13, 
    264    13,   13,   13,   13,   63,   63,   62,   62,   62,   62, 
    265    61,   61,   61,   61,   61,   61,   61,   61,   61,   61, 
    266    61,   61,   61,   61,   61,   61,   61,   61,   61,   61, 
    267    61,   61,   61,   61,   61,   61,   40,   40,   39,   39, 
    268    39,   39,   39,   39,   31,   31,   64,   64,   64,   64, 
    269    64,   64,   64,   64,   64,   64,   64,   64,   64,   64, 
    270    64,   64,   64,   64,   64,   64,   64,   59,   59,   59, 
    271    59,   60,   60,   41,   41,   41,  133,   49,   49,   49, 
    272    49,   36,   48,   42,   50,   50,   52,   52,   51,   51, 
    273    53,   53,   53,   53,   53,   53,   53,   28,   27,   27, 
    274    27,   27,   27,   27,   27,   27,   26,   26,   26,   26, 
    275    55,   55,   54,   57,   57,   56,   56,  123,  123,  134, 
    276    35,   94,   94,   94,   94,  135,   17,    9,    9,   10, 
    277     7,    7,    8,    8,   81,   81,   81,   81,   81,   81, 
    278    81,   81,   81,   81,   81,   81,   81,   81,   81,   81, 
    279    81,   81,   81,   81,   81,   81,   81,   20,   23,   22, 
    280    21,  143,  143,  143,  141,  141,  141,  146,  146,  146, 
    281   145,  145,   18,   18,  148,  148,  144,  147,  149,  149, 
    282   136,  136,  136,  136,  136,  136,  136,  136,  136,  136, 
    283   136,  136,  157,  150,  150,  156,  156,  151,  151,  154, 
    284   159,  159,  160,  160,  158,  162,  161,  161,  163,  163, 
    285   155,  155,  153,  153,  153,  153,  153,  153,  171,  171, 
    286   172,  172,  172,  173,  173,  174,  174,  168,  168,  178, 
    287   178,  177,  177,  166,  166,  170,  170,  170,  170,  170, 
    288   179,  179,  181,  181,  181,  181,  181,  181,  181,  181, 
    289   165,  165,  176,  176,  167,  167,  167,  169,  180,  180, 
    290   182,  182,  182,  182,  182,  182,  182,  182,  182,  182, 
    291   182,  182,  182,  183,  183,  175,  175,  185,  185,  184, 
    292   184,  184,  184,  184,  186,  186,  186,   43,   43,   43, 
    293    44,   44,   44,   44,   44,   44,   44,   44,   45,   45, 
    294    45,   45,   45,   46,   46,  187,  187,  164,  152,  152, 
    295   137,  137,  137,  188,  188,  188,  189,  190,  190,  139, 
    296   139,  138,  138,  140,  140,  191,  191,  192,  192,  142, 
    297    29, 
     480       } 
     481/* Line 193 of yacc.c.  */ 
     482#line 483 "fortran.tab.c" 
     483   YYSTYPE; 
     484# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 
     485# define YYSTYPE_IS_DECLARED 1 
     486# define YYSTYPE_IS_TRIVIAL 1 
     487#endif 
     488 
     489 
     490 
     491/* Copy the second part of user declarations.  */ 
     492 
     493 
     494/* Line 216 of yacc.c.  */ 
     495#line 496 "fortran.tab.c" 
     496 
     497#ifdef short 
     498# undef short 
     499#endif 
     500 
     501#ifdef YYTYPE_UINT8 
     502typedef YYTYPE_UINT8 yytype_uint8; 
     503#else 
     504typedef unsigned char yytype_uint8; 
     505#endif 
     506 
     507#ifdef YYTYPE_INT8 
     508typedef YYTYPE_INT8 yytype_int8; 
     509#elif (defined __STDC__ || defined __C99__FUNC__ \ 
     510     || defined __cplusplus || defined _MSC_VER) 
     511typedef signed char yytype_int8; 
     512#else 
     513typedef short int yytype_int8; 
     514#endif 
     515 
     516#ifdef YYTYPE_UINT16 
     517typedef YYTYPE_UINT16 yytype_uint16; 
     518#else 
     519typedef unsigned short int yytype_uint16; 
     520#endif 
     521 
     522#ifdef YYTYPE_INT16 
     523typedef YYTYPE_INT16 yytype_int16; 
     524#else 
     525typedef short int yytype_int16; 
     526#endif 
     527 
     528#ifndef YYSIZE_T 
     529# ifdef __SIZE_TYPE__ 
     530#  define YYSIZE_T __SIZE_TYPE__ 
     531# elif defined size_t 
     532#  define YYSIZE_T size_t 
     533# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 
     534     || defined __cplusplus || defined _MSC_VER) 
     535#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 
     536#  define YYSIZE_T size_t 
     537# else 
     538#  define YYSIZE_T unsigned int 
     539# endif 
     540#endif 
     541 
     542#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 
     543 
     544#ifndef YY_ 
     545# if defined YYENABLE_NLS && YYENABLE_NLS 
     546#  if ENABLE_NLS 
     547#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 
     548#   define YY_(msgid) dgettext ("bison-runtime", msgid) 
     549#  endif 
     550# endif 
     551# ifndef YY_ 
     552#  define YY_(msgid) msgid 
     553# endif 
     554#endif 
     555 
     556/* Suppress unused-variable warnings by "using" E.  */ 
     557#if ! defined lint || defined __GNUC__ 
     558# define YYUSE(e) ((void) (e)) 
     559#else 
     560# define YYUSE(e) /* empty */ 
     561#endif 
     562 
     563/* Identity function, used to suppress warnings about constant conditions.  */ 
     564#ifndef lint 
     565# define YYID(n) (n) 
     566#else 
     567#if (defined __STDC__ || defined __C99__FUNC__ \ 
     568     || defined __cplusplus || defined _MSC_VER) 
     569static int 
     570YYID (int i) 
     571#else 
     572static int 
     573YYID (i) 
     574    int i; 
     575#endif 
     576{ 
     577  return i; 
     578} 
     579#endif 
     580 
     581#if ! defined yyoverflow || YYERROR_VERBOSE 
     582 
     583/* The parser invokes alloca or malloc; define the necessary symbols.  */ 
     584 
     585# ifdef YYSTACK_USE_ALLOCA 
     586#  if YYSTACK_USE_ALLOCA 
     587#   ifdef __GNUC__ 
     588#    define YYSTACK_ALLOC __builtin_alloca 
     589#   elif defined __BUILTIN_VA_ARG_INCR 
     590#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */ 
     591#   elif defined _AIX 
     592#    define YYSTACK_ALLOC __alloca 
     593#   elif defined _MSC_VER 
     594#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */ 
     595#    define alloca _alloca 
     596#   else 
     597#    define YYSTACK_ALLOC alloca 
     598#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 
     599     || defined __cplusplus || defined _MSC_VER) 
     600#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 
     601#     ifndef _STDLIB_H 
     602#      define _STDLIB_H 1 
     603#     endif 
     604#    endif 
     605#   endif 
     606#  endif 
     607# endif 
     608 
     609# ifdef YYSTACK_ALLOC 
     610   /* Pacify GCC's `empty if-body' warning.  */ 
     611#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) 
     612#  ifndef YYSTACK_ALLOC_MAXIMUM 
     613    /* The OS might guarantee only one guard page at the bottom of the stack, 
     614       and a page size can be as small as 4096 bytes.  So we cannot safely 
     615       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number 
     616       to allow for a few compiler-allocated temporary stack slots.  */ 
     617#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 
     618#  endif 
     619# else 
     620#  define YYSTACK_ALLOC YYMALLOC 
     621#  define YYSTACK_FREE YYFREE 
     622#  ifndef YYSTACK_ALLOC_MAXIMUM 
     623#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 
     624#  endif 
     625#  if (defined __cplusplus && ! defined _STDLIB_H \ 
     626       && ! ((defined YYMALLOC || defined malloc) \ 
     627        && (defined YYFREE || defined free))) 
     628#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 
     629#   ifndef _STDLIB_H 
     630#    define _STDLIB_H 1 
     631#   endif 
     632#  endif 
     633#  ifndef YYMALLOC 
     634#   define YYMALLOC malloc 
     635#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 
     636     || defined __cplusplus || defined _MSC_VER) 
     637void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 
     638#   endif 
     639#  endif 
     640#  ifndef YYFREE 
     641#   define YYFREE free 
     642#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 
     643     || defined __cplusplus || defined _MSC_VER) 
     644void free (void *); /* INFRINGES ON USER NAME SPACE */ 
     645#   endif 
     646#  endif 
     647# endif 
     648#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ 
     649 
     650 
     651#if (! defined yyoverflow \ 
     652     && (! defined __cplusplus \ 
     653    || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 
     654 
     655/* A type that is properly aligned for any stack member.  */ 
     656union yyalloc 
     657{ 
     658  yytype_int16 yyss; 
     659  YYSTYPE yyvs; 
     660  }; 
     661 
     662/* The size of the maximum gap between one aligned stack and the next.  */ 
     663# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 
     664 
     665/* The size of an array large to enough to hold all stacks, each with 
     666   N elements.  */ 
     667# define YYSTACK_BYTES(N) \ 
     668     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ 
     669      + YYSTACK_GAP_MAXIMUM) 
     670 
     671/* Copy COUNT objects from FROM to TO.  The source and destination do 
     672   not overlap.  */ 
     673# ifndef YYCOPY 
     674#  if defined __GNUC__ && 1 < __GNUC__ 
     675#   define YYCOPY(To, From, Count) \ 
     676      __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 
     677#  else 
     678#   define YYCOPY(To, From, Count)     \ 
     679      do             \ 
     680   {              \ 
     681     YYSIZE_T yyi;            \ 
     682     for (yyi = 0; yyi < (Count); yyi++)  \ 
     683       (To)[yyi] = (From)[yyi];     \ 
     684   }              \ 
     685      while (YYID (0)) 
     686#  endif 
     687# endif 
     688 
     689/* Relocate STACK from its old location to the new one.  The 
     690   local variables YYSIZE and YYSTACKSIZE give the old and new number of 
     691   elements in the stack, and YYPTR gives the new location of the 
     692   stack.  Advance YYPTR to a properly aligned location for the next 
     693   stack.  */ 
     694# define YYSTACK_RELOCATE(Stack)             \ 
     695    do                           \ 
     696      {                          \ 
     697   YYSIZE_T yynewbytes;                \ 
     698   YYCOPY (&yyptr->Stack, Stack, yysize);          \ 
     699   Stack = &yyptr->Stack;                 \ 
     700   yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 
     701   yyptr += yynewbytes / sizeof (*yyptr);          \ 
     702      }                          \ 
     703    while (YYID (0)) 
     704 
     705#endif 
     706 
     707/* YYFINAL -- State number of the termination state.  */ 
     708#define YYFINAL  2 
     709/* YYLAST -- Last index in YYTABLE.  */ 
     710#define YYLAST   5878 
     711 
     712/* YYNTOKENS -- Number of terminals.  */ 
     713#define YYNTOKENS  190 
     714/* YYNNTS -- Number of nonterminals.  */ 
     715#define YYNNTS  184 
     716/* YYNRULES -- Number of rules.  */ 
     717#define YYNRULES  552 
     718/* YYNRULES -- Number of states.  */ 
     719#define YYNSTATES  978 
     720 
     721/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */ 
     722#define YYUNDEFTOK  2 
     723#define YYMAXUTOK   427 
     724 
     725#define YYTRANSLATE(YYX)                  \ 
     726  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 
     727 
     728/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */ 
     729static const yytype_uint8 yytranslate[] = 
     730{ 
     731       0,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     732     187,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     733       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     734       2,     2,     2,   183,     2,     2,     2,   189,     2,     2, 
     735     179,   180,    23,    21,     3,    22,     2,   188,     2,     2, 
     736       2,     2,     2,     2,     2,     2,     2,     2,     4,     2, 
     737     185,     5,   186,     2,     2,     2,     2,     2,     2,     2, 
     738       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     739       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     740       2,   181,     2,   182,     2,   184,     2,     2,     2,     2, 
     741       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     742       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     743       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     744       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     745       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     746       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     747       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     748       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     749       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     750       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     751       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     752       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     753       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     754       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     755       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, 
     756       2,     2,     2,     2,     2,     2,     1,     2,     6,     7, 
     757       8,     9,    10,    11,    12,    13,    14,    15,    16,    17, 
     758      18,    19,    20,    24,    25,    26,    27,    28,    29,    30, 
     759      31,    32,    33,    34,    35,    36,    37,    38,    39,    40, 
     760      41,    42,    43,    44,    45,    46,    47,    48,    49,    50, 
     761      51,    52,    53,    54,    55,    56,    57,    58,    59,    60, 
     762      61,    62,    63,    64,    65,    66,    67,    68,    69,    70, 
     763      71,    72,    73,    74,    75,    76,    77,    78,    79,    80, 
     764      81,    82,    83,    84,    85,    86,    87,    88,    89,    90, 
     765      91,    92,    93,    94,    95,    96,    97,    98,    99,   100, 
     766     101,   102,   103,   104,   105,   106,   107,   108,   109,   110, 
     767     111,   112,   113,   114,   115,   116,   117,   118,   119,   120, 
     768     121,   122,   123,   124,   125,   126,   127,   128,   129,   130, 
     769     131,   132,   133,   134,   135,   136,   137,   138,   139,   140, 
     770     141,   142,   143,   144,   145,   146,   147,   148,   149,   150, 
     771     151,   152,   153,   154,   155,   156,   157,   158,   159,   160, 
     772     161,   162,   163,   164,   165,   166,   167,   168,   169,   170, 
     773     171,   172,   173,   174,   175,   176,   177,   178 
    298774}; 
    299 short fortranlen[] = {                                         2, 
    300     0,    2,    2,    2,    1,    3,    3,    1,    3,    2, 
    301     2,    3,    3,    2,    2,    2,    1,    1,    1,    1, 
    302     0,    0,    2,    0,    1,    0,    0,    0,    1,    0, 
    303     4,    2,    5,    3,    2,    1,    0,    1,    1,    0, 
    304     2,    3,    0,    2,    3,    1,    3,    1,    1,    2, 
    305     4,    2,    2,    4,    2,    1,    1,    1,    1,    1, 
    306     1,    1,    1,    1,    1,    4,    3,    3,    2,    3, 
    307     0,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
     775 
     776#if YYDEBUG 
     777/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 
     778   YYRHS.  */ 
     779static const yytype_uint16 yyprhs[] = 
     780{ 
     781       0,     0,     3,     4,     7,    10,    13,    15,    19,    23, 
     782      25,    29,    32,    35,    39,    43,    46,    49,    52,    54, 
     783      56,    58,    60,    61,    62,    65,    66,    68,    69,    70, 
     784      72,    73,    78,    81,    87,    91,    94,    96,    97,    99, 
     785     101,   102,   105,   109,   110,   113,   117,   119,   123,   125, 
     786     127,   130,   135,   138,   141,   146,   149,   151,   153,   155, 
     787     157,   159,   161,   163,   165,   167,   169,   174,   178,   182, 
     788     185,   189,   190,   192,   194,   196,   198,   200,   202,   204, 
     789     206,   208,   210,   212,   214,   216,   218,   220,   222,   224, 
     790     226,   228,   230,   232,   234,   236,   238,   240,   242,   246, 
     791     250,   256,   258,   262,   266,   269,   274,   276,   280,   281, 
     792     284,   287,   291,   293,   295,   297,   302,   309,   314,   316, 
     793     320,   323,   327,   333,   337,   339,   340,   343,   345,   350, 
     794     354,   357,   361,   365,   369,   373,   374,   376,   379,   382, 
     795     386,   392,   396,   397,   400,   403,   405,   411,   417,   420, 
     796     424,   427,   431,   433,   437,   440,   444,   450,   452,   455, 
     797     457,   461,   464,   466,   470,   471,   473,   475,   479,   483, 
     798     486,   488,   492,   495,   498,   499,   506,   514,   515,   518, 
     799     521,   525,   529,   531,   532,   535,   540,   544,   548,   553, 
     800     556,   558,   560,   562,   564,   566,   568,   570,   572,   573, 
     801     576,   578,   582,   583,   586,   590,   592,   596,   599,   603, 
     802     605,   607,   609,   611,   612,   616,   617,   620,   625,   627, 
     803     631,   633,   635,   637,   640,   642,   647,   649,   651,   653, 
     804     655,   657,   659,   661,   663,   665,   667,   668,   672,   674, 
     805     678,   680,   682,   685,   688,   692,   694,   696,   698,   702, 
     806     704,   706,   710,   714,   719,   724,   728,   733,   738,   742, 
     807     747,   752,   757,   762,   767,   772,   777,   782,   787,   792, 
     808     797,   802,   807,   811,   816,   821,   826,   831,   833,   837, 
     809     839,   841,   843,   846,   849,   852,   854,   856,   859,   862, 
     810     865,   868,   871,   874,   877,   880,   883,   886,   889,   893, 
     811     896,   900,   903,   906,   909,   912,   915,   918,   921,   922, 
     812     924,   927,   930,   933,   935,   937,   939,   941,   942,   944, 
     813     947,   952,   958,   963,   967,   971,   973,   976,   978,   982, 
     814     984,   986,   990,   996,  1001,  1005,  1008,  1011,  1013,  1015, 
     815    1017,  1019,  1021,  1023,  1025,  1027,  1030,  1033,  1035,  1038, 
     816    1040,  1042,  1043,  1045,  1051,  1052,  1054,  1056,  1058,  1059, 
     817    1063,  1064,  1070,  1073,  1078,  1085,  1092,  1094,  1096,  1098, 
     818    1102,  1106,  1108,  1112,  1116,  1118,  1120,  1126,  1132,  1137, 
     819    1139,  1142,  1145,  1148,  1151,  1153,  1156,  1162,  1164,  1166, 
     820    1169,  1175,  1177,  1180,  1184,  1189,  1191,  1193,  1195,  1197, 
     821    1199,  1201,  1203,  1205,  1209,  1213,  1217,  1220,  1223,  1224, 
     822    1230,  1238,  1239,  1242,  1244,  1246,  1247,  1249,  1251,  1253, 
     823    1255,  1258,  1260,  1262,  1264,  1270,  1276,  1279,  1282,  1285, 
     824    1288,  1290,  1291,  1296,  1303,  1305,  1309,  1312,  1315,  1318, 
     825    1319,  1323,  1324,  1326,  1329,  1331,  1333,  1337,  1339,  1342, 
     826    1344,  1346,  1349,  1352,  1355,  1359,  1362,  1364,  1365,  1367, 
     827    1370,  1373,  1374,  1377,  1381,  1385,  1389,  1393,  1395,  1399, 
     828    1401,  1403,  1407,  1409,  1411,  1413,  1416,  1421,  1426,  1429, 
     829    1432,  1434,  1436,  1438,  1440,  1442,  1444,  1446,  1448,  1450, 
     830    1454,  1456,  1458,  1462,  1466,  1470,  1474,  1477,  1481,  1484, 
     831    1487,  1490,  1493,  1497,  1499,  1501,  1503,  1507,  1508,  1510, 
     832    1513,  1518,  1521,  1524,  1530,  1531,  1533,  1536,  1538,  1540, 
     833    1542,  1546,  1550,  1554,  1558,  1562,  1566,  1568,  1570,  1572, 
     834    1576,  1582,  1588,  1594,  1600,  1608,  1610,  1619,  1622,  1624, 
     835    1626,  1630,  1632,  1634,  1636,  1641,  1643,  1647,  1648,  1653, 
     836    1655,  1659,  1663 
     837}; 
     838 
     839/* YYRHS -- A `-1'-separated list of the rules' RHS.  */ 
     840static const yytype_int16 yyrhs[] = 
     841{ 
     842     191,     0,    -1,    -1,   191,   192,    -1,   187,   198,    -1, 
     843     199,   193,    -1,   177,    -1,   197,   200,   205,    -1,     1, 
     844     205,   201,    -1,   194,    -1,   193,    27,   194,    -1,   203, 
     845     196,    -1,   212,   196,    -1,   206,   207,   196,    -1,   315, 
     846     200,   205,    -1,   195,   196,    -1,   298,     4,    -1,   198, 
     847     200,    -1,    53,    -1,    54,    -1,    36,    -1,    37,    -1, 
     848      -1,    -1,   144,   201,    -1,    -1,   177,    -1,    -1,    -1, 
     849      72,    -1,    -1,   202,    33,   204,   208,    -1,    34,   204, 
     850      -1,    35,   204,   208,    30,   209,    -1,    35,   204,   208, 
     851      -1,    95,   169,    -1,   169,    -1,    -1,    32,    -1,   158, 
     852      -1,    -1,   179,   180,    -1,   179,   210,   180,    -1,    -1, 
     853     179,   180,    -1,   179,   210,   180,    -1,   211,    -1,   210, 
     854       3,   211,    -1,   169,    -1,    23,    -1,   257,   222,    -1, 
     855     145,   213,   221,   324,    -1,   147,   324,    -1,   117,   216, 
     856      -1,   224,   179,   249,   180,    -1,   224,   249,    -1,   243, 
     857      -1,   228,    -1,   253,    -1,   239,    -1,   241,    -1,   240, 
     858      -1,   308,    -1,   251,    -1,   237,    -1,   234,    -1,    68, 
     859     179,   280,   180,    -1,   111,   221,   242,    -1,   113,   221, 
     860     215,    -1,    67,   217,    -1,   225,   226,   187,    -1,    -1, 
     861     275,    -1,    46,    -1,    40,    -1,    44,    -1,    56,    -1, 
     862      79,    -1,    45,    -1,    47,    -1,    62,    -1,    57,    -1, 
     863      58,    -1,    59,    -1,    60,    -1,    61,    -1,    64,    -1, 
     864      65,    -1,    66,    -1,    69,    -1,    70,    -1,    71,    -1, 
     865      74,    -1,    75,    -1,    76,    -1,    77,    -1,   169,    -1, 
     866     214,    -1,   215,     3,   214,    -1,   179,   220,   180,    -1, 
     867     216,     3,   179,   220,   180,    -1,   218,    -1,   217,     3, 
     868     218,    -1,   179,   219,   180,    -1,   298,   276,    -1,   219, 
     869       3,   298,   276,    -1,   280,    -1,   220,     3,   280,    -1, 
     870      -1,     4,     4,    -1,   255,   256,    -1,   223,   204,   208, 
     871      -1,    35,    -1,    29,    -1,   160,    -1,   169,    24,   227, 
     872      24,    -1,   226,   248,   169,    24,   227,    24,    -1,   231, 
     873      24,   227,    24,    -1,   232,    -1,   232,     3,   227,    -1, 
     874     229,   230,    -1,   229,   247,   230,    -1,   228,   248,   247, 
     875     248,   230,    -1,   228,     3,   230,    -1,   119,    -1,    -1, 
     876     169,   276,    -1,   169,    -1,   169,   179,   280,   180,    -1, 
     877     231,     3,   231,    -1,   233,   299,    -1,   232,    21,   232, 
     878      -1,   232,    22,   232,    -1,   232,    23,   232,    -1,   232, 
     879     188,   232,    -1,    -1,   284,    -1,   235,   236,    -1,   114, 
     880     298,    -1,   114,   247,   298,    -1,   235,   248,   247,   248, 
     881     298,    -1,   235,     3,   298,    -1,    -1,   129,   324,    -1, 
     882     130,   324,    -1,   109,    -1,   238,   248,   169,   276,   264, 
     883      -1,   239,     3,   169,   276,   264,    -1,    81,   187,    -1, 
     884      81,   221,   242,    -1,    80,   187,    -1,    80,   221,   242, 
     885      -1,   169,    -1,   242,     3,   169,    -1,   244,   245,    -1, 
     886     244,   247,   245,    -1,   243,   248,   247,   248,   245,    -1, 
     887     127,    -1,   128,   127,    -1,   246,    -1,   245,     3,   246, 
     888      -1,   169,   276,    -1,    20,    -1,    24,   169,    24,    -1, 
     889      -1,     3,    -1,   250,    -1,   249,     3,   250,    -1,   169, 
     890       5,   280,    -1,   134,   252,    -1,   169,    -1,   252,     3, 
     891     169,    -1,   122,   123,    -1,   122,   137,    -1,    -1,   271, 
     892     254,   169,   276,   264,   305,    -1,   255,     3,   254,   169, 
     893     276,   264,   305,    -1,    -1,   262,   266,    -1,   261,   259, 
     894      -1,   263,    23,   176,    -1,   258,   268,   180,    -1,   146, 
     895      -1,    -1,    23,   176,    -1,    23,   179,   260,   180,    -1, 
     896     179,   260,   180,    -1,   169,   269,   270,    -1,   169,     5, 
     897     269,   270,    -1,   269,   270,    -1,   157,    -1,   263,    -1, 
     898     149,    -1,   148,    -1,   167,    -1,   151,    -1,   168,    -1, 
     899     150,    -1,    -1,    23,   265,    -1,   280,    -1,   179,    23, 
     900     180,    -1,    -1,    23,   267,    -1,   179,   268,   180,    -1, 
     901     280,    -1,   179,    23,   180,    -1,   169,   269,    -1,   169, 
     902       5,   269,    -1,   169,    -1,   176,    -1,   280,    -1,    23, 
     903      -1,    -1,     3,   169,   269,    -1,    -1,     4,     4,    -1, 
     904       3,   272,     4,     4,    -1,   273,    -1,   272,     3,   273, 
     905      -1,    29,    -1,   275,    -1,    82,    -1,   109,   276,    -1, 
     906     111,    -1,   112,   179,   274,   180,    -1,   113,    -1,   116, 
     907      -1,   117,    -1,   119,    -1,   120,    -1,   140,    -1,   138, 
     908      -1,   139,    -1,    80,    -1,    81,    -1,    -1,   179,   277, 
     909     180,    -1,   278,    -1,   277,     3,   278,    -1,   279,    -1, 
     910       4,    -1,   280,     4,    -1,     4,   280,    -1,   280,     4, 
     911     279,    -1,    23,    -1,   280,    -1,   283,    -1,   179,   280, 
     912     180,    -1,   307,    -1,   281,    -1,    46,   282,   180,    -1, 
     913      39,   282,   180,    -1,    40,   179,   282,   180,    -1,    44, 
     914     179,   282,   180,    -1,    56,   282,   180,    -1,    79,   179, 
     915     282,   180,    -1,    45,   179,   280,   180,    -1,    47,   280, 
     916     180,    -1,   148,   179,   282,   180,    -1,    62,   179,   280, 
     917     180,    -1,    57,   179,   280,   180,    -1,    58,   179,   280, 
     918     180,    -1,    59,   179,   280,   180,    -1,    60,   179,   280, 
     919     180,    -1,    61,   179,   280,   180,    -1,    64,   179,   280, 
     920     180,    -1,    65,   179,   280,   180,    -1,    66,   179,   280, 
     921     180,    -1,    69,   179,   280,   180,    -1,    70,   179,   280, 
     922     180,    -1,    71,   179,   280,   180,    -1,    73,   280,   180, 
     923      -1,    74,   179,   282,   180,    -1,    75,   179,   282,   180, 
     924      -1,    76,   179,   282,   180,    -1,    77,   179,   282,   180, 
     925      -1,   280,    -1,   282,     3,   280,    -1,   288,    -1,   299, 
     926      -1,   293,    -1,   280,   285,    -1,   284,   280,    -1,    12, 
     927     280,    -1,    21,    -1,    22,    -1,    21,   280,    -1,    22, 
     928     280,    -1,    23,   280,    -1,    25,   280,    -1,    14,   280, 
     929      -1,     8,   280,    -1,    17,   280,    -1,   186,   280,    -1, 
     930      18,   280,    -1,   185,   280,    -1,    15,   280,    -1,   186, 
     931       5,   280,    -1,    16,   280,    -1,   185,     5,   280,    -1, 
     932      13,   280,    -1,     7,   280,    -1,     9,   280,    -1,    10, 
     933     280,    -1,    11,   280,    -1,    24,   286,    -1,     5,   287, 
     934      -1,    -1,   280,    -1,     5,   280,    -1,    24,   280,    -1, 
     935       5,   280,    -1,   280,    -1,   298,    -1,   292,    -1,   290, 
     936      -1,    -1,   291,    -1,   291,   302,    -1,   292,   179,   294, 
     937     180,    -1,   292,   179,   294,   180,   302,    -1,   298,   179, 
     938     294,   180,    -1,   288,   189,   288,    -1,   131,   360,   132, 
     939      -1,   289,    -1,   289,   295,    -1,   296,    -1,   295,     3, 
     940     296,    -1,   280,    -1,   297,    -1,   280,     4,   280,    -1, 
     941     280,     4,   280,     4,   280,    -1,     4,   280,     4,   280, 
     942      -1,     4,     4,   280,    -1,     4,   280,    -1,   280,     4, 
     943      -1,     4,    -1,   169,    -1,   142,    -1,   143,    -1,   176, 
     944      -1,   163,    -1,   164,    -1,   165,    -1,   299,   169,    -1, 
     945     300,   301,    -1,   158,    -1,   300,   158,    -1,   162,    -1, 
     946     159,    -1,    -1,   302,    -1,   179,   303,     4,   303,   180, 
     947      -1,    -1,   280,    -1,   187,    -1,   280,    -1,    -1,   306, 
     948       5,   280,    -1,    -1,   179,   283,     3,   283,   180,    -1, 
     949     309,   310,    -1,   309,   310,     3,   311,    -1,   309,   310, 
     950       3,    31,     4,   187,    -1,   309,   310,     3,    31,     4, 
     951     313,    -1,   141,    -1,   169,    -1,   312,    -1,   311,     3, 
     952     312,    -1,   169,   126,   169,    -1,   314,    -1,   313,     3, 
     953     314,    -1,   169,   126,   169,    -1,   169,    -1,   328,    -1, 
     954      98,   179,   366,   370,   180,    -1,   105,   179,   369,   370, 
     955     180,    -1,   106,   179,   371,   180,    -1,   317,    -1,   318, 
     956     324,    -1,   316,   324,    -1,   319,   324,    -1,    96,   324, 
     957      -1,   321,    -1,   372,   328,    -1,    41,   179,   280,   180, 
     958     304,    -1,    42,    -1,    43,    -1,   372,    84,    -1,    85, 
     959     179,   280,   180,    84,    -1,    86,    -1,    87,   324,    -1, 
     960      48,   320,   180,    -1,    49,   179,   280,   180,    -1,   115, 
     961      -1,   110,    -1,    93,    -1,   153,    -1,   156,    -1,   155, 
     962      -1,   154,    -1,   280,    -1,   320,     3,   280,    -1,   320, 
     963       4,   280,    -1,   326,   323,   322,    -1,   327,   280,    -1, 
     964      94,   325,    -1,    -1,   373,     5,   280,     3,   280,    -1, 
     965     373,     5,   280,     3,   280,     3,   280,    -1,    -1,   176, 
     966     248,    -1,   187,    -1,   169,    -1,    -1,   169,    -1,    92, 
     967      -1,    97,    -1,   118,    -1,   330,   332,    -1,   365,    -1, 
     968     341,    -1,   333,    -1,    98,   179,   366,   370,   180,    -1, 
     969     105,   179,   369,   370,   180,    -1,    78,   303,    -1,    83, 
     970     304,    -1,    63,   304,    -1,   340,   304,    -1,   331,    -1, 
     971      -1,   298,   329,   276,   276,    -1,   330,   189,   298,   329, 
     972     276,   276,    -1,   176,    -1,   331,     3,   176,    -1,     5, 
     973     280,    -1,   126,   280,    -1,   336,   334,    -1,    -1,   179, 
     974     335,   180,    -1,    -1,   338,    -1,   337,   169,    -1,   124, 
     975      -1,   339,    -1,   338,     3,   339,    -1,   280,    -1,    23, 
     976     364,    -1,   133,    -1,   135,    -1,   349,   345,    -1,   351, 
     977     343,    -1,   352,   345,    -1,   352,   345,   360,    -1,   104, 
     978     346,    -1,    38,    -1,    -1,   356,    -1,   345,   342,    -1, 
     979     350,   344,    -1,    -1,     3,   356,    -1,   179,   347,   180, 
     980      -1,   179,   353,   180,    -1,   179,   298,   180,    -1,   179, 
     981     176,   180,    -1,   176,    -1,   179,   283,   180,    -1,   169, 
     982      -1,   348,    -1,   347,     3,   348,    -1,   353,    -1,    23, 
     983      -1,    25,    -1,   298,   280,    -1,   298,   280,   189,   330, 
     984      -1,   298,   179,   297,   180,    -1,   298,    23,    -1,   298, 
     985      25,    -1,    99,    -1,   100,    -1,   354,    -1,    23,    -1, 
     986     103,    -1,   101,    -1,    88,    -1,   102,    -1,   354,    -1, 
     987     179,   353,   180,    -1,   288,    -1,   299,    -1,   353,   355, 
     988     353,    -1,   353,    23,   353,    -1,   353,    24,   353,    -1, 
     989     353,    25,   353,    -1,   355,   353,    -1,   353,    20,   353, 
     990      -1,    50,   280,    -1,    55,   280,    -1,    52,   280,    -1, 
     991      51,   280,    -1,   169,     5,   280,    -1,    21,    -1,    22, 
     992      -1,   358,    -1,   356,     3,   358,    -1,    -1,   288,    -1, 
     993     357,   359,    -1,   179,   356,   180,   359,    -1,   281,   359, 
     994      -1,   299,   359,    -1,   179,   356,     3,   363,   180,    -1, 
     995      -1,   285,    -1,   359,   285,    -1,   283,    -1,   362,    -1, 
     996     361,    -1,   283,     3,   280,    -1,   283,     3,   362,    -1, 
     997     362,     3,   280,    -1,   362,     3,   362,    -1,   361,     3, 
     998     280,    -1,   361,     3,   362,    -1,   283,    -1,   281,    -1, 
     999     307,    -1,   179,   280,   180,    -1,   179,   283,     3,   363, 
     1000     180,    -1,   179,   362,     3,   363,   180,    -1,   179,   361, 
     1001       3,   363,   180,    -1,   169,     5,   280,     3,   280,    -1, 
     1002     169,     5,   280,     3,   280,     3,   280,    -1,   176,    -1, 
     1003      89,   179,   280,     3,   280,   180,     3,   280,    -1,    89, 
     1004     364,    -1,   367,    -1,   330,    -1,   366,     3,   367,    -1, 
     1005     298,    -1,   292,    -1,   368,    -1,   298,   179,   295,   180, 
     1006      -1,   367,    -1,   369,     3,   367,    -1,    -1,     3,   125, 
     1007       5,   298,    -1,   298,    -1,   371,     3,   298,    -1,    91, 
     1008     280,   180,    -1,   298,    -1 
     1009}; 
     1010 
     1011/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */ 
     1012static const yytype_uint16 yyrline[] = 
     1013{ 
     1014       0,   336,   336,   337,   339,   340,   341,   342,   343,   346, 
     1015     347,   349,   350,   351,   360,   361,   363,   365,   367,   374, 
     1016     379,   380,   382,   384,   385,   387,   388,   394,   397,   398, 
     1017     401,   402,   430,   448,   481,   515,   532,   539,   541,   545, 
     1018     550,   553,   556,   561,   562,   563,   571,   582,   594,   595, 
     1019     597,   605,   613,   619,   620,   635,   648,   649,   655,   656, 
     1020     693,   706,   707,   708,   709,   710,   711,   712,   713,   714, 
     1021     715,   734,   735,   741,   742,   743,   744,   745,   746,   747, 
     1022     748,   749,   750,   751,   752,   753,   754,   755,   756,   757, 
     1023     758,   759,   760,   761,   762,   763,   764,   766,   767,   769, 
     1024     770,   772,   773,   775,   777,   778,   780,   781,   783,   784, 
     1025     786,   869,   906,   912,   917,   922,   936,   950,   965,   972, 
     1026     981,   982,   983,   984,   986,   991,   992,   997,  1001,  1006, 
     1027    1011,  1013,  1015,  1017,  1019,  1023,  1024,  1027,  1029,  1030, 
     1028    1031,  1032,  1034,  1036,  1041,  1046,  1052,  1068,  1085,  1086, 
     1029    1088,  1092,  1097,  1101,  1106,  1112,  1123,  1135,  1140,  1146, 
     1030    1151,  1155,  1165,  1174,  1184,  1185,  1187,  1191,  1196,  1219, 
     1031    1221,  1222,  1224,  1234,  1236,  1238,  1270,  1305,  1307,  1309, 
     1032    1313,  1318,  1323,  1331,  1332,  1334,  1335,  1337,  1338,  1339, 
     1033    1341,  1346,  1348,  1353,  1357,  1360,  1366,  1368,  1374,  1375, 
     1034    1377,  1378,  1380,  1381,  1382,  1384,  1385,  1387,  1388,  1397, 
     1035    1401,  1406,  1408,  1411,  1412,  1414,  1415,  1416,  1418,  1419, 
     1036    1421,  1425,  1426,  1428,  1433,  1435,  1437,  1438,  1439,  1440, 
     1037    1446,  1449,  1450,  1451,  1453,  1455,  1458,  1463,  1467,  1469, 
     1038    1473,  1478,  1482,  1487,  1492,  1500,  1501,  1503,  1504,  1506, 
     1039    1508,  1512,  1514,  1516,  1518,  1520,  1522,  1524,  1526,  1528, 
     1040    1530,  1532,  1534,  1536,  1538,  1540,  1542,  1544,  1546,  1548, 
     1041    1550,  1552,  1554,  1556,  1558,  1560,  1562,  1565,  1566,  1570, 
     1042    1571,  1573,  1575,  1577,  1579,  1582,  1583,  1585,  1587,  1589, 
     1043    1591,  1593,  1595,  1597,  1599,  1601,  1603,  1605,  1607,  1609, 
     1044    1611,  1613,  1615,  1617,  1619,  1621,  1623,  1625,  1628,  1629, 
     1045    1631,  1633,  1636,  1638,  1642,  1647,  1652,  1658,  1670,  1675, 
     1046    1677,  1680,  1684,  1694,  1700,  1703,  1704,  1707,  1708,  1711, 
     1047    1712,  1714,  1716,  1719,  1721,  1722,  1723,  1724,  1726,  1784, 
     1048    1786,  1787,  1788,  1789,  1790,  1791,  1793,  1795,  1797,  1798, 
     1049    1800,  1803,  1804,  1806,  1809,  1810,  1812,  1813,  1815,  1816, 
     1050    1825,  1827,  1830,  1850,  1884,  1904,  1955,  1963,  1966,  1970, 
     1051    1980,  1991,  1995,  2005,  2017,  2026,  2027,  2033,  2039,  2040, 
     1052    2090,  2108,  2128,  2147,  2180,  2181,  2182,  2183,  2184,  2185, 
     1053    2186,  2187,  2188,  2189,  2190,  2191,  2192,  2193,  2230,  2240, 
     1054    2249,  2258,  2267,  2268,  2269,  2271,  2272,  2273,  2275,  2276, 
     1055    2277,  2278,  2279,  2281,  2282,  2284,  2285,  2287,  2289,  2296, 
     1056    2297,  2298,  2299,  2300,  2301,  2307,  2313,  2314,  2315,  2316, 
     1057    2317,  2319,  2320,  2330,  2332,  2333,  2335,  2336,  2338,  2366, 
     1058    2367,  2369,  2370,  2372,  2402,  2404,  2405,  2408,  2422,  2425, 
     1059    2426,  2429,  2430,  2431,  2432,  2433,  2434,  2446,  2447,  2449, 
     1060    2450,  2455,  2456,  2458,  2459,  2461,  2462,  2463,  2464,  2465, 
     1061    2467,  2468,  2470,  2471,  2472,  2473,  2474,  2475,  2476,  2477, 
     1062    2479,  2480,  2482,  2483,  2486,  2487,  2488,  2491,  2494,  2495, 
     1063    2497,  2498,  2499,  2500,  2501,  2502,  2503,  2504,  2505,  2506, 
     1064    2507,  2508,  2509,  2511,  2512,  2514,  2515,  2517,  2518,  2520, 
     1065    2521,  2522,  2523,  2524,  2526,  2527,  2528,  2530,  2531,  2532, 
     1066    2534,  2536,  2538,  2540,  2542,  2544,  2546,  2547,  2549,  2551, 
     1067    2553,  2555,  2557,  2561,  2564,  2571,  2573,  2574,  2576,  2577, 
     1068    2578,  2580,  2582,  2583,  2585,  2592,  2593,  2595,  2596,  2598, 
     1069    2599,  2607,  2609 
     1070}; 
     1071#endif 
     1072 
     1073#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE 
     1074/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 
     1075   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */ 
     1076static const char *const yytname[] = 
     1077{ 
     1078  "$end", "error", "$undefined", "','", "':'", "'='", "TOK_BINARY_OP", 
     1079  "TOK_NEQV", "TOK_EQV", "TOK_XOR", "TOK_OR", "TOK_AND", "TOK_NOT", 
     1080  "TOK_NE", "TOK_EQ", "TOK_GE", "TOK_LE", "TOK_GT", "TOK_LT", 
     1081  "TOK_UNARY_OP", "TOK_DSLASH", "'+'", "'-'", "'*'", "TOK_SLASH", 
     1082  "TOK_DASTER", "TOK_SEP", "TOK_SEMICOLON", "TOK_NEXTLINE", 
     1083  "TOK_PARAMETER", "TOK_RESULT", "TOK_ONLY", "TOK_INCLUDE", 
     1084  "TOK_SUBROUTINE", "TOK_PROGRAM", "TOK_FUNCTION", "TOK_OMP", "TOK_DOLLAR", 
     1085  "TOK_FORMAT", "TOK_MAX", "TOK_TANH", "TOK_WHERE", "TOK_ELSEWHERE", 
     1086  "TOK_ENDWHERE", "TOK_MAXVAL", "TOK_TRIM", "TOK_SUM", "TOK_SQRT", 
     1087  "TOK_CASE", "TOK_SELECTCASE", "TOK_FILE", "TOK_END", "TOK_ERR", 
     1088  "TOK_DONOTTREAT", "TOK_ENDDONOTTREAT", "TOK_EXIST", "TOK_MIN", 
     1089  "TOK_FLOAT", "TOK_EXP", "TOK_COS", "TOK_COSH", "TOK_ACOS", "TOK_NINT", 
     1090  "TOK_CYCLE", "TOK_SIN", "TOK_SINH", "TOK_ASIN", "TOK_EQUIVALENCE", 
     1091  "TOK_BACKSPACE", "TOK_LOG", "TOK_TAN", "TOK_ATAN", "TOK_RECURSIVE", 
     1092  "TOK_ABS", "TOK_MOD", "TOK_SIGN", "TOK_MINLOC", "TOK_MAXLOC", "TOK_EXIT", 
     1093  "TOK_MINVAL", "TOK_PUBLIC", "TOK_PRIVATE", "TOK_ALLOCATABLE", 
     1094  "TOK_RETURN", "TOK_THEN", "TOK_ELSEIF", "TOK_ELSE", "TOK_ENDIF", 
     1095  "TOK_PRINT", "TOK_PLAINGOTO", "TOK_CONSTRUCTID", "TOK_LOGICALIF", 
     1096  "TOK_PLAINDO", "TOK_CONTAINS", "TOK_ENDDO", "TOK_MODULE", 
     1097  "TOK_ENDMODULE", "TOK_DOWHILE", "TOK_ALLOCATE", "TOK_OPEN", "TOK_CLOSE", 
     1098  "TOK_INQUIRE", "TOK_WRITE", "TOK_READ", "TOK_REWIND", "TOK_DEALLOCATE", 
     1099  "TOK_NULLIFY", "TOK_FIN", "TOK_DEBUT", "TOK_DIMENSION", "TOK_ENDSELECT", 
     1100  "TOK_EXTERNAL", "TOK_INTENT", "TOK_INTRINSIC", "TOK_NAMELIST", 
     1101  "TOK_CASEDEFAULT", "TOK_OPTIONAL", "TOK_POINTER", "TOK_CONTINUE", 
     1102  "TOK_SAVE", "TOK_TARGET", "TOK_QUOTE", "TOK_IMPLICIT", "TOK_NONE", 
     1103  "TOK_CALL", "TOK_STAT", "TOK_POINT_TO", "TOK_COMMON", "TOK_GLOBAL", 
     1104  "TOK_INTERFACE", "TOK_ENDINTERFACE", "TOK_LEFTAB", "TOK_RIGHTAB", 
     1105  "TOK_PAUSE", "TOK_PROCEDURE", "TOK_STOP", "TOK_NAMEEQ", "TOK_REAL8", 
     1106  "TOK_OUT", "TOK_INOUT", "TOK_IN", "TOK_USE", "TOK_TRUE", "TOK_FALSE", 
     1107  "TOK_LABEL", "TOK_TYPE", "TOK_TYPEPAR", "TOK_ENDTYPE", "TOK_REAL", 
     1108  "TOK_INTEGER", "TOK_LOGICAL", "TOK_DOUBLEPRECISION", "TOK_DOUBLEREAL", 
     1109  "TOK_ENDSUBROUTINE", "TOK_ENDFUNCTION", "TOK_ENDPROGRAM", "TOK_ENDUNIT", 
     1110  "TOK_CHARACTER", "TOK_CHAR_CONSTANT", "TOK_CHAR_CUT", "TOK_DATA", 
     1111  "TOK_CHAR_INT", "TOK_CHAR_MESSAGE", "TOK_CSTREAL", "TOK_CSTREALDP", 
     1112  "TOK_CSTREALQP", "TOK_SFREAL", "TOK_COMPLEX", "TOK_DOUBLECOMPLEX", 
     1113  "TOK_NAME", "TOK_NAME_CHAR", "TOK_PROBTYPE", "TOK_INTERPTYPE", 
     1114  "TOK_VARTYPE", "TOK_BC", "TOK_OP", "TOK_CSTINT", "TOK_COMMENT", 
     1115  "TOK_FILENAME", "'('", "')'", "'['", "']'", "'!'", "'_'", "'<'", "'>'", 
     1116  "'\\n'", "'/'", "'%'", "$accept", "input", "line", "suite_line_list", 
     1117  "suite_line", "instr", "fin_line", "keyword", "position", "thislabel", 
     1118  "cmnt", "nulcurbuf", "opt_recursive", "entry", "name_routine", 
     1119  "writedeclar", "before_include", "filename", "arglist", "arglist1", 
     1120  "args", "arg", "spec", "opt_spec", "name_intrinsic", 
     1121  "use_intrinsic_list", "list_couple", "list_expr_equi", "expr_equi", 
     1122  "list_expr_equi1", "list_expr", "opt_sep", "after_type", 
     1123  "before_function", "before_parameter", "before_data", "data", 
     1124  "datavallist", "save", "before_save", "varsave", "datanamelist", 
     1125  "expr_data", "opt_signe", "namelist", "namelist_action", 
     1126  "after_namelist", "interface", "before_dimension", "dimension", 
     1127  "private", "public", "use_name_list", "common", "before_common", 
     1128  "var_common_list", "var_common", "comblock", "opt_comma", "paramlist", 
     1129  "paramitem", "module_proc_stmt", "proc_name_list", "implicit", 
     1130  "opt_retour", "dcl", "nodimsgiven", "type", "before_typepar", 
     1131  "c_selector", "c_attribute", "before_character", "typespec", "typename", 
     1132  "lengspec", "proper_lengspec", "selector", "proper_selector", 
     1133  "attribute", "clause", "opt_clause", "options", "attr_spec_list", 
     1134  "attr_spec", "intent_spec", "access_spec", "dims", "dimlist", "dim", 
     1135  "ubound", "expr", "predefinedfunction", "minmaxlist", "uexpr", "signe", 
     1136  "operation", "after_slash", "after_equal", "lhs", "beforefunctionuse", 
     1137  "array_ele_substring_func_ref", "begin_array", "structure_component", 
     1138  "vec", "funarglist", "funargs", "funarg", "triplet", "ident", 
     1139  "simple_const", "string_constant", "opt_substring", "substring", 
     1140  "optexpr", "opt_expr", "initial_value", "before_initial", 
     1141  "complex_const", "use_stat", "word_use", "module_name", "rename_list", 
     1142  "rename_name", "only_list", "only_name", "exec", "word_endsubroutine", 
     1143  "word_endunit", "word_endprogram", "word_endfunction", "caselist", 
     1144  "boucledo", "do_arg", "opt_int", "opt_name", "optname", "worddo", 
     1145  "wordwhile", "iffable", "before_dims", "ident_dims", "int_list", 
     1146  "after_ident_dims", "call", "opt_call", "opt_callarglist", "keywordcall", 
     1147  "before_call", "callarglist", "callarg", "stop", "io", "option_inlist", 
     1148  "option_read", "opt_inlist", "ioctl", "after_rewind", "ctllist", 
     1149  "ioclause", "iofctl", "infmt", "read", "write", "fexpr", "unpar_fexpr", 
     1150  "addop", "inlist", "opt_lhs", "inelt", "opt_operation", "outlist", 
     1151  "out2", "other", "dospec", "label", "goto", "allocation_list", 
     1152  "allocate_object", "array_element", "allocate_object_list", 
     1153  "opt_stat_spec", "pointer_name_list", "logif", "do_var", 0 
     1154}; 
     1155#endif 
     1156 
     1157# ifdef YYPRINT 
     1158/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 
     1159   token YYLEX-NUM.  */ 
     1160static const yytype_uint16 yytoknum[] = 
     1161{ 
     1162       0,   256,   257,    44,    58,    61,   258,   259,   260,   261, 
     1163     262,   263,   264,   265,   266,   267,   268,   269,   270,   271, 
     1164     272,    43,    45,    42,   273,   274,   275,   276,   277,   278, 
     1165     279,   280,   281,   282,   283,   284,   285,   286,   287,   288, 
     1166     289,   290,   291,   292,   293,   294,   295,   296,   297,   298, 
     1167     299,   300,   301,   302,   303,   304,   305,   306,   307,   308, 
     1168     309,   310,   311,   312,   313,   314,   315,   316,   317,   318, 
     1169     319,   320,   321,   322,   323,   324,   325,   326,   327,   328, 
     1170     329,   330,   331,   332,   333,   334,   335,   336,   337,   338, 
     1171     339,   340,   341,   342,   343,   344,   345,   346,   347,   348, 
     1172     349,   350,   351,   352,   353,   354,   355,   356,   357,   358, 
     1173     359,   360,   361,   362,   363,   364,   365,   366,   367,   368, 
     1174     369,   370,   371,   372,   373,   374,   375,   376,   377,   378, 
     1175     379,   380,   381,   382,   383,   384,   385,   386,   387,   388, 
     1176     389,   390,   391,   392,   393,   394,   395,   396,   397,   398, 
     1177     399,   400,   401,   402,   403,   404,   405,   406,   407,   408, 
     1178     409,   410,   411,   412,   413,   414,   415,   416,   417,   418, 
     1179     419,   420,   421,   422,   423,   424,   425,   426,   427,    40, 
     1180      41,    91,    93,    33,    95,    60,    62,    10,    47,    37 
     1181}; 
     1182# endif 
     1183 
     1184/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */ 
     1185static const yytype_uint16 yyr1[] = 
     1186{ 
     1187       0,   190,   191,   191,   192,   192,   192,   192,   192,   193, 
     1188     193,   194,   194,   194,   194,   194,   195,   196,   197,   197, 
     1189     197,   197,   198,   199,   199,   200,   200,   201,   202,   202, 
     1190     203,   203,   203,   203,   203,   203,   204,   205,   206,   207, 
     1191     208,   208,   208,   209,   209,   209,   210,   210,   211,   211, 
     1192     212,   212,   212,   212,   212,   212,   212,   212,   212,   212, 
     1193     212,   212,   212,   212,   212,   212,   212,   212,   212,   212, 
     1194     212,   213,   213,   214,   214,   214,   214,   214,   214,   214, 
     1195     214,   214,   214,   214,   214,   214,   214,   214,   214,   214, 
     1196     214,   214,   214,   214,   214,   214,   214,   215,   215,   216, 
     1197     216,   217,   217,   218,   219,   219,   220,   220,   221,   221, 
     1198     222,   222,   223,   224,   225,   226,   226,   226,   227,   227, 
     1199     228,   228,   228,   228,   229,   230,   230,   231,   231,   231, 
     1200     232,   232,   232,   232,   232,   233,   233,   234,   235,   235, 
     1201     235,   235,   236,   237,   237,   238,   239,   239,   240,   240, 
     1202     241,   241,   242,   242,   243,   243,   243,   244,   244,   245, 
     1203     245,   246,   247,   247,   248,   248,   249,   249,   250,   251, 
     1204     252,   252,   253,   253,   254,   255,   255,   256,   257,   257, 
     1205     257,   257,   258,   259,   259,   259,   259,   260,   260,   260, 
     1206     261,   262,   263,   263,   263,   263,   263,   263,   264,   264, 
     1207     265,   265,   266,   266,   266,   267,   267,   268,   268,   268, 
     1208     268,   269,   269,   270,   270,   271,   271,   271,   272,   272, 
     1209     273,   273,   273,   273,   273,   273,   273,   273,   273,   273, 
     1210     273,   274,   274,   274,   275,   275,   276,   276,   277,   277, 
     1211     278,   278,   278,   278,   278,   279,   279,   280,   280,   280, 
     1212     280,   281,   281,   281,   281,   281,   281,   281,   281,   281, 
     1213     281,   281,   281,   281,   281,   281,   281,   281,   281,   281, 
     1214     281,   281,   281,   281,   281,   281,   281,   282,   282,   283, 
     1215     283,   283,   283,   283,   283,   284,   284,   285,   285,   285, 
     1216     285,   285,   285,   285,   285,   285,   285,   285,   285,   285, 
     1217     285,   285,   285,   285,   285,   285,   285,   285,   286,   286, 
     1218     286,   286,   287,   287,   288,   288,   288,   289,   290,   290, 
     1219     290,   290,   291,   292,   293,   294,   294,   295,   295,   296, 
     1220     296,   297,   297,   297,   297,   297,   297,   297,   298,   299, 
     1221     299,   299,   299,   299,   299,   299,   299,   300,   300,   300, 
     1222     300,   301,   301,   302,   303,   303,   304,   304,   305,   305, 
     1223     306,   307,   308,   308,   308,   308,   309,   310,   311,   311, 
     1224     312,   313,   313,   314,   314,   315,   315,   315,   315,   315, 
     1225     315,   315,   315,   315,   315,   315,   315,   315,   315,   315, 
     1226     315,   315,   315,   315,   315,   315,   315,   315,   316,   317, 
     1227     318,   319,   320,   320,   320,   321,   321,   321,   322,   322, 
     1228     322,   323,   323,   324,   324,   325,   325,   326,   327,   328, 
     1229     328,   328,   328,   328,   328,   328,   328,   328,   328,   328, 
     1230     328,   329,   330,   330,   331,   331,   332,   332,   333,   334, 
     1231     334,   335,   335,   336,   337,   338,   338,   339,   339,   340, 
     1232     340,   341,   341,   341,   341,   341,   341,   342,   342,   343, 
     1233     343,   344,   344,   345,   345,   346,   346,   346,   346,   346, 
     1234     347,   347,   348,   348,   348,   348,   348,   348,   348,   348, 
     1235     349,   349,   350,   350,   351,   351,   351,   352,   353,   353, 
     1236     354,   354,   354,   354,   354,   354,   354,   354,   354,   354, 
     1237     354,   354,   354,   355,   355,   356,   356,   357,   357,   358, 
     1238     358,   358,   358,   358,   359,   359,   359,   360,   360,   360, 
     1239     361,   361,   361,   361,   361,   361,   361,   361,   362,   362, 
     1240     362,   362,   362,   363,   363,   364,   365,   365,   366,   366, 
     1241     366,   367,   367,   367,   368,   369,   369,   370,   370,   371, 
     1242     371,   372,   373 
     1243}; 
     1244 
     1245/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */ 
     1246static const yytype_uint8 yyr2[] = 
     1247{ 
     1248       0,     2,     0,     2,     2,     2,     1,     3,     3,     1, 
     1249       3,     2,     2,     3,     3,     2,     2,     2,     1,     1, 
     1250       1,     1,     0,     0,     2,     0,     1,     0,     0,     1, 
     1251       0,     4,     2,     5,     3,     2,     1,     0,     1,     1, 
     1252       0,     2,     3,     0,     2,     3,     1,     3,     1,     1, 
     1253       2,     4,     2,     2,     4,     2,     1,     1,     1,     1, 
     1254       1,     1,     1,     1,     1,     1,     4,     3,     3,     2, 
     1255       3,     0,     1,     1,     1,     1,     1,     1,     1,     1, 
    3081256    1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    309     1,    1,    1,    1,    1,    1,    1,    3,    3,    5, 
    310     1,    3,    3,    2,    4,    1,    3,    0,    2,    2, 
    311     3,    1,    1,    1,    4,    6,    4,    1,    3,    2, 
    312     3,    5,    3,    1,    0,    2,    1,    4,    3,    2, 
    313     3,    3,    3,    3,    0,    1,    2,    2,    3,    5, 
    314     3,    0,    2,    2,    1,    5,    5,    2,    3,    2, 
    315     3,    1,    3,    2,    3,    5,    1,    2,    1,    3, 
    316     2,    1,    3,    0,    1,    1,    3,    3,    2,    1, 
    317     3,    2,    2,    0,    6,    7,    0,    2,    2,    3, 
    318     3,    1,    0,    2,    4,    3,    3,    4,    2,    1, 
    319     1,    1,    1,    1,    1,    1,    1,    0,    2,    1, 
    320     3,    0,    2,    3,    1,    3,    2,    3,    1,    1, 
    321     1,    1,    0,    3,    0,    2,    4,    1,    3,    1, 
    322     1,    1,    2,    1,    4,    1,    1,    1,    1,    1, 
    323     1,    1,    1,    1,    1,    0,    3,    1,    3,    1, 
    324     1,    2,    2,    3,    1,    1,    1,    3,    1,    1, 
    325     3,    3,    4,    4,    3,    4,    4,    3,    4,    4, 
     1257       1,     1,     1,     1,     1,     1,     1,     1,     3,     3, 
     1258       5,     1,     3,     3,     2,     4,     1,     3,     0,     2, 
     1259       2,     3,     1,     1,     1,     4,     6,     4,     1,     3, 
     1260       2,     3,     5,     3,     1,     0,     2,     1,     4,     3, 
     1261       2,     3,     3,     3,     3,     0,     1,     2,     2,     3, 
     1262       5,     3,     0,     2,     2,     1,     5,     5,     2,     3, 
     1263       2,     3,     1,     3,     2,     3,     5,     1,     2,     1, 
     1264       3,     2,     1,     3,     0,     1,     1,     3,     3,     2, 
     1265       1,     3,     2,     2,     0,     6,     7,     0,     2,     2, 
     1266       3,     3,     1,     0,     2,     4,     3,     3,     4,     2, 
     1267       1,     1,     1,     1,     1,     1,     1,     1,     0,     2, 
     1268       1,     3,     0,     2,     3,     1,     3,     2,     3,     1, 
     1269       1,     1,     1,     0,     3,     0,     2,     4,     1,     3, 
     1270       1,     1,     1,     2,     1,     4,     1,     1,     1,     1, 
     1271       1,     1,     1,     1,     1,     1,     0,     3,     1,     3, 
     1272       1,     1,     2,     2,     3,     1,     1,     1,     3,     1, 
     1273       1,     3,     3,     4,     4,     3,     4,     4,     3,     4, 
    3261274    4,    4,    4,    4,    4,    4,    4,    4,    4,    4, 
    327     4,    3,    4,    4,    4,    4,    1,    3,    1,    1, 
    328     1,    2,    2,    2,    1,    1,    2,    2,    2,    2, 
    329     2,    2,    2,    2,    2,    2,    2,    3,    2,    3, 
    330     2,    2,    2,    2,    2,    2,    2,    0,    1,    2, 
    331     2,    2,    1,    1,    1,    1,    0,    1,    2,    4, 
    332     5,    4,    3,    3,    1,    2,    1,    3,    1,    1, 
    333     3,    5,    4,    3,    2,    2,    1,    1,    1,    1, 
    334     1,    1,    1,    1,    2,    2,    1,    2,    1,    1, 
    335     0,    1,    5,    0,    1,    1,    1,    0,    3,    0, 
    336     5,    2,    4,    6,    6,    1,    1,    1,    3,    3, 
    337     1,    3,    3,    1,    1,    5,    5,    4,    1,    2, 
    338     2,    2,    2,    1,    2,    5,    1,    1,    2,    5, 
    339     1,    2,    3,    4,    1,    1,    1,    1,    1,    1, 
    340     1,    1,    3,    3,    3,    2,    2,    0,    5,    7, 
    341     0,    2,    1,    1,    0,    1,    1,    1,    0,    1, 
    342     1,    2,    1,    1,    1,    5,    5,    2,    2,    2, 
    343     2,    1,    0,    4,    6,    1,    3,    2,    2,    2, 
    344     0,    3,    0,    1,    2,    1,    1,    3,    1,    2, 
    345     1,    1,    2,    2,    2,    3,    2,    1,    0,    2, 
    346     1,    1,    1,    0,    2,    0,    1,    2,    2,    0, 
    347     1,    0,    2,    3,    3,    3,    3,    1,    3,    1, 
     1275       4,     4,     3,     4,     4,     4,     4,     1,     3,     1, 
     1276       1,     1,     2,     2,     2,     1,     1,     2,     2,     2, 
     1277       2,     2,     2,     2,     2,     2,     2,     2,     3,     2, 
     1278       3,     2,     2,     2,     2,     2,     2,     2,     0,     1, 
     1279       2,     2,     2,     1,     1,     1,     1,     0,     1,     2, 
     1280       4,     5,     4,     3,     3,     1,     2,     1,     3,     1, 
     1281       1,     3,     5,     4,     3,     2,     2,     1,     1,     1, 
     1282       1,     1,     1,     1,     1,     2,     2,     1,     2,     1, 
     1283       1,     0,     1,     5,     0,     1,     1,     1,     0,     3, 
     1284       0,     5,     2,     4,     6,     6,     1,     1,     1,     3, 
     1285       3,     1,     3,     3,     1,     1,     5,     5,     4,     1, 
     1286       2,     2,     2,     2,     1,     2,     5,     1,     1,     2, 
     1287       5,     1,     2,     3,     4,     1,     1,     1,     1,     1, 
     1288       1,     1,     1,     3,     3,     3,     2,     2,     0,     5, 
     1289       7,     0,     2,     1,     1,     0,     1,     1,     1,     1, 
     1290       2,     1,     1,     1,     5,     5,     2,     2,     2,     2, 
     1291       1,     0,     4,     6,     1,     3,     2,     2,     2,     0, 
     1292       3,     0,     1,     2,     1,     1,     3,     1,     2,     1, 
     1293       1,     2,     2,     2,     3,     2,     1,     0,     1,     2, 
     1294       2,     0,     2,     3,     3,     3,     3,     1,     3,     1, 
    3481295    1,    3,    1,    1,    1,    2,    4,    4,    2,    2, 
    3491296    1,    1,    1,    1,    1,    1,    1,    1,    1,    3, 
     
    3521299    4,    2,    2,    5,    0,    1,    2,    1,    1,    1, 
    3531300    3,    3,    3,    3,    3,    3,    1,    1,    1,    3, 
    354     5,    5,    5,    5,    7,    1,    3,    1,    8,    2, 
    355     1,    1,    3,    1,    1,    1,    4,    1,    3,    1, 
    356     3,    0,    4,    1,    3,    0,    1,    0,    2,    3, 
    357     1, 
     1301       5,     5,     5,     5,     7,     1,     8,     2,     1,     1, 
     1302       3,     1,     1,     1,     4,     1,     3,     0,     4,     1, 
     1303       3,     3,     1 
    3581304}; 
    359 short fortrandefred[] = {                                      1, 
    360     0,   37,   19,   20,   17,   18,   27,    5,   21,    2, 
    361     0,    0,   27,   23,    3,  113,   38,    0,    0,  458, 
    362     0,  387,  388,    0,    0,    0,    0,    0,   29,    0, 
    363     0,    0,    0,    0,  391,    0,  497,    0,    0,  417, 
    364   397,    0,    0,    0,  418,    0,  491,  492,  496,  498, 
    365   495,    0,    0,    0,  145,  396,    0,    0,    0,  395, 
    366     0,  421,  124,    0,  446,  157,    0,    0,    0,  451, 
    367     0,  452,  366,    0,  182,    0,  193,  192,  197,  195, 
    368   398,  401,  400,  399,  190,  114,  194,  196,  338,  436, 
    369     0,    0,    0,    0,    0,  379,    0,    0,    0,   60, 
    370     0,    8,   21,   21,    0,    0,   21,    0,    0,    0, 
    371     0,   58,   61,   62,   63,   64,   65,    0,    0,    0, 
    372     0,    0,    0,    0,    0,  375,  384,    0,    0,    0, 
    373     0,  423,  424,  425,    0,    0,    0,    0,    0,    0, 
    374     0,   25,   37,    7,   36,   32,    0,    0,    0,  285, 
    375   286,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    376     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    377     0,    0,    0,    0,    0,    0,    0,  339,  340,    0, 
    378   347,  350,  349,  342,  343,  344,  341,    0,    0,    0, 
    379     0,    0,  249,    0,  247,    0,  281,    0,  316,  250, 
    380     0,    0,    0,  356,  430,    0,    0,    0,  101,    0, 
    381   428,    0,    0,  150,    0,  148,    0,  429,    0,  414, 
    382   413,  392,  548,    0,  550,    0,  416,  407,   35,  383, 
    383     0,  480,  478,    0,  457,    0,    0,    0,    0,  162, 
    384     0,    0,  138,    0,    0,  172,  173,  158,  143,  144, 
    385   170,    0,  234,  235,    0,   72,   52,    0,    0,    0, 
    386   112,    0,   50,    0,  174,  381,  382,  380,    0,    0, 
    387     0,  178,   15,    0,    0,    0,   10,   11,   39,   21, 
    388    37,   14,    0,    0,    0,    0,  166,  165,    0,    0, 
    389     0,    0,    0,    0,    0,    0,  120,    0,    0,  137, 
    390     0,    0,    0,    0,  159,    0,    0,  179,    0,  210, 
    391     0,  367,    0,  389,    0,    0,  433,  385,    0,    0, 
    392     0,    0,    0,    0,  422,  431,    0,    0,  440,  445, 
    393     0,  453,  514,  515,  494,    0,    0,    0,    0,    0, 
    394     0,    0,    0,    0,  454,    0,    0,    0,    0,    0, 
    395     6,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    396     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    397     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    398     0,    0,  249,    0,    0,    0,    0,    0,    0,    0, 
    399     0,    0,  348,    0,  352,  346,  345,  317,    0,  319, 
    400     0,  317,    0,    0,    0,    0,    0,    0,    0,    0, 
    401     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    402     0,  282,    0,    0,  393,    0,    0,    0,    0,    0, 
    403   109,  152,    0,    0,    0,    0,  570,    0,    0,    0, 
    404     0,    0,  551,  556,    0,    0,    0,    0,    0,  560, 
    405   564,    0,    0,   74,   75,   78,   73,   79,   76,   81, 
    406    82,   83,   84,   85,   80,   86,   87,   88,   89,   90, 
    407    91,   92,   93,   94,   95,   77,   96,    0,   97,    0, 
    408   139,    0,    0,    0,    0,    0,    0,  220,  222,    0, 
    409   224,    0,  226,  227,  228,  229,  230,  221,    0,  218, 
    410   216,  174,  110,    0,    0,  180,    0,    0,  203,    0, 
    411     0,    0,    9,   16,   12,   13,    0,    0,    0,    0, 
    412     0,  123,    0,    0,    0,   70,    0,    0,    0,  126, 
    413   121,  141,    0,    0,  161,    0,    0,  184,    0,  212, 
    414     0,    0,    0,    0,    0,  207,  181,    0,    0,    0, 
    415   412,  571,    0,  405,    0,    0,  433,  437,    0,    0, 
    416     0,    0,  447,  484,  485,    0,    0,    0,    0,  481, 
    417   499,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    418     0,  468,    0,  516,    0,    0,  469,    0,    0,    0, 
    419     0,    0,    0,  456,   49,   48,   41,    0,   46,    0, 
    420     0,    0,  252,    0,    0,    0,  251,  258,  255,    0, 
    421     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    422     0,  272,    0,    0,    0,    0,    0,    0,    0,    0, 
    423     0,    0,  324,    0,    0,    0,    0,  248,    0,    0, 
    424     0,    0,    0,    0,  307,    0,    0,    0,    0,    0, 
    425     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    426     0,    0,  306,    0,    0,    0,    0,    0,    0,    0, 
    427     0,  394,  104,    0,  103,  102,   66,    0,    0,    0, 
    428     0,    0,    0,  477,  476,  479,    0,    0,    0,  378, 
    429     0,  163,    0,   99,    0,  171,   51,    0,  223,    0, 
    430     0,    0,    0,  111,    0,    0,  204,    0,  245,    0, 
    431   238,    0,  240,  434,   31,    0,   54,  167,    0,    0, 
    432   136,    0,    0,    0,    0,    0,    0,  129,    0,    0, 
    433     0,  160,    0,    0,    0,    0,  189,  186,  208,    0, 
    434     0,    0,  368,    0,    0,    0,    0,  450,  442,    0, 
    435   489,  490,    0,    0,    0,    0,  474,  475,    0,    0, 
    436     0,  526,    0,    0,    0,    0,    0,    0,    0,    0, 
    437     0,    0,    0,   42,    0,   33,  386,    0,  253,  254, 
    438   257,  261,  262,  263,  264,  265,  260,  266,  267,  268, 
    439   269,  270,  271,  273,  274,  275,  276,  256,    0,    0, 
    440     0,  248,  532,    0,  536,    0,  534,    0,  259,    0, 
    441     0,  322,    0,  327,    0,  330,    0,    0,    0,    0, 
    442     0,    0,    0,    0,  153,  390,    0,    0,    0,  553, 
    443   376,  561,  377,  565,   98,    0,    0,    0,  147,  232, 
    444   233,  231,    0,  219,  217,    0,    0,  206,    0,    0, 
    445   237,    0,    0,  122,    0,    0,    0,    0,    0,    0, 
    446   115,  128,    0,  117,  140,  146,  185,    0,  187,    0, 
    447     0,    0,    0,    0,    0,    0,    0,  448,    0,    0, 
    448     0,  500,    0,  482,    0,    0,  527,  517,   47,   44, 
    449     0,    0,    0,    0,    0,  361,    0,    0,    0,    0, 
    450     0,  321,  105,    0,  557,    0,  100,    0,    0,  199, 
    451   225,    0,    0,  239,    0,  244,  119,    0,    0,    0, 
    452     0,    0,  188,  214,    0,  364,    0,  371,  370,  369, 
    453   426,  427,    0,  435,  488,    0,    0,    0,   45,    0, 
    454   541,  543,  542,  353,    0,    0,  328,    0,    0,  563, 
    455     0,    0,  175,    0,  116,    0,    0,    0,  524,    0, 
    456     0,    0,    0,  201,  176,    0,  373,  372,    0,    0, 
    457     0,    0,    0,    0,    0,    0, 
     1305 
     1306/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state 
     1307   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero 
     1308   means the default is an error.  */ 
     1309static const yytype_uint16 yydefact[] = 
     1310{ 
     1311       2,     0,     1,    37,    20,    21,    18,    19,    27,     6, 
     1312      22,     3,    25,    30,    27,    24,     4,    26,    37,   113, 
     1313      38,     0,     0,   456,     0,   387,   388,     0,     0,     0, 
     1314       0,     0,    29,   354,   108,   108,     0,     0,   391,     0, 
     1315     486,     0,     0,   417,   397,   415,     0,     0,   418,     0, 
     1316     480,   481,   485,   487,   484,     0,     0,     0,   145,   396, 
     1317     108,   108,     0,   395,     0,   419,   124,     0,   444,   157, 
     1318       0,     0,     0,   449,     0,   450,   366,    71,   182,     0, 
     1319     193,   192,   197,   195,   398,   401,   400,   399,   190,   114, 
     1320     194,   196,   338,   434,     5,     9,    22,     0,    22,     0, 
     1321      22,     0,     0,    57,   125,    65,   142,    64,   164,    59, 
     1322      61,    60,    56,     0,    63,    58,   215,     0,   183,   202, 
     1323     191,   431,    62,     0,    25,     0,   379,     0,     0,   384, 
     1324     411,     0,   375,     0,   430,   423,   439,     0,     0,   422, 
     1325       0,     0,     0,   421,     0,     8,     7,    36,    32,    40, 
     1326       0,     0,   285,   286,     0,     0,     0,     0,     0,     0, 
     1327    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1328    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1329     339,   340,     0,   347,   350,   349,   342,   343,   344,   341, 
     1330       0,   402,   250,   247,     0,   279,   316,   318,   315,   281, 
     1331     314,   280,   351,   249,     0,     0,   356,   357,   428,     0, 
     1332      69,   101,     0,   355,   426,     0,   150,     0,   148,     0, 
     1333     427,     0,   414,   413,   392,   535,     0,   537,     0,   416, 
     1334     407,    35,   383,     0,   469,   467,     0,   455,     0,     0, 
     1335       0,     0,   162,     0,     0,   138,     0,    53,   172,   173, 
     1336     158,   143,   144,   170,   169,   234,   235,   108,    72,    52, 
     1337      30,    15,    25,     0,    11,    39,    22,    12,     0,     0, 
     1338      55,   166,   127,   164,     0,   125,     0,   236,   120,   125, 
     1339     165,   137,     0,   165,     0,     0,     0,   236,   154,   159, 
     1340       0,     0,     0,   112,    50,     0,   177,   174,   209,   210, 
     1341       0,     0,     0,   179,     0,     0,   178,     0,    16,   236, 
     1342     367,   362,    37,   381,   380,   382,   164,   408,   406,     0, 
     1343       0,     0,   420,     0,   441,   438,   443,   429,     0,   451, 
     1344     503,   504,   483,     0,     0,     0,     0,   338,     0,   490, 
     1345     491,   452,   457,   461,     0,   482,     0,   453,   389,     0, 
     1346       0,   431,   385,     0,    34,     0,   284,   277,     0,     0, 
     1347    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1348    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1349       0,     0,     0,     0,     0,   527,   517,   249,     0,   519, 
     1350     518,     0,     0,   247,     0,     0,     0,     0,     0,     0, 
     1351       0,     0,     0,     0,     0,     0,     0,     0,     0,   308, 
     1352       0,     0,     0,   282,   283,     0,   354,   319,   317,   317, 
     1353     345,   348,   346,   352,     0,     0,   393,     0,     0,   236, 
     1354       0,     0,   109,   152,   151,   149,     0,     0,   551,     0, 
     1355     542,   431,   539,   547,   538,   543,   341,   247,   314,   541, 
     1356     545,   547,   549,     0,    67,    74,    75,    78,    73,    79, 
     1357      76,    81,    82,    83,    84,    85,    80,    86,    87,    88, 
     1358      89,    90,    91,    92,    93,    94,    95,    77,    96,    97, 
     1359      68,     0,   139,     0,   106,     0,     0,     0,    10,    17, 
     1360      40,    13,     0,     0,     0,   135,     0,    70,     0,     0, 
     1361     135,   123,   164,     0,   126,   121,   141,   164,   236,   236, 
     1362     164,   161,     0,   155,   220,   222,   236,   224,     0,   226, 
     1363     227,   228,   229,   230,     0,   218,   221,   216,    40,   174, 
     1364     110,     0,     0,   212,   207,   211,   181,   184,     0,   338, 
     1365       0,   213,     0,   203,   205,     0,   180,   236,     0,    14, 
     1366     412,   552,   405,     0,   436,   437,   431,   435,     0,   447, 
     1367       0,   442,   445,   473,   474,     0,   314,     0,   470,   472, 
     1368     488,   498,   501,   500,   499,     0,   472,   507,   514,   508, 
     1369     514,   459,   458,   514,   505,   507,   460,     0,     0,     0, 
     1370       0,     0,   496,   454,     0,     0,    49,    48,    41,     0, 
     1371      46,    43,     0,     0,   252,     0,     0,     0,   251,   258, 
     1372     255,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1373       0,     0,     0,   272,     0,     0,     0,     0,     0,     0, 
     1374     247,     0,     0,     0,   324,     0,     0,     0,   248,     0, 
     1375       0,   313,   307,   302,   292,   303,   304,   305,   301,   291, 
     1376     297,   299,   293,   295,   287,   288,   289,     0,     0,   309, 
     1377     306,   290,     0,   296,     0,   294,   323,     0,   325,     0, 
     1378       0,   403,   404,   394,     0,   103,   104,   102,    66,     0, 
     1379       0,     0,   317,     0,     0,   466,   468,   465,     0,     0, 
     1380       0,   378,     0,   163,     0,    99,     0,   171,    51,    31, 
     1381     168,    54,   167,     0,   118,     0,   136,     0,     0,   127, 
     1382     129,     0,   125,   241,   245,     0,   238,   240,   246,     0, 
     1383     198,   198,     0,   160,   223,     0,     0,     0,   111,     0, 
     1384     236,   208,     0,     0,   213,   186,     0,   189,     0,   204, 
     1385     432,     0,     0,   363,   368,     0,   236,   448,   440,     0, 
     1386       0,   478,   479,   317,   475,     0,   463,   464,   502,   464, 
     1387       0,   515,   511,   512,   507,   509,   462,   497,   493,   494, 
     1388     495,   492,   547,   547,     0,    42,     0,    33,   386,   278, 
     1389     253,   254,   257,   261,   262,   263,   264,   265,   260,   266, 
     1390     267,   268,   269,   270,   271,   273,   274,   275,   276,   256, 
     1391     248,     0,     0,     0,   520,   521,   524,   525,   522,   523, 
     1392     259,   247,   312,   310,   311,   300,   298,   354,   337,   329, 
     1393     326,   327,   330,   320,   322,   236,   153,   390,     0,     0, 
     1394       0,   540,   376,   546,   377,   550,    98,   107,     0,   115, 
     1395     135,   135,   135,   135,   135,   130,   128,   135,   117,   122, 
     1396     243,     0,   237,   242,   140,     0,   146,   147,   156,   232, 
     1397     233,   231,     0,   219,   217,   236,   198,   185,   213,   187, 
     1398       0,   206,     0,     0,     0,     0,   236,   446,   489,     0, 
     1399       0,     0,   471,   472,   507,   514,   516,   506,     0,     0, 
     1400      47,    44,     0,   338,     0,     0,     0,   361,     0,     0, 
     1401     335,   336,     0,   321,   105,     0,   544,     0,   100,   119, 
     1402     131,   132,   133,   134,     0,   239,   244,   246,     0,   199, 
     1403     200,   225,   198,   358,   188,   214,   374,   364,   365,   371, 
     1404     370,   369,     0,   433,   477,   476,     0,   510,   424,   425, 
     1405      45,     0,   530,   532,   531,   353,   334,     0,   331,   328, 
     1406       0,   548,   116,     0,   358,   175,     0,     0,     0,   409, 
     1407     513,     0,   333,     0,   536,   201,   176,     0,   373,   372, 
     1408       0,     0,   332,   359,   410,   533,     0,   534 
    4581409}; 
    459 short fortrandgoto[] = {                                       1, 
    460   262,  263,   91,  286,  598,  353,  927,  928,  742,  743, 
    461   512,  710,  711,  287,  242,  146,  313,  222,   92,   93, 
    462    94,   95,   96,   97,   98,  189,  190,  191,  553,  843, 
    463   192,  722,  280,  311,  193,  194,  542,  599,  195,  356, 
    464   196,  197,  385,  386,  387,  893,  723,  198,  199,  640, 
    465   814,  815,  816,  395,  396,  205,  211,  724,  663,  645, 
    466   200,  357,  713,  422,  910,  433,  100,   10,  276,   11, 
    467   101,   12,  143,   13,   14,  102,  103,  277,  104,  105, 
    468   106,  107,    0,  108,  776,  255,  215,  245,  109,  110, 
    469   111,  112,  113,  114,  115,  116,  117,  478,  208,  118, 
    470   293,  498,  479,  483,  209,  428,  503,  264,  289,  294, 
    471   119,  297,  120,  300,  121,  839,  122,  304,  305,  252, 
    472   505,  265,  953,  272,  123,  308,  124,  544,  737,  509, 
    473   499,  500,  641,  954,  125,  126,  441,  683,  449,  452, 
    474   127,  128,  202,  129,  320,  554,  130,  228,    0,  131, 
    475   325,  132,  133,  134,  135,  136,  274,  137,  329,  561, 
    476   562,  138,  563,  225,  139,  332,  140,  345,  141,  235, 
    477     0,    0,    0,  582,  583,  346,  587,    0,  568,  347, 
    478   570,  571,  349,  584,  585,  763,    0,  443,  444,    0, 
    479     0,    0, 
     1410 
     1411/* YYDEFGOTO[NTERM-NUM].  */ 
     1412static const yytype_int16 yydefgoto[] = 
     1413{ 
     1414      -1,     1,    11,    94,    95,    96,   261,    12,   262,    13, 
     1415      18,    15,    97,    98,   148,    14,    99,   266,   354,   777, 
     1416     599,   600,   100,   257,   479,   480,   247,   210,   211,   428, 
     1417     483,   217,   294,   295,   101,   102,   273,   703,   103,   104, 
     1418     278,   274,   704,   705,   105,   106,   281,   107,   108,   109, 
     1419     110,   111,   434,   112,   113,   288,   289,   244,   276,   270, 
     1420     271,   114,   254,   115,   531,   296,   530,   116,   117,   303, 
     1421     540,   118,   119,   120,   856,   919,   306,   543,   300,   541, 
     1422     737,   297,   524,   525,   862,   526,   504,   715,   716,   717, 
     1423     357,   192,   358,   193,   194,   413,   660,   642,   195,   668, 
     1424     196,   197,   198,   199,   670,   820,   821,   822,   200,   201, 
     1425     202,   422,   417,   214,   208,   955,   956,   203,   122,   123, 
     1426     311,   743,   744,   928,   929,   124,   125,   126,   127,   128, 
     1427     204,   129,   552,   317,   224,   230,   130,   131,   132,   309, 
     1428     133,   134,   322,   135,   325,   560,   136,   137,   561,   562, 
     1429     138,   139,   581,   341,   586,   329,   237,   567,   568,   140, 
     1430     343,   141,   142,   344,   570,   346,   582,   583,   584,   762, 
     1431     388,   389,   390,   894,   227,   143,   443,   444,   445,   451, 
     1432     684,   453,   144,   553 
    4801433}; 
    481 short fortransindex[] = {                                      0, 
    482   121,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    483 27287, -307,    0,    0,    0,    0,    0, -289, -289,    0, 
    484   111,    0,    0,25188,  118, 1476,  147,  153,    0,25188, 
    485    91,  107, 1476,  163,    0,   27,    0,  -13,25188,    0, 
    486     0, -250, -178,   27,    0,  208,    0,    0,    0,    0, 
    487     0,  -14,  215,  229,    0,    0,  201,  201, -151,    0, 
    488   244,    0,    0, -237,    0,    0,  -89,   27,   27,    0, 
    489  -100,    0,    0, -101,    0,   27,    0,    0,    0,    0, 
    490     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    491   284,   35,   27,   27,   27,    0,  290,  134,  280,    0, 
    492    79,    0,    0,    0,   -5, -307,    0,  138,   -9,  387, 
    493   388,    0,    0,    0,    0,    0,    0,   42, -117,  404, 
    494   387, -110,  225, -312,   43,    0,    0, 3999,   54,25188, 
    495    41,    0,    0,    0, 1476,  420,  425,   59,  437,25721, 
    496   437,    0,    0,    0,    0,    0,  444,25188,25188,    0, 
    497     0,25188,  446,  448,  450,25188,25188,25188,  455,  456, 
    498   466,  478,  480,  486,  487,  497,  503,  504,  509,  513, 
    499 25188,  515,  524,  528,  532,  533,25241,    0,    0,  539, 
    500     0,    0,    0,    0,    0,    0,    0,25188,   18,  149, 
    501   542,25188,    0,  548,    0,  553,    0,  563,    0,    0, 
    502  8597,  115,25188,    0,    0, 8597,  190,  570,    0,25188, 
    503     0, 8597,  558,    0,  222,    0,  222,    0,25188,    0, 
    504     0,    0,    0,25188,    0,25903,    0,    0,    0,    0, 
    505   190,    0,    0,25380,    0,  190,  190,  222, 3040,    0, 
    506   224,  190,    0,25188,  609,    0,    0,    0,    0,    0, 
    507     0,  610,    0,    0,  201,    0,    0,  255, 1930,  603, 
    508     0,  651,    0, -289,    0,    0,    0,    0,  283,25428, 
    509  -312,    0,    0,  665,27287, -307,    0,    0,    0,    0, 
    510     0,    0, -289,  648,  296,  675,    0,    0,   19,  308, 
    511    19,  -12,   86,  -11,  665,  308,    0,  190,   19,    0, 
    512   313,  665,  318,  692,    0,  -10, 3093,    0,24098,    0, 
    513   703,    0,  711,    0,  717,  732,    0,    0,  387,  190, 
    514  8597,25188,25188,  190,    0,    0,  360, 4498,    0,    0, 
    515 25685,    0,    0,    0,    0,25188,25188,25188,25188,  740, 
    516 25685,  149,  553, 1423,    0,  764,  209,    0, 9398,25241, 
    517     0,    8,  535,25936, 3157,  236, 8597,25188,25188,25188, 
    518   281,26019,  461,25188,25188,25188,25188,25188,25188,25188, 
    519 25188,25188,25188,25188,25188,26043,25188,25188,25188,25188, 
    520 25188,25241,    0,  781,  451,  786,  789,    0, 8597,25188, 
    521   790,26094,    0,25188,    0,    0,    0,    0,   48,    0, 
    522   190,    0,24299,25188,25188,25188,25188,25188,25188,25188, 
    523 25188,25188,25188,25188,25188,25188,25188, 2012,25188,24438, 
    524 24486,    0,25188,25188,    0,26169,  665,  475,  147,26191, 
    525     0,    0,  791,  791,26213,27040,    0,  796,  553,  563, 
    526   793,  801,    0,    0,  798,  256,  799,  796,  797,    0, 
    527     0,  568,  791,    0,    0,    0,    0,    0,    0,    0, 
    528     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    529     0,    0,    0,    0,    0,    0,    0,  800,    0,  571, 
    530     0, 8597,  577,  802,  428,   27,  665,    0,    0,  665, 
    531     0,  807,    0,    0,    0,    0,    0,    0,  119,    0, 
    532     0,    0,    0,  444,  436,    0,24627, 8597,    0,  819, 
    533  2554,  665,    0,    0,    0,    0,  444,25188,  599,  296, 
    534   387,    0,  387,  233,25188,    0,  447,  449,  233,    0, 
    535     0,    0,  387,  665,    0,  692,  318,    0, 3093,    0, 
    536 24251,  817, 8597,  824,24675,    0,    0, -225,  190,  190, 
    537     0,    0,  806,    0, 8597, 8597,    0,    0,  445, 8597, 
    538   827,  826,    0,    0,    0, 9456, 9398,  605,  100,    0, 
    539     0, 8597, 8597, 8597, 8597,25188,  333, 1423,  538,  553, 
    540  8597,    0,  828,    0, 8597, 1423,    0, 9398, 9398, 9398, 
    541  9398, 9398,  598,    0,    0,    0,    0,  614,    0,  833, 
    542  1476,25188,    0,  618,  619,26276,    0,    0,    0,26327, 
    543 26349,26446,26468,26509,26582,26604,26626,26701,26742,26764, 
    544 26859,    0,  626,  634,  636,  638,  642,  831,  834,  835, 
    545 26881,25241,    0,25241,25241,  644,25188,    0,  822,  840, 
    546 24813,  553,  841,25188,    0, 8597, 2081, 2081, 2226, 2226, 
    547  3157,   84,   84,   84,   84,   84,   84,   90,   90,   48, 
    548 25188,25188,    0, 8597,   48,25188,   84,25188,   84, 8597, 
    549  8597,    0,    0,  190,    0,    0,    0,  468,  551,25188, 
    550 24813, -278,  845,    0,    0,    0, -278,  846,  190,    0, 
    551  3040,    0,25188,    0,25188,    0,    0,  852,    0, -170, 
    552  1930,  843,  485,    0,  665,  864,    0,25188,    0,  646, 
    553     0, 6917,    0,    0,    0, 8597,    0,    0,  318,  308, 
    554     0,  321,  550,  635,26934,  643,  870,    0,  645,  190, 
    555   852,    0,  878,24675,  817,  506,    0,    0,    0,  862, 
    556   547,  880,    0,  793,  797,25188,  665,    0,    0, 4498, 
    557     0,    0,24813,  631,  544,25685,    0,    0, 8597,    0, 
    558   656,    0, 8597, 8597, 1423, 8597,  828,  250,  598,  598, 
    559   598,   38,   -1,    0,   10,    0,    0, 8597,    0,    0, 
    560     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    561     0,    0,    0,    0,    0,    0,    0,    0,25563,25563, 
    562 25563,    0,    0, 8597,    0, 8597,    0, 8597,    0,  885, 
    563 25188,    0,24866,    0,  883,    0, 7337,  548,   84,   84, 
    564    48,   84,   84,  665,    0,    0,26997,  658,  867,    0, 
    565     0,    0,    0,    0,    0, 8597,  660,25616,    0,    0, 
    566     0,    0,  891,    0,    0,  665,  852,    0, 8597, 2554, 
    567     0,25005,  692,    0,  149,  233,  233,  233,  233,  233, 
    568     0,    0,  233,    0,    0,    0,    0,  817,    0,24675, 
    569    28,  516,  517,  894,  895,27113,  665,    0,  896,24169, 
    570   190,    0,  209,    0, 2501, 8597,    0,    0,    0,    0, 
    571   662,  879,  898,  900,  902,    0,  903,25188, 7757,24813, 
    572 25188,    0,    0,  904,    0,  190,    0,25053, 8597,    0, 
    573     0,  852,    0,    0, 8597,    0,    0,  184,  184,  906, 
    574   491,  677,    0,    0,  573,    0,  917,    0,    0,    0, 
    575     0,    0,25188,    0,    0,  801,  909, 8597,    0,25188, 
    576     0,    0,    0,    0, 8597,25188,    0, 8177,25188,    0, 
    577   927,    0,    0,  911,    0,  557,  559,27166,    0,27187, 
    578  8597,25188, 8597,    0,    0,25188,    0,    0,25188,25188, 
    579  8597, 8597, 8597,27272,25188, 8597, 
     1434 
     1435/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 
     1436   STATE-NUM.  */ 
     1437#define YYPACT_NINF -702 
     1438static const yytype_int16 yypact[] = 
     1439{ 
     1440    -702,   921,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702, 
     1441    -702,  -702,   -59,  5446,  -702,  -702,  -702,  -702,  -702,  -702, 
     1442    -702,   -24,   -24,  -702,    -3,  -702,  -702,  4703,     3,  2638, 
     1443      49,    56,  -702,  4703,    37,    38,  2638,   146,  -702,   -93, 
     1444    -702,  -110,  4703,  -702,  -702,    43,    48,   -93,  -702,   148, 
     1445    -702,  -702,  -702,  -702,  -702,   185,   156,   158,  -702,  -702, 
     1446     164,   164,    79,  -702,   171,  -702,  -702,   -51,  -702,  -702, 
     1447      -7,   -93,   -93,  -702,    75,  -702,  -702,    53,  -702,   -93, 
     1448    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702, 
     1449    -702,  -702,  -702,  -702,   179,  -702,  -702,   224,  -702,   130, 
     1450    -702,   -81,   186,   136,   149,  -702,   138,  -702,   360,   363, 
     1451    -702,  -702,   172,   150,  -702,  -702,   145,   -19,    16,    29, 
     1452     370,   395,  -702,   231,   -59,   -93,  -702,   -93,   -93,  -702, 
     1453     230,  4703,  -702,    27,   405,  -702,   233,   241,  2638,  -702, 
     1454     236,  2722,   236,  -702,  5702,  -702,  -702,  -702,  -702,   253, 
     1455    4703,  4703,  -702,  -702,  4703,   256,   257,   266,  4703,  4703, 
     1456    4703,   267,   271,   277,   289,   292,   298,   304,   312,   313, 
     1457     314,   315,   317,  4703,   318,   328,   329,   330,   331,  4831, 
     1458    -702,  -702,   334,  -702,  -702,  -702,  -702,  -702,  -702,  -702, 
     1459    4703,  2443,  -702,  -702,  4703,   244,  -702,   335,   343,  -702, 
     1460     344,   359,   228,  -702,    58,  4703,  -702,  2443,  -702,   362, 
     1461     529,  -702,  4703,  2443,  -702,   536,  -702,   372,  -702,   372, 
     1462    -702,  4703,  -702,  -702,  -702,  -702,  4703,  -702,  1425,  -702, 
     1463    -702,  -702,  -702,   362,  -702,  -702,  4959,  -702,   362,   362, 
     1464     372,  3079,  -702,   373,   362,  -702,  4703,   541,  -702,  -702, 
     1465    -702,  -702,  -702,  -702,   544,  -702,  -702,   164,  -702,  -702, 
     1466    5446,  -702,   -59,   -24,  -702,  -702,  -702,  -702,   548,   390, 
     1467     563,  -702,    60,    28,   333,   408,   159,   399,  -702,   408, 
     1468     362,  -702,   159,  -702,   410,   412,   159,   399,   571,  -702, 
     1469     413,   445,   581,  -702,  -702,   -24,   583,  -702,  3039,  -702, 
     1470     404,   147,  3935,  -702,  5087,   -19,  -702,   411,  -702,   399, 
     1471    -702,   586,  -702,  -702,  -702,  -702,   360,   362,  2443,  4703, 
     1472    4703,   362,  -702,   414,  4063,  -702,  -702,  -702,  2588,  -702, 
     1473    -702,  -702,  -702,  4703,  4703,  4703,  4703,   587,  2588,   244, 
     1474     359,  -702,  1096,   588,   403,   580,  2852,  4831,  -702,   416, 
     1475     417,  -702,  -702,    17,   567,  1446,  2556,  2443,    23,  4703, 
     1476    4703,  4703,    42,  1469,    52,  4703,  4703,  4703,  4703,  4703, 
     1477    4703,  4703,  4703,  4703,  4703,  4703,  4703,  1491,  4703,  4703, 
     1478    4703,  4703,  4703,  4831,  2443,  1512,   722,  -702,   461,   595, 
     1479     604,  4703,  1548,   607,  3423,  4703,  4703,  4703,  4703,  4703, 
     1480    4703,  4703,  4703,  4703,  4703,  4703,  4703,  4703,  4703,  3167, 
     1481    4703,  3551,  3679,  -702,    19,   362,  4703,  -702,  -702,  -702, 
     1482    -702,  -702,  -702,  -702,  4703,  4703,  -702,  1570,    65,   399, 
     1483      49,  1694,  -702,  -702,   608,   608,  1752,   791,  -702,   244, 
     1484     -54,    22,   425,   612,  -702,  -702,   436,   437,     8,    22, 
     1485    -702,   616,  -702,    70,   608,  -702,  -702,  -702,  -702,  -702, 
     1486    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702, 
     1487    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702, 
     1488     617,   597,  -702,    74,  2443,   443,   454,   -93,  -702,  -702, 
     1489     253,  -702,  4703,    76,   390,   260,  4703,  -702,   455,   457, 
     1490     260,  -702,   360,  2489,  -702,  -702,  -702,   360,   399,   399, 
     1491     360,  -702,   413,   571,  -702,  -702,   399,  -702,   449,  -702, 
     1492    -702,  -702,  -702,  -702,   356,  -702,  -702,  -702,   253,  -702, 
     1493    -702,   460,  4191,  -702,  -702,  2443,  -702,  -702,  3935,  3295, 
     1494     452,   630,  4319,  -702,  2443,   462,  -702,   399,    33,  -702, 
     1495    -702,  -702,  -702,   629,  2443,  2443,  -702,  -702,   467,  2443, 
     1496     464,   642,  -702,  -702,  -702,  2852,  3807,    78,  -702,   106, 
     1497    -702,  2443,  2443,  2443,  2443,  4703,   308,  5572,  2443,   244, 
     1498    1773,  -702,   643,  2443,  -702,  5572,  -702,  2852,  2852,  2852, 
     1499    2852,  2852,   623,  -702,   362,   362,  -702,  -702,  -702,    86, 
     1500    -702,   471,  2638,  4703,  -702,    87,    89,  1794,  -702,  -702, 
     1501    -702,  1815,  1836,  1876,  1897,  1939,  2018,  2079,  2121,  2142, 
     1502    2163,  2200,  2221,  -702,    90,    92,    93,    94,    98,  2261, 
     1503     648,   649,   650,  4831,  -702,  4831,  4831,   103,  -702,  4703, 
     1504    4703,  2443,  -702,  2460,  2460,  2481,  2481,  2556,  2577,  2577, 
     1505    2577,  2577,  2577,  2577,   119,   119,    19,  4703,  4703,  2443, 
     1506    -702,    19,  4703,  2577,  4703,  2577,   244,   652,  2783,   477, 
     1507     478,  2443,  2443,  -702,   362,  -702,  -702,  -702,  -702,   490, 
     1508     576,  4703,  2783,    -8,   481,  -702,  -702,  -702,    -8,   482, 
     1509     362,  -702,  3079,  -702,  4703,  -702,  4703,  -702,  -702,  -702, 
     1510    2443,  -702,  -702,   639,    35,   387,  -702,  2345,   640,   486, 
     1511    -702,   646,   408,  4703,  -702,   104,  -702,  -702,  1325,   362, 
     1512     651,   651,   413,  -702,  -702,   264,   445,   662,  -702,   502, 
     1513     399,  -702,   492,  4191,   630,  -702,   504,  -702,   495,  -702, 
     1514    -702,   672,   552,   677,  -702,  4703,   399,  -702,  -702,  4063, 
     1515     513,  -702,  -702,  2783,   674,  2588,  -702,  -702,  2443,   680, 
     1516     105,  -702,  2443,  2443,  5572,  2443,   643,   547,   623,   623, 
     1517     623,   396,   612,   616,    20,  -702,   141,  -702,  -702,  2443, 
     1518    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702, 
     1519    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702, 
     1520    -702,  5215,  5215,  5215,  2443,  -702,  2443,  -702,  2443,  -702, 
     1521    -702,   514,  2577,  2577,    19,  2577,  2577,  4703,  2911,  1360, 
     1522     698,  -702,  -702,   335,  -702,   399,  -702,  -702,  2403,   109, 
     1523     697,  -702,  -702,  -702,  -702,  -702,  -702,  2443,   111,  -702, 
     1524     260,   260,   260,   260,   260,   359,  -702,   260,  -702,  -702, 
     1525    2443,  2489,  -702,  4447,  -702,  5343,  -702,  -702,   571,  -702, 
     1526    -702,  -702,   523,  -702,  -702,   399,   651,  -702,   630,  -702, 
     1527    4191,  -702,   -47,   535,   538,  1171,   399,  -702,  -702,   744, 
     1528     525,   362,  -702,   403,  5613,  2443,  -702,  -702,   530,   531, 
     1529    -702,  -702,   116,   704,   532,   533,   534,  -702,   537,  4703, 
     1530    1382,  4703,  2783,  -702,  -702,   712,  -702,   362,  -702,  -702, 
     1531      10,    10,   528,   115,   695,  -702,  -702,  2443,  4575,  -702, 
     1532    2443,  -702,   651,   715,  -702,  -702,   598,  -702,   718,  -702, 
     1533    -702,  -702,  4703,  -702,  -702,   425,   543,  2443,  -702,  -702, 
     1534    -702,  4703,  -702,  -702,  -702,  -702,  2443,  4703,  1404,  -702, 
     1535    4703,  -702,  -702,   554,   715,  -702,   723,   572,   573,  1194, 
     1536    -702,  1280,  2443,  4703,  2443,  -702,  -702,  4703,  -702,  -702, 
     1537    4703,  4703,  2443,  2443,  2443,  1303,  4703,  2443 
    5801538}; 
    581 short fortranrindex[] = {                                      0, 
    582  5433,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    583   223,23906,    0,    0,    0,    0,    0,    0,    0,    0, 
    584     0,    0,    0,    0,    0,    0,    0,    0,    0,23602, 
    585   560,  560,    0,    0,    0,    0,    0,    0,    0,    0, 
    586     0,22995,    0,    0,    0,    0,    0,    0,    0,    0, 
    587     0,    0,    0,    0,    0,    0,  560, 3577,    0,    0, 
    588     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    589     0,    0,    0,   25,    0,    0,    0,    0,    0,    0, 
    590     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    591 18370,  579,    0,    0,    0,    0,    4,  -15,   52,    0, 
    592 23145,    0,    0,    0,    0,23906,    0,    0,    0, 5953, 
    593 13515,    0,    0,    0,    0,    0,    0,    0,18586,13666, 
    594   580,    0,   11,    0,    0,    0,    0,    0,23298,    0, 
    595     0,    0,    0,    0,    0,18739,18890,    0,    0,    0, 
    596     0,    0,    0,    0,    0,    0,16959,    0,    0,    0, 
    597     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    598     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    599     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    600     0,    0,    0,    0,    0,    0,    0,    0, 1107, 2724, 
    601  1277,    0,    0, 1646,    0, 2894,    0, 1816,    0,    0, 
    602   125,    0,    0,    0,    0,19043,    0,19194,    0,    0, 
    603     0,13884,    0,    0,    0,    0,    0,    0,    0,    0, 
    604     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    605     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    606     0,    0,    0,    0,19347,    0,    0,    0,    0,    0, 
    607     0,19498,    0,    0,   29,    0,    0,    0,    0,    0, 
    608     0,19651,    0,    0,    0,    0,    0,    0,    0,    0, 
    609     0,    0,    0,   24,  223,23906,    0,    0,    0,    0, 
    610     0,    0,    0,    0,    0,19802,    0,    0,    0,14035, 
    611     0,  954,  580,    0,  908,14035,    0,   30,    0,    0, 
    612     0,  908,    0,14191,    0,    0,    0,    0,  960,    0, 
    613     0,    0,19955,    0,    0,    0,    0,    0,20106,23449, 
    614 20259,    0,    0,    0,    0,    0,    0,  987,    0,    0, 
    615     0,    0,    0,    0,    0,    0,    0,    0,    0, 9631, 
    616     0,10472,10208, 5640,    0,20410,    0,10627,    0,23753, 
    617     0,    0,20563,    0, 6171,    0,  673,    0,    0,    0, 
    618     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    619     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    620     0,    0,    0, 4668,    0,17110,17263, 3263,    0,    0, 
    621 25786,    0,    0,  972,    0,    0,    0,    0, 3433,    0, 
    622     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    623     0,    0,    0,    0,    0,    0,    0, 5271,    0,    0, 
    624     0,    0,    0,    0,    0,    0,  674,    0,    0,    0, 
    625     0,    0,20714,20867,    0,    0,    0,  165,    0,  510, 
    626   995,  679,    0,    0, 6497,  869, 9017,  526,  995,    0, 
    627     0,    0,21018,    0,    0,    0,    0,    0,    0,    0, 
    628     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    629     0,    0,    0,    0,    0,    0,    0,21171,    0,    0, 
    630     0,  680,    0,    0,    0,    0,14404,    0,    0,  127, 
    631     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    632     0,    0,    0,21322,    0,    0,    0,   40,    0,    0, 
    633     0,   24,    0,    0,    0,    0,21322,    0,    0,    0, 
    634   580,    0,14555,  356,    0,    0,    0,    0,  356,    0, 
    635     0,    0,  580,14404,    0,14711,    0,    0,    0,    0, 
    636  5618, 1012,  708,    0,    0,    0,    0,    0,    0,    0, 
    637     0,    0,    0,    0,21475,21626,    0,    0,    0,  709, 
    638     0, 1013,    0,    0,    0,   63,    0,    0, 1014,    0, 
    639     0,12251,12465,12620,12834,    0, 1014,25857,17479, 4299, 
    640 14924,    0,21779,    0,14924, 5802,    0,    0,    0,    0, 
    641     0,    0,10891,    0,    0,    0,    0,    0,    0,21930, 
    642     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    643     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    644     0,    0,    0,    0,    0,    0,    0,27019,    0,    0, 
    645     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    646  1021, 2185,    0,    0,    0,11727, 9782,10051, 9111, 9262, 
    647  6322, 6591, 6742, 7011, 7162, 7431, 7582, 4838, 5101, 3696, 
    648     0,    0,    0,11882, 3866,    0, 7851,    0, 8002,  164, 
    649   212,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    650  1025,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    651     0,    0,    0,    0,    0,    0,    0,17632,    0,    0, 
    652     0,    0,    0,    0,12989,    0,    0,  710,    0,    0, 
    653     0,  720,    0,    0,    0,15080,    0,    0,    0,14035, 
    654     0,    0,  795,    0,    0,    0,   16,    0,    0,    0, 
    655 17632,    0,    0,    0, 1012,    0,    0,    0,    0,    0, 
    656     0,22083,    0,  995,  995,    0,   24,    0,    0,    0, 
    657     0,    0,    0,  729,    0,    0,    0,    0,13203,  698, 
    658     0,    0,15293,15449, 5802,15662,22234,13358,11046,11309, 
    659 11464,12096,    0,    0,    0,    0,    0,  730,    0,    0, 
    660     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    661     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    662     0,    0,    0,15818,    0,15974,    0,16130,    0,27293, 
    663  1028,    0,  737,    0, 1030,    0,  738, 2355, 8271, 8422, 
    664  4129, 8691, 8842,  674,    0,    0,    0,    0,    0,    0, 
    665     0,    0,    0,    0,    0,  742,    0,    0,    0,    0, 
    666     0,    0,    0,    0,    0,12989,16286,    0,  744,    0, 
    667     0,  749,16437,    0,  467,  356,  356,  356,  356,  356, 
    668     0,    0,  356,    0,    0,    0,    0, 1012,    0,    0, 
    669     0,    0,    0,    0,    0,    0,   24,    0,    0,    0, 
    670     0,    0,  750,    0,25857,14924,    0,    0,    0,    0, 
    671     0,  590,    0,    0,    0,    0,    0,    0,  751,    0, 
    672   768,    0,    0,    0,    0,    0,    0,    0,17848,    0, 
    673     0,16286,16655,    0,  720,    0,    0,   93,  146,   31, 
    674    44,    0,    0,    0,18001,    0,22387,    0,    0,    0, 
    675     0,    0,    0,    0,    0,  777,    0,16806,    0,    0, 
    676     0,    0,    0,    0,  778,    0,    0,  779,    0,    0, 
    677     0,16655,    0,    0,    0,    0,    0,22538,    0,    0, 
    678   783,    0,22691,    0,    0,    0,    0,    0,    0,    0, 
    679   788,18217,22842, 1031,    0, 1036, 
     1539 
     1540/* YYPGOTO[NTERM-NUM].  */ 
     1541static const yytype_int16 yypgoto[] = 
     1542{ 
     1543    -702,  -702,  -702,  -702,   503,  -702,     2,  -702,   740,  -702, 
     1544     -49,   756,  -702,  -702,    -1,     5,  -702,  -702,  -407,  -702, 
     1545      -5,     4,  -702,  -702,    85,  -702,  -702,  -702,   349,  -702, 
     1546      84,   -11,  -702,  -702,  -702,  -702,  -702,  -482,  -702,  -702, 
     1547    -265,   282,  -402,  -702,  -702,  -702,  -702,  -702,  -702,  -702, 
     1548    -702,  -702,   173,  -702,  -702,  -278,   270,   -39,   -21,   515, 
     1549     291,  -702,  -702,  -702,   258,  -702,  -702,  -702,  -702,  -702, 
     1550     245,  -702,  -702,  -702,  -701,  -702,  -702,  -702,   483,  -290, 
     1551    -687,  -702,  -702,    63,  -702,   709,  -282,  -702,   -58,   -61, 
     1552     -27,  -176,   -80,  -154,  -323,  -532,  -702,  -702,  -128,  -702, 
     1553    -702,  -702,  -204,  -702,   377,   121,   -92,    64,   178,   -87, 
     1554    -702,  -702,  -198,  -399,   -29,  -143,  -702,  -163,  -702,  -702, 
     1555    -702,  -702,   -56,  -702,  -139,  -702,  -702,  -702,  -702,  -702, 
     1556    -702,  -702,  -702,  -702,   -12,  -702,  -702,  -702,   676,   265, 
     1557    -232,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,    73, 
     1558    -702,  -702,  -702,  -702,  -702,   254,  -702,  -702,    68,  -702, 
     1559    -702,  -702,  -702,  -275,   684,  -316,  -426,  -702,  -694,  -561, 
     1560     480,   446,  -372,  -648,   272,  -702,   237,  -201,  -702,   238, 
     1561    -421,  -702,  -702,  -702 
    6801562}; 
    681 short fortrangindex[] = {                                      0, 
    682     0,    0,    0,  813,  303, -401,    0,  126,    0,  211, 
    683  -255,    0,  232,  565,  285,   -2,    0,  -23,    0,    0, 
    684     0,    0,    0,    0,    0,    0, -120,    7,    0,    0, 
    685  -328,    0,    0,  815, -135,    0, -305,  339, -152,  181, 
    686  -137,    0,  766,  736, -326, -686, -234, -220,    0,  718, 
    687   221,  438,  371, -189,    0,  -26, -371, -495,    0,    0, 
    688  -169,  -24,  273, -397,    0,  -98,    0,    0, 1117,    0, 
    689     0,    0,  -39,  -56, 1119,  865,    0,   53,    0,    0, 
    690     0,    0,    0,    0,    0,    0,   65,    0,    0,    0, 
    691     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    692     0, 1065,  452,  458,  716,    0,    0,    0,  -30,  627, 
    693     0, -277,    0,    0,    0, -667,    0, -281,  620,    0, 
    694   654,    0,  194,    0,    0,    0,    0,  608, -649,    0, 
    695     0,  457,    0,    0,    0, 1032,  612, -392,  613,    0, 
    696     0,    0,    0,    0,    0,    0,    0,    0,    0, -230, 
     1563 
     1564/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If 
     1565   positive, shift that token.  If negative, reduce the rule which 
     1566   number is the opposite.  If zero, do what YYDEFACT says. 
     1567   If YYTABLE_NINF, syntax error.  */ 
     1568#define YYTABLE_NINF -508 
     1569static const yytype_int16 yytable[] = 
     1570{ 
     1571     191,   442,   207,   385,   423,   511,   213,   220,   534,   207, 
     1572     501,   632,   513,   339,   505,   228,   387,   667,   711,   763, 
     1573     857,   149,   765,   146,   219,   386,   603,   547,   591,   440, 
     1574     689,   283,   319,   843,   440,   232,   393,   450,   840,   301, 
     1575     596,   215,   215,   596,   410,   603,   761,   869,   761,   240, 
     1576     241,   761,   304,   569,   340,   603,   841,   842,   843,   251, 
     1577     252,   424,   425,   576,   741,   279,   225,   259,   674,   226, 
     1578     887,   592,   248,   690,   290,   312,   222,   694,   362,   494, 
     1579     364,   755,   447,   699,   495,   282,   249,   284,   268,   774, 
     1580     603,   286,   603,   603,   223,   603,   603,   603,   269,   242, 
     1581     264,   603,   267,   243,   318,   439,   603,   851,   884,   327, 
     1582     439,   207,   902,   313,   694,   314,   315,   830,    17,   774, 
     1583     250,   728,   926,   355,   356,   418,   587,   330,   331,   588, 
     1584     589,   590,   363,   255,   256,  -315,   841,   842,   843,   275, 
     1585     927,   280,   408,   409,   410,   147,   377,   676,   291,   292, 
     1586     298,   760,   384,   320,   895,   896,  -164,   299,  -164,   766, 
     1587    -164,    92,  -164,   392,   596,   923,   578,   414,   215,   242, 
     1588     242,   385,   706,   243,   243,   283,   150,   706,   427,   242, 
     1589     293,   924,   205,   243,   387,   431,   597,   419,   687,   597, 
     1590     887,   121,  -164,   386,   436,   302,  -164,   598,   844,   437, 
     1591     339,   682,   742,   604,   411,   412,   260,   385,   305,   384, 
     1592     339,  -314,   229,   489,   579,   497,   321,   231,   339,   484, 
     1593     387,   954,   608,   844,   216,   218,   720,   721,   209,   630, 
     1594     886,   886,   610,   886,   724,   212,   936,   502,   426,   496, 
     1595     245,   340,   731,   507,   253,   675,   487,   510,    92,   734, 
     1596     691,   340,   498,   591,   695,   580,   701,   263,   756,   340, 
     1597     591,   805,   490,   807,   809,   740,   775,   780,   491,   781, 
     1598     795,   535,   796,   797,   798,   535,   591,   544,   799,   605, 
     1599     606,   152,   153,   810,   852,   885,   757,   666,   265,   906, 
     1600     750,   908,   554,   555,   528,   550,   940,   559,   624,   625, 
     1601     626,   627,   628,   844,   411,   412,   571,   572,   573,   574, 
     1602     597,   637,   767,   768,   769,   770,   771,   549,   277,   287, 
     1603     384,   891,   351,   537,   937,   221,   538,   233,   587,   330, 
     1604     331,   588,   589,   590,   607,   238,   499,   239,   611,   612, 
     1605     613,   614,   615,   616,   617,   618,   619,   620,   621,   622, 
     1606     246,   888,   889,   761,   234,   272,   629,   500,   909,   726, 
     1607     727,   235,   442,   283,   236,   914,   285,   641,   643,   644, 
     1608     645,   646,   647,   648,   649,   650,   651,   652,   653,   654, 
     1609     655,   656,   659,   661,   663,   665,   421,   429,   393,   213, 
     1610     440,   440,   435,   307,   450,   342,   347,   671,   672,   308, 
     1611     310,   578,   859,   860,   861,   886,   316,   416,   323,   578, 
     1612     326,   441,   324,   454,   448,   328,   449,   452,   898,   588, 
     1613     589,   590,   482,   587,   330,   331,   588,   589,   590,   805, 
     1614     807,   809,   353,   415,   591,   359,   360,   339,   121,   910, 
     1615     911,   912,   913,   868,   858,   361,   365,   849,   866,   579, 
     1616     366,   591,   591,   591,   591,   591,   367,   579,   506,   339, 
     1617     339,   339,   339,   339,   876,   700,   439,   439,   368,   707, 
     1618     387,   369,   387,   387,   514,   698,   718,   370,   340,   440, 
     1619     883,   712,   831,   371,   440,   811,   719,   833,   759,   722, 
     1620     580,   372,   373,   374,   375,   551,   376,   378,   580,   556, 
     1621     340,   340,   340,   340,   340,   535,   566,   379,   380,   381, 
     1622     382,   535,   535,   391,   416,   392,   566,   706,   706,   706, 
     1623     706,   706,   418,   419,   706,   255,   256,   515,   420,   180, 
     1624     181,    92,   430,   587,   330,   331,   588,   589,   590,   754, 
     1625     432,   433,   481,   904,   485,   183,   184,   486,   758,   185, 
     1626     186,   187,   188,   492,   516,   439,   517,   518,   519,   268, 
     1627     439,   520,   521,   189,   522,   523,   494,   591,   330,   331, 
     1628     588,   589,   590,   778,   512,   207,   779,   277,   503,   508, 
     1629     925,   509,   287,   922,   536,   527,   529,   546,   578,   548, 
     1630     557,   585,   575,   634,   933,   594,   595,   601,   635,   393, 
     1631    -488,  -488,  -488,  -488,  -488,  -488,   804,   636,   806,   808, 
     1632     639,   679,   384,   812,   321,   683,   685,   686,   845,   688, 
     1633     692,   693,   696,   697,   708,   903,   709,   339,   725,   730, 
     1634     813,   814,   735,   736,   745,   815,   579,   816,   387,   387, 
     1635     387,   819,   739,   225,   748,   749,   764,   811,   590,   935, 
     1636     776,   801,   802,   803,   828,   819,   817,   823,   824,   826, 
     1637     827,   832,   834,   839,   847,   496,   864,   837,   340,   484, 
     1638     848,   865,   867,   870,   855,   871,   872,   580,   873,   394, 
     1639     874,   395,   396,   397,   398,   399,   850,   400,   401,   402, 
     1640     403,   404,   405,   878,   897,   406,   407,   408,   409,   410, 
     1641    -489,   902,   907,   921,   930,   934,   535,   742,   578,   941, 
     1642     938,   939,   942,   943,   944,   950,   844,   945,   875,   952, 
     1643    -360,   958,   559,   960,   957,   633,   879,  -247,   967,  -247, 
     1644    -247,  -247,  -247,  -247,   965,  -247,  -247,  -247,  -247,  -247, 
     1645    -247,   968,   926,  -247,  -247,  -247,  -247,  -247,   901,   394, 
     1646      16,   395,   396,   397,   398,   399,   579,   400,   401,   402, 
     1647     403,   404,   405,   488,   393,   406,   407,   408,   409,   410, 
     1648     145,   892,   441,   449,   804,   806,   808,   836,   890,   677, 
     1649     838,   710,   723,   732,   493,   702,   258,   729,   545,   863, 
     1650     213,   900,   916,   915,   681,   669,   394,   580,   395,   396, 
     1651     397,   398,   399,   829,   400,   401,   402,   403,   404,   405, 
     1652     949,   966,   406,   407,   408,   409,   410,   880,   931,   969, 
     1653     352,   746,   877,   882,   718,   345,   917,   593,   920,   631, 
     1654     747,   772,     0,   773,     0,     0,     0,     0,     0,     0, 
     1655       0,     0,     0,   535,     0,     0,     0,     0,     0,     0, 
     1656       0,     0,   825,     0,     0,     0,     0,     0,     0,   411, 
     1657     412,   449,     0,   881,     0,     0,   449,     0,   835,     0, 
     1658       0,     0,   946,     0,   948,   819,     0,     0,     0,     0, 
     1659    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1660       0,   392,     0,     0,     0,     0,     0,   854,     0,     0, 
     1661       0,     0,     0,     0,     0,   959,     0,  -247,  -247,     0, 
     1662       0,     0,     0,     0,   961,     0,     0,     0,     0,     0, 
     1663     962,     2,     3,   964,   638,     0,     0,     0,     0,   411, 
     1664     412,     0,     0,   566,     0,     0,   972,     0,     0,     0, 
     1665     973,     0,     0,   974,   975,     0,     0,     0,   -23,   977, 
     1666     -23,     0,     0,   -23,   -23,   -23,   -23,     4,     5,   -23, 
     1667       0,     0,   -23,   -23,   -23,     0,     0,     0,     0,   -23, 
     1668     -23,     0,     0,     0,     6,     7,   411,   412,     0,     0, 
     1669       0,     0,     0,     0,   -23,     0,     0,     0,   -23,   -23, 
     1670       0,     0,     0,   -23,     0,     0,     0,     0,     0,   -23, 
     1671       0,   -23,   -23,     0,   -23,     0,   -23,   -23,   -23,   -23, 
     1672     -23,     0,   -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23, 
     1673     -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,     0,     0, 
     1674     -23,   -23,   -23,     0,   -23,   -23,   -23,     0,   -23,   -23, 
     1675     -23,     0,     0,   -23,     0,   -23,     0,     0,   -23,   -23, 
     1676     -23,   -23,     0,     0,   -23,   -23,   -23,     0,     0,   351, 
     1677       0,     0,   -23,     0,     0,     8,   -23,   -23,   -23,   -23, 
     1678     -23,   -23,   -23,     0,   -23,   -23,   -23,   -23,   -23,     0, 
     1679       0,   -23,     0,     0,     0,   951,     0,     0,   -23,   -23, 
     1680     -23,     0,     0,     0,     0,     0,     0,   -23,     9,  -507, 
     1681       0,  -507,     0,  -507,  -507,  -507,  -507,  -507,    10,  -507, 
     1682    -507,  -507,  -507,  -507,  -507,     0,     0,  -507,  -507,  -507, 
     1683    -507,  -507,     0,     0,     0,     0,     0,     0,     0,     0, 
     1684       0,     0,     0,     0,     0,   154,   155,     0,     0,     0, 
     1685     156,   157,   158,   159,     0,     0,     0,     0,     0,     0, 
     1686       0,     0,   160,   161,   162,   163,   164,   165,   166,     0, 
     1687     167,   168,   169,     0,     0,   170,   171,   172,     0,   173, 
     1688     174,   175,   176,   177,   932,   178,   394,     0,   395,   396, 
     1689     397,   398,   399,     0,   400,   401,   402,   403,   404,   405, 
     1690       0,     0,   406,   407,   408,   409,   410,   970,     0,   394, 
     1691       0,   395,   396,   397,   398,   399,     0,   400,   401,   402, 
     1692     403,   404,   405,     0,     0,   406,   407,   408,   409,   410, 
     1693       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1694       0,     0,     0,     0,     0,     0,     0,     0,   180,   181, 
     1695       0,     0,     0,     0,   182,     0,     0,     0,     0,     0, 
     1696       0,     0,     0,     0,   183,   184,     0,     0,   185,   186, 
     1697     187,   188,     0,     0,     0,    92,     0,     0,     0,     0, 
     1698       0,     0,   189,     0,     0,   577,     0,     0,     0,     0, 
     1699       0,  -507,  -507,   971,     0,   394,     0,   395,   396,   397, 
     1700     398,   399,     0,   400,   401,   402,   403,   404,   405,     0, 
     1701       0,   406,   407,   408,   409,   410,   976,     0,   394,     0, 
     1702     395,   396,   397,   398,   399,     0,   400,   401,   402,   403, 
     1703     404,   405,     0,     0,   406,   407,   408,   409,   410,   853, 
     1704     394,     0,   395,   396,   397,   398,   399,     0,   400,   401, 
     1705     402,   403,   404,   405,     0,     0,   406,   407,   408,   409, 
     1706     410,     0,     0,     0,     0,     0,   411,   412,     0,     0, 
     1707       0,     0,     0,     0,   901,   394,     0,   395,   396,   397, 
     1708     398,   399,     0,   400,   401,   402,   403,   404,   405,   411, 
     1709     412,   406,   407,   408,   409,   410,   947,   394,     0,   395, 
     1710     396,   397,   398,   399,     0,   400,   401,   402,   403,   404, 
     1711     405,     0,     0,   406,   407,   408,   409,   410,   963,   394, 
     1712       0,   395,   396,   397,   398,   399,     0,   400,   401,   402, 
     1713     403,   404,   405,     0,     0,   406,   407,   408,   409,   410, 
     1714     394,     0,   395,   396,   397,   398,   399,     0,   400,   401, 
     1715     402,   403,   404,   405,     0,     0,   406,   407,   408,   409, 
     1716     410,   394,     0,   395,   396,   397,   398,   399,     0,   400, 
     1717     401,   402,   403,   404,   405,   411,   412,   406,   407,   408, 
     1718     409,   410,     0,     0,   394,     0,   395,   396,   397,   398, 
     1719     399,     0,   400,   401,   402,   403,   404,   405,   411,   412, 
     1720     406,   407,   408,   409,   410,     0,   394,     0,   395,   396, 
     1721     397,   398,   399,     0,   400,   401,   402,   403,   404,   405, 
     1722     411,   412,   406,   407,   408,   409,   410,  -250,     0,  -250, 
     1723    -250,  -250,  -250,  -250,     0,  -250,  -250,  -250,  -250,  -250, 
     1724    -250,     0,     0,  -250,  -250,  -250,  -250,  -250,     0,     0, 
     1725       0,     0,     0,     0,     0,   411,   412,     0,     0,     0, 
     1726       0,     0,     0,   394,     0,   395,   396,   397,   398,   399, 
     1727       0,   400,   401,   402,   403,   404,   405,   411,   412,   406, 
     1728     407,   408,   409,   410,     0,   394,     0,   395,   396,   397, 
     1729     398,   399,     0,   400,   401,   402,   403,   404,   405,   411, 
     1730     412,   406,   407,   408,   409,   410,     0,     0,     0,     0, 
     1731       0,     0,     0,     0,     0,   438,     0,     0,     0,     0, 
     1732     411,   412,     0,     0,     0,     0,     0,     0,     0,     0, 
    6971733    0,    0,    0,    0,    0,    0,  602,    0,    0,    0, 
    698     0,    0,  412,  607,    0,  219,    0,    0,    0,    0, 
    699     0,    0,    0,    0, -408,    0,    0,    0,    0, -317, 
    700   414, 1033, -335, -688,    0, -522,    0, -226,    0,    0, 
    701     0,    0, 
     1734       0,   411,   412,     0,     0,     0,     0,     0,     0,     0, 
     1735       0,     0,     0,     0,     0,     0,     0,     0,     0,   609, 
     1736       0,     0,     0,     0,   411,   412,     0,     0,     0,     0, 
     1737    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1738       0,   623,     0,     0,     0,     0,   411,   412,     0,     0, 
     1739    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1740       0,     0,  -250,     0,     0,     0,     0,  -250,  -250,   394, 
     1741       0,   395,   396,   397,   398,   399,     0,   400,   401,   402, 
     1742     403,   404,   405,     0,     0,   406,   407,   408,   409,   410, 
     1743       0,     0,     0,     0,     0,     0,     0,     0,   638,     0, 
     1744       0,     0,     0,   411,   412,     0,     0,     0,     0,     0, 
     1745    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1746     673,     0,     0,     0,     0,   411,   412,   394,     0,   395, 
     1747     396,   397,   398,   399,     0,   400,   401,   402,   403,   404, 
     1748     405,     0,     0,   406,   407,   408,   409,   410,   394,     0, 
     1749     395,   396,   397,   398,   399,     0,   400,   401,   402,   403, 
     1750     404,   405,     0,     0,   406,   407,   408,   409,   410,   394, 
     1751       0,   395,   396,   397,   398,   399,     0,   400,   401,   402, 
     1752     403,   404,   405,     0,     0,   406,   407,   408,   409,   410, 
     1753     394,     0,   395,   396,   397,   398,   399,     0,   400,   401, 
     1754     402,   403,   404,   405,     0,     0,   406,   407,   408,   409, 
     1755     410,   394,     0,   395,   396,   397,   398,   399,     0,   400, 
     1756     401,   402,   403,   404,   405,     0,     0,   406,   407,   408, 
     1757     409,   410,     0,     0,     0,     0,     0,     0,     0,     0, 
     1758       0,     0,     0,     0,   678,     0,     0,     0,     0,   411, 
     1759     412,   394,     0,   395,   396,   397,   398,   399,     0,   400, 
     1760     401,   402,   403,   404,   405,     0,     0,   406,   407,   408, 
     1761     409,   410,   394,     0,   395,   396,   397,   398,   399,     0, 
     1762     400,   401,   402,   403,   404,   405,     0,     0,   406,   407, 
     1763     408,   409,   410,     0,     0,     0,     0,     0,     0,     0, 
     1764       0,     0,   680,     0,     0,     0,     0,   411,   412,     0, 
     1765       0,     0,   420,     0,   394,     0,   395,   396,   397,   398, 
     1766     399,     0,   400,   401,   402,   403,   404,   405,   411,   412, 
     1767     406,   407,   408,   409,   410,     0,     0,     0,     0,     0, 
     1768       0,     0,     0,     0,   782,     0,     0,     0,     0,   411, 
     1769     412,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1770       0,     0,     0,     0,     0,   783,     0,     0,     0,     0, 
     1771     411,   412,     0,     0,     0,     0,     0,     0,     0,     0, 
     1772       0,     0,     0,     0,     0,     0,   784,     0,     0,     0, 
     1773       0,   411,   412,   394,     0,   395,   396,   397,   398,   399, 
     1774       0,   400,   401,   402,   403,   404,   405,     0,     0,   406, 
     1775     407,   408,   409,   410,     0,     0,     0,     0,     0,     0, 
     1776       0,     0,     0,     0,     0,     0,   785,     0,     0,     0, 
     1777       0,   411,   412,     0,     0,     0,     0,     0,     0,     0, 
     1778       0,     0,     0,     0,     0,     0,     0,   786,     0,     0, 
     1779       0,     0,   411,   412,   394,     0,   395,   396,   397,   398, 
     1780     399,     0,   400,   401,   402,   403,   404,   405,     0,     0, 
     1781     406,   407,   408,   409,   410,     0,     0,     0,     0,     0, 
     1782       0,     0,     0,     0,     0,     0,     0,     0,     0,   787, 
     1783       0,     0,     0,     0,   411,   412,   394,     0,   395,   396, 
     1784     397,   398,   399,     0,   400,   401,   402,   403,   404,   405, 
     1785       0,     0,   406,   407,   408,   409,   410,   394,     0,   395, 
     1786     396,   397,   398,   399,     0,   400,   401,   402,   403,   404, 
     1787     405,     0,     0,   406,   407,   408,   409,   410,   394,     0, 
     1788     395,   396,   397,   398,   399,     0,   400,   401,   402,   403, 
     1789     404,   405,     0,     0,   406,   407,   408,   409,   410,     0, 
     1790       0,     0,     0,     0,     0,     0,     0,     0,   788,     0, 
     1791       0,     0,     0,   411,   412,   394,     0,   395,   396,   397, 
     1792     398,   399,     0,   400,   401,   402,   403,   404,   405,     0, 
     1793       0,   406,   407,   408,   409,   410,   394,     0,   395,   396, 
     1794     397,   398,   399,     0,   400,   401,   402,   403,   404,   405, 
     1795       0,     0,   406,   407,   408,   409,   410,     0,     0,     0, 
     1796       0,     0,     0,     0,     0,     0,     0,     0,     0,   789, 
     1797       0,     0,     0,     0,   411,   412,   394,     0,   395,   396, 
     1798     397,   398,   399,     0,   400,   401,   402,   403,   404,   405, 
     1799       0,     0,   406,   407,   408,   409,   410,     0,     0,     0, 
     1800    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1801       0,   790,     0,     0,     0,     0,   411,   412,     0,     0, 
     1802    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1803       0,     0,   791,     0,     0,     0,     0,   411,   412,     0, 
     1804    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1805       0,     0,     0,   792,     0,     0,     0,     0,   411,   412, 
     1806     394,     0,   395,   396,   397,   398,   399,     0,   400,   401, 
     1807     402,   403,   404,   405,     0,     0,   406,   407,   408,   409, 
     1808     410,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1809     793,     0,     0,     0,     0,   411,   412,     0,     0,     0, 
     1810    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1811       0,   794,     0,     0,     0,     0,   411,   412,   394,     0, 
     1812     395,   396,   397,   398,   399,     0,   400,   401,   402,   403, 
     1813     404,   405,     0,     0,   406,   407,   408,   409,   410,     0, 
     1814    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1815       0,   800,     0,     0,     0,     0,   411,   412,   394,     0, 
     1816     395,   396,   397,   398,   399,     0,   400,   401,   402,   403, 
     1817     404,   405,     0,     0,   406,   407,   408,   409,   410,   397, 
     1818     398,   399,     0,   400,   401,   402,   403,   404,   405,     0, 
     1819       0,   406,   407,   408,   409,   410,     0,     0,     0,     0, 
     1820       0,     0,   399,   713,   400,   401,   402,   403,   404,   405, 
     1821       0,   151,   406,   407,   408,   409,   410,     0,     0,     0, 
     1822     152,   153,   714,     0,     0,     0,     0,     0,     0,     0, 
     1823       0,     0,     0,     0,     0,   846,     0,     0,   154,   155, 
     1824     411,   412,     0,   156,   157,   158,   159,     0,     0,     0, 
     1825       0,     0,     0,     0,     0,   160,   161,   162,   163,   164, 
     1826     165,   166,     0,   167,   168,   169,     0,     0,   170,   171, 
     1827     172,     0,   173,   174,   175,   176,   177,     0,   178,   400, 
     1828     401,   402,   403,   404,   405,     0,     0,   406,   407,   408, 
     1829     409,   410,     0,   905,     0,     0,     0,     0,   411,   412, 
     1830    -508,  -508,  -508,  -508,  -508,  -508,     0,     0,   406,   407, 
     1831     408,   409,   410,     0,     0,     0,     0,     0,     0,   330, 
     1832     331,   563,     0,   564,     0,     0,     0,     0,     0,     0, 
     1833     179,     0,     0,     0,     0,     0,     0,     0,   411,   412, 
     1834       0,   180,   181,     0,     0,     0,     0,   182,   333,   334, 
     1835     335,     0,     0,   336,     0,   411,   412,   183,   184,     0, 
     1836     151,   185,   186,   187,   188,     0,     0,     0,    92,   152, 
     1837     153,     0,     0,     0,     0,   189,   411,   412,   190,     0, 
     1838       0,     0,     0,     0,     0,     0,     0,   154,   155,     0, 
     1839       0,     0,   156,   157,   158,   159,     0,     0,     0,     0, 
     1840       0,     0,     0,     0,   160,   161,   162,   163,   164,   165, 
     1841     166,     0,   167,   168,   169,     0,     0,   170,   171,   172, 
     1842       0,   173,   174,   175,   176,   177,     0,   178,     0,     0, 
     1843    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1844     180,   181,     0,     0,     0,     0,     0,     0,     0,     0, 
     1845       0,   411,   412,   330,   331,   332,   183,   184,     0,     0, 
     1846     185,   186,   187,   188,     0,     0,     0,   337,     0,     0, 
     1847       0,     0,   411,   412,   189,     0,     0,   565,     0,   179, 
     1848       0,     0,   333,   334,   335,     0,     0,   336,     0,     0, 
     1849     180,   181,     0,     0,     0,     0,   182,   818,     0,     0, 
     1850       0,     0,     0,     0,     0,   151,   183,   184,     0,     0, 
     1851     185,   186,   187,   188,   152,   153,     0,    92,     0,     0, 
     1852       0,     0,     0,     0,   189,     0,     0,   190,     0,     0, 
     1853       0,     0,   154,   155,     0,   206,     0,   156,   157,   158, 
     1854     159,     0,     0,     0,     0,     0,     0,     0,     0,   160, 
     1855     161,   162,   163,   164,   165,   166,     0,   167,   168,   169, 
     1856       0,     0,   170,   171,   172,     0,   173,   174,   175,   176, 
     1857     177,     0,   178,     0,   180,   181,     0,     0,     0,     0, 
     1858       0,     0,     0,   330,   331,     0,     0,     0,     0,     0, 
     1859     183,   184,     0,     0,   185,   186,   187,   188,     0,     0, 
     1860       0,   337,     0,     0,     0,     0,     0,     0,   189,     0, 
     1861       0,   338,   333,   334,   335,     0,     0,   336,     0,     0, 
     1862       0,     0,     0,     0,   179,   899,     0,     0,     0,     0, 
     1863       0,     0,     0,   151,     0,   180,   181,     0,     0,     0, 
     1864       0,   182,   152,   153,     0,     0,     0,     0,     0,     0, 
     1865       0,   183,   184,     0,     0,   185,   186,   187,   188,     0, 
     1866     154,   155,    92,     0,     0,   156,   157,   158,   159,   189, 
     1867       0,     0,   190,     0,     0,     0,     0,   160,   161,   162, 
     1868     163,   164,   165,   166,     0,   167,   168,   169,     0,     0, 
     1869     170,   171,   172,     0,   173,   174,   175,   176,   177,     0, 
     1870     178,     0,     0,     0,   180,   181,     0,     0,     0,     0, 
     1871    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1872     183,   184,     0,     0,   185,   186,   187,   188,     0,     0, 
     1873       0,   337,     0,     0,     0,     0,     0,     0,   189,     0, 
     1874       0,   565,     0,     0,     0,     0,     0,     0,     0,     0, 
     1875       0,     0,   179,     0,   532,     0,     0,     0,     0,     0, 
     1876       0,   151,     0,   180,   181,     0,     0,     0,     0,   182, 
     1877     152,   153,   533,     0,     0,     0,     0,     0,     0,   183, 
     1878     184,     0,     0,   185,   186,   187,   188,     0,   154,   155, 
     1879      92,     0,     0,   156,   157,   158,   159,   189,     0,     0, 
     1880     190,     0,     0,     0,     0,   160,   161,   162,   163,   164, 
     1881     165,   166,     0,   167,   168,   169,     0,     0,   170,   171, 
     1882     172,     0,   173,   174,   175,   176,   177,     0,   178,   455, 
     1883       0,     0,     0,   456,   457,   458,   459,     0,     0,     0, 
     1884       0,     0,     0,     0,     0,   460,   461,   462,   463,   464, 
     1885     465,   466,     0,   467,   468,   469,     0,     0,   470,   471, 
     1886     472,     0,     0,   473,   474,   475,   476,     0,   477,     0, 
     1887    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1888     179,     0,   657,     0,     0,     0,     0,     0,     0,   151, 
     1889       0,   180,   181,     0,     0,     0,     0,   182,   152,   153, 
     1890       0,   658,     0,     0,     0,     0,     0,   183,   184,     0, 
     1891       0,   185,   186,   187,   188,     0,   154,   155,    92,     0, 
     1892       0,   156,   157,   158,   159,   189,     0,     0,   190,     0, 
     1893       0,     0,     0,   160,   161,   162,   163,   164,   165,   166, 
     1894       0,   167,   168,   169,     0,     0,   170,   171,   172,     0, 
     1895     173,   174,   175,   176,   177,     0,   178,     0,   478,     0, 
     1896    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1897    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1898    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1899    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1900       0,     0,     0,     0,     0,     0,     0,     0,   179,     0, 
     1901     733,     0,     0,     0,     0,     0,     0,   151,     0,   180, 
     1902     181,     0,     0,     0,     0,   182,   152,   153,   533,     0, 
     1903       0,     0,     0,     0,     0,   183,   184,     0,     0,   185, 
     1904     186,   187,   188,     0,   154,   155,    92,     0,     0,   156, 
     1905     157,   158,   159,   189,     0,     0,   190,     0,     0,     0, 
     1906       0,   160,   161,   162,   163,   164,   165,   166,     0,   167, 
     1907     168,   169,     0,     0,   170,   171,   172,     0,   173,   174, 
     1908     175,   176,   177,     0,   178,     0,     0,     0,     0,     0, 
     1909    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1910    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1911    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1912    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1913       0,     0,     0,     0,     0,     0,   179,     0,   640,     0, 
     1914       0,     0,     0,     0,     0,   151,     0,   180,   181,     0, 
     1915       0,     0,     0,   182,   152,   153,     0,     0,     0,     0, 
     1916       0,     0,     0,   183,   184,     0,     0,   185,   186,   187, 
     1917     188,     0,   154,   155,    92,     0,     0,   156,   157,   158, 
     1918     159,   189,     0,     0,   190,     0,     0,     0,     0,   160, 
     1919     161,   162,   163,   164,   165,   166,     0,   167,   168,   169, 
     1920       0,     0,   170,   171,   172,     0,   173,   174,   175,   176, 
     1921     177,     0,   178,     0,     0,     0,     0,     0,     0,     0, 
     1922    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1923    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1924    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1925    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1926       0,     0,     0,     0,   179,     0,   662,     0,     0,     0, 
     1927       0,     0,     0,   151,     0,   180,   181,     0,     0,     0, 
     1928       0,   182,   152,   153,     0,     0,     0,     0,     0,     0, 
     1929       0,   183,   184,     0,     0,   185,   186,   187,   188,     0, 
     1930     154,   155,    92,     0,     0,   156,   157,   158,   159,   189, 
     1931       0,     0,   190,     0,     0,     0,     0,   160,   161,   162, 
     1932     163,   164,   165,   166,     0,   167,   168,   169,     0,     0, 
     1933     170,   171,   172,     0,   173,   174,   175,   176,   177,     0, 
     1934     178,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1935    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1936    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1937    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1938    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1939       0,     0,   179,     0,   664,     0,     0,     0,     0,     0, 
     1940       0,   151,     0,   180,   181,     0,     0,     0,     0,   182, 
     1941     152,   153,     0,     0,     0,     0,     0,     0,     0,   183, 
     1942     184,     0,     0,   185,   186,   187,   188,     0,   154,   155, 
     1943      92,     0,     0,   156,   157,   158,   159,   189,     0,     0, 
     1944     190,     0,     0,     0,     0,   160,   161,   162,   163,   164, 
     1945     165,   166,     0,   167,   168,   169,     0,     0,   170,   171, 
     1946     172,     0,   173,   174,   175,   176,   177,     0,   178,     0, 
     1947    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1948    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1949    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1950    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1951    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1952     179,     0,     0,     0,     0,     0,     0,     0,     0,   151, 
     1953       0,   180,   181,     0,     0,     0,     0,   182,   152,   153, 
     1954     751,     0,   752,     0,     0,     0,     0,   183,   184,     0, 
     1955       0,   185,   186,   187,   188,     0,   154,   155,    92,     0, 
     1956       0,   156,   157,   158,   159,   189,     0,     0,   190,     0, 
     1957       0,     0,     0,   160,   161,   162,   163,   164,   165,   166, 
     1958       0,   167,   168,   169,     0,     0,   170,   171,   172,     0, 
     1959     173,   174,   175,   176,   177,     0,   178,     0,     0,     0, 
     1960    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1961    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1962    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1963    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1964       0,     0,     0,     0,     0,     0,     0,     0,   179,     0, 
     1965       0,     0,     0,     0,     0,     0,     0,   151,     0,   180, 
     1966     181,     0,     0,     0,     0,   182,   152,   153,   533,     0, 
     1967       0,     0,     0,     0,     0,   183,   184,     0,     0,   185, 
     1968     186,   187,   188,     0,   154,   155,    92,     0,     0,   156, 
     1969     157,   158,   159,   189,     0,     0,   753,     0,     0,     0, 
     1970       0,   160,   161,   162,   163,   164,   165,   166,     0,   167, 
     1971     168,   169,     0,     0,   170,   171,   172,     0,   173,   174, 
     1972     175,   176,   177,     0,   178,     0,     0,     0,     0,     0, 
     1973    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1974    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1975    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1976    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1977       0,     0,     0,     0,     0,     0,   179,     0,     0,     0, 
     1978       0,     0,     0,     0,     0,   151,     0,   180,   181,     0, 
     1979       0,     0,     0,   182,   152,   153,   558,     0,     0,     0, 
     1980       0,     0,     0,   183,   184,     0,     0,   185,   186,   187, 
     1981     188,     0,   154,   155,   539,     0,     0,   156,   157,   158, 
     1982     159,   189,     0,     0,   190,     0,     0,     0,     0,   160, 
     1983     161,   162,   163,   164,   165,   166,     0,   167,   168,   169, 
     1984       0,     0,   170,   171,   172,     0,   173,   174,   175,   176, 
     1985     177,     0,   178,     0,     0,     0,     0,     0,     0,     0, 
     1986    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1987    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1988    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1989    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     1990       0,     0,     0,     0,   179,     0,     0,     0,     0,     0, 
     1991       0,     0,     0,   151,     0,   180,   181,     0,     0,     0, 
     1992       0,   182,   152,   153,   533,     0,     0,     0,     0,     0, 
     1993       0,   183,   184,     0,     0,   185,   186,   187,   188,     0, 
     1994     154,   155,    92,     0,     0,   156,   157,   158,   159,   189, 
     1995       0,     0,   190,     0,     0,     0,     0,   160,   161,   162, 
     1996     163,   164,   165,   166,     0,   167,   168,   169,     0,     0, 
     1997     170,   171,   172,     0,   173,   174,   175,   176,   177,     0, 
     1998     178,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     1999    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2000    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2001    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2002    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2003       0,     0,   179,     0,     0,     0,     0,     0,     0,     0, 
     2004       0,   151,     0,   180,   181,     0,     0,     0,     0,   182, 
     2005     152,   153,   738,     0,     0,     0,     0,     0,     0,   183, 
     2006     184,     0,     0,   185,   186,   187,   188,     0,   154,   155, 
     2007      92,     0,     0,   156,   157,   158,   159,   189,     0,     0, 
     2008     190,     0,     0,     0,     0,   160,   161,   162,   163,   164, 
     2009     165,   166,     0,   167,   168,   169,     0,     0,   170,   171, 
     2010     172,     0,   173,   174,   175,   176,   177,     0,   178,     0, 
     2011    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2012    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2013    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2014    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2015    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2016     179,     0,     0,     0,     0,     0,     0,     0,     0,   151, 
     2017       0,   180,   181,     0,     0,     0,     0,   182,   152,   153, 
     2018     714,     0,     0,     0,     0,     0,     0,   183,   184,     0, 
     2019       0,   185,   186,   187,   188,     0,   154,   155,    92,     0, 
     2020       0,   156,   157,   158,   159,   189,     0,     0,   190,     0, 
     2021       0,     0,     0,   160,   161,   162,   163,   164,   165,   166, 
     2022       0,   167,   168,   169,     0,     0,   170,   171,   172,     0, 
     2023     173,   174,   175,   176,   177,     0,   178,     0,     0,     0, 
     2024    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2025    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2026    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2027    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2028       0,     0,     0,     0,     0,     0,     0,     0,   179,     0, 
     2029       0,     0,     0,     0,     0,     0,     0,   151,     0,   180, 
     2030     181,     0,     0,     0,     0,   182,   152,   153,   953,     0, 
     2031       0,     0,     0,     0,     0,   183,   184,     0,     0,   185, 
     2032     186,   187,   188,     0,   154,   155,    92,     0,     0,   156, 
     2033     157,   158,   159,   189,     0,     0,   190,     0,     0,     0, 
     2034       0,   160,   161,   162,   163,   164,   165,   166,     0,   167, 
     2035     168,   169,     0,     0,   170,   171,   172,     0,   173,   174, 
     2036     175,   176,   177,     0,   178,     0,     0,     0,     0,     0, 
     2037    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2038    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2039    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2040    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2041       0,     0,     0,     0,     0,     0,   179,     0,     0,     0, 
     2042       0,     0,     0,     0,     0,   151,     0,   180,   181,     0, 
     2043       0,     0,     0,   182,   152,   153,     0,     0,     0,     0, 
     2044       0,     0,     0,   183,   184,     0,     0,   185,   186,   187, 
     2045     188,     0,   154,   155,    92,     0,     0,   156,   157,   158, 
     2046     159,   189,     0,     0,   190,     0,     0,     0,     0,   160, 
     2047     161,   162,   163,   164,   165,   166,     0,   167,   168,   169, 
     2048       0,     0,   170,   171,   172,     0,   173,   174,   175,   176, 
     2049     177,     0,   178,     0,     0,     0,     0,     0,     0,     0, 
     2050    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2051    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2052    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2053    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2054       0,     0,     0,     0,   179,     0,     0,     0,     0,     0, 
     2055       0,     0,     0,   151,     0,   180,   181,     0,     0,     0, 
     2056       0,   182,   152,   153,     0,     0,     0,     0,     0,     0, 
     2057       0,   183,   184,     0,     0,   185,   186,   187,   188,     0, 
     2058     154,   155,    92,     0,     0,   156,   157,   158,   159,   189, 
     2059       0,     0,   190,     0,     0,     0,     0,   160,   161,   162, 
     2060     163,   164,   165,   166,     0,   167,   168,   169,     0,     0, 
     2061     170,   171,   172,     0,   173,   174,   175,   176,   177,     0, 
     2062     178,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     2063    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2064    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2065    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2066    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2067       0,     0,   179,     0,     0,     0,     0,     0,     0,     0, 
     2068       0,   151,     0,   180,   181,     0,     0,     0,     0,   182, 
     2069     152,   153,     0,     0,     0,     0,     0,     0,     0,   183, 
     2070     184,     0,     0,   185,   186,   187,   188,     0,   154,   155, 
     2071      92,     0,     0,   156,   157,   158,   159,   189,     0,     0, 
     2072     383,     0,     0,     0,     0,   160,   161,   162,   163,   164, 
     2073     165,   166,     0,   167,   168,   169,     0,     0,   170,   171, 
     2074     172,     0,   173,   174,   175,   176,   177,     0,   178,     0, 
     2075    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2076    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2077    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2078    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2079    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2080     179,     0,     0,     0,     0,     0,     0,     0,     0,   151, 
     2081       0,   180,   181,     0,     0,     0,     0,   182,   152,   153, 
     2082       0,     0,     0,     0,     0,     0,     0,   183,   184,     0, 
     2083       0,   185,   186,   187,   188,     0,   154,   155,    92,     0, 
     2084       0,   156,   157,   158,   159,   446,     0,     0,   190,     0, 
     2085       0,     0,     0,   160,   161,   162,   163,   164,   165,   166, 
     2086       0,   167,   168,   169,     0,     0,   170,   171,   172,     0, 
     2087     173,   174,   175,   176,   177,     0,   178,     0,     0,     0, 
     2088    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2089    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2090    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2091    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2092       0,     0,     0,     0,     0,     0,     0,     0,   179,     0, 
     2093       0,     0,     0,     0,     0,     0,     0,   151,     0,   180, 
     2094     181,     0,     0,     0,     0,   182,   152,   153,     0,     0, 
     2095       0,     0,     0,     0,     0,   183,   184,     0,     0,   185, 
     2096     186,   187,   188,     0,   154,   155,    92,     0,     0,   156, 
     2097     157,   158,   159,   189,     0,     0,   542,     0,     0,     0, 
     2098       0,   160,   161,   162,   163,   164,   165,   166,     0,   167, 
     2099     168,   169,     0,     0,   170,   171,   172,     0,   173,   174, 
     2100     175,   176,   177,     0,   178,     0,     0,     0,     0,     0, 
     2101    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2102    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2103    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2104    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2105       0,     0,     0,     0,     0,     0,   179,     0,     0,     0, 
     2106       0,     0,     0,     0,     0,   151,     0,   180,   181,     0, 
     2107       0,     0,     0,   182,   152,   153,     0,     0,     0,     0, 
     2108       0,     0,     0,   183,   184,     0,     0,   185,   186,   187, 
     2109     188,     0,   154,   155,   893,     0,     0,   156,   157,   158, 
     2110     159,   189,     0,     0,   383,     0,     0,     0,     0,   160, 
     2111     161,   162,   163,   164,   165,   166,     0,   167,   168,   169, 
     2112       0,     0,   170,   171,   172,     0,   173,   174,   175,   176, 
     2113     177,     0,   178,     0,     0,     0,     0,     0,     0,     0, 
     2114    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2115    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2116    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2117    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2118       0,     0,     0,     0,   179,    19,     0,     0,    20,   -28, 
     2119      21,    22,     0,     0,    23,   180,   181,    24,    25,    26, 
     2120       0,   182,     0,     0,    27,    28,     0,     0,     0,     0, 
     2121       0,   183,   184,     0,     0,   185,   186,   187,   188,    29, 
     2122       0,     0,    92,    30,    31,     0,     0,     0,    32,   189, 
     2123       0,     0,   918,     0,    33,     0,    34,    35,     0,    36, 
     2124       0,    37,    38,    39,    40,    41,     0,    42,    43,    44, 
     2125      45,    46,    47,    48,    49,    50,    51,    52,    53,    54, 
     2126      55,    56,    57,     0,     0,    58,    59,    60,     0,    61, 
     2127      62,    63,     0,    64,    65,    66,     0,     0,    67,     0, 
     2128      68,     0,     0,    69,    70,    71,    72,     0,     0,    73, 
     2129      74,    75,     0,     0,     0,     0,     0,    76,     0,     0, 
     2130       0,    77,    78,    79,    80,    81,    82,    83,     0,    84, 
     2131      85,    86,    87,    88,     0,     0,    89,     0,     0,     0, 
     2132       0,   154,   155,    90,    91,    92,   156,   157,   158,   159, 
     2133       0,     0,    93,     0,     0,     0,     0,     0,   160,   161, 
     2134     162,   163,   164,   165,   166,     0,   167,   168,   169,     0, 
     2135       0,   170,   171,   172,     0,   173,   174,   175,   176,   177, 
     2136       0,   178,   154,   155,     0,     0,     0,   156,   157,   158, 
     2137     159,     0,     0,     0,     0,     0,     0,     0,     0,   160, 
     2138     161,   162,   163,   164,   165,   166,     0,   167,   168,   169, 
     2139       0,     0,   170,   171,   172,     0,   173,   174,   175,   176, 
     2140     177,     0,   178,     0,     0,     0,     0,     0,     0,     0, 
     2141    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2142       0,     0,     0,     0,   180,   181,     0,     0,     0,     0, 
     2143     182,     0,     0,     0,     0,     0,     0,     0,     0,     0, 
     2144     183,   184,     0,     0,   185,   186,   187,   188,     0,     0, 
     2145      23,    92,     0,     0,     0,     0,     0,     0,   189,     0, 
     2146       0,   577,     0,     0,     0,   180,   181,     0,     0,     0, 
     2147       0,   182,     0,     0,     0,    29,     0,     0,     0,     0, 
     2148       0,   183,   184,     0,     0,   185,   186,   187,   188,     0, 
     2149      33,     0,   893,     0,     0,    36,   348,     0,     0,   189, 
     2150      40,    41,   577,     0,     0,     0,     0,     0,     0,     0, 
     2151     349,    50,    51,    52,    53,    54,    55,   350,     0,     0, 
     2152    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2153      65,     0,     0,     0,     0,     0,    68,     0,     0,     0, 
     2154       0,     0,     0,     0,     0,    73,     0,    75,     0,     0, 
     2155    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2156    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2157    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
     2158       0,    92,     0,     0,     0,     0,     0,     0,    93 
    7022159}; 
    703 #define YYTABLESIZE 27711 
    704 short fortrantable[] = {                                     201, 
    705   442,  206,  343,  546,  400,  212,  218,  388,  206,  450, 
    706   440,  592,  522,  569,  226,  440,  147,   99,  531,  342, 
    707   230,  536,  639,  577,  384,  234,  224,  525,  202,  539, 
    708   285,  593,  528,  729,   71,  391,  221,  926,  108,  530, 
    709   595,  383,  202,  191,  249,  250,  535,  191,  597,  595, 
    710   890,  595,  257,  740,  183,  630,  688,  394,  764,  127, 
    711   236,  191,  766,  866,  236,  243,  281,  236,  183,  266, 
    712   267,  268,  133,  133,  133,  133,  888,  324,  259,  589, 
    713   291,  447,   71,  205,  236,  869,  351,  134,  433,  299, 
    714   301,  433,  260,  439,  829,  526,  217,  205,  439,  338, 
    715   214,  322,  704,  338,  309,  321,  338,  420,  326,  421, 
    716   206,  310,  433,  894,  895,  715,  216,  142,  434,  240, 
    717   241,  238,  239,  354,  355,  417,  415,  145,  416,  288, 
    718     9,  417,  362,  246,  317,  131,  131,  131,   89,  453, 
    719   758,  589,  333,  420,  334,  421,  376,  247,  213,  420, 
    720   148,  421,  389,  240,  241,  425,  278,  203,  423,  282, 
    721   240,  241,  701,  392,  213,  402,  227,  399,  402,  761, 
    722   236,  673,  424,  271,  581,  270,  702,  767,  426,  913, 
    723   388,  762,  402,  762,  236,  430,  207,  762,  132,  132, 
    724   132,  741,  210,  343,  435,  721,  888,  384,  937,  436, 
    725   721,  314,  219,  343,  403,  433,  580,  403,  433,  389, 
    726   342,  343,  388,  427,  383,  840,  841,  842,  923,  482, 
    727   342,  403,   30,  579,  516,  859,  253,  254,  342,  628, 
    728   860,  698,   30,  592,  699,  735,  514,  438,  229,  739, 
    729   446,  592,  448,  451,  952,  508,  383,  231,  481,  755, 
    730   589,  333,  404,  334,  236,  404,  714,  592,  213,  524, 
    731   529,  504,  527,  642,  307,   89,  306,  202,  237,  404, 
    732   768,  769,  770,  771,  772,  150,  603,  151,  731,  602, 
    733   517,   99,  543,  244,  543,  248,  191,  127,  551,  240, 
    734   241,  589,  333,  183,  334,  398,  685,  555,  556,  295, 
    735   165,  165,  133,  560,  532,  803,  302,  805,  807,  590, 
    736   591,  572,  573,  574,  575,  134,  251,  261,  442,  486, 
    737   419,  607,  205,  450,  602,  389,  552,  258,  440,  440, 
    738   557,  269,  515,  338,  338,  606,  361,  273,  363,  610, 
    739   611,  612,  613,  614,  615,  616,  617,  618,  619,  620, 
    740   621,  874,  875,  275,  391,  418,  419,  631,  344,  350, 
    741   917,  418,  419,  938,  131,  887,  887,  922,  887,  212, 
    742   588,  590,  591,  760,  589,  333,    2,  334,  646,  647, 
    743   648,  649,  650,  651,  652,  653,  654,  655,  656,  657, 
    744   658,  659,  660,  664,  665,  667,  669,  236,  670,  671, 
    745   279,  202,  232,  296,    3,    4,  303,  284,  581,  233, 
    746   223,  439,  439,  538,  323,  596,  581,  132,  283,  592, 
    747   191,    5,    6,  393,  596,  433,  596,  183,  868,  343, 
    748   288,  290,  592,  592,  592,  592,  592,  853,  883,  897, 
    749   580,   71,  854,  220,  925,  108,  342,  298,  580,  847, 
    750   343,  343,  343,  343,  343,  830,  205,  579,  292,  312, 
    751   832,  440,  697,  327,  328,  579,  440,  342,  342,  342, 
    752   342,  342,  803,  805,  807,  330,  331,  319,   30,  588, 
    753   590,  591,  392,  352,  810,  358,  712,  359,  762,  360, 
    754   719,  877,  720,  716,  364,  365,  383,   30,  383,  383, 
    755   725,  609,  730,   28,  602,  366,   30,   30,  130,  130, 
    756   130,  130,    7,  130,  543,  675,  543,  367,  674,  368, 
    757   543,  590,  591,   30,   30,  369,  370,  721,  721,  721, 
    758   721,  721,  859,  857,  721,  858,  371,  860,  604,  605, 
    759   887,  754,  372,  373,  439,    8,  315,  592,  374,  439, 
    760   555,  759,  375,  555,  377,  438,  448,  623,  624,  625, 
    761   626,  627,  314,  378,  924,  397,  554,  379,  903,  554, 
    762   636,  380,  381,  521,  777,  523,  206,  778,  390,  417, 
    763   415,  398,  416,  533,  882,  589,  333,  394,  334,  401, 
    764   912,  859,  857,  856,  858,  581,  860,  420,  403,  421, 
    765   391,  855,  402,  588,  590,  591,   89,  804,  690,  806, 
    766   808,  689,  389,  429,   30,  431,  817,  694,  343,  819, 
    767   693,  934,  918,  919,  920,  921,  338,  580,  902,  338, 
    768   338,  338,  338,  338,  338,  342,  820,  821,  432,  717, 
    769   480,  822,  520,  823,  579,  757,  810,   30,  756,  338, 
    770   936,  338,  484,  485,  774,  827,  817,  773,  779,  780, 
    771   501,  602,  602,  383,  383,  383,  794,  881,  836,  602, 
    772   482,  487,  417,  415,  795,  416,  796,  602,  797,  602, 
    773   824,  602,  798,  849,  809,  602,  851,  602,  448,  850, 
    774   420,  403,  421,  448,  502,  834,  886,  475,  905,  885, 
    775   907,  900,  939,  693,  511,  773,  506,  475,  518,  543, 
    776   178,  179,  284,  277,  236,  581,  277,  236,  520,  552, 
    777   106,  876,  552,  106,  295,  560,  181,  182,  880,  534, 
    778   183,  184,  185,  186,  302,  537,  865,  475,  130,  475, 
    779   475,  475,  475,  547,  187,  135,  135,  580,  211,  449, 
    780   241,  211,  449,  241,  548,  391,  549,  475,  475,  475, 
    781   246,  135,  135,  246,  579,  135,  135,  135,  135,  486, 
    782   278,  550,  486,  278,  804,  806,  808,  337,  329,  135, 
    783   337,  329,  107,  558,  243,  107,  212,  243,  899,  242, 
    784   483,  335,  242,  483,  335,  404,  405,  406,  407,  408, 
    785   576,  409,  410,  411,  412,  413,  414,  586,  336,  418, 
    786   419,  336,  600,  909,  588,  590,  591,  487,  334,  331, 
    787   487,  334,  331,  333,  632,  712,  333,  915,  332,  634, 
    788   633,  332,  635,  637,  678,  681,  682,  324,  684,  686, 
    789   687,  695,  692,  691,  696,  543,  700,  338,  338,  338, 
    790   338,  338,  705,  338,  338,  338,  338,  338,  338,  707, 
    791   736,  338,  338,  726,  738,  727,  746,  749,  223,  750, 
    792   591,  765,  775,  945,  799,  817,  948,  800,  801,  811, 
    793   812,  818,  826,  392,  825,  831,  833,  317,  404,  405, 
    794   406,  407,  408,  838,  409,  410,  411,  412,  413,  414, 
    795   845,  846,  418,  419,  848,  314,  861,  236,  958,  525, 
    796   314,  314,  950,  314,  863,  960,  864,  236,  867,  871, 
    797   872,  961,  870,  873,  963,  896,  900,  906,  314,  314, 
    798   314,  911,  929,  741,  931,  932,  935,  971,  941,  940, 
    799   942,  972,  943,  944,  973,  974,  956,  949,  955,  959, 
    800   976,  236,  860,  475,  397,  475,  475,  475,  475,  475, 
    801   957,  475,  475,  475,  475,  475,  475,  964,  500,  475, 
    802   475,  966,  475,  967,  475,  925,  108,  475,  475,  475, 
    803   475,  475,  475,  475,  475,  475,  475,  475,  475,  475, 
    804   475,  475,  475,  475,  475,  215,  164,  127,  475,  475, 
    805   209,  475,  475,  475,  475,  475,  475,  475,  475,  475, 
    806   475,  475,  475,  475,  475,  475,  475,  475,  475,  475, 
    807   475,  475,  475,  475,  475,  475,  475,  443,  475,  354, 
    808   475,  475,  475,  475,  475,  562,  475,  475,  475,  475, 
    809   475,  475,  475,  475,  475,  475,  475,  475,  475,  475, 
    810   475,  475,  213,  444,  475,  475,  475,  483,  475,  475, 
    811   475,  325,  475,  475,  475,  317,  118,  475,  354,  475, 
    812   326,  544,  475,  475,  475,  475,  545,  891,  475,  475, 
    813   475,  914,  968,  930,  718,  510,  475,  475,  475,  475, 
    814   475,  475,  475,  475,  475,  475,  475,  519,  475,  475, 
    815   475,  475,  475,  475,  475,  475,  351,  475,  475,  475, 
    816   475,  889,  475,  475,  475,  594,  351,  629,  828,  643, 
    817   947,  475,  475,  879,  916,   15,  314,  314,  314,  314, 
    818   314,  144,  314,  314,  314,  314,  314,  314,  256,  513, 
    819   314,  314,  835,  351,  676,  965,  733,  351,  351,  351, 
    820   351,  351,  837,  351,  728,  703,  732,  844,  747,  318, 
    821   744,  878,  745,  236,  351,  748,  351,  351,  351,  884, 
    822     0,    0,  348,    0,    0,    0,    0,    0,  236,  236, 
    823     0,    0,  236,    0,  236,    0,    0,  236,  236,  236, 
    824   236,  236,  236,  236,    0,    0,  236,  236,  236,    0, 
    825     0,    0,    0,  236,  236,    0,    0,    0,  236,  236, 
    826     0,    0,    0,    0,    0,    0,    0,    0,  236,    0, 
    827     0,    0,  236,  236,    0,    0,    0,  236,    0,    0, 
    828     0,    0,    0,  236,    0,  236,  236,    0,  236,    0, 
    829   236,  236,  236,  236,  236,    0,  236,  236,  236,  236, 
    830   236,  236,  236,  236,  236,  236,  236,  236,  236,  236, 
    831   236,  236,    0,    0,  236,  236,  236,    0,  236,  236, 
    832   236,    0,  236,  236,  236,    0,  314,  236,    0,  236, 
    833     0,    0,  236,  236,  236,  236,  314,    0,  236,  236, 
    834   236,    0,    0,    0,    0,    0,  236,    0,    0,  236, 
    835   236,  236,  236,  236,  236,  236,  236,    0,  236,  236, 
    836   236,  236,  236,  314,    0,  236,    0,  314,  314,  314, 
    837   314,  314,  236,  236,  236,    0,    0,    0,    0,    0, 
    838     0,  236,  236,    0,  314,    0,  314,  314,  314,    0, 
    839     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    840     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    841     0,    0,  351,    0,  351,  351,  351,  351,  351,    0, 
    842   351,  351,  351,  351,  351,  351,    0,  351,  351,  351, 
    843     0,  351,    0,  351,    0,    0,  351,  351,  351,  351, 
    844   351,  351,  351,    0,    0,  351,  351,  351,    0,    0, 
    845     0,    0,  351,  351,    0,    0,    0,  351,  351,    0, 
    846     0,    0,    0,    0,    0,    0,    0,  351,    0,    0, 
    847     0,  351,  351,    0,    0,    0,  351,    0,    0,    0, 
    848     0,    0,  351,    0,  351,  351,    0,  351,    0,  351, 
    849   351,  351,  351,  351,    0,  351,  351,  351,  351,  351, 
    850   351,  351,  351,  351,  351,  351,  351,  351,  351,  351, 
    851   351,    0,  578,  351,  351,  351,    0,  351,  351,  351, 
    852     0,  351,  351,  351,    0,    0,  351,    0,  351,    0, 
    853     0,  351,  351,  351,  351,  204,  351,  351,  351,  351, 
    854     0,    0,    0,    0,    0,  351,    0,    0,  351,  351, 
    855   351,  351,  351,  351,  351,  351,    0,  351,  351,  351, 
    856   351,  351,    0,    0,  351,  188,    0,    0,  150,    0, 
    857   151,  351,  351,  351,    0,    0,    0,    0,    0,    0, 
    858   351,  351,  314,    0,  314,  314,  314,  314,  314,    0, 
    859   314,  314,  314,  314,  314,  314,    0,  314,  314,  314, 
    860     0,  314,    0,  314,    0,    0,  314,  314,  314,  314, 
    861   314,  314,  314,    0,    0,  314,  314,  314,    0,    0, 
    862     0,    0,  314,  314,    0,    0,    0,  314,  314,    0, 
    863     0,    0,    0,    0,    0,    0,    0,  314,    0,    0, 
    864     0,  314,  314,    0,    0,    0,  314,    0,    0,    0, 
    865     0,    0,  314,    0,  314,  314,    0,  314,    0,  314, 
    866   314,  314,  314,  314,    0,  314,  314,  314,  314,  314, 
    867   314,  314,  314,  314,  314,  314,  314,  314,  314,  314, 
    868   314,    0,    0,  314,  314,  314,    0,  314,  314,  314, 
    869     0,  314,  314,  314,    0,  318,  314,    0,  314,    0, 
    870     0,  314,  314,  314,  314,  318,  314,  314,  314,  314, 
    871     0,    0,    0,    0,    0,  314,    0,    0,  314,  314, 
    872   314,  314,  314,  314,  314,  314,    0,  314,  314,  314, 
    873   314,  314,  318,    0,  314,    0,  318,  318,  318,  318, 
    874   318,  314,  314,  314,    0,    0,    0,    0,    0,    0, 
    875   314,  314,    0,  318,    0,  318,  318,  318,    0,  152, 
    876   153,    0,    0,    0,  154,  155,  156,  157,    0,    0, 
    877     0,    0,    0,    0,    0,    0,  158,  159,  160,  161, 
    878   162,  163,  164,    0,  165,  166,  167,    0,  149,  168, 
    879   169,  170,    0,  171,  172,  173,  174,  175,    0,  176, 
    880     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    881     0,    0,  152,  153,    0,    0,    0,  154,  155,  156, 
    882   157,    0,    0,    0,    0,    0,    0,    0,    0,  158, 
    883   159,  160,  161,  162,  163,  164,    0,  165,  166,  167, 
    884     0,    0,  168,  169,  170,    0,  171,  172,  173,  174, 
    885   175,    0,  176,    0,    0,    0,    0,    0,    0,    0, 
    886     0,    0,  178,  179,    0,  315,    0,    0,  180,    0, 
    887     0,    0,    0,    0,    0,  315,    0,    0,  181,  182, 
    888     0,    0,  183,  184,  185,  186,    0,    0,    0,   89, 
    889     0,    0,    0,    0,    0,    0,  187,    0,    0,    0, 
    890     0,    0,  315,    0,  177,    0,  315,  315,  315,  315, 
    891   315,    0,    0,    0,    0,  178,  179,    0,    0,    0, 
    892     0,  180,    0,  315,    0,  315,  315,  315,    0,    0, 
    893     0,  181,  182,    0,    0,  183,  184,  185,  186,    0, 
    894     0,    0,   89,    0,    0,    0,    0,    0,    0,  187, 
    895     0,  318,    0,  318,  318,  318,  318,  318,    0,  318, 
    896   318,  318,  318,  318,  318,    0,  318,  318,  318,    0, 
    897   318,    0,  318,    0,    0,  318,  318,  318,  318,  318, 
    898   318,  318,    0,    0,  318,  318,  318,    0,    0,    0, 
    899     0,  318,  318,    0,    0,    0,  318,  318,    0,    0, 
    900     0,    0,    0,    0,    0,    0,  318,    0,    0,    0, 
    901   318,  318,    0,    0,    0,  318,    0,    0,    0,    0, 
    902     0,  318,    0,  318,  318,    0,  318,    0,  318,  318, 
    903   318,  318,  318,    0,  318,  318,  318,  318,  318,  318, 
    904   318,  318,  318,  318,  318,  318,  318,  318,  318,  318, 
    905     0,    0,  318,  318,  318,    0,  318,  318,  318,    0, 
    906   318,  318,  318,    0,    0,  318,    0,  318,    0,    0, 
    907   318,  318,  318,  318,    0,  318,  318,  318,  318,    0, 
    908     0,    0,    0,    0,  318,    0,    0,  318,  318,  318, 
    909   318,  318,  318,  318,  318,    0,  318,  318,  318,  318, 
    910   318,  188,    0,  318,  150,    0,  151,    0,    0,    0, 
    911   318,  318,  318,    0,    0,    0,    0,    0,    0,  318, 
    912   318,  315,  661,  315,  315,  315,  315,  315,    0,  315, 
    913   315,  315,  315,  315,  315,    0,  315,  315,  315,    0, 
    914   315,    0,  315,    0,    0,  315,  315,  315,  315,  315, 
    915   315,  315,    0,    0,  315,  315,  315,    0,    0,    0, 
    916     0,  315,  315,    0,    0,    0,  315,  315,    0,    0, 
    917     0,    0,  417,  415,    0,  416,  315,    0,    0,    0, 
    918   315,  315,    0,    0,    0,  315,    0,    0,    0,    0, 
    919   420,  315,  421,  315,  315,    0,  315,    0,  315,  315, 
    920   315,  315,  315,    0,  315,  315,  315,  315,  315,  315, 
    921   315,  315,  315,  315,  315,  315,  315,  315,  315,  315, 
    922     0,    0,  315,  315,  315,    0,  315,  315,  315,    0, 
    923   315,  315,  315,    0,  323,  315,    0,  315,    0,    0, 
    924   315,  315,  315,  315,  323,  315,  315,  315,  315,    0, 
    925     0,    0,    0,    0,  315,    0,  488,  315,  315,  315, 
    926   315,  315,  315,  315,  315,    0,  315,  315,  315,  315, 
    927   315,    0,    0,  315,  323,  323,  323,  323,  323,  323, 
    928   315,  315,  315,    0,    0,    0,    0,    0,    0,  315, 
    929   315,    0,  323,    0,  323,  323,  323,    0,    0,    0, 
    930     0,    0,    0,    0,    0,    0,    0,  253,  254,  489, 
    931     0,    0,    0,    0,    0,    0,    0,  417,  415,    0, 
    932   416,    0,    0,    0,  149,    0,    0,    0,    0,    0, 
    933     0,    0,    0,  662,    0,  420,  490,  421,  491,  492, 
    934   493,    0,    0,  494,  495,    0,  496,  497,  152,  153, 
    935     0,    0,    0,  154,  155,  156,  157,    0,    0,    0, 
    936     0,    0,    0,    0,    0,  158,  159,  160,  161,  162, 
    937   163,  164,    0,  165,  166,  167,    0,    0,  168,  169, 
    938   170,    0,  171,  172,  173,  174,  175,    0,  176,    0, 
    939   406,  407,  408,    0,  409,  410,  411,  412,  413,  414, 
    940     0,    0,  418,  419,  320,    0,    0,    0,    0,    0, 
    941     0,    0,    0,    0,  320,    0,    0,    0,    0,    0, 
    942     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    943     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    944   177,  320,    0,    0,    0,  320,  320,  320,  320,  320, 
    945     0,  178,  179,    0,    0,    0,    0,  180,    0,    0, 
    946     0,    0,  320,    0,  320,  320,  320,  181,  182,    0, 
    947     0,  183,  184,  185,  186,    0,    0,    0,   89,    0, 
    948     0,    0,    0,    0,    0,  187,    0,    0,    0,    0, 
    949   323,    0,  323,  323,  323,  323,  323,    0,  323,  323, 
    950   323,  323,  323,  323,    0,  323,  323,  323,    0,  323, 
    951     0,  323,    0,    0,  323,  323,  323,  323,  323,  323, 
    952   323,    0,    0,  323,  323,  323,    0,    0,    0,    0, 
    953   323,  323,    0,    0,    0,  323,  323,  408,    0,  409, 
    954   410,  411,  412,  413,  414,  323,    0,  418,  419,  323, 
    955   323,    0,    0,    0,  323,    0,    0,    0,    0,    0, 
    956   323,    0,  323,  323,    0,  323,    0,  323,  323,  323, 
    957   323,  323,    0,  323,  323,  323,  323,  323,  323,  323, 
    958   323,  323,  323,  323,  323,  323,  323,  323,  323,    0, 
    959   578,  323,  323,  323,    0,  323,  323,  323,    0,  323, 
    960   323,  323,    0,    0,  323,    0,  323,    0,    0,  323, 
    961   323,  323,  323,    0,  323,  323,  323,  323,    0,    0, 
    962     0,    0,    0,  323,    0,    0,  323,  323,  323,  323, 
    963   323,  323,  323,  323,    0,  323,  323,  323,  323,  323, 
    964     0,    0,  323,  188,    0,  709,  150,    0,  151,  323, 
    965   323,  323,    0,    0,    0,    0,    0,    0,  323,  323, 
    966   320,  708,  320,  320,  320,  320,  320,    0,  320,  320, 
    967   320,  320,  320,  320,    0,  320,  320,  320,    0,  320, 
    968     0,  320,    0,    0,  320,  320,  320,  320,  320,  320, 
    969   320,    0,    0,  320,  320,  320,    0,    0,    0,    0, 
    970   320,  320,    0,    0,    0,  320,  320,    0,    0,    0, 
    971     0,    0,    0,    0,    0,  320,    0,    0,    0,  320, 
    972   320,    0,    0,    0,  320,    0,    0,    0,    0,    0, 
    973   320,    0,  320,  320,    0,  320,    0,  320,  320,  320, 
    974   320,  320,    0,  320,  320,  320,  320,  320,  320,  320, 
    975   320,  320,  320,  320,  320,  320,  320,  320,  320,    0, 
    976     0,  320,  320,  320,    0,  320,  320,  320,    0,  320, 
    977   320,  320,    0,  280,  320,    0,  320,    0,    0,  320, 
    978   320,  320,  320,  280,  320,  320,  320,  320,    0,    0, 
    979     0,    0,    0,  320,    0,    0,  320,  320,  320,  320, 
    980   320,  320,  320,  320,    0,  320,  320,  320,  320,  320, 
    981   280,    0,  320,    0,  280,  280,  280,  280,  280,  320, 
    982   320,  320,    0,    0,    0,    0,    0,    0,  320,  320, 
    983     0,  280,    0,  280,  280,  280,    0,  152,  153,    0, 
    984     0,    0,  154,  155,  156,  157,    0,    0,    0,    0, 
    985     0,    0,    0,    0,  158,  159,  160,  161,  162,  163, 
    986   164,    0,  165,  166,  167,    0,  149,  168,  169,  170, 
    987     0,  171,  172,  173,  174,  175,    0,  176,    0,    0, 
    988     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    989   152,  153,    0,    0,    0,  154,  155,  156,  157,    0, 
    990     0,    0,    0,    0,    0,    0,    0,  158,  159,  160, 
    991   161,  162,  163,  164,    0,  165,  166,  167,    0,    0, 
    992   168,  169,  170,    0,  171,  172,  173,  174,  175,    0, 
    993   176,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    994   178,  179,    0,  279,    0,    0,  180,    0,    0,    0, 
    995     0,    0,    0,  279,    0,    0,  181,  182,    0,    0, 
    996   183,  184,  185,  186,    0,    0,    0,  892,    0,    0, 
    997     0,    0,    0,    0,  187,    0,    0,    0,    0,    0, 
    998     0,    0,  177,    0,  279,  279,  279,  279,  279,    0, 
    999     0,    0,    0,  178,  179,    0,    0,    0,    0,  180, 
    1000     0,  279,    0,  279,  279,  279,    0,    0,    0,  181, 
    1001   182,    0,    0,  183,  184,  185,  186,    0,    0,    0, 
    1002    89,    0,    0,    0,    0,    0,    0,  187,    0,  280, 
    1003     0,  280,  280,  280,  280,  280,    0,  280,  280,  280, 
    1004   280,  280,  280,    0,  280,  280,  280,    0,  280,    0, 
    1005   280,    0,    0,  280,  280,  280,  280,  280,  280,  280, 
    1006     0,    0,  280,  280,  280,    0,    0,    0,    0,  280, 
    1007   280,    0,    0,    0,  280,  280,    0,    0,    0,    0, 
    1008     0,    0,    0,    0,  280,    0,    0,    0,  280,  280, 
    1009     0,    0,    0,  280,    0,    0,    0,    0,    0,  280, 
    1010     0,  280,  280,    0,  280,    0,  280,  280,  280,  280, 
    1011   280,    0,  280,  280,  280,  280,  280,  280,  280,  280, 
    1012   280,  280,  280,  280,  280,  280,  280,  280,    0,    0, 
    1013   280,  280,  280,    0,  280,  280,  280,    0,  280,  280, 
    1014   280,    0,    0,  280,    0,  280,    0,    0,  280,  280, 
    1015   280,  280,    0,  280,  280,  280,  280,    0,    0,    0, 
    1016     0,    0,  280,    0,    0,  280,  280,  280,  280,  280, 
    1017   280,  280,  280,    0,  280,  280,  280,  280,  280,    0, 
    1018     0,  280,  188,    0,  540,  150,    0,  151,  280,  280, 
    1019     0,    0,    0,    0,    0,    0,    0,  280,  280,  279, 
    1020     0,  279,  279,  279,  279,  279,    0,  279,  279,  279, 
    1021   279,  279,  279,    0,  279,  279,  279,    0,  279,    0, 
    1022   279,    0,    0,  279,  279,  279,  279,  279,  279,  279, 
    1023     0,    0,  279,  279,  279,    0,    0,    0,    0,  279, 
    1024   279,    0,    0,    0,  279,  279,    0,    0,  417,  415, 
    1025     0,  416,    0,    0,  279,    0,    0,    0,  279,  279, 
    1026     0,    0,    0,  279,    0,    0,  420,    0,  421,  279, 
    1027     0,  279,  279,    0,  279,    0,  279,  279,  279,  279, 
    1028   279,    0,  279,  279,  279,  279,  279,  279,  279,  279, 
    1029   279,  279,  279,  279,  279,  279,  279,  279,    0,    0, 
    1030   279,  279,  279,    0,  279,  279,  279,    0,  279,  279, 
    1031   279,    0,  538,  279,    0,  279,    0,    0,  279,  279, 
    1032   279,  279,  538,  279,  279,  279,  279,    0,    0,    0, 
    1033     0,    0,  279,    0,    0,  279,  279,  279,  279,  279, 
    1034   279,  279,  279,    0,  279,  279,  279,  279,  279,    0, 
    1035     0,  279,    0,  250,  250,  250,  538,  250,  279,  279, 
    1036   279,    0,    0,    0,    0,    0,    0,  279,  279,    0, 
    1037     0,    0,  250,  250,  250,    0,    0,  454,    0,    0, 
    1038     0,  455,  456,  457,  458,    0,    0,    0,    0,    0, 
    1039     0,    0,    0,  459,  460,  461,  462,  463,  464,  465, 
    1040     0,  466,  467,  468,    0,  149,  469,  470,  471,    0, 
    1041     0,  472,  473,  474,  475,    0,  476,    0,    0,    0, 
    1042     0,    0,    0,    0,    0,    0,    0,    0,    0,  152, 
    1043   153,    0,    0,    0,  154,  155,  156,  157,    0,    0, 
    1044     0,    0,    0,    0,    0,    0,  158,  159,  160,  161, 
    1045   162,  163,  164,    0,  165,  166,  167,    0,    0,  168, 
    1046   169,  170,    0,  171,  172,  173,  174,  175,    0,  176, 
    1047   409,  410,  411,  412,  413,  414,    0,    0,  418,  419, 
    1048     0,    0,  283,    0,    0,    0,    0,    0,    0,    0, 
    1049     0,    0,  283,    0,    0,    0,    0,    0,    0,    0, 
    1050     0,    0,    0,    0,    0,    0,  477,    0,    0,    0, 
    1051     0,    0,    0,    0,    0,    0,    0,    0,    0,  283, 
    1052     0,  177,    0,  283,  283,  283,  283,  283,    0,    0, 
    1053     0,    0,  178,  179,    0,    0,    0,    0,  180,    0, 
    1054   283,    0,    0,  283,    0,    0,    0,    0,  181,  182, 
    1055     0,    0,  183,  184,  185,  186,    0,    0,    0,  541, 
    1056     0,    0,    0,    0,    0,    0,  187,    0,  538,    0, 
    1057   250,  250,  250,  250,  250,    0,  250,  250,  250,  250, 
    1058   250,  250,    0,    0,  250,  250,    0,  538,    0,  538, 
    1059     0,    0,  538,  538,  538,  538,  538,  538,  538,    0, 
    1060     0,  538,  538,  538,    0,    0,    0,    0,  538,  538, 
    1061     0,    0,    0,  538,  538,    0,    0,    0,    0,    0, 
    1062     0,    0,    0,  538,    0,    0,    0,  538,  538,    0, 
    1063     0,    0,  538,    0,    0,    0,    0,    0,  538,    0, 
    1064   538,  538,    0,  538,    0,  538,  538,  538,  538,  538, 
    1065     0,  538,  538,  538,  538,  538,  538,  538,  538,  538, 
    1066   538,  538,  538,  538,  538,  538,  538,    0,    0,  538, 
    1067   538,  538,    0,  538,  538,  538,    0,  538,  538,  538, 
    1068     0,    0,  538,    0,  538,    0,    0,  538,  538,  538, 
    1069   538,    0,  538,  538,  538,  538,    0,    0,    0,    0, 
    1070     0,  538,    0,    0,  538,  538,  538,  538,  538,  538, 
    1071   538,  538,    0,  538,  538,  538,  538,  538,    0,    0, 
    1072   538,    0,    0,    0,    0,    0,    0,  538,  538,  538, 
    1073     0,    0,    0,    0,    0,    0,  538,  538,  283,    0, 
    1074   283,  283,  283,  283,  283,  289,  283,  283,  283,  283, 
    1075   283,  283,    0,  283,  283,  289,    0,  283,    0,  283, 
    1076     0,    0,  283,  283,  283,  283,  283,  283,  283,    0, 
    1077     0,  283,  283,  283,    0,    0,    0,    0,  283,  283, 
    1078     0,    0,  289,  283,  283,    0,  289,  289,  289,  289, 
    1079   289,    0,    0,  283,    0,    0,    0,  283,  283,    0, 
    1080     0,    0,  283,  289,    0,    0,  289,    0,  283,    0, 
    1081   283,  283,    0,  283,    0,  283,  283,  283,  283,  283, 
    1082     0,  283,  283,  283,  283,  283,  283,  283,  283,  283, 
    1083   283,  283,  283,  283,  283,  283,  283,    0,    0,  283, 
    1084   283,  283,    0,  283,  283,  283,    0,  283,  283,  283, 
    1085     0,    0,  283,    0,  283,    0,    0,  283,  283,  283, 
    1086   283,    0,  283,  283,  283,  283,    0,    0,    0,    0, 
    1087     0,  283,    0,    0,  283,  283,  283,  283,  283,  283, 
    1088   283,  283,    0,  283,  283,  283,  283,  283,    0,    0, 
    1089   283,    0,    0,    0,    0,    0,    0,  283,  283,  283, 
    1090     0,    0,    0,    0,    0,    0,  283,  283,    0,    0, 
    1091     0,    0,    0,    0,  108,  290,    0,    0,  108,  108, 
    1092   108,  108,    0,    0,    0,  290,    0,    0,    0,    0, 
    1093   108,  108,  108,  108,  108,  108,  108,    0,  108,  108, 
    1094   108,    0,    0,  108,  108,  108,    0,    0,  108,  108, 
    1095   108,  108,  290,  108,    0,    0,  290,  290,  290,  290, 
    1096   290,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1097     0,    0,    0,  290,    0,    0,  290,    0,    0,    0, 
    1098     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1099     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1100     0,  289,    0,  289,  289,  289,  289,  289,    0,  289, 
    1101   289,  289,  289,  289,  289,    0,  289,  289,    0,    0, 
    1102   289,    0,  289,    0,    0,  289,  289,  289,  289,  289, 
    1103   289,  289,    0,    0,  289,  289,  289,    0,    0,    0, 
    1104     0,  289,  289,  108,    0,    0,  289,  289,    0,    0, 
    1105     0,    0,    0,    0,    0,    0,  289,    0,    0,    0, 
    1106   289,  289,    0,    0,    0,  289,    0,    0,    0,    0, 
    1107     0,  289,    0,  289,  289,    0,  289,    0,  289,  289, 
    1108   289,  289,  289,    0,  289,  289,  289,  289,  289,  289, 
    1109   289,  289,  289,  289,  289,  289,  289,  289,  289,  289, 
    1110     0,    0,  289,  289,  289,    0,  289,  289,  289,    0, 
    1111   289,  289,  289,    0,    0,  289,    0,  289,    0,    0, 
    1112   289,  289,  289,  289,    0,  289,  289,  289,  289,    0, 
    1113     0,    0,    0,    0,  289,    0,    0,  289,  289,  289, 
    1114   289,  289,  289,  289,  289,    0,  289,  289,  289,  289, 
    1115   289,    0,    0,  289,    0,    0,    0,    0,    0,    0, 
    1116   289,  289,  289,    0,    0,    0,    0,    0,    0,  289, 
    1117   289,  290,    0,  290,  290,  290,  290,  290,  311,  290, 
    1118   290,  290,  290,  290,  290,    0,  290,  290,  311,    0, 
    1119   290,    0,  290,    0,    0,  290,  290,  290,  290,  290, 
    1120   290,  290,    0,    0,  290,  290,  290,    0,    0,    0, 
    1121     0,  290,  290,    0,    0,  311,  290,  290,    0,  311, 
    1122   311,  311,  311,  311,    0,    0,  290,    0,    0,    0, 
    1123   290,  290,    0,    0,    0,  290,  311,    0,    0,  311, 
    1124     0,  290,    0,  290,  290,    0,  290,    0,  290,  290, 
    1125   290,  290,  290,    0,  290,  290,  290,  290,  290,  290, 
    1126   290,  290,  290,  290,  290,  290,  290,  290,  290,  290, 
    1127     0,    0,  290,  290,  290,    0,  290,  290,  290,    0, 
    1128   290,  290,  290,    0,    0,  290,    0,  290,    0,    0, 
    1129   290,  290,  290,  290,    0,  290,  290,  290,  290,    0, 
    1130     0,    0,    0,    0,  290,    0,    0,  290,  290,  290, 
    1131   290,  290,  290,  290,  290,    0,  290,  290,  290,  290, 
    1132   290,    0,    0,  290,    0,    0,    0,    0,    0,    0, 
    1133   290,  290,  290,    0,   20,    0,    0,    0,    0,  290, 
    1134   290,    0,    0,    0,    0,    0,    0,    0,  519,    0, 
    1135     0,    0,    0,    0,    0,    0,    0,    0,  519,   26, 
    1136     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1137     0,    0,    0,    0,   30,    0,    0,    0,    0,   33, 
    1138   314,    0,    0,    0,   37,   38,    0,    0,    0,  519, 
    1139   519,  519,  519,  519,  315,   47,   48,   49,   50,   51, 
    1140    52,  316,    0,    0,    0,    0,    0,    0,  519,  519, 
    1141   519,    0,    0,    0,   62,    0,    0,    0,    0,    0, 
    1142    65,    0,    0,    0,    0,    0,    0,    0,    0,   70, 
    1143     0,   72,    0,    0,  311,    0,  311,  311,  311,  311, 
    1144   311,    0,  311,  311,  311,  311,  311,  311,    0,  311, 
    1145   311,    0,    0,  311,    0,  311,    0,    0,  311,  311, 
    1146   311,  311,  311,  311,  311,   89,    0,  311,  311,  311, 
    1147     0,    0,   90,    0,  311,  311,    0,    0,    0,  311, 
    1148   311,    0,    0,    0,    0,    0,    0,    0,    0,  311, 
    1149     0,    0,    0,  311,  311,    0,    0,    0,  311,    0, 
    1150     0,    0,    0,    0,  311,    0,  311,  311,    0,  311, 
    1151     0,  311,  311,  311,  311,  311,    0,  311,  311,  311, 
    1152   311,  311,  311,  311,  311,  311,  311,  311,  311,  311, 
    1153   311,  311,  311,    0,    0,  311,  311,  311,    0,  311, 
    1154   311,  311,    0,  311,  311,  311,    0,    0,  311,    0, 
    1155   311,    0,    0,  311,  311,  311,  311,    0,  311,  311, 
    1156   311,  311,    0,    0,    0,    0,    0,  311,    0,    0, 
    1157   311,  311,  311,  311,  311,  311,  311,  311,    0,  311, 
    1158   311,  311,  311,  311,    0,    0,  311,  188,    0,  559, 
    1159   150,    0,  151,  311,  311,  311,    0,    0,    0,    0, 
    1160     0,    0,  311,  311,  519,    0,  519,  519,  519,  519, 
    1161   519,    0,  519,  519,  519,  519,  519,  519,    0,    0, 
    1162   519,  519,    0,  519,    0,  519,    0,    0,  519,  519, 
    1163   519,  519,  519,  519,  519,    0,    0,  519,  519,  519, 
    1164     0,    0,    0,    0,  519,  519,    0,    0,    0,  519, 
    1165   519,    0,    0,    0,    0,    0,    0,    0,    0,  519, 
    1166     0,    0,    0,  519,  519,    0,    0,    0,  519,    0, 
    1167     0,    0,    0,    0,  519,    0,  519,  519,    0,  519, 
    1168     0,  519,  519,  519,  519,  519,    0,  519,  519,  519, 
    1169   519,  519,  519,  519,  519,  519,  519,  519,  519,  519, 
    1170   519,  519,  519,    0,    0,  519,  519,  519,    0,  519, 
    1171   519,  519,    0,  519,  519,  519,    0,  528,  519,    0, 
    1172   519,    0,    0,  519,  519,  519,  519,  528,    0,  519, 
    1173   519,  519,    0,    0,    0,    0,    0,  519,    0,    0, 
    1174   519,  519,  519,  519,  519,  519,  519,  519,    0,  519, 
    1175   519,  519,  519,  519,    0,    0,  519,    0,    0,  247, 
    1176   247,    0,  247,  519,  519,  519,    0,    0,    0,    0, 
    1177     0,    0,  519,  519,    0,    0,    0,  247,  247,  247, 
    1178     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1179     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1180     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1181   149,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1182     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1183     0,    0,    0,    0,  152,  153,    0,    0,    0,  154, 
    1184   155,  156,  157,    0,    0,    0,    0,    0,    0,    0, 
    1185     0,  158,  159,  160,  161,  162,  163,  164,    0,  165, 
    1186   166,  167,    0,    0,  168,  169,  170,    0,  171,  172, 
    1187   173,  174,  175,    0,  176,    0,    0,    0,    0,    0, 
    1188     0,    0,    0,    0,    0,    0,    0,  287,    0,    0, 
    1189     0,    0,    0,    0,    0,    0,    0,  287,    0,    0, 
    1190     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1191     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1192     0,    0,    0,    0,  287,    0,  177,    0,  287,    0, 
    1193   287,  287,  287,    0,    0,    0,    0,  178,  179,    0, 
    1194     0,    0,    0,  180,    0,  287,    0,    0,  287,    0, 
    1195     0,    0,    0,  181,  182,    0,    0,  183,  184,  185, 
    1196   186,    0,    0,    0,   89,    0,    0,    0,    0,    0, 
    1197     0,  187,    0,  528,    0,  247,  247,  247,  247,  247, 
    1198     0,  247,  247,  247,  247,  247,  247,    0,    0,  247, 
    1199   247,    0,  528,    0,  528,    0,    0,  528,  528,  528, 
    1200   528,  528,  528,  528,    0,    0,  528,  528,  528,    0, 
    1201     0,    0,    0,  528,  528,    0,    0,    0,  528,  528, 
    1202     0,    0,    0,    0,    0,    0,    0,    0,  528,    0, 
    1203     0,    0,  528,  528,    0,    0,    0,  528,    0,    0, 
    1204     0,    0,    0,  528,    0,  528,  528,    0,  528,    0, 
    1205   528,  528,  528,  528,  528,    0,  528,  528,  528,  528, 
    1206   528,  528,  528,  528,  528,  528,  528,  528,  528,  528, 
    1207   528,  528,    0,    0,  528,  528,  528,    0,  528,  528, 
    1208   528,    0,  528,  528,  528,    0,    0,  528,    0,  528, 
    1209     0,    0,  528,  528,  528,  528,    0,  528,  528,  528, 
    1210   528,    0,    0,    0,    0,    0,  528,    0,    0,  528, 
    1211   528,  528,  528,  528,  528,  528,  528,    0,  528,  528, 
    1212   528,  528,  528,    0,    0,  528,    0,    0,    0,    0, 
    1213     0,    0,  528,  528,  528,    0,    0,    0,    0,    0, 
    1214     0,  528,  528,  287,    0,  287,  287,  287,  287,  287, 
    1215   288,  287,  287,  287,  287,  287,  287,    0,  287,    0, 
    1216   288,    0,  287,    0,  287,    0,    0,  287,  287,  287, 
    1217   287,  287,  287,  287,    0,    0,  287,  287,  287,    0, 
    1218     0,    0,    0,  287,  287,    0,    0,  288,  287,  287, 
    1219     0,  288,    0,  288,  288,  288,    0,    0,  287,    0, 
    1220     0,    0,  287,  287,    0,    0,    0,  287,  288,    0, 
    1221     0,  288,    0,  287,    0,  287,  287,    0,  287,    0, 
    1222   287,  287,  287,  287,  287,    0,  287,  287,  287,  287, 
    1223   287,  287,  287,  287,  287,  287,  287,  287,  287,  287, 
    1224   287,  287,    0,    0,  287,  287,  287,    0,  287,  287, 
    1225   287,    0,  287,  287,  287,    0,    0,  287,    0,  287, 
    1226     0,    0,  287,  287,  287,  287,    0,  287,  287,  287, 
    1227   287,    0,    0,    0,    0,    0,  287,    0,    0,  287, 
    1228   287,  287,  287,  287,  287,  287,  287,    0,  287,  287, 
    1229   287,  287,  287,    0,    0,  287,    0,    0,    0,    0, 
    1230     0,    0,  287,  287,  287,    0,    0,    0,    0,    0, 
    1231     0,  287,  287,    0,    0,    0,    0,    0,    0,    0, 
    1232   308,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1233   308,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1234     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1235     0,    0,    0,    0,    0,    0,    0,  308,    0,    0, 
    1236     0,  308,  308,    0,  308,    0,    0,    0,    0,    0, 
    1237     0,    0,    0,    0,    0,    0,    0,    0,  308,    0, 
    1238   308,    0,  308,    0,    0,    0,    0,    0,    0,    0, 
    1239     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1240     0,    0,    0,    0,    0,    0,  288,    0,  288,  288, 
    1241   288,  288,  288,    0,  288,  288,  288,  288,  288,  288, 
    1242     0,  288,    0,    0,    0,  288,    0,  288,    0,    0, 
    1243   288,  288,  288,  288,  288,  288,  288,    0,    0,  288, 
    1244   288,  288,    0,    0,    0,    0,  288,  288,    0,    0, 
    1245     0,  288,  288,    0,    0,    0,    0,    0,    0,    0, 
    1246     0,  288,    0,    0,    0,  288,  288,    0,    0,    0, 
    1247   288,    0,    0,    0,    0,    0,  288,    0,  288,  288, 
    1248     0,  288,   22,  288,  288,  288,  288,  288,    0,  288, 
    1249   288,  288,  288,  288,  288,  288,  288,  288,  288,  288, 
    1250   288,  288,  288,  288,  288,    0,    0,  288,  288,  288, 
    1251     0,  288,  288,  288,    0,  288,  288,  288,    0,    0, 
    1252   288,    0,  288,    0,    0,  288,  288,  288,  288,    0, 
    1253   288,  288,  288,  288,    0,    0,    0,    0,    0,  288, 
    1254     0,    0,  288,  288,  288,  288,  288,  288,  288,  288, 
    1255     0,  288,  288,  288,  288,  288,    0,    0,  288,    0, 
    1256     0,    0,    0,    0,    0,  288,  288,  288,    0,    0, 
    1257     0,    0,    0,    0,  288,  288,  308,    0,  308,  308, 
    1258   308,  308,  308,    0,  308,  308,  308,  308,  308,  308, 
    1259     0,  308,    0,  308,    0,  308,    0,  308,    0,    0, 
    1260   308,  308,  308,  308,  308,  308,  308,    0,    0,  308, 
    1261   308,  308,    0,    0,    0,    0,  308,  308,    0,    0, 
    1262     0,  308,  308,    0,    0,    0,    0,    0,    0,    0, 
    1263     0,  308,    0,    0,    0,  308,  308,    0,    0,    0, 
    1264   308,    0,    0,    0,    0,    0,  308,    0,  308,  308, 
    1265     0,  308,    0,  308,  308,  308,  308,  308,    0,  308, 
    1266   308,  308,  308,  308,  308,  308,  308,  308,  308,  308, 
    1267   308,  308,  308,  308,  308,    0,    0,  308,  308,  308, 
    1268     0,  308,  308,  308,    0,  308,  308,  308,    0,  466, 
    1269   308,    0,  308,    0,    0,  308,  308,  308,  308,  466, 
    1270   308,  308,  308,  308,  338,    0,    0,    0,  338,  308, 
    1271     0,  338,  308,  308,  308,  308,    0,  308,  308,  308, 
    1272     0,  308,  308,  308,  308,  308,    0,  338,  308,  338, 
    1273     0,  518,  518,  518,  518,  308,  308,    0,    0,    0, 
    1274     0,    0,    0,    0,    0,  308,    0,    0,    0,  518, 
    1275   518,  518,    0,    0,    0,    0,    0,   22,    0,   22, 
    1276     0,    0,   22,   22,   22,   22,    0,    0,   22,    0, 
    1277     0,   22,   22,   22,    0,    0,    0,    0,   22,   22, 
    1278     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1279     0,    0,    0,   22,    0,    0,    0,   22,   22,    0, 
    1280     0,    0,   22,    0,    0,    0,    0,    0,   22,    0, 
    1281    22,   22,    0,   22,    0,   22,   22,   22,   22,   22, 
    1282     0,   22,   22,   22,   22,   22,   22,   22,   22,   22, 
    1283    22,   22,   22,   22,   22,   22,   22,    0,    0,   22, 
    1284    22,   22,    0,   22,   22,   22,    0,   22,   22,   22, 
    1285     0,  518,   22,    0,   22,    0,    0,   22,   22,   22, 
    1286    22,  518,    0,   22,   22,   22,    0,    0,    0,    0, 
    1287     0,   22,    0,    0,    0,   22,   22,   22,   22,   22, 
    1288    22,   22,    0,   22,   22,   22,   22,   22,    0,    0, 
    1289    22,    0,    0,  518,  518,  518,  518,   22,   22,   22, 
    1290     0,    0,    0,    0,    0,    0,   22,    0,    0,    0, 
    1291     0,  518,  518,  518,    0,    0,    0,    0,    0,    0, 
    1292     0,    0,    0,    0,    0,  338,  338,  338,  338,  338, 
    1293     0,  338,  338,  338,  338,  338,  338,    0,    0,  338, 
    1294   338,    0,    0,    0,    0,  466,    0,  518,  518,  518, 
    1295   518,  518,    0,  518,  518,  518,  518,  518,  518,    0, 
    1296     0,  518,  518,    0,  466,    0,  466,    0,    0,  466, 
    1297   466,  466,  466,  466,  466,  466,    0,    0,  466,  466, 
    1298   466,    0,    0,    0,    0,  466,  466,    0,    0,    0, 
    1299   466,  466,    0,    0,    0,    0,    0,    0,    0,    0, 
    1300   466,    0,   56,    0,  466,  466,    0,    0,    0,  466, 
    1301     0,    0,   56,    0,    0,  466,    0,  466,  466,    0, 
    1302   466,    0,  466,  466,  466,  466,  466,    0,  466,  466, 
    1303   466,  466,  466,  466,  466,  466,  466,  466,  466,  466, 
    1304   466,  466,  466,  466,    0,    0,  466,  466,  466,    0, 
    1305   466,  466,  466,    0,  466,  466,  466,    0,    0,  466, 
    1306     0,  466,    0,    0,  466,  466,  466,  466,    0,    0, 
    1307   466,  466,  466,    0,    0,    0,    0,    0,  466,    0, 
    1308     0,  466,  466,  466,  466,    0,  466,  466,  466,    0, 
    1309   466,  466,  466,  466,  466,    0,    0,  466,    0,    0, 
    1310     0,    0,    0,    0,  466,  466,    0,  518,    0,  518, 
    1311   518,  518,  518,  518,  466,  518,  518,  518,  518,  518, 
    1312   518,    0,    0,  518,  518,    0,  518,    0,  518,    0, 
    1313     0,  518,  518,  518,  518,  518,  518,  518,    0,    0, 
    1314   518,  518,  518,    0,    0,    0,    0,  518,  518,    0, 
    1315     0,    0,  518,  518,    0,    0,    0,    0,    0,    0, 
    1316     0,    0,  518,    0,    0,    0,  518,  518,    0,    0, 
    1317     0,  518,    0,    0,    0,    0,    0,  518,    0,  518, 
    1318   518,    0,  518,    0,  518,  518,  518,  518,  518,    0, 
    1319   518,  518,  518,  518,  518,  518,  518,  518,  518,  518, 
    1320   518,  518,  518,  518,  518,  518,    0,    0,  518,  518, 
    1321   518,    0,  518,  518,  518,    0,  518,  518,  518,    0, 
    1322   284,  518,    0,  518,    0,    0,  518,  518,  518,  518, 
    1323   284,    0,  518,  518,  518,    0,    0,    0,    0,    0, 
    1324   518,    0,    0,  518,  518,  518,  518,    0,  518,  518, 
    1325   518,    0,  518,  518,  518,  518,  518,  284,   56,  518, 
    1326     0,  284,    0,    0,  284,    0,  518,  518,    0,    0, 
    1327     0,    0,    0,  164,  164,    0,  518,   56,  284,   56, 
    1328     0,  284,   56,   56,   56,   56,   56,   56,   56,    0, 
    1329     0,   56,   56,   56,    0,    0,    0,    0,   56,   56, 
    1330     0,    0,    0,   56,   56,    0,    0,    0,    0,    0, 
    1331     0,    0,    0,   56,    0,    0,    0,   56,   56,    0, 
    1332     0,    0,   56,    0,    0,    0,    0,    0,   56,    0, 
    1333    56,   56,    0,   56,    0,   56,   56,   56,   56,   56, 
    1334     0,   56,   56,   56,   56,   56,   56,   56,   56,   56, 
    1335    56,   56,   56,   56,   56,   56,   56,    0,    0,   56, 
    1336    56,   56,    0,   56,   56,   56,    0,   56,   56,   56, 
    1337     0,  305,   56,    0,   56,    0,    0,   56,   56,   56, 
    1338    56,  305,    0,   56,   56,   56,    0,    0,    0,    0, 
    1339     0,   56,    0,    0,   56,   56,   56,   56,   56,   56, 
    1340    56,   56,    0,   56,   56,   56,   56,   56,  305,    0, 
    1341    56,    0,  305,    0,    0,  305,    0,   56,   56,   56, 
    1342     0,    0,    0,    0,    0,    0,   56,   56,    0,  305, 
    1343     0,    0,  305,    0,    0,    0,    0,    0,    0,    0, 
    1344     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1345     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1346     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1347     0,    0,    0,    0,    0,    0,  284,    0,  284,  284, 
    1348   284,  284,  284,    0,    0,    0,    0,    0,    0,    0, 
    1349     0,  284,    0,    0,    0,  284,    0,  284,    0,    0, 
    1350   284,  284,  284,  284,  284,  284,  284,    0,    0,  284, 
    1351   284,  284,    0,    0,    0,    0,  284,  284,    0,    0, 
    1352     0,  284,  284,    0,    0,    0,    0,    0,    0,    0, 
    1353     0,  284,    0,    0,    0,  284,  284,    0,    0,    0, 
    1354   284,    0,    0,    0,    0,    0,  284,    0,  284,  284, 
    1355     0,  284,    0,  284,  284,  284,  284,  284,    0,  284, 
    1356   284,  284,  284,  284,  284,  284,  284,  284,  284,  284, 
    1357   284,  284,  284,  284,  284,    0,    0,  284,  284,  284, 
    1358     0,  284,  284,  284,    0,  284,  284,  284,  341,  341, 
    1359   284,  341,  284,    0,    0,  284,  284,  284,  284,    0, 
    1360   284,  284,  284,  284,    0,    0,  341,  341,  341,  284, 
    1361     0,    0,  284,  284,  284,  284,  284,  284,  284,  284, 
    1362     0,  284,  284,  284,  284,  284,    0,  305,  284,  305, 
    1363   305,  305,  305,  305,    0,  284,  284,  284,    0,    0, 
    1364   295,    0,  305,    0,  284,  284,  305,    0,  305,    0, 
    1365   295,  305,  305,  305,  305,  305,  305,  305,    0,    0, 
    1366   305,  305,  305,    0,    0,    0,    0,  305,  305,    0, 
    1367     0,    0,  305,  305,    0,    0,    0,  295,    0,    0, 
    1368     0,  295,  305,    0,  295,    0,  305,  305,    0,    0, 
    1369     0,  305,    0,    0,    0,    0,    0,  305,  295,  305, 
    1370   305,  295,  305,    0,  305,  305,  305,  305,  305,    0, 
    1371   305,  305,  305,  305,  305,  305,  305,  305,  305,  305, 
    1372   305,  305,  305,  305,  305,  305,    0,    0,  305,  305, 
    1373   305,    0,  305,  305,  305,    0,  305,  305,  305,    0, 
    1374     0,  305,    0,  305,    0,    0,  305,  305,  305,  305, 
    1375     0,  305,  305,  305,  305,    0,    0,    0,    0,    0, 
    1376   305,    0,    0,  305,  305,  305,  305,  305,  305,  305, 
    1377   305,    0,  305,  305,  305,  305,  305,    0,    0,  305, 
    1378     0,    0,    0,    0,    0,    0,  305,  305,  305,    0, 
    1379     0,  293,    0,    0,    0,  305,  305,    0,    0,    0, 
    1380     0,  293,    0,    0,  341,  341,  341,  341,  341,    0, 
    1381   341,  341,  341,  341,  341,  341,    0,    0,  341,  341, 
    1382     0,    0,    0,    0,    0,    0,    0,    0,  293,    0, 
    1383     0,    0,  293,    0,    0,  293,    0,    0,    0,    0, 
    1384     0,    0,    0,    0,    0,    0,    0,    0,    0,  293, 
    1385     0,    0,  293,    0,    0,    0,    0,    0,    0,    0, 
    1386     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1387     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1388     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1389     0,    0,    0,    0,    0,    0,  295,    0,  295,  295, 
    1390   295,  295,  295,    0,    0,    0,    0,    0,    0,    0, 
    1391     0,  295,    0,    0,    0,  295,    0,  295,    0,    0, 
    1392   295,  295,  295,  295,  295,  295,  295,    0,    0,  295, 
    1393   295,  295,    0,    0,    0,    0,  295,  295,    0,    0, 
    1394     0,  295,  295,    0,    0,    0,    0,    0,    0,    0, 
    1395     0,  295,    0,    0,    0,  295,  295,    0,    0,    0, 
    1396   295,    0,    0,  341,    0,    0,  295,    0,  295,  295, 
    1397     0,  295,    0,  295,  295,  295,  295,  295,    0,  295, 
    1398   295,  295,  295,  295,  295,  295,  295,  295,  295,  295, 
    1399   295,  295,  295,  295,  295,    0,    0,  295,  295,  295, 
    1400     0,  295,  295,  295,    0,  295,  295,  295,  417,  415, 
    1401   295,  416,  295,    0,    0,  295,  295,  295,  295,    0, 
    1402   295,  295,  295,  295,  852,    0,  420,  403,  421,  295, 
    1403     0,    0,  295,  295,  295,  295,  295,  295,  295,  295, 
    1404     0,  295,  295,  295,  295,  295,    0,  293,  295,  293, 
    1405   293,  293,  293,  293,    0,  295,  295,  295,    0,    0, 
    1406   299,    0,  293,    0,  295,  295,  293,    0,  293,    0, 
    1407   299,  293,  293,  293,  293,  293,  293,  293,    0,    0, 
    1408   293,  293,  293,    0,    0,    0,    0,  293,  293,    0, 
    1409     0,    0,  293,  293,    0,    0,    0,  299,    0,    0, 
    1410     0,  299,  293,    0,  299,    0,  293,  293,    0,    0, 
    1411     0,  293,    0,    0,    0,    0,    0,  293,  299,  293, 
    1412   293,  299,  293,    0,  293,  293,  293,  293,  293,    0, 
    1413   293,  293,  293,  293,  293,  293,  293,  293,  293,  293, 
    1414   293,  293,  293,  293,  293,  293,    0,    0,  293,  293, 
    1415   293,    0,  293,  293,  293,    0,  293,  293,  293,    0, 
    1416     0,  293,    0,  293,    0,    0,  293,  293,  293,  293, 
    1417     0,  293,  293,  293,  293,    0,    0,    0,    0,    0, 
    1418   293,    0,    0,  293,  293,  293,  293,  293,  293,  293, 
    1419   293,    0,  293,  293,  293,  293,  293,    0,    0,  293, 
    1420     0,    0,    0,    0,    0,    0,  293,  293,  293,    0, 
    1421     0,  297,    0,    0,    0,  293,  293,    0,    0,    0, 
    1422     0,  297,    0,    0,  404,  405,  406,  407,  408,    0, 
    1423   409,  410,  411,  412,  413,  414,    0,    0,  418,  419, 
    1424     0,    0,    0,    0,    0,    0,    0,    0,  297,    0, 
    1425     0,    0,  297,    0,    0,  297,    0,    0,    0,    0, 
    1426     0,    0,    0,    0,    0,    0,    0,    0,    0,  297, 
    1427     0,    0,  297,    0,    0,    0,    0,    0,    0,    0, 
    1428     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1429     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1430     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1431     0,    0,    0,    0,    0,    0,  299,    0,  299,  299, 
    1432   299,  299,  299,    0,    0,    0,    0,    0,    0,    0, 
    1433     0,  299,    0,    0,    0,  299,    0,  299,    0,    0, 
    1434   299,  299,  299,  299,  299,  299,  299,    0,    0,  299, 
    1435   299,  299,    0,    0,    0,    0,  299,  299,    0,    0, 
    1436     0,  299,  299,    0,    0,    0,    0,    0,    0,    0, 
    1437     0,  299,    0,    0,    0,  299,  299,    0,    0,    0, 
    1438   299,    0,    0,    0,    0,    0,  299,    0,  299,  299, 
    1439     0,  299,    0,  299,  299,  299,  299,  299,    0,  299, 
    1440   299,  299,  299,  299,  299,  299,  299,  299,  299,  299, 
    1441   299,  299,  299,  299,  299,    0,    0,  299,  299,  299, 
    1442     0,  299,  299,  299,    0,  299,  299,  299,  417,  415, 
    1443   299,  416,  299,    0,    0,  299,  299,  299,  299,    0, 
    1444   299,  299,  299,  299,  901,    0,  420,  403,  421,  299, 
    1445     0,    0,  299,  299,  299,  299,  299,  299,  299,  299, 
    1446     0,  299,  299,  299,  299,  299,    0,  297,  299,  297, 
    1447   297,  297,  297,  297,    0,  299,  299,  299,    0,    0, 
    1448   291,    0,  297,    0,  299,  299,  297,    0,  297,    0, 
    1449   291,  297,  297,  297,  297,  297,  297,  297,    0,    0, 
    1450   297,  297,  297,    0,    0,    0,    0,  297,  297,    0, 
    1451     0,    0,  297,  297,    0,    0,    0,  291,    0,    0, 
    1452     0,  291,  297,    0,  291,    0,  297,  297,    0,    0, 
    1453     0,  297,    0,    0,    0,    0,    0,  297,  291,  297, 
    1454   297,  291,  297,    0,  297,  297,  297,  297,  297,    0, 
    1455   297,  297,  297,  297,  297,  297,  297,  297,  297,  297, 
    1456   297,  297,  297,  297,  297,  297,    0,    0,  297,  297, 
    1457   297,    0,  297,  297,  297,    0,  297,  297,  297,    0, 
    1458     0,  297,    0,  297,    0,    0,  297,  297,  297,  297, 
    1459     0,  297,  297,  297,  297,    0,    0,    0,    0,    0, 
    1460   297,    0,    0,  297,  297,  297,  297,  297,  297,  297, 
    1461   297,    0,  297,  297,  297,  297,  297,    0,    0,  297, 
    1462     0,    0,    0,    0,    0,    0,  297,  297,  297,    0, 
    1463     0,  301,    0,    0,    0,  297,  297,    0,    0,    0, 
    1464     0,  301,    0,    0,  404,  405,  406,  407,  408,    0, 
    1465   409,  410,  411,  412,  413,  414,    0,    0,  418,  419, 
    1466     0,    0,    0,    0,    0,    0,    0,    0,  301,    0, 
    1467     0,    0,  301,    0,    0,  301,    0,    0,    0,    0, 
    1468     0,    0,    0,    0,    0,    0,    0,    0,    0,  301, 
    1469     0,    0,  301,    0,    0,    0,    0,    0,    0,    0, 
    1470     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1471     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1472     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1473     0,    0,    0,    0,    0,    0,  291,    0,  291,  291, 
    1474   291,  291,  291,    0,    0,    0,    0,    0,    0,    0, 
    1475     0,  291,    0,    0,    0,  291,    0,  291,    0,    0, 
    1476   291,  291,  291,  291,  291,  291,  291,    0,    0,  291, 
    1477   291,  291,    0,    0,    0,    0,  291,  291,    0,    0, 
    1478     0,  291,  291,    0,    0,    0,    0,    0,    0,    0, 
    1479     0,  291,    0,    0,    0,  291,  291,    0,    0,    0, 
    1480   291,    0,    0,    0,    0,    0,  291,    0,  291,  291, 
    1481     0,  291,    0,  291,  291,  291,  291,  291,    0,  291, 
    1482   291,  291,  291,  291,  291,  291,  291,  291,  291,  291, 
    1483   291,  291,  291,  291,  291,    0,    0,  291,  291,  291, 
    1484     0,  291,  291,  291,    0,  291,  291,  291,  417,  415, 
    1485   291,  416,  291,    0,    0,  291,  291,  291,  291,    0, 
    1486   291,  291,  291,  291,  946,    0,  420,  403,  421,  291, 
    1487     0,    0,  291,  291,  291,  291,  291,  291,  291,  291, 
    1488     0,  291,  291,  291,  291,  291,    0,  301,  291,  301, 
    1489   301,  301,  301,  301,    0,  291,  291,  291,    0,    0, 
    1490   296,    0,  301,    0,  291,  291,  301,    0,  301,    0, 
    1491   296,  301,  301,  301,  301,  301,  301,  301,    0,    0, 
    1492   301,  301,  301,    0,    0,    0,    0,  301,  301,    0, 
    1493     0,    0,  301,  301,    0,    0,    0,  296,    0,    0, 
    1494     0,  296,  301,    0,  296,    0,  301,  301,    0,    0, 
    1495     0,  301,    0,    0,    0,    0,    0,  301,  296,  301, 
    1496   301,  296,  301,    0,  301,  301,  301,  301,  301,    0, 
    1497   301,  301,  301,  301,  301,  301,  301,  301,  301,  301, 
    1498   301,  301,  301,  301,  301,  301,    0,    0,  301,  301, 
    1499   301,    0,  301,  301,  301,    0,  301,  301,  301,    0, 
    1500     0,  301,    0,  301,    0,    0,  301,  301,  301,  301, 
    1501     0,  301,  301,  301,  301,    0,    0,    0,    0,    0, 
    1502   301,    0,    0,  301,  301,  301,  301,  301,  301,  301, 
    1503   301,    0,  301,  301,  301,  301,  301,    0,    0,  301, 
    1504     0,    0,    0,    0,    0,    0,  301,  301,  301,    0, 
    1505     0,  294,    0,    0,    0,  301,  301,    0,    0,    0, 
    1506     0,  294,    0,    0,  404,  405,  406,  407,  408,    0, 
    1507   409,  410,  411,  412,  413,  414,    0,    0,  418,  419, 
    1508     0,    0,    0,    0,    0,    0,    0,    0,  294,    0, 
    1509     0,    0,  294,    0,    0,  294,    0,    0,    0,    0, 
    1510     0,    0,    0,    0,    0,    0,    0,    0,    0,  294, 
    1511     0,    0,  294,    0,    0,    0,    0,    0,    0,    0, 
    1512     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1513     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1514     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1515     0,    0,    0,    0,    0,    0,  296,    0,  296,  296, 
    1516   296,  296,  296,    0,    0,    0,    0,    0,    0,    0, 
    1517     0,  296,    0,    0,    0,  296,    0,  296,    0,    0, 
    1518   296,  296,  296,  296,  296,  296,  296,    0,    0,  296, 
    1519   296,  296,    0,    0,    0,    0,  296,  296,    0,    0, 
    1520     0,  296,  296,    0,    0,    0,    0,    0,    0,    0, 
    1521     0,  296,    0,    0,    0,  296,  296,    0,    0,    0, 
    1522   296,    0,    0,    0,    0,    0,  296,    0,  296,  296, 
    1523     0,  296,    0,  296,  296,  296,  296,  296,    0,  296, 
    1524   296,  296,  296,  296,  296,  296,  296,  296,  296,  296, 
    1525   296,  296,  296,  296,  296,    0,    0,  296,  296,  296, 
    1526     0,  296,  296,  296,    0,  296,  296,  296,  417,  415, 
    1527   296,  416,  296,    0,    0,  296,  296,  296,  296,    0, 
    1528   296,  296,  296,  296,  962,    0,  420,  403,  421,  296, 
    1529     0,    0,  296,  296,  296,  296,  296,  296,  296,  296, 
    1530     0,  296,  296,  296,  296,  296,    0,  294,  296,  294, 
    1531   294,  294,  294,  294,    0,  296,  296,  296,    0,    0, 
    1532   312,    0,  294,    0,  296,  296,  294,    0,  294,    0, 
    1533   312,  294,  294,  294,  294,  294,  294,  294,    0,    0, 
    1534   294,  294,  294,    0,    0,    0,    0,  294,  294,    0, 
    1535     0,    0,  294,  294,    0,    0,    0,  312,    0,    0, 
    1536     0,  312,  294,    0,  312,    0,  294,  294,    0,    0, 
    1537     0,  294,    0,    0,    0,    0,    0,  294,  312,  294, 
    1538   294,  312,  294,    0,  294,  294,  294,  294,  294,    0, 
    1539   294,  294,  294,  294,  294,  294,  294,  294,  294,  294, 
    1540   294,  294,  294,  294,  294,  294,    0,    0,  294,  294, 
    1541   294,    0,  294,  294,  294,    0,  294,  294,  294,    0, 
    1542     0,  294,    0,  294,    0,    0,  294,  294,  294,  294, 
    1543     0,  294,  294,  294,  294,    0,    0,    0,    0,    0, 
    1544   294,    0,    0,  294,  294,  294,  294,  294,  294,  294, 
    1545   294,    0,  294,  294,  294,  294,  294,    0,    0,  294, 
    1546     0,    0,    0,    0,    0,    0,  294,  294,  294,    0, 
    1547     0,  310,    0,    0,    0,  294,  294,    0,    0,    0, 
    1548     0,  310,    0,    0,  404,  405,  406,  407,  408,    0, 
    1549   409,  410,  411,  412,  413,  414,    0,    0,  418,  419, 
    1550     0,    0,    0,    0,    0,    0,    0,    0,  310,    0, 
    1551     0,    0,  310,    0,    0,  310,    0,    0,    0,    0, 
    1552     0,    0,    0,    0,    0,    0,    0,    0,    0,  310, 
    1553     0,    0,  310,    0,    0,    0,    0,    0,    0,    0, 
    1554     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1555     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1556     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1557     0,    0,    0,    0,    0,    0,  312,    0,  312,  312, 
    1558   312,  312,  312,    0,    0,    0,    0,    0,    0,    0, 
    1559     0,  312,    0,    0,    0,  312,    0,  312,    0,    0, 
    1560   312,  312,  312,  312,  312,  312,  312,    0,    0,  312, 
    1561   312,  312,    0,    0,    0,    0,  312,  312,    0,    0, 
    1562     0,  312,  312,    0,    0,    0,    0,    0,    0,    0, 
    1563     0,  312,    0,    0,    0,  312,  312,    0,    0,    0, 
    1564   312,    0,    0,    0,    0,    0,  312,    0,  312,  312, 
    1565     0,  312,    0,  312,  312,  312,  312,  312,    0,  312, 
    1566   312,  312,  312,  312,  312,  312,  312,  312,  312,  312, 
    1567   312,  312,  312,  312,  312,    0,    0,  312,  312,  312, 
    1568     0,  312,  312,  312,    0,  312,  312,  312,  417,  415, 
    1569   312,  416,  312,    0,    0,  312,  312,  312,  312,    0, 
    1570   312,  312,  312,  312,    0,    0,  420,  403,  421,  312, 
    1571     0,    0,  312,  312,  312,  312,  312,  312,  312,  312, 
    1572     0,  312,  312,  312,  312,  312,    0,  310,  312,  310, 
    1573   310,  310,  310,  310,    0,  312,  312,  312,    0,    0, 
    1574   300,    0,  310,    0,  312,  312,  310,    0,  310,    0, 
    1575   300,  310,  310,  310,  310,  310,  310,  310,    0,    0, 
    1576   310,  310,  310,    0,    0,    0,    0,  310,  310,    0, 
    1577     0,    0,  310,  310,    0,    0,    0,  300,    0,    0, 
    1578     0,  300,  310,    0,  300,    0,  310,  310,    0,    0, 
    1579     0,  310,    0,    0,    0,    0,    0,  310,  300,  310, 
    1580   310,  300,  310,    0,  310,  310,  310,  310,  310,    0, 
    1581   310,  310,  310,  310,  310,  310,  310,  310,  310,  310, 
    1582   310,  310,  310,  310,  310,  310,    0,    0,  310,  310, 
    1583   310,    0,  310,  310,  310,    0,  310,  310,  310,    0, 
    1584     0,  310,    0,  310,    0,    0,  310,  310,  310,  310, 
    1585     0,  310,  310,  310,  310,    0,    0,    0,    0,    0, 
    1586   310,    0,    0,  310,  310,  310,  310,  310,  310,  310, 
    1587   310,    0,  310,  310,  310,  310,  310,    0,    0,  310, 
    1588     0,    0,    0,    0,    0,    0,  310,  310,  310,    0, 
    1589     0,  298,    0,    0,    0,  310,  310,    0,    0,    0, 
    1590     0,  298,    0,    0,  404,  405,  406,  407,  408,    0, 
    1591   409,  410,  411,  412,  413,  414,    0,    0,  418,  419, 
    1592     0,    0,    0,    0,    0,    0,    0,    0,  298,    0, 
    1593     0,    0,  298,    0,    0,  298,    0,    0,    0,    0, 
    1594     0,    0,    0,    0,    0,    0,    0,    0,    0,  298, 
    1595     0,    0,  298,    0,    0,    0,    0,    0,    0,    0, 
    1596     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1597     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1598     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1599     0,    0,    0,    0,    0,    0,  300,    0,  300,  300, 
    1600   300,  300,  300,    0,    0,    0,    0,    0,    0,    0, 
    1601     0,  300,    0,    0,    0,  300,    0,  300,    0,    0, 
    1602   300,  300,  300,  300,  300,  300,  300,    0,    0,  300, 
    1603   300,  300,    0,    0,    0,    0,  300,  300,    0,    0, 
    1604     0,  300,  300,    0,    0,    0,    0,    0,    0,    0, 
    1605     0,  300,    0,    0,    0,  300,  300,    0,    0,    0, 
    1606   300,    0,    0,    0,    0,    0,  300,    0,  300,  300, 
    1607     0,  300,    0,  300,  300,  300,  300,  300,    0,  300, 
    1608   300,  300,  300,  300,  300,  300,  300,  300,  300,  300, 
    1609   300,  300,  300,  300,  300,    0,    0,  300,  300,  300, 
    1610     0,  300,  300,  300,    0,  300,  300,  300,  247,  247, 
    1611   300,  247,  300,    0,    0,  300,  300,  300,  300,    0, 
    1612   300,  300,  300,  300,    0,    0,  247,  247,  247,  300, 
    1613     0,    0,  300,  300,  300,  300,  300,  300,  300,  300, 
    1614     0,  300,  300,  300,  300,  300,    0,  298,  300,  298, 
    1615   298,  298,  298,  298,    0,  300,  300,  300,    0,    0, 
    1616   304,    0,  298,    0,  300,  300,  298,    0,  298,    0, 
    1617   304,  298,  298,  298,  298,  298,  298,  298,    0,    0, 
    1618   298,  298,  298,    0,    0,    0,    0,  298,  298,    0, 
    1619     0,    0,  298,  298,    0,    0,    0,  304,    0,    0, 
    1620     0,  304,  298,    0,  304,    0,  298,  298,    0,    0, 
    1621     0,  298,    0,    0,    0,    0,    0,  298,  304,  298, 
    1622   298,  304,  298,    0,  298,  298,  298,  298,  298,    0, 
    1623   298,  298,  298,  298,  298,  298,  298,  298,  298,  298, 
    1624   298,  298,  298,  298,  298,  298,    0,    0,  298,  298, 
    1625   298,    0,  298,  298,  298,    0,  298,  298,  298,    0, 
    1626     0,  298,    0,  298,    0,    0,  298,  298,  298,  298, 
    1627     0,  298,  298,  298,  298,    0,    0,    0,    0,    0, 
    1628   298,    0,    0,  298,  298,  298,  298,  298,  298,  298, 
    1629   298,    0,  298,  298,  298,  298,  298,    0,    0,  298, 
    1630     0,    0,    0,    0,    0,    0,  298,  298,  298,    0, 
    1631     0,  303,    0,    0,    0,  298,  298,    0,    0,    0, 
    1632     0,  303,    0,    0,  247,  247,  247,  247,  247,    0, 
    1633   247,  247,  247,  247,  247,  247,    0,    0,  247,  247, 
    1634     0,    0,    0,    0,    0,    0,    0,    0,  303,    0, 
    1635     0,    0,  303,    0,    0,  303,    0,    0,    0,    0, 
    1636     0,    0,    0,    0,    0,    0,    0,    0,    0,  303, 
    1637     0,    0,  303,    0,    0,    0,    0,    0,    0,    0, 
    1638     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1639     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1640     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1641     0,    0,    0,    0,    0,    0,  304,    0,  304,  304, 
    1642   304,  304,    0,    0,    0,    0,    0,    0,    0,    0, 
    1643     0,  304,    0,    0,    0,  304,    0,  304,    0,    0, 
    1644   304,  304,  304,  304,  304,  304,  304,    0,    0,  304, 
    1645   304,  304,    0,    0,    0,    0,  304,  304,    0,    0, 
    1646     0,  304,  304,    0,    0,    0,    0,    0,    0,    0, 
    1647     0,  304,    0,    0,    0,  304,  304,    0,    0,    0, 
    1648   304,    0,    0,    0,    0,    0,  304,  567,  304,  304, 
    1649   333,  304,  334,  304,  304,  304,  304,  304,    0,  304, 
    1650   304,  304,  304,  304,  304,  304,  304,  304,  304,  304, 
    1651   304,  304,  304,  304,  304,    0,    0,  304,  304,  304, 
    1652     0,  304,  304,  304,    0,  304,  304,  304,    0,    0, 
    1653   304,    0,  304,    0,    0,  304,  304,  304,  304,    0, 
    1654   304,  304,  304,  304,    0,  753,    0,  751,  150,  304, 
    1655   151,    0,  304,  304,  304,  304,  304,  304,  304,  304, 
    1656     0,  304,  304,  304,  304,  304,  576,  303,  304,  303, 
    1657   303,  303,  303,    0,    0,  304,  304,  304,    0,    0, 
    1658     0,    0,  303,    0,  304,  304,  303,    0,  303,    0, 
    1659     0,  303,  303,  303,  303,  303,  303,  303,    0,    0, 
    1660   303,  303,  303,    0,    0,    0,    0,  303,  303,    0, 
    1661     0,    0,  303,  303,    0,    0,    0,    0,    0,    0, 
    1662     0,    0,  303,    0,    0,    0,  303,  303,    0,    0, 
    1663     0,  303,    0,    0,    0,    0,    0,  303,    0,  303, 
    1664   303,    0,  303,    0,  303,  303,  303,  303,  303,    0, 
    1665   303,  303,  303,  303,  303,  303,  303,  303,  303,  303, 
    1666   303,  303,  303,  303,  303,  303,    0,    0,  303,  303, 
    1667   303,    0,  303,  303,  303,    0,  303,  303,  303,    0, 
    1668   338,  303,    0,  303,    0,    0,  303,  303,  303,  303, 
    1669   338,  303,  303,  303,  303,    0,    0,    0,    0,    0, 
    1670   303,    0,    0,  303,  303,  303,  303,  303,  303,  303, 
    1671   303,    0,  303,  303,  303,  303,  303,  338,    0,  303, 
    1672   338,  338,  338,  338,  338,  338,  303,  303,  303,    0, 
    1673     0,    0,    0,    0,    0,  303,  303,    0,    0,    0, 
    1674     0,    0,    0,    0,    0,  336,  337,  338,    0,    0, 
    1675   339,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1676     0,    0,    0,    0,    0,    0,    0,    0,  149,    0, 
    1677     0,    0,    0,    0,    0,    0,    0,    0,  752,    0, 
    1678     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1679     0,    0,  152,  153,    0,    0,    0,  154,  155,  156, 
    1680   157,    0,    0,    0,    0,    0,    0,    0,    0,  158, 
    1681   159,  160,  161,  162,  163,  164,    0,  165,  166,  167, 
    1682     0,    0,  168,  169,  170,    0,  171,  172,  173,  174, 
    1683   175,  292,  176,    0,    0,    0,    0,  178,  179,    0, 
    1684     0,  292,    0,    0,    0,    0,    0,    0,    0,    0, 
    1685     0,    0,    0,  181,  182,    0,    0,  183,  184,  185, 
    1686   186,    0,    0,    0,  340,    0,    0,    0,  292,    0, 
    1687     0,  187,  292,    0,    0,  292,    0,    0,    0,    0, 
    1688     0,    0,    0,    0,  177,    0,    0,    0,    0,  292, 
    1689     0,    0,  292,    0,    0,  178,  179,    0,    0,    0, 
    1690     0,  180,    0,    0,    0,    0,    0,    0,    0,    0, 
    1691     0,  181,  182,    0,    0,  183,  184,  185,  186,    0, 
    1692     0,    0,   89,    0,    0,    0,    0,    0,    0,  187, 
    1693     0,    0,    0,    0,    0,    0,  338,    0,    0,    0, 
    1694     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1695     0,  338,  338,  338,    0,  338,    0,  338,    0,    0, 
    1696   338,  338,  338,  338,  338,  338,  338,    0,    0,  338, 
    1697   338,  338,    0,    0,    0,    0,  338,  338,    0,    0, 
    1698     0,  338,  338,    0,    0,    0,    0,    0,    0,    0, 
    1699     0,  338,    0,    0,    0,  338,  338,    0,    0,    0, 
    1700   338,    0,    0,    0,    0,    0,  338,    0,  338,  338, 
    1701     0,  338,    0,  338,  338,  338,  338,  338,    0,  338, 
    1702   338,  338,  338,  338,  338,  338,  338,  338,  338,  338, 
    1703   338,  338,  338,  338,  338,    0,    0,  338,  338,  338, 
    1704     0,  338,  338,  338,    0,  338,  338,  338,    0,    0, 
    1705   338,    0,  338,    0,    0,  338,  338,  338,  338,    0, 
    1706     0,  338,  338,  338,    0,    0,    0,    0,    0,  338, 
    1707     0,    0,  338,  338,  338,  338,  338,  338,  338,  338, 
    1708     0,  338,  338,  338,  338,  338,    0,  292,  338,  292, 
    1709   292,    0,    0,    0,    0,  338,  338,  338,    0,    0, 
    1710   302,    0,  292,    0,  338,  338,  292,    0,  292,    0, 
    1711   302,  292,  292,  292,  292,  292,  292,  292,    0,    0, 
    1712   292,  292,  292,    0,    0,    0,    0,  292,  292,    0, 
    1713     0,    0,  292,  292,    0,    0,    0,  302,    0,    0, 
    1714     0,  302,  292,    0,  302,    0,  292,  292,    0,    0, 
    1715     0,  292,    0,    0,    0,    0,    0,  292,  302,  292, 
    1716   292,  302,  292,    0,  292,  292,  292,  292,  292,    0, 
    1717   292,  292,  292,  292,  292,  292,  292,  292,  292,  292, 
    1718   292,  292,  292,  292,  292,  292,    0,    0,  292,  292, 
    1719   292,    0,  292,  292,  292,    0,  292,  292,  292,    0, 
    1720     0,  292,    0,  292,    0,    0,  292,  292,  292,  292, 
    1721     0,  292,  292,  292,  292,    0,    0,    0,    0,    0, 
    1722   292,    0,    0,  292,  292,  292,  292,  292,  292,  292, 
    1723   292,    0,  292,  292,  292,  292,  292,    0,    0,  292, 
    1724     0,    0,    0,    0,    0,    0,  292,  292,  292,    0, 
    1725     0,    0,    0,    0,    0,  292,  292,  501,    0,    0, 
    1726     0,    0,    0,    0,    0,    0,    0,  501,    0,    0, 
    1727     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1728     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1729     0,    0,    0,    0,    0,    0,    0,    0,  501,  501, 
    1730   501,  501,  501,    0,    0,    0,    0,    0,    0,    0, 
    1731     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1732     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1733     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1734     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1735     0,    0,    0,    0,    0,    0,  302,    0,  302,  302, 
    1736     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1737     0,  302,    0,    0,    0,  302,    0,  302,    0,    0, 
    1738   302,  302,  302,  302,  302,  302,  302,    0,    0,  302, 
    1739   302,  302,    0,    0,    0,    0,  302,  302,    0,    0, 
    1740     0,  302,  302,    0,    0,    0,    0,    0,    0,    0, 
    1741     0,  302,    0,    0,    0,  302,  302,    0,    0,    0, 
    1742   302,    0,    0,    0,    0,    0,  302,    0,  302,  302, 
    1743     0,  302,    0,  302,  302,  302,  302,  302,    0,  302, 
    1744   302,  302,  302,  302,  302,  302,  302,  302,  302,  302, 
    1745   302,  302,  302,  302,  302,    0,    0,  302,  302,  302, 
    1746     0,  302,  302,  302,    0,  302,  302,  302,    0,    0, 
    1747   302,    0,  302,    0,    0,  302,  302,  302,  302,    0, 
    1748   302,  302,  302,  302,    0,    0,    0,    0,    0,  302, 
    1749     0,    0,  302,  302,  302,  302,  302,  302,  302,  302, 
    1750     0,  302,  302,  302,  302,  302,    0,    0,  302,    0, 
    1751     0,    0,    0,  501,    0,  302,  302,  302,    0,    0, 
    1752     0,  502,    0,    0,  302,  302,    0,    0,  501,  501, 
    1753   501,  502,  501,    0,  501,    0,    0,  501,  501,  501, 
    1754   501,  501,  501,  501,    0,    0,  501,  501,  501,    0, 
    1755     0,    0,    0,  501,  501,    0,    0,    0,  501,  501, 
    1756     0,    0,  502,  502,  502,  502,  502,    0,  501,    0, 
    1757     0,    0,  501,  501,    0,    0,    0,  501,    0,    0, 
    1758     0,    0,    0,  501,    0,  501,  501,    0,  501,    0, 
    1759   501,  501,  501,  501,  501,    0,  501,  501,  501,  501, 
    1760   501,  501,  501,  501,  501,  501,  501,  501,  501,  501, 
    1761   501,  501,    0,    0,  501,  501,  501,    0,  501,  501, 
    1762   501,    0,  501,  501,  501,    0,    0,  501,    0,  501, 
    1763     0,    0,  501,  501,  501,  501,    0,    0,  501,  501, 
    1764   501,    0,    0,    0,    0,    0,  501,    0,    0,  501, 
    1765   501,  501,  501,  501,  501,  501,  501,    0,  501,  501, 
    1766   501,  501,  501,    0,    0,  501,    0,    0,    0,    0, 
    1767     0,    0,  501,  501,  501,    0,  493,    0,    0,    0, 
    1768     0,  501,  501,    0,    0,    0,  493,    0,    0,    0, 
    1769     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1770     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1771     0,    0,    0,    0,    0,    0,    0,    0,  499,  499, 
    1772   493,  499,    0,    0,    0,    0,    0,    0,    0,    0, 
    1773     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1774     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1775     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1776     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1777     0,    0,    0,    0,    0,    0,    0,  502,    0,    0, 
    1778     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1779     0,    0,  502,  502,  502,    0,  502,    0,  502,    0, 
    1780     0,  502,  502,  502,  502,  502,  502,  502,    0,    0, 
    1781   502,  502,  502,    0,    0,    0,    0,  502,  502,    0, 
    1782     0,    0,  502,  502,    0,    0,    0,    0,    0,    0, 
    1783     0,    0,  502,    0,    0,    0,  502,  502,    0,    0, 
    1784     0,  502,    0,    0,    0,    0,    0,  502,    0,  502, 
    1785   502,    0,  502,    0,  502,  502,  502,  502,  502,    0, 
    1786   502,  502,  502,  502,  502,  502,  502,  502,  502,  502, 
    1787   502,  502,  502,  502,  502,  502,    0,    0,  502,  502, 
    1788   502,    0,  502,  502,  502,    0,  502,  502,  502,    0, 
    1789     0,  502,    0,  502,    0,    0,  502,  502,  502,  502, 
    1790     0,    0,  502,  502,  502,    0,    0,    0,    0,    0, 
    1791   502,    0,    0,  502,  502,  502,  502,  502,  502,  502, 
    1792   502,    0,  502,  502,  502,  502,  502,    0,    0,  502, 
    1793     0,    0,  493,    0,    0,    0,  502,  502,    0,    0, 
    1794   507,    0,    0,    0,    0,  502,  502,  499,  499,  499, 
    1795   507,  493,    0,  493,    0,    0,  493,  493,  493,  493, 
    1796   493,  493,  493,    0,    0,  493,  493,  493,    0,    0, 
    1797     0,    0,  493,  493,    0,    0,    0,  493,  493,    0, 
    1798     0,  507,  507,  507,  507,  507,    0,  493,    0,    0, 
    1799     0,  493,  493,    0,    0,    0,  493,    0,    0,    0, 
    1800     0,    0,  493,    0,  493,  493,    0,  493,    0,  493, 
    1801   493,  493,  493,  493,    0,  493,  493,  493,  493,  493, 
    1802   493,  493,  493,  493,  493,  493,  493,  493,  493,  493, 
    1803   493,    0,    0,  493,  493,  493,    0,  493,  493,  493, 
    1804     0,  493,  493,  493,    0,    0,  493,    0,  493,    0, 
    1805     0,  493,  493,  493,  493,    0,    0,  493,  493,  493, 
    1806     0,    0,    0,    0,    0,  493,    0,    0,  493,  493, 
    1807   493,  493,  493,  493,  493,  493,    0,  493,  493,  493, 
    1808   493,  493,    0,    0,  493,    0,    0,    0,    0,    0, 
    1809     0,  493,  493,  493,    0,  504,    0,    0,    0,    0, 
    1810   493,  493,    0,    0,    0,  504,    0,    0,    0,    0, 
    1811     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1812     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1813     0,    0,    0,    0,    0,    0,  504,  504,  504,  504, 
    1814   504,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1815     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1816     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1817     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1818     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1819     0,    0,    0,    0,    0,    0,  507,    0,    0,    0, 
    1820     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1821     0,  507,  507,    0,    0,  507,    0,  507,    0,    0, 
    1822   507,  507,  507,  507,  507,  507,  507,    0,    0,  507, 
    1823   507,  507,    0,    0,    0,    0,  507,  507,    0,    0, 
    1824     0,  507,  507,    0,    0,    0,    0,    0,    0,    0, 
    1825     0,  507,    0,    0,    0,  507,  507,    0,    0,    0, 
    1826   507,    0,    0,    0,    0,    0,  507,    0,  507,  507, 
    1827     0,  507,    0,  507,  507,  507,  507,  507,    0,  507, 
    1828   507,  507,  507,  507,  507,  507,  507,  507,  507,  507, 
    1829   507,  507,  507,  507,  507,    0,    0,  507,  507,  507, 
    1830     0,  507,  507,  507,    0,  507,  507,  507,    0,    0, 
    1831   507,    0,  507,    0,    0,  507,  507,  507,  507,    0, 
    1832     0,  507,  507,  507,    0,    0,    0,    0,    0,  507, 
    1833     0,    0,  507,  507,  507,  507,  507,  507,  507,  507, 
    1834     0,  507,  507,  507,  507,  507,    0,    0,  507,    0, 
    1835     0,  504,    0,    0,    0,  507,  507,  507,  505,    0, 
    1836     0,    0,    0,    0,  507,  507,  504,  504,  505,    0, 
    1837   504,    0,  504,    0,    0,  504,  504,  504,  504,  504, 
    1838   504,  504,    0,    0,  504,  504,  504,    0,    0,    0, 
    1839     0,  504,  504,    0,    0,    0,  504,  504,    0,  505, 
    1840   505,  505,  505,  505,    0,    0,  504,    0,    0,    0, 
    1841   504,  504,    0,    0,    0,  504,    0,    0,    0,    0, 
    1842     0,  504,    0,  504,  504,    0,  504,    0,  504,  504, 
    1843   504,  504,  504,    0,  504,  504,  504,  504,  504,  504, 
    1844   504,  504,  504,  504,  504,  504,  504,  504,  504,  504, 
    1845     0,    0,  504,  504,  504,    0,  504,  504,  504,    0, 
    1846   504,  504,  504,    0,    0,  504,    0,  504,    0,    0, 
    1847   504,  504,  504,  504,    0,    0,  504,  504,  504,    0, 
    1848     0,    0,    0,    0,  504,    0,    0,  504,  504,  504, 
    1849   504,  504,  504,  504,  504,    0,  504,  504,  504,  504, 
    1850   504,    0,    0,  504,    0,    0,    0,    0,    0,    0, 
    1851   504,  504,  504,  506,    0,    0,    0,    0,    0,  504, 
    1852   504,    0,    0,  506,    0,    0,    0,    0,    0,    0, 
    1853     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1854     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1855     0,    0,    0,    0,  506,  506,  506,  506,  506,    0, 
    1856     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1857     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1858     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1859     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1860     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1861     0,    0,    0,    0,  505,    0,    0,    0,    0,    0, 
    1862     0,    0,    0,    0,    0,    0,    0,    0,    0,  505, 
    1863   505,    0,    0,  505,    0,  505,    0,    0,  505,  505, 
    1864   505,  505,  505,  505,  505,    0,    0,  505,  505,  505, 
    1865     0,    0,    0,    0,  505,  505,    0,    0,    0,  505, 
    1866   505,    0,    0,    0,    0,    0,    0,    0,    0,  505, 
    1867     0,    0,    0,  505,  505,    0,    0,    0,  505,    0, 
    1868     0,    0,    0,    0,  505,    0,  505,  505,    0,  505, 
    1869     0,  505,  505,  505,  505,  505,    0,  505,  505,  505, 
    1870   505,  505,  505,  505,  505,  505,  505,  505,  505,  505, 
    1871   505,  505,  505,    0,    0,  505,  505,  505,    0,  505, 
    1872   505,  505,    0,  505,  505,  505,    0,    0,  505,    0, 
    1873   505,    0,    0,  505,  505,  505,  505,    0,    0,  505, 
    1874   505,  505,    0,    0,    0,    0,    0,  505,    0,    0, 
    1875   505,  505,  505,  505,  505,  505,  505,  505,    0,  505, 
    1876   505,  505,  505,  505,    0,    0,  505,    0,    0,  506, 
    1877     0,    0,    0,  505,  505,  505,  313,    0,    0,    0, 
    1878     0,    0,  505,  505,  506,  506,  313,    0,  506,    0, 
    1879   506,    0,    0,  506,  506,  506,  506,  506,  506,  506, 
    1880     0,    0,  506,  506,  506,    0,    0,    0,    0,  506, 
    1881   506,    0,    0,  313,  506,  506,    0,  313,    0,    0, 
    1882   313,    0,    0,    0,  506,    0,    0,    0,  506,  506, 
    1883     0,    0,    0,  506,  313,    0,    0,    0,    0,  506, 
    1884     0,  506,  506,    0,  506,    0,  506,  506,  506,  506, 
    1885   506,    0,  506,  506,  506,  506,  506,  506,  506,  506, 
    1886   506,  506,  506,  506,  506,  506,  506,  506,    0,    0, 
    1887   506,  506,  506,    0,  506,  506,  506,    0,  506,  506, 
    1888   506,    0,    0,  506,    0,  506,    0,    0,  506,  506, 
    1889   506,  506,    0,    0,  506,  506,  506,    0,    0,    0, 
    1890     0,    0,  506,    0,    0,  506,  506,  506,  506,  506, 
    1891   506,  506,  506,    0,  506,  506,  506,  506,  506,    0, 
    1892     0,  506,    0,    0,    0,    0,    0,    0,  506,  506, 
    1893   506,  309,    0,    0,    0,    0,    0,  506,  506,    0, 
    1894     0,  309,    0,    0,    0,    0,    0,    0,    0,    0, 
    1895     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1896     0,    0,    0,    0,    0,    0,    0,    0,  309,    0, 
    1897     0,    0,  309,    0,    0,  309,    0,    0,    0,    0, 
    1898     0,    0,    0,    0,    0,    0,    0,    0,    0,  309, 
    1899     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1900     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1901     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1902     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1903     0,    0,  313,    0,    0,    0,    0,    0,    0,    0, 
    1904     0,    0,    0,    0,    0,    0,    0,  313,    0,    0, 
    1905     0,  313,    0,  313,    0,    0,  313,  313,  313,  313, 
    1906   313,  313,  313,    0,    0,  313,  313,  313,    0,    0, 
    1907     0,    0,  313,  313,    0,    0,    0,  313,  313,    0, 
    1908     0,    0,    0,    0,    0,    0,    0,  313,    0,    0, 
    1909     0,  313,  313,    0,    0,    0,  313,    0,    0,    0, 
    1910     0,    0,  313,    0,  313,  313,    0,  313,    0,  313, 
    1911   313,  313,  313,  313,    0,  313,  313,  313,  313,  313, 
    1912   313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    1913   313,    0,    0,  313,  313,  313,    0,  313,  313,  313, 
    1914     0,  313,  313,  313,    0,  503,  313,    0,  313,    0, 
    1915     0,  313,  313,  313,  313,  503,  313,  313,  313,  313, 
    1916     0,    0,    0,    0,    0,  313,    0,    0,  313,  313, 
    1917   313,  313,  313,  313,  313,  313,    0,  313,  313,  313, 
    1918   313,  313,    0,    0,  313,    0,  503,  309,  503,  503, 
    1919   503,  313,  313,  313,    0,    0,    0,    0,    0,    0, 
    1920   313,  313,  309,    0,    0,    0,  309,    0,  309,    0, 
    1921     0,  309,  309,  309,  309,  309,  309,  309,    0,    0, 
    1922   309,  309,  309,    0,    0,    0,    0,  309,  309,    0, 
    1923     0,    0,  309,  309,    0,    0,    0,    0,    0,    0, 
    1924     0,    0,  309,    0,    0,    0,  309,  309,    0,    0, 
    1925     0,  309,    0,    0,    0,    0,    0,  309,    0,  309, 
    1926   309,    0,  309,    0,  309,  309,  309,  309,  309,    0, 
    1927   309,  309,  309,  309,  309,  309,  309,  309,  309,  309, 
    1928   309,  309,  309,  309,  309,  309,    0,    0,  309,  309, 
    1929   309,    0,  309,  309,  309,    0,  309,  309,  309,    0, 
    1930   509,  309,    0,  309,    0,    0,  309,  309,  309,  309, 
    1931   509,  309,  309,  309,  309,    0,    0,    0,    0,    0, 
    1932   309,    0,    0,  309,  309,  309,  309,  309,  309,  309, 
    1933   309,    0,  309,  309,  309,  309,  309,    0,    0,  309, 
    1934     0,  509,    0,    0,  509,    0,  309,  309,  309,    0, 
    1935     0,    0,    0,    0,    0,  309,  309,    0,    0,    0, 
    1936     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1937     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1938     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1939     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1940     0,  503,    0,    0,    0,    0,    0,    0,    0,    0, 
    1941     0,    0,    0,    0,    0,    0,  503,    0,    0,    0, 
    1942   503,    0,  503,    0,    0,  503,  503,  503,  503,  503, 
    1943   503,  503,    0,    0,  503,  503,  503,    0,    0,    0, 
    1944     0,  503,  503,    0,    0,    0,  503,  503,    0,    0, 
    1945     0,    0,    0,    0,    0,    0,  503,    0,    0,    0, 
    1946   503,  503,    0,    0,    0,  503,    0,    0,    0,    0, 
    1947     0,  503,    0,  503,  503,    0,  503,    0,  503,  503, 
    1948   503,  503,  503,    0,  503,  503,  503,  503,  503,  503, 
    1949   503,  503,  503,  503,  503,  503,  503,  503,  503,  503, 
    1950     0,    0,  503,  503,  503,    0,  503,  503,  503,    0, 
    1951   503,  503,  503,    0,  512,  503,    0,  503,    0,    0, 
    1952   503,  503,  503,  503,  512,    0,  503,  503,  503,    0, 
    1953     0,    0,    0,    0,  503,    0,    0,  503,  503,  503, 
    1954   503,  503,  503,  503,  503,    0,  503,  503,  503,  503, 
    1955   503,    0,    0,  503,    0,  512,  509,    0,  512,    0, 
    1956   503,  503,  503,    0,    0,    0,    0,    0,    0,  503, 
    1957   503,  509,    0,    0,    0,  509,    0,  509,    0,    0, 
    1958   509,  509,  509,  509,  509,  509,  509,    0,    0,  509, 
    1959   509,  509,    0,    0,    0,    0,  509,  509,    0,    0, 
    1960     0,  509,  509,    0,    0,    0,    0,    0,    0,    0, 
    1961     0,  509,    0,    0,    0,  509,  509,    0,    0,    0, 
    1962   509,    0,    0,    0,    0,    0,  509,    0,  509,  509, 
    1963     0,  509,    0,  509,  509,  509,  509,  509,    0,  509, 
    1964   509,  509,  509,  509,  509,  509,  509,  509,  509,  509, 
    1965   509,  509,  509,  509,  509,    0,    0,  509,  509,  509, 
    1966     0,  509,  509,  509,    0,  509,  509,  509,    0,  511, 
    1967   509,    0,  509,    0,    0,  509,  509,  509,  509,  511, 
    1968     0,  509,  509,  509,    0,    0,    0,    0,    0,  509, 
    1969     0,    0,  509,  509,  509,  509,  509,  509,  509,  509, 
    1970     0,  509,  509,  509,  509,  509,    0,    0,  509,    0, 
    1971   511,    0,    0,  511,    0,  509,  509,  509,    0,    0, 
    1972     0,    0,    0,    0,  509,  509,    0,    0,    0,    0, 
    1973     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1974     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1975     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1976     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1977   512,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    1978     0,    0,    0,    0,    0,  512,    0,    0,    0,  512, 
    1979     0,  512,    0,    0,  512,  512,  512,  512,  512,  512, 
    1980   512,    0,    0,  512,  512,  512,    0,    0,    0,    0, 
    1981   512,  512,    0,    0,    0,  512,  512,    0,    0,    0, 
    1982     0,    0,    0,    0,    0,  512,    0,    0,    0,  512, 
    1983   512,    0,    0,    0,  512,    0,    0,    0,    0,    0, 
    1984   512,    0,  512,  512,    0,  512,    0,  512,  512,  512, 
    1985   512,  512,    0,  512,  512,  512,  512,  512,  512,  512, 
    1986   512,  512,  512,  512,  512,  512,  512,  512,  512,    0, 
    1987     0,  512,  512,  512,    0,  512,  512,  512,    0,  512, 
    1988   512,  512,    0,  510,  512,    0,  512,    0,    0,  512, 
    1989   512,  512,  512,  510,    0,  512,  512,  512,    0,    0, 
    1990     0,    0,    0,  512,    0,    0,  512,  512,  512,  512, 
    1991   512,  512,  512,  512,    0,  512,  512,  512,  512,  512, 
    1992     0,    0,  512,    0,  510,  511,    0,  510,    0,  512, 
    1993   512,  512,    0,    0,    0,    0,    0,    0,  512,  512, 
    1994   511,    0,    0,    0,  511,    0,  511,    0,    0,  511, 
    1995   511,  511,  511,  511,  511,  511,    0,    0,  511,  511, 
    1996   511,    0,    0,    0,    0,  511,  511,    0,    0,    0, 
    1997   511,  511,    0,    0,    0,    0,    0,    0,    0,    0, 
    1998   511,    0,    0,    0,  511,  511,    0,    0,    0,  511, 
    1999     0,    0,    0,    0,    0,  511,    0,  511,  511,    0, 
    2000   511,    0,  511,  511,  511,  511,  511,    0,  511,  511, 
    2001   511,  511,  511,  511,  511,  511,  511,  511,  511,  511, 
    2002   511,  511,  511,  511,    0,    0,  511,  511,  511,    0, 
    2003   511,  511,  511,    0,  511,  511,  511,    0,  236,  511, 
    2004     0,  511,    0,    0,  511,  511,  511,  511,  236,    0, 
    2005   511,  511,  511,    0,    0,    0,    0,    0,  511,    0, 
    2006     0,  511,  511,  511,  511,  511,  511,  511,  511,    0, 
    2007   511,  511,  511,  511,  511,    0,    0,  511,    0,    0, 
    2008   236,    0,  236,    0,  511,  511,  511,    0,    0,    0, 
    2009     0,    0,    0,  511,  511,    0,    0,    0,    0,  236, 
    2010     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2011     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2012     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2013     0,    0,    0,    0,    0,    0,    0,    0,    0,  510, 
    2014     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2015     0,    0,    0,    0,  510,    0,    0,    0,  510,    0, 
    2016   510,    0,    0,  510,  510,  510,  510,  510,  510,  510, 
    2017     0,    0,  510,  510,  510,    0,    0,    0,    0,  510, 
    2018   510,    0,    0,    0,  510,  510,    0,    0,    0,    0, 
    2019     0,    0,    0,    0,  510,    0,    0,    0,  510,  510, 
    2020     0,    0,    0,  510,    0,    0,    0,    0,    0,  510, 
    2021     0,  510,  510,    0,  510,    0,  510,  510,  510,  510, 
    2022   510,    0,  510,  510,  510,  510,  510,  510,  510,  510, 
    2023   510,  510,  510,  510,  510,  510,  510,  510,    0,    0, 
    2024   510,  510,  510,    0,  510,  510,  510,    0,  510,  510, 
    2025   510,    0,  513,  510,    0,  510,    0,    0,  510,  510, 
    2026   510,  510,  513,    0,  510,  510,  510,    0,    0,    0, 
    2027     0,    0,  510,    0,    0,  510,  510,  510,  510,  510, 
    2028   510,  510,  510,    0,  510,  510,  510,  510,  510,    0, 
    2029     0,  510,    0,  513,  236,    0,  513,    0,  510,  510, 
    2030   510,    0,    0,    0,    0,    0,    0,  510,  510,    0, 
    2031     0,    0,    0,  236,    0,  236,    0,    0,  236,  236, 
    2032   236,  236,  236,  236,  236,    0,    0,  236,  236,  236, 
    2033     0,    0,    0,    0,  236,  236,    0,    0,    0,  236, 
    2034   236,    0,    0,    0,    0,    0,    0,    0,    0,  236, 
    2035     0,    0,    0,  236,  236,    0,    0,    0,  236,    0, 
    2036     0,    0,    0,    0,  236,    0,  236,  236,    0,  236, 
    2037     0,  236,  236,  236,  236,  236,    0,  236,  236,  236, 
    2038   236,  236,  236,  236,  236,  236,  236,  236,  236,  236, 
    2039   236,  236,  236,    0,    0,  236,  236,  236,    0,  236, 
    2040   236,  236,    0,  236,  236,  236,    0,  508,  236,    0, 
    2041   236,    0,    0,  236,  236,  236,  236,  508,    0,  236, 
    2042   236,  236,    0,    0,    0,    0,    0,  236,    0,    0, 
    2043   236,  236,  236,  236,  236,  236,  236,  236,    0,  236, 
    2044   236,  236,  236,  236,    0,    0,  236,    0,  508,    0, 
    2045     0,  508,    0,  236,  236,  236,    0,    0,    0,    0, 
    2046     0,    0,  236,  236,    0,    0,    0,    0,    0,    0, 
    2047     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2048     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2049     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2050     0,    0,    0,    0,    0,    0,    0,    0,  513,    0, 
    2051     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2052     0,    0,    0,  513,    0,    0,    0,  513,    0,  513, 
    2053     0,    0,  513,  513,  513,  513,  513,  513,  513,    0, 
    2054     0,  513,  513,  513,    0,    0,    0,    0,  513,  513, 
    2055     0,    0,    0,  513,  513,    0,    0,    0,    0,    0, 
    2056     0,    0,    0,  513,   57,    0,    0,  513,  513,    0, 
    2057     0,    0,  513,    0,   57,    0,    0,    0,  513,    0, 
    2058   513,  513,    0,  513,    0,  513,  513,  513,  513,  513, 
    2059     0,  513,  513,  513,  513,  513,  513,  513,  513,  513, 
    2060   513,  513,  513,  513,  513,  513,  513,    0,    0,  513, 
    2061   513,  513,    0,  513,  513,  513,    0,  513,  513,  513, 
    2062     0,    0,  513,    0,  513,    0,    0,  513,  513,  513, 
    2063   513,    0,    0,  513,  513,  513,    0,    0,    0,    0, 
    2064     0,  513,    0,    0,  513,  513,  513,  513,  513,  513, 
    2065   513,  513,    0,  513,  513,  513,  513,  513,    0,    0, 
    2066   513,    0,    0,  508,    0,    0,    0,  513,  513,  513, 
    2067     0,    0,    0,    0,    0,    0,  513,  513,  508,    0, 
    2068     0,    0,  508,    0,  508,    0,    0,  508,  508,  508, 
    2069   508,  508,  508,  508,    0,    0,  508,  508,  508,    0, 
    2070     0,    0,    0,  508,  508,    0,    0,    0,  508,  508, 
    2071     0,    0,    0,    0,    0,  142,    0,    0,  508,    0, 
    2072     0,    0,  508,  508,    0,  142,    0,  508,    0,    0, 
    2073     0,    0,    0,  508,    0,  508,  508,    0,  508,    0, 
    2074   508,  508,  508,  508,  508,    0,  508,  508,  508,  508, 
    2075   508,  508,  508,  508,  508,  508,  508,  508,  508,  508, 
    2076   508,  508,    0,    0,  508,  508,  508,    0,  508,  508, 
    2077   508,    0,  508,  508,  508,    0,    0,  508,    0,  508, 
    2078     0,    0,  508,  508,  508,  508,    0,    0,  508,  508, 
    2079   508,    0,    0,    0,    0,    0,  508,    0,    0,  508, 
    2080   508,  508,  508,  508,  508,  508,  508,    0,  508,  508, 
    2081   508,  508,  508,    0,    0,  508,    0,    0,    0,    0, 
    2082    57,    0,  508,  508,  508,    0,    0,    0,    0,    0, 
    2083     0,  508,  508,    0,    0,  164,  164,    0,    0,   57, 
    2084     0,   57,    0,    0,   57,   57,   57,   57,   57,   57, 
    2085    57,    0,    0,   57,   57,   57,    0,    0,    0,    0, 
    2086    57,   57,    0,    0,    0,   57,   57,    0,    0,    0, 
    2087     0,    0,    0,    0,    0,   57,    0,    0,    0,   57, 
    2088    57,    0,    0,    0,   57,    0,    0,    0,    0,    0, 
    2089    57,    0,   57,   57,    0,   57,    0,   57,   57,   57, 
    2090    57,   57,    0,   57,   57,   57,   57,   57,   57,   57, 
    2091    57,   57,   57,   57,   57,   57,   57,   57,   57,    0, 
    2092     0,   57,   57,   57,    0,   57,   57,   57,    0,   57, 
    2093    57,   57,    0,  355,   57,    0,   57,    0,    0,   57, 
    2094    57,   57,   57,  355,    0,   57,   57,   57,    0,    0, 
    2095     0,    0,    0,   57,    0,    0,   57,   57,   57,   57, 
    2096    57,   57,   57,   57,    0,   57,   57,   57,   57,   57, 
    2097     0,  142,   57,    0,  355,    0,    0,    0,    0,   57, 
    2098    57,   57,    0,    0,    0,    0,  164,  164,   57,   57, 
    2099   142,  355,  142,    0,    0,  142,  142,  142,  142,  142, 
    2100   142,  142,    0,    0,  142,  142,  142,    0,    0,    0, 
    2101     0,  142,  142,    0,    0,    0,  142,  142,    0,    0, 
    2102     0,    0,    0,    0,    0,    0,  142,    0,    0,    0, 
    2103   142,  142,    0,    0,    0,  142,    0,    0,    0,    0, 
    2104     0,  142,    0,  142,  142,    0,  142,    0,  142,  142, 
    2105   142,  142,  142,    0,  142,  142,  142,  142,  142,  142, 
    2106   142,  142,  142,  142,  142,  142,  142,  142,  142,  142, 
    2107     0,    0,  142,  142,  142,    0,  142,  142,  142,    0, 
    2108   142,  142,  142,    0,  125,  142,    0,  142,    0,    0, 
    2109   142,  142,  142,  142,  125,    0,  142,  142,  142,    0, 
    2110     0,    0,    0,    0,  142,    0,    0,  142,  142,  142, 
    2111   142,  142,  142,  142,  142,    0,  142,  142,  142,  142, 
    2112   142,    0,    0,  142,    0,    0,    0,    0,  125,    0, 
    2113   142,  142,  142,    0,    0,    0,    0,    0,    0,  142, 
    2114   142,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2115     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2116     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2117     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2118     0,    0,    0,    0,    0,    0,    0,    0,    0,  355, 
    2119     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2120     0,    0,    0,    0,    0,    0,    0,    0,  355,    0, 
    2121   355,    0,    0,  355,  355,  355,  355,  355,  355,  355, 
    2122     0,    0,  355,  355,  355,    0,    0,    0,    0,  355, 
    2123   355,    0,    0,    0,  355,  355,    0,    0,    0,    0, 
    2124   154,    0,    0,    0,  355,    0,    0,    0,  355,  355, 
    2125   154,    0,    0,  355,    0,    0,    0,    0,    0,  355, 
    2126     0,  355,  355,    0,  355,    0,  355,  355,  355,  355, 
    2127   355,    0,  355,  355,  355,  355,  355,  355,  355,  355, 
    2128   355,  355,  355,  355,  355,  355,  355,  355,    0,    0, 
    2129   355,  355,  355,    0,  355,  355,  355,    0,  355,  355, 
    2130   355,    0,    0,  355,    0,  355,    0,    0,  355,  355, 
    2131   355,  355,    0,    0,  355,  355,  355,    0,    0,    0, 
    2132     0,    0,  355,    0,    0,  355,  355,  355,  355,  355, 
    2133   355,  355,  355,    0,  355,  355,  355,  355,  355,    0, 
    2134   125,  355,    0,    0,    0,    0,    0,    0,  355,  355, 
    2135   355,    0,    0,    0,    0,  125,  125,  355,  355,  125, 
    2136     0,  125,    0,    0,  125,  125,  125,  125,  125,  125, 
    2137   125,    0,    0,  125,  125,  125,    0,    0,    0,    0, 
    2138   125,  125,    0,    0,    0,  125,  125,    0,    0,    0, 
    2139     0,    0,    0,    0,    0,  125,    0,    0,    0,  125, 
    2140   125,    0,    0,    0,  125,    0,    0,    0,    0,    0, 
    2141   125,    0,  125,  125,    0,  125,    0,  125,  125,  125, 
    2142   125,  125,    0,  125,  125,  125,  125,  125,  125,  125, 
    2143   125,  125,  125,  125,  125,  125,  125,  125,  125,    0, 
    2144     0,  125,  125,  125,    0,  125,  125,  125,    0,  125, 
    2145   125,  125,    0,  236,  125,    0,  125,    0,    0,  125, 
    2146   125,  125,  125,  236,    0,  125,  125,  125,    0,    0, 
    2147     0,    0,    0,  125,    0,    0,  125,  125,  125,  125, 
    2148   125,  125,  125,  125,    0,  125,  125,  125,  125,  125, 
    2149     0,    0,  125,    0,    0,  236,  154,  236,    0,  125, 
    2150   125,    0,    0,    0,    0,    0,    0,    0,  125,  125, 
    2151     0,  154,  154,    0,    0,  154,    0,  154,    0,    0, 
    2152   154,  154,  154,  154,  154,  154,  154,    0,    0,  154, 
    2153   154,  154,    0,    0,    0,    0,  154,  154,    0,    0, 
    2154     0,  154,  154,    0,    0,    0,    0,    0,    0,    0, 
    2155     0,  154,    0,    0,    0,  154,  154,    0,    0,    0, 
    2156   154,    0,    0,    0,    0,    0,  154,    0,  154,  154, 
    2157     0,  154,    0,  154,  154,  154,  154,  154,    0,  154, 
    2158   154,  154,  154,  154,  154,  154,  154,  154,  154,  154, 
    2159   154,  154,  154,  154,  154,    0,    0,  154,  154,  154, 
    2160     0,  154,  154,  154,  164,  154,  154,  154,    0,    0, 
    2161   154,    0,  154,    0,  164,  154,  154,  154,  154,    0, 
    2162     0,  154,  154,  154,    0,    0,    0,    0,    0,  154, 
    2163     0,    0,  154,  154,  154,  154,  154,  154,  154,  154, 
    2164     0,  154,  154,  154,  154,  154,    0,    0,  154,    0, 
    2165     0,    0,    0,    0,    0,  154,  154,  154,    0,    0, 
    2166     0,    0,    0,    0,  154,  154,    0,    0,    0,    0, 
    2167     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2168     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2169     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2170     0,    0,    0,    0,    0,    0,    0,    0,    0,  236, 
    2171     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2172     0,    0,    0,    0,    0,    0,    0,    0,  236,    0, 
    2173   236,    0,    0,  236,  236,  236,  236,  236,  236,  236, 
    2174     0,    0,  236,  236,  236,    0,    0,    0,    0,  236, 
    2175   236,    0,    0,    0,  236,  236,    0,    0,    0,    0, 
    2176   155,    0,    0,    0,  236,    0,    0,    0,  236,  236, 
    2177   155,    0,    0,  236,    0,    0,    0,    0,    0,  236, 
    2178     0,  236,  236,    0,  236,    0,  236,  236,  236,  236, 
    2179   236,    0,  236,  236,  236,  236,  236,  236,  236,  236, 
    2180   236,  236,  236,  236,  236,  236,  236,  236,    0,    0, 
    2181   236,  236,  236,    0,  236,  236,  236,    0,  236,  236, 
    2182   236,    0,    0,  236,    0,  236,    0,    0,  236,  236, 
    2183   236,  236,    0,    0,  236,  236,  236,    0,    0,    0, 
    2184     0,    0,  236,    0,    0,  236,  236,  236,  236,  236, 
    2185   236,  236,  236,    0,  236,  236,  236,  236,  236,    0, 
    2186   164,  236,    0,    0,    0,    0,    0,    0,  236,  236, 
    2187   236,    0,    0,    0,    0,  164,  164,  236,  236,  164, 
    2188     0,  164,    0,    0,  164,  164,  164,  164,  164,  164, 
    2189   164,    0,    0,  164,  164,  164,    0,    0,    0,    0, 
    2190   164,  164,    0,    0,    0,  164,  164,    0,    0,    0, 
    2191     0,    0,    0,    0,    0,  164,    0,    0,    0,  164, 
    2192   164,    0,    0,    0,  164,    0,    0,    0,    0,    0, 
    2193   164,    0,  164,  164,    0,  164,    0,  164,  164,  164, 
    2194   164,  164,    0,  164,  164,  164,  164,  164,  164,  164, 
    2195   164,  164,  164,  164,  164,  164,  164,  164,  164,    0, 
    2196     0,  164,  164,  164,    0,  164,  164,  164,    0,  164, 
    2197   164,  164,    0,  525,  164,    0,  164,    0,    0,  164, 
    2198   164,  164,  164,  525,    0,  164,  164,  164,    0,    0, 
    2199     0,    0,    0,  164,    0,    0,  164,  164,  164,  164, 
    2200   164,  164,  164,  164,    0,  164,  164,  164,  164,  164, 
    2201     0,    0,  164,    0,  525,    0,  155,  525,    0,  164, 
    2202   164,  164,    0,    0,    0,    0,    0,    0,  164,  164, 
    2203     0,  155,  155,    0,    0,  155,    0,  155,    0,    0, 
    2204   155,  155,  155,  155,  155,  155,  155,    0,    0,  155, 
    2205   155,  155,    0,    0,    0,    0,  155,  155,    0,    0, 
    2206     0,  155,  155,    0,    0,    0,    0,    0,    0,    0, 
    2207     0,  155,    0,    0,    0,  155,  155,    0,    0,    0, 
    2208   155,    0,    0,    0,    0,    0,  155,    0,  155,  155, 
    2209     0,  155,    0,  155,  155,  155,  155,  155,    0,  155, 
    2210   155,  155,  155,  155,  155,  155,  155,  155,  155,  155, 
    2211   155,  155,  155,  155,  155,    0,    0,  155,  155,  155, 
    2212     0,  155,  155,  155,    0,  155,  155,  155,    0,  168, 
    2213   155,    0,  155,    0,    0,  155,  155,  155,  155,  168, 
    2214     0,  155,  155,  155,    0,    0,    0,    0,    0,  155, 
    2215     0,    0,  155,  155,  155,  155,  155,  155,  155,  155, 
    2216     0,  155,  155,  155,  155,  155,    0,    0,  155,    0, 
    2217   168,    0,    0,  168,    0,  155,  155,  155,    0,    0, 
    2218     0,    0,    0,    0,  155,  155,    0,    0,    0,    0, 
    2219     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2220     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2221     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2222     0,    0,    0,    0,    0,    0,    0,    0,    0,  525, 
    2223     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2224     0,    0,    0,    0,    0,    0,    0,    0,  525,    0, 
    2225   525,    0,    0,  525,  525,  525,  525,  525,  525,  525, 
    2226     0,    0,  525,  525,  525,    0,    0,    0,    0,  525, 
    2227   525,    0,    0,    0,  525,  525,    0,    0,    0,    0, 
    2228     0,    0,    0,    0,  525,    0,    0,    0,  525,  525, 
    2229     0,    0,    0,  525,    0,    0,    0,    0,    0,  525, 
    2230     0,  525,  525,    0,  525,    0,  525,  525,  525,  525, 
    2231   525,    0,  525,  525,  525,  525,  525,  525,  525,  525, 
    2232   525,  525,  525,  525,  525,  525,  525,  525,    0,    0, 
    2233   525,  525,  525,    0,  525,  525,  525,    0,  525,  525, 
    2234   525,    0,  523,  525,    0,  525,    0,    0,  525,  525, 
    2235   525,  525,  523,    0,  525,  525,  525,    0,    0,    0, 
    2236     0,    0,  525,    0,    0,  525,  525,  525,  525,  525, 
    2237   525,  525,  525,    0,  525,  525,  525,  525,  525,    0, 
    2238     0,  525,    0,  523,    0,  168,  523,    0,  525,  525, 
    2239   525,    0,    0,    0,    0,    0,    0,  525,  525,    0, 
    2240     0,    0,    0,    0,  168,    0,  168,    0,    0,  168, 
    2241   168,  168,  168,  168,  168,  168,    0,    0,  168,  168, 
    2242   168,    0,    0,    0,    0,  168,  168,    0,    0,    0, 
    2243   168,  168,    0,    0,    0,    0,    0,    0,    0,    0, 
    2244   168,    0,    0,    0,  168,  168,    0,    0,    0,  168, 
    2245     0,    0,    0,    0,    0,  168,    0,  168,  168,    0, 
    2246   168,    0,  168,  168,  168,  168,  168,    0,  168,  168, 
    2247   168,  168,  168,  168,  168,  168,  168,  168,  168,  168, 
    2248   168,  168,  168,  168,    0,    0,  168,  168,  168,    0, 
    2249   168,  168,  168,    0,  168,  168,  168,    0,  522,  168, 
    2250     0,  168,    0,    0,  168,  168,  168,  168,  522,    0, 
    2251   168,  168,  168,    0,    0,    0,    0,    0,  168,    0, 
    2252     0,  168,  168,  168,  168,  168,  168,  168,  168,    0, 
    2253   168,  168,  168,  168,  168,    0,    0,  168,    0,  522, 
    2254     0,    0,  522,    0,  168,  168,  168,    0,    0,    0, 
    2255     0,    0,    0,  168,  168,    0,    0,    0,    0,    0, 
    2256     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2257     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2258     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2259     0,    0,    0,    0,    0,    0,    0,    0,  523,    0, 
    2260     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2261     0,    0,    0,    0,    0,    0,    0,  523,    0,  523, 
    2262     0,    0,  523,  523,  523,  523,  523,  523,  523,    0, 
    2263     0,  523,  523,  523,    0,    0,    0,    0,  523,  523, 
    2264     0,    0,    0,  523,  523,    0,    0,    0,    0,    0, 
    2265     0,    0,    0,  523,    0,    0,    0,  523,  523,    0, 
    2266     0,    0,  523,    0,    0,    0,    0,    0,  523,    0, 
    2267   523,  523,    0,  523,    0,  523,  523,  523,  523,  523, 
    2268     0,  523,  523,  523,  523,  523,  523,  523,  523,  523, 
    2269   523,  523,  523,  523,  523,  523,  523,    0,    0,  523, 
    2270   523,  523,    0,  523,  523,  523,    0,  523,  523,  523, 
    2271     0,  520,  523,    0,  523,    0,    0,  523,  523,  523, 
    2272   523,  520,    0,  523,  523,  523,    0,    0,    0,    0, 
    2273     0,  523,    0,    0,  523,  523,  523,  523,  523,  523, 
    2274   523,  523,    0,  523,  523,  523,  523,  523,    0,    0, 
    2275   523,    0,  520,    0,  522,  520,    0,  523,  523,  523, 
    2276     0,    0,    0,    0,    0,    0,  523,  523,    0,    0, 
    2277     0,    0,    0,  522,    0,  522,    0,    0,  522,  522, 
    2278   522,  522,  522,  522,  522,    0,    0,  522,  522,  522, 
    2279     0,    0,    0,    0,  522,  522,    0,    0,    0,  522, 
    2280   522,    0,    0,    0,    0,    0,    0,    0,    0,  522, 
    2281     0,    0,    0,  522,  522,    0,    0,    0,  522,    0, 
    2282     0,    0,    0,    0,  522,    0,  522,  522,    0,  522, 
    2283     0,  522,  522,  522,  522,  522,    0,  522,  522,  522, 
    2284   522,  522,  522,  522,  522,  522,  522,  522,  522,  522, 
    2285   522,  522,  522,    0,    0,  522,  522,  522,    0,  522, 
    2286   522,  522,    0,  522,  522,  522,    0,  531,  522,    0, 
    2287   522,    0,    0,  522,  522,  522,  522,  531,    0,  522, 
    2288   522,  522,    0,    0,    0,    0,    0,  522,    0,    0, 
    2289   522,  522,  522,  522,  522,  522,  522,  522,    0,  522, 
    2290   522,  522,  522,  522,    0,    0,  522,    0,    0,    0, 
    2291     0,  531,    0,  522,  522,  522,    0,    0,    0,    0, 
    2292     0,    0,  522,  522,    0,    0,    0,    0,    0,    0, 
    2293     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2294     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2295     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2296     0,    0,    0,    0,    0,    0,    0,  520,    0,    0, 
    2297     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2298     0,    0,    0,    0,    0,    0,  520,    0,  520,    0, 
    2299     0,  520,  520,  520,  520,  520,  520,  520,    0,    0, 
    2300   520,  520,  520,    0,    0,    0,    0,  520,  520,    0, 
    2301     0,    0,  520,  520,    0,    0,    0,    0,    0,    0, 
    2302     0,    0,  520,  535,    0,    0,  520,  520,    0,    0, 
    2303     0,  520,    0,  535,    0,    0,    0,  520,    0,  520, 
    2304   520,    0,  520,    0,  520,  520,  520,  520,  520,    0, 
    2305   520,  520,  520,  520,  520,  520,  520,  520,  520,  520, 
    2306   520,  520,  520,  520,  520,  520,    0,  535,  520,  520, 
    2307   520,    0,  520,  520,  520,    0,  520,  520,  520,    0, 
    2308     0,  520,    0,  520,    0,    0,  520,  520,  520,  520, 
    2309     0,    0,  520,  520,  520,    0,    0,    0,    0,    0, 
    2310   520,    0,    0,  520,  520,  520,  520,  520,  520,  520, 
    2311   520,    0,  520,  520,  520,  520,  520,    0,    0,  520, 
    2312     0,    0,    0,  531,    0,    0,  520,  520,  520,    0, 
    2313     0,    0,    0,    0,    0,  520,  520,    0,    0,    0, 
    2314     0,    0,  531,    0,  531,    0,    0,  531,  531,  531, 
    2315   531,  531,  531,  531,    0,    0,  531,  531,  531,    0, 
    2316     0,    0,    0,  531,  531,    0,    0,    0,  531,  531, 
    2317     0,    0,    0,    0,    0,    0,    0,    0,  531,  533, 
    2318     0,    0,  531,  531,    0,    0,    0,  531,    0,  533, 
    2319     0,    0,    0,  531,    0,  531,  531,    0,  531,    0, 
    2320   531,  531,  531,  531,  531,    0,  531,  531,  531,  531, 
    2321   531,  531,  531,  531,  531,  531,  531,  531,  531,  531, 
    2322   531,  531,    0,  533,  531,  531,  531,    0,  531,  531, 
    2323   531,    0,  531,  531,  531,    0,    0,  531,    0,  531, 
    2324     0,    0,  531,  531,  531,  531,    0,  531,  531,  531, 
    2325   531,    0,    0,    0,    0,    0,  531,    0,    0,  531, 
    2326   531,  531,  531,  531,  531,  531,  531,    0,  531,  531, 
    2327   531,  531,  531,    0,    0,  531,    0,    0,    0,  535, 
    2328     0,    0,  531,  531,  531,    0,    0,    0,    0,    0, 
    2329     0,  531,  531,    0,    0,    0,    0,    0,  535,    0, 
    2330   535,    0,    0,  535,  535,  535,  535,  535,  535,  535, 
    2331     0,    0,  535,  535,  535,    0,    0,    0,    0,  535, 
    2332   535,    0,    0,    0,  535,  535,    0,    0,    0,    0, 
    2333     0,    0,    0,    0,  535,  198,    0,    0,  535,  535, 
    2334     0,    0,    0,  535,    0,  198,    0,    0,    0,  535, 
    2335     0,  535,  535,    0,  535,    0,  535,  535,  535,  535, 
    2336   535,    0,  535,  535,  535,  535,  535,  535,  535,  535, 
    2337   535,  535,  535,  535,  535,  535,  535,  535,    0,  198, 
    2338   535,  535,  535,    0,  535,  535,  535,    0,  535,  535, 
    2339   535,    0,    0,  535,    0,  535,  198,    0,  535,  535, 
    2340   535,  535,    0,  535,  535,  535,  535,    0,    0,    0, 
    2341     0,    0,  535,    0,    0,  535,  535,  535,  535,  535, 
    2342   535,  535,  535,    0,  535,  535,  535,  535,  535,    0, 
    2343     0,  535,    0,    0,    0,  533,    0,    0,  535,  535, 
    2344   535,    0,    0,    0,    0,    0,    0,  535,  535,    0, 
    2345     0,    0,    0,    0,  533,    0,  533,    0,    0,  533, 
    2346   533,  533,  533,  533,  533,  533,    0,    0,  533,  533, 
    2347   533,    0,    0,    0,    0,  533,  533,    0,    0,    0, 
    2348   533,  533,    0,    0,    0,    0,  156,    0,    0,    0, 
    2349   533,    0,    0,    0,  533,  533,  156,    0,    0,  533, 
    2350     0,    0,    0,    0,    0,  533,    0,  533,  533,    0, 
    2351   533,    0,  533,  533,  533,  533,  533,    0,  533,  533, 
    2352   533,  533,  533,  533,  533,  533,  533,  533,  533,  533, 
    2353   533,  533,  533,  533,    0,    0,  533,  533,  533,    0, 
    2354   533,  533,  533,    0,  533,  533,  533,    0,    0,  533, 
    2355     0,  533,    0,    0,  533,  533,  533,  533,    0,  533, 
    2356   533,  533,  533,    0,    0,    0,    0,    0,  533,    0, 
    2357     0,  533,  533,  533,  533,  533,  533,  533,  533,    0, 
    2358   533,  533,  533,  533,  533,    0,    0,  533,    0,    0, 
    2359     0,  198,    0,    0,  533,  533,  533,    0,    0,    0, 
    2360     0,    0,    0,  533,  533,    0,    0,    0,    0,    0, 
    2361   198,    0,  198,    0,    0,  198,  198,  198,  198,  198, 
    2362   198,  198,    0,    0,  198,  198,  198,    0,    0,    0, 
    2363     0,  198,  198,    0,    0,    0,  198,  198,    0,    0, 
    2364     0,    0,    0,    0,    0,    0,  198,    0,    0,    0, 
    2365   198,  198,    0,    0,    0,  198,    0,    0,    0,    0, 
    2366     0,  198,    0,  198,  198,    0,  198,    0,  198,  198, 
    2367   198,  198,  198,    0,  198,  198,  198,  198,  198,  198, 
    2368   198,  198,  198,  198,  198,  198,  198,  198,  198,  198, 
    2369     0,    0,  198,  198,  198,    0,  198,  198,  198,    0, 
    2370   198,  198,  198,    0,  358,  198,    0,  198,    0,    0, 
    2371   198,  198,  198,  198,  358,    0,  198,  198,  198,    0, 
    2372     0,    0,    0,    0,  198,    0,    0,  198,  198,  198, 
    2373   198,  198,  198,  198,  198,    0,  198,  198,  198,  198, 
    2374   198,    0,  156,  198,    0,    0,    0,    0,  358,    0, 
    2375   198,  198,  198,    0,    0,    0,    0,  156,  156,  198, 
    2376   198,  156,    0,  156,    0,  360,  156,  156,  156,  156, 
    2377   156,  156,  156,    0,    0,  156,  156,  156,    0,    0, 
    2378     0,    0,  156,  156,    0,    0,    0,  156,  156,    0, 
    2379     0,    0,    0,    0,    0,    0,    0,  156,    0,    0, 
    2380     0,  156,  156,    0,    0,    0,  156,    0,    0,    0, 
    2381     0,    0,  156,    0,  156,  156,    0,  156,    0,  156, 
    2382   156,  156,  156,  156,    0,  156,  156,  156,  156,  156, 
    2383   156,  156,  156,  156,  156,  156,  156,  156,  156,  156, 
    2384   156,    0,    0,  156,  156,  156,    0,  156,  156,  156, 
    2385     0,  156,  156,  156,    0,  521,  156,    0,  156,    0, 
    2386     0,  156,  156,  156,  156,  521,    0,  156,  156,  156, 
    2387     0,    0,    0,    0,    0,  156,    0,    0,  156,  156, 
    2388   156,  156,  156,  156,  156,  156,    0,  156,  156,  156, 
    2389   156,  156,    0,    0,  156,    0,  521,    0,    0,  521, 
    2390     0,  156,  156,  156,    0,    0,    0,    0,    0,    0, 
    2391   156,  156,    0,    0,    0,    0,    0,    0,    0,    0, 
    2392     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2393     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2394     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2395     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2396   358,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2397     0,    0,    0,    0,    0,    0,    0,    0,    0,  358, 
    2398     0,  358,    0,    0,  358,  358,  358,  358,  358,  358, 
    2399   358,    0,    0,  358,  358,  358,    0,    0,    0,    0, 
    2400   358,  358,    0,    0,    0,  358,  358,    0,   40,    0, 
    2401     0,    0,    0,    0,    0,  358,    0,    0,   40,  358, 
    2402   358,    0,    0,    0,  358,    0,    0,    0,    0,    0, 
    2403   358,    0,  358,  358,    0,  358,    0,  358,  358,  358, 
    2404   358,  358,    0,  358,  358,  358,  358,  358,  358,  358, 
    2405   358,  358,  358,  358,  358,  358,  358,  358,  358,    0, 
    2406     0,  358,  358,  358,    0,  358,  358,  358,    0,  358, 
    2407   358,  358,    0,    0,  358,    0,  358,    0,    0,  358, 
    2408   358,  358,  358,    0,    0,  358,  358,  358,    0,    0, 
    2409     0,    0,    0,  358,    0,    0,  358,  358,  358,  358, 
    2410   358,  358,  358,  358,    0,  358,  358,  358,  358,  358, 
    2411     0,  521,  358,    0,    0,    0,    0,    0,    0,  358, 
    2412   358,  358,    0,    0,    0,    0,    0,    0,  358,  358, 
    2413   521,    0,  521,    0,    0,  521,  521,  521,  521,  521, 
    2414   521,  521,    0,    0,  521,  521,  521,    0,    0,    0, 
    2415     0,  521,  521,    0,    0,    0,  521,  521,    0,  530, 
    2416     0,    0,    0,    0,    0,    0,  521,    0,    0,  530, 
    2417   521,  521,    0,    0,    0,  521,    0,    0,    0,    0, 
    2418     0,  521,    0,  521,  521,    0,  521,    0,  521,  521, 
    2419   521,  521,  521,    0,  521,  521,  521,  521,  521,  521, 
    2420   521,  521,  521,  521,  521,  521,  521,  521,  521,  521, 
    2421     0,    0,  521,  521,  521,    0,  521,  521,  521,    0, 
    2422   521,  521,  521,    0,    0,  521,    0,  521,    0,    0, 
    2423   521,  521,  521,  521,    0,    0,  521,  521,  521,    0, 
    2424     0,    0,    0,    0,  521,    0,    0,  521,  521,  521, 
    2425   521,  521,  521,  521,  521,    0,  521,  521,  521,  521, 
    2426   521,    0,    0,  521,   40,    0,    0,    0,    0,    0, 
    2427   521,  521,  521,    0,    0,    0,    0,    0,    0,  521, 
    2428   521,    0,    0,   40,    0,   40,   40,    0,   40,   40, 
    2429    40,   40,   40,   40,   40,    0,    0,   40,   40,   40, 
    2430     0,    0,    0,    0,   40,   40,    0,    0,    0,   40, 
    2431    40,    0,  529,    0,    0,    0,    0,    0,    0,   40, 
    2432     0,    0,  529,   40,   40,    0,    0,    0,   40,    0, 
    2433     0,    0,    0,    0,   40,    0,   40,   40,    0,   40, 
    2434     0,   40,   40,   40,   40,   40,    0,   40,   40,   40, 
    2435    40,   40,   40,   40,   40,   40,   40,   40,   40,   40, 
    2436    40,   40,   40,    0,    0,   40,   40,   40,    0,   40, 
    2437    40,   40,    0,   40,   40,   40,    0,    0,   40,    0, 
    2438    40,    0,    0,   40,   40,   40,   40,    0,    0,   40, 
    2439    40,   40,    0,    0,    0,    0,    0,   40,    0,    0, 
    2440    40,   40,   40,   40,   40,   40,   40,   40,    0,   40, 
    2441    40,   40,   40,   40,    0,  530,   40,    0,    0,    0, 
    2442     0,    0,    0,   40,   40,   40,    0,    0,    0,    0, 
    2443     0,    0,   40,   40,  530,    0,  530,    0,    0,  530, 
    2444   530,  530,  530,  530,  530,  530,    0,    0,  530,  530, 
    2445   530,    0,    0,    0,    0,  530,  530,    0,    0,    0, 
    2446   530,  530,    0,    0,    0,    0,    0,    0,    0,    0, 
    2447   530,    0,    0,    0,  530,  530,    0,    0,    0,  530, 
    2448     0,    0,    0,    0,    0,  530,    0,  530,  530,    0, 
    2449   530,    0,  530,  530,  530,  530,  530,    0,  530,  530, 
    2450   530,  530,  530,  530,  530,  530,  530,  530,  530,  530, 
    2451   530,  530,  530,  530,    0,    0,  530,  530,  530,    0, 
    2452   530,  530,  530,    0,  530,  530,  530,    0,  525,  530, 
    2453     0,  530,    0,    0,  530,  530,  530,  530,  525,  530, 
    2454   530,  530,  530,    0,    0,    0,    0,    0,  530,    0, 
    2455     0,  530,  530,  530,  530,  530,  530,  530,  530,    0, 
    2456   530,  530,  530,  530,  530,    0,    0,  530,  529,  525, 
    2457     0,    0,  525,    0,  530,  530,  530,    0,    0,    0, 
    2458     0,    0,    0,  530,  530,    0,    0,  529,    0,  529, 
    2459     0,    0,  529,  529,  529,  529,  529,  529,  529,    0, 
    2460     0,  529,  529,  529,    0,    0,    0,    0,  529,  529, 
    2461     0,    0,    0,  529,  529,    0,    0,    0,    0,    0, 
    2462     0,    0,    0,  529,    0,    0,    0,  529,  529,    0, 
    2463     0,    0,  529,    0,    0,    0,    0,    0,  529,    0, 
    2464   529,  529,    0,  529,    0,  529,  529,  529,  529,  529, 
    2465     0,  529,  529,  529,  529,  529,  529,  529,  529,  529, 
    2466   529,  529,  529,  529,  529,  529,  529,    0,    0,  529, 
    2467   529,  529,    0,  529,  529,  529,    0,  529,  529,  529, 
    2468     0,  198,  529,    0,  529,    0,    0,  529,  529,  529, 
    2469   529,  198,  529,  529,  529,  529,    0,    0,    0,    0, 
    2470     0,  529,    0,    0,  529,  529,  529,  529,  529,  529, 
    2471   529,  529,    0,  529,  529,  529,  529,  529,    0,    0, 
    2472   529,    0,    0,    0,    0,  198,    0,  529,  529,  529, 
    2473     0,    0,    0,    0,    0,    0,  529,  529,    0,    0, 
    2474     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2475     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2476     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2477     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2478     0,    0,    0,    0,  525,    0,    0,    0,    0,    0, 
    2479     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2480     0,    0,    0,  525,    0,  525,    0,    0,  525,  525, 
    2481   525,  525,  525,  525,  525,    0,    0,  525,  525,  525, 
    2482     0,    0,    0,    0,  525,  525,    0,    0,    0,  525, 
    2483   525,    0,    0,    0,    0,    0,    0,    0,    0,  525, 
    2484     0,    0,    0,  525,  525,    0,    0,    0,  525,    0, 
    2485     0,    0,    0,    0,  525,    0,  525,  525,    0,  525, 
    2486     0,  525,  525,  525,  525,  525,    0,  525,  525,  525, 
    2487   525,  525,  525,  525,  525,  525,  525,  525,  525,  525, 
    2488   525,  525,  525,    0,    0,  525,  525,  525,    0,  525, 
    2489   525,  525,    0,  525,  525,  525,    0,  200,  525,    0, 
    2490   525,    0,    0,  525,  525,  525,  525,  200,    0,  525, 
    2491   525,  525,    0,    0,    0,    0,    0,  525,    0,    0, 
    2492   525,  525,  525,  525,  525,  525,  525,  525,    0,  525, 
    2493   525,  525,  525,  525,    0,    0,  525,  198,    0,    0, 
    2494     0,  200,    0,  525,  525,    0,    0,    0,    0,    0, 
    2495     0,    0,  525,  525,    0,    0,  198,    0,  198,    0, 
    2496     0,  198,  198,  198,  198,  198,  198,  198,    0,    0, 
    2497   198,  198,  198,    0,    0,    0,    0,  198,  198,    0, 
    2498     0,    0,  198,  198,    0,    0,    0,    0,    0,    0, 
    2499     0,    0,  198,    0,    0,    0,  198,  198,    0,    0, 
    2500     0,  198,    0,    0,    0,    0,    0,  198,    0,  198, 
    2501   198,    0,  198,    0,  198,  198,  198,  198,  198,    0, 
    2502   198,  198,  198,  198,  198,  198,  198,  198,  198,  198, 
    2503   198,  198,  198,  198,  198,  198,    0,    0,  198,  198, 
    2504   198,    0,  198,  198,  198,    0,  198,  198,  198,    0, 
    2505   374,  198,    0,  198,    0,    0,  198,  198,  198,  198, 
    2506   374,    0,  198,  198,  198,    0,    0,    0,    0,    0, 
    2507   198,    0,    0,  198,  198,  198,  198,  198,  198,  198, 
    2508   198,    0,  198,  198,  198,  198,  198,    0,    0,  198, 
    2509     0,    0,    0,    0,  374,    0,  198,  198,  198,    0, 
    2510     0,    0,    0,    0,    0,  198,  198,    0,    0,    0, 
    2511     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2512     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2513     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2514     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2515     0,    0,    0,  200,    0,    0,    0,    0,    0,    0, 
    2516     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2517     0,    0,  200,    0,  200,    0,    0,  200,  200,  200, 
    2518   200,  200,  200,  200,    0,    0,  200,  200,  200,    0, 
    2519     0,    0,    0,  200,  200,    0,    0,    0,  200,  200, 
    2520     0,    0,    0,    0,    0,    0,    0,    0,  200,    0, 
    2521     0,    0,  200,  200,    0,    0,    0,  200,    0,    0, 
    2522     0,    0,    0,  200,    0,  200,  200,    0,  200,    0, 
    2523   200,  200,  200,  200,  200,    0,  200,  200,  200,  200, 
    2524   200,  200,  200,  200,  200,  200,  200,  200,  200,  200, 
    2525   200,  200,    0,    0,  200,  200,  200,    0,  200,  200, 
    2526   200,    0,  200,  200,  200,    0,  359,  200,    0,  200, 
    2527     0,    0,  200,  200,  200,  200,  359,    0,  200,  200, 
    2528   200,    0,    0,    0,    0,    0,  200,    0,    0,  200, 
    2529   200,  200,  200,  200,  200,  200,  200,    0,  200,  200, 
    2530   200,  200,  200,    0,    0,  200,  374,    0,    0,    0, 
    2531   359,    0,  200,  200,  200,    0,    0,    0,    0,    0, 
    2532     0,  200,  200,    0,    0,  374,    0,  374,    0,    0, 
    2533   374,  374,  374,  374,  374,  374,  374,    0,    0,  374, 
    2534   374,  374,    0,    0,    0,    0,  374,  374,    0,    0, 
    2535     0,  374,  374,    0,    0,    0,    0,    0,    0,    0, 
    2536     0,  374,    0,    0,    0,  374,  374,    0,    0,    0, 
    2537   374,    0,    0,    0,    0,    0,  374,    0,  374,  374, 
    2538     0,  374,    0,  374,  374,  374,  374,  374,    0,  374, 
    2539   374,  374,  374,  374,  374,  374,  374,  374,  374,  374, 
    2540   374,  374,  374,  374,  374,    0,    0,  374,  374,  374, 
    2541     0,  374,  374,  374,    0,  374,  374,  374,    0,   59, 
    2542   374,    0,  374,    0,    0,  374,  374,  374,  374,   59, 
    2543     0,  374,  374,  374,    0,    0,    0,    0,    0,  374, 
    2544     0,    0,  374,  374,  374,  374,  374,  374,  374,  374, 
    2545     0,  374,  374,  374,  374,  374,    0,    0,  374,    0, 
    2546     0,    0,    0,    0,    0,  374,  374,  374,    0,    0, 
    2547     0,    0,    0,    0,  374,  374,    0,    0,    0,    0, 
    2548     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2549     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2550     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2551     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2552     0,    0,  359,    0,    0,    0,    0,    0,    0,    0, 
    2553     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2554     0,  359,    0,  359,    0,    0,  359,  359,  359,  359, 
    2555   359,  359,  359,    0,    0,  359,  359,  359,    0,    0, 
    2556     0,    0,  359,  359,    0,    0,    0,  359,  359,    0, 
    2557     0,    0,    0,    0,    0,    0,    0,  359,    0,    0, 
    2558     0,  359,  359,    0,    0,    0,  359,    0,    0,    0, 
    2559     0,    0,  359,    0,  359,  359,    0,  359,    0,  359, 
    2560   359,  359,  359,  359,    0,  359,  359,  359,  359,  359, 
    2561   359,  359,  359,  359,  359,  359,  359,  359,  359,  359, 
    2562   359,    0,    0,  359,  359,  359,    0,  359,  359,  359, 
    2563     0,  359,  359,  359,    0,  125,  359,    0,  359,    0, 
    2564     0,  359,  359,  359,  359,  125,    0,  359,  359,  359, 
    2565     0,    0,    0,    0,    0,  359,    0,    0,  359,  359, 
    2566   359,  359,  359,  359,  359,  359,    0,  359,  359,  359, 
    2567   359,  359,    0,    0,  359,   59,    0,    0,    0,  125, 
    2568     0,  359,  359,  359,    0,    0,    0,    0,    0,    0, 
    2569   359,  359,    0,    0,   59,    0,   59,    0,    0,   59, 
    2570    59,   59,   59,   59,   59,   59,    0,    0,   59,   59, 
    2571    59,    0,    0,    0,    0,   59,   59,    0,    0,    0, 
    2572    59,   59,    0,    0,    0,    0,    0,    0,    0,    0, 
    2573    59,    0,    0,    0,   59,   59,    0,    0,    0,   59, 
    2574     0,    0,    0,    0,    0,   59,    0,   59,   59,    0, 
    2575    59,    0,   59,   59,   59,   59,   59,    0,   59,   59, 
    2576    59,   59,   59,   59,   59,   59,   59,   59,   59,   59, 
    2577    59,   59,   59,   59,    0,    0,   59,   59,   59,    0, 
    2578    59,   59,   59,    0,   59,   59,   59,    0,  432,   59, 
    2579     0,   59,    0,    0,   59,   59,   59,   59,  432,    0, 
    2580    59,   59,   59,    0,    0,    0,    0,    0,   59,    0, 
    2581     0,   59,   59,   59,   59,   59,   59,   59,   59,    0, 
    2582    59,   59,   59,   59,   59,    0,    0,   59,    0,    0, 
    2583     0,    0,    0,    0,   59,   59,   59,    0,    0,    0, 
    2584     0,    0,    0,   59,   59,    0,    0,    0,    0,    0, 
    2585     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2586     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2587     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2588     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2589     0,  125,    0,    0,    0,    0,    0,    0,    0,    0, 
    2590     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    2591   125,    0,  125,    0,    0,  125,  125,  125,  125,  125, 
    2592   125,  125,    0,    0,  125,  125,  125,    0,    0,    0, 
    2593     0,  125,  125,    0,    0,    0,  125,  125,    0,  441, 
    2594     0,    0,    0,    0,    0,    0,  125,    0,    0,  441, 
    2595   125,  125,    0,    0,    0,  125,    0,    0,    0,    0, 
    2596     0,  125,    0,  125,  125,    0,  125,    0,  125,  125, 
    2597   125,  125,  125,    0,  125,  125,  125,  125,  125,  125, 
    2598   125,  125,  125,  125,  125,  125,  125,  125,  125,  125, 
    2599     0,    0,  125,  125,  125,    0,  125,  125,  125,    0, 
    2600   125,  125,  125,    0,    0,  125,    0,  125,    0,    0, 
    2601   125,  125,  125,  125,    0,    0,  125,  125,  125,    0, 
    2602     0,    0,    0,    0,  125,    0,    0,  125,  125,  125, 
    2603   125,  125,  125,  125,  125,    0,  125,  125,  125,  125, 
    2604   125,    0,    0,  125,  432,    0,    0,    0,    0,    0, 
    2605   125,  125,    0,    0,    0,    0,    0,    0,    0,  125, 
    2606   125,    0,    0,  432,    0,  432,    0,    0,  432,  432, 
    2607   432,  432,  432,  432,  432,    0,    0,  432,  432,  432, 
    2608     0,    0,    0,    0,  432,  432,    0,    0,    0,  432, 
    2609   432,    0,  357,    0,    0,    0,    0,    0,    0,  432, 
    2610     0,    0,  357,  432,  432,    0,    0,    0,  432,    0, 
    2611     0,    0,    0,    0,  432,    0,  432,  432,    0,  432, 
    2612     0,  432,  432,  432,  432,  432,    0,  432,  432,  432, 
    2613   432,  432,  432,  432,  432,  432,  432,  432,  432,  432, 
    2614   432,  432,  432,    0,    0,  432,  432,  432,    0,  432, 
    2615   432,  432,    0,  432,  432,  432,    0,    0,  432,    0, 
    2616   432,    0,    0,  432,  432,  432,  432,    0,    0,  432, 
    2617   432,  432,    0,    0,    0,    0,    0,  432,    0,    0, 
    2618   432,  432,  432,  432,  432,  432,  432,  432,    0,  432, 
    2619   432,  432,  432,  432,    0,  441,  432,    0,    0,    0, 
    2620     0,    0,    0,  432,  432,  432,    0,    0,    0,    0, 
    2621     0,    0,  432,  432,  441,    0,  441,    0,    0,  441, 
    2622   441,  441,  441,  441,  441,  441,    0,    0,  441,  441, 
    2623   441,    0,    0,    0,    0,  441,  441,    0,    0,    0, 
    2624   441,  441,    0,   69,    0,    0,    0,    0,    0,    0, 
    2625   441,    0,    0,   69,  441,  441,    0,    0,    0,  441, 
    2626     0,    0,    0,    0,    0,  441,    0,  441,  441,    0, 
    2627   441,    0,  441,  441,  441,  441,  441,    0,  441,  441, 
    2628   441,  441,  441,  441,  441,  441,  441,  441,  441,  441, 
    2629   441,  441,  441,  441,    0,    0,  441,  441,  441,    0, 
    2630   441,  441,  441,    0,  441,  441,  441,    0,    0,  441, 
    2631     0,  441,    0,    0,  441,  441,  441,  441,    0,    0, 
    2632   441,  441,  441,    0,    0,    0,    0,    0,  441,    0, 
    2633     0,  441,  441,  441,  441,  441,  441,  441,  441,    0, 
    2634   441,  441,  441,  441,  441,    0,    0,  441,  357,    0, 
    2635     0,    0,    0,    0,  441,  441,  441,    0,    0,    0, 
    2636     0,    0,    0,  441,  441,    0,    0,  357,    0,  357, 
    2637     0,    0,  357,  357,  357,  357,  357,  357,  357,    0, 
    2638     0,  357,  357,  357,    0,    0,    0,    0,  357,  357, 
    2639     0,    0,    0,  357,  357,    0,   53,    0,    0,    0, 
    2640     0,    0,    0,  357,    0,    0,   53,  357,  357,    0, 
    2641     0,    0,  357,    0,    0,    0,    0,    0,  357,    0, 
    2642   357,  357,    0,  357,    0,  357,  357,  357,  357,  357, 
    2643     0,  357,  357,  357,  357,  357,  357,  357,  357,  357, 
    2644   357,  357,  357,  357,  357,  357,  357,    0,    0,  357, 
    2645   357,  357,    0,  357,  357,  357,    0,  357,  357,  357, 
    2646     0,    0,  357,    0,  357,    0,    0,  357,  357,  357, 
    2647   357,    0,    0,  357,  357,  357,    0,    0,    0,    0, 
    2648     0,  357,    0,    0,  357,  357,  357,  357,  357,  357, 
    2649   357,  357,    0,  357,  357,  357,  357,  357,    0,   69, 
    2650   357,    0,    0,    0,    0,    0,    0,  357,  357,  357, 
    2651     0,    0,    0,    0,    0,    0,  357,  357,   69,    0, 
    2652    69,    0,    0,   69,   69,   69,   69,   69,   69,   69, 
    2653     0,    0,   69,   69,   69,    0,    0,    0,    0,   69, 
    2654    69,    0,    0,    0,   69,   69,    0,  169,    0,    0, 
    2655     0,    0,    0,    0,   69,    0,    0,  169,   69,   69, 
    2656     0,    0,    0,   69,    0,    0,    0,    0,    0,   69, 
    2657     0,   69,   69,    0,   69,    0,   69,   69,   69,   69, 
    2658    69,    0,   69,   69,   69,   69,   69,   69,   69,   69, 
    2659    69,   69,   69,   69,   69,   69,   69,   69,    0,    0, 
    2660    69,   69,   69,    0,   69,   69,   69,    0,   69,   69, 
    2661    69,    0,    0,   69,    0,   69,    0,    0,   69,   69, 
    2662    69,   69,    0,    0,   69,   69,   69,    0,    0,    0, 
    2663     0,    0,   69,    0,    0,   69,   69,   69,   69,   69, 
    2664    69,   69,   69,    0,   69,   69,   69,   69,   69,    0, 
    2665     0,   69,   53,    0,    0,    0,    0,    0,   69,   69, 
    2666    69,    0,    0,    0,    0,    0,    0,   69,   69,    0, 
    2667     0,   53,    0,   53,    0,    0,   53,   53,   53,   53, 
    2668    53,   53,   53,    0,    0,   53,   53,   53,    0,    0, 
    2669     0,    0,   53,   53,    0,    0,    0,   53,   53,    0, 
    2670   177,    0,    0,    0,    0,    0,    0,   53,    0,    0, 
    2671   177,   53,   53,    0,    0,    0,   53,    0,    0,    0, 
    2672     0,    0,   53,    0,   53,   53,    0,   53,    0,   53, 
    2673    53,   53,   53,   53,    0,   53,   53,   53,   53,   53, 
    2674    53,   53,   53,   53,   53,   53,   53,   53,   53,   53, 
    2675    53,    0,    0,   53,   53,   53,    0,   53,   53,   53, 
    2676     0,   53,   53,   53,    0,    0,   53,    0,   53,    0, 
    2677     0,   53,   53,   53,   53,    0,    0,   53,   53,   53, 
    2678     0,    0,    0,    0,    0,   53,    0,    0,   53,   53, 
    2679    53,   53,   53,   53,   53,   53,    0,   53,   53,   53, 
    2680    53,   53,    0,  169,   53,    0,    0,    0,    0,    0, 
    2681     0,   53,   53,   53,    0,    0,    0,    0,    0,    0, 
    2682    53,   53,  169,    0,  169,    0,    0,  169,  169,  169, 
    2683   169,  169,  169,  169,    0,    0,  169,  169,  169,    0, 
    2684     0,    0,    0,  169,  169,    0,    0,    0,  169,  169, 
    2685     0,   55,    0,    0,    0,    0,    0,    0,  169,    0, 
    2686     0,   55,  169,  169,    0,    0,    0,  169,    0,    0, 
    2687     0,    0,    0,  169,    0,  169,  169,    0,  169,    0, 
    2688   169,  169,  169,  169,  169,    0,  169,  169,  169,  169, 
    2689   169,  169,  169,  169,  169,  169,  169,  169,  169,  169, 
    2690   169,  169,    0,    0,  169,  169,  169,    0,  169,  169, 
    2691   169,    0,  169,  169,  169,    0,    0,  169,    0,  169, 
    2692     0,    0,  169,  169,  169,  169,    0,    0,  169,  169, 
    2693   169,    0,    0,    0,    0,    0,  169,    0,    0,  169, 
    2694   169,  169,  169,  169,  169,  169,  169,    0,  169,  169, 
    2695   169,  169,  169,    0,    0,  169,  177,    0,    0,    0, 
    2696     0,    0,  169,  169,  169,    0,    0,    0,    0,    0, 
    2697     0,  169,  169,    0,    0,  177,    0,  177,    0,    0, 
    2698   177,  177,  177,  177,  177,  177,  177,    0,    0,  177, 
    2699   177,  177,    0,    0,    0,    0,  177,  177,    0,    0, 
    2700     0,  177,  177,    0,  362,    0,    0,    0,    0,    0, 
    2701     0,  177,    0,    0,  362,  177,  177,    0,    0,    0, 
    2702   177,    0,    0,    0,    0,    0,  177,    0,  177,  177, 
    2703     0,  177,    0,  177,  177,  177,  177,  177,    0,  177, 
    2704   177,  177,  177,  177,  177,  177,  177,  177,  177,  177, 
    2705   177,  177,  177,  177,  177,    0,    0,  177,  177,  177, 
    2706     0,  177,  177,  177,    0,  177,  177,  177,    0,    0, 
    2707   177,    0,  177,    0,    0,  177,  177,  177,  177,    0, 
    2708     0,  177,  177,  177,    0,    0,    0,    0,    0,  177, 
    2709     0,    0,  177,  177,  177,  177,  177,  177,  177,  177, 
    2710     0,  177,  177,  177,  177,  177,    0,   55,  177,    0, 
    2711     0,    0,    0,    0,    0,  177,  177,  177,    0,    0, 
    2712     0,    0,    0,    0,  177,  177,   55,    0,   55,    0, 
    2713     0,   55,   55,   55,   55,   55,   55,   55,    0,    0, 
    2714    55,   55,   55,    0,    0,    0,    0,   55,   55,    0, 
    2715     0,    0,   55,   55,    0,  164,    0,    0,    0,    0, 
    2716     0,    0,   55,    0,    0,  164,   55,   55,    0,    0, 
    2717     0,   55,    0,    0,    0,    0,    0,   55,    0,   55, 
    2718    55,    0,   55,    0,   55,   55,   55,   55,   55,    0, 
    2719    55,   55,   55,   55,   55,   55,   55,   55,   55,   55, 
    2720    55,   55,   55,   55,   55,   55,    0,    0,   55,   55, 
    2721    55,    0,   55,   55,   55,    0,   55,   55,   55,    0, 
    2722     0,   55,    0,   55,    0,    0,   55,   55,   55,   55, 
    2723     0,    0,   55,   55,   55,    0,    0,    0,    0,    0, 
    2724    55,    0,    0,   55,   55,   55,   55,   55,   55,   55, 
    2725    55,    0,   55,   55,   55,   55,   55,    0,    0,   55, 
    2726   362,    0,    0,    0,    0,    0,   55,   55,   55,    0, 
    2727     0,    0,    0,    0,    0,   55,   55,    0,    0,  362, 
    2728     0,  362,    0,    0,  362,  362,  362,  362,  362,  362, 
    2729   362,    0,    0,  362,  362,  362,    0,    0,    0,    0, 
    2730   362,  362,    0,    0,    0,  362,  362,    0,  406,    0, 
    2731     0,    0,    0,    0,    0,  362,    0,    0,  406,  362, 
    2732   362,    0,    0,    0,  362,    0,    0,    0,    0,    0, 
    2733   362,    0,  362,  362,    0,  362,    0,  362,  362,  362, 
    2734   362,  362,    0,  362,  362,  362,  362,  362,  362,  362, 
    2735   362,  362,  362,  362,  362,  362,  362,  362,  362,    0, 
    2736     0,  362,  362,  362,    0,  362,  362,  362,    0,  362, 
    2737   362,  362,    0,    0,  362,    0,  362,    0,    0,  362, 
    2738   362,  362,  362,    0,    0,  362,  362,  362,    0,    0, 
    2739     0,    0,    0,  362,    0,    0,  362,  362,  362,  362, 
    2740   362,  362,  362,  362,    0,  362,  362,  362,  362,  362, 
    2741     0,  164,  362,    0,    0,    0,    0,    0,    0,  362, 
    2742   362,  362,    0,    0,    0,    0,    0,    0,  362,  362, 
    2743   164,    0,  164,    0,    0,  164,  164,  164,  164,  164, 
    2744   164,  164,    0,    0,  164,  164,  164,    0,    0,    0, 
    2745     0,  164,  164,    0,    0,    0,  164,  164,    0,  472, 
    2746     0,    0,    0,    0,    0,    0,  164,    0,    0,  472, 
    2747   164,  164,    0,    0,    0,  164,    0,    0,    0,    0, 
    2748     0,  164,    0,  164,  164,    0,  164,    0,  164,  164, 
    2749   164,  164,  164,    0,  164,  164,  164,  164,  164,  164, 
    2750   164,  164,  164,  164,  164,  164,  164,  164,  164,  164, 
    2751     0,    0,  164,  164,  164,    0,  164,  164,  164,    0, 
    2752   164,  164,  164,    0,    0,  164,    0,  164,    0,    0, 
    2753   164,  164,  164,  164,    0,    0,  164,  164,  164,    0, 
    2754     0,    0,    0,    0,  164,    0,    0,  164,  164,  164, 
    2755   164,  164,  164,  164,  164,    0,  164,  164,  164,  164, 
    2756   164,    0,    0,  164,  406,    0,    0,    0,    0,    0, 
    2757   164,  164,  164,    0,    0,    0,    0,    0,    0,  164, 
    2758   164,    0,    0,  406,    0,  406,    0,    0,  406,  406, 
    2759   406,  406,  406,  406,  406,    0,    0,  406,  406,  406, 
    2760     0,    0,    0,    0,  406,  406,    0,    0,    0,  406, 
    2761   406,    0,   34,    0,    0,    0,    0,    0,    0,  406, 
    2762     0,    0,   34,  406,  406,    0,    0,    0,  406,    0, 
    2763     0,    0,    0,    0,  406,    0,  406,  406,    0,  406, 
    2764     0,  406,  406,  406,  406,  406,    0,  406,  406,  406, 
    2765   406,  406,  406,  406,  406,  406,  406,  406,  406,  406, 
    2766   406,  406,  406,    0,    0,  406,  406,  406,    0,  406, 
    2767   406,  406,    0,  406,  406,  406,    0,    0,  406,    0, 
    2768   406,    0,    0,  406,  406,  406,  406,    0,    0,  406, 
    2769   406,  406,    0,    0,    0,    0,    0,  406,    0,    0, 
    2770   406,  406,  406,  406,  406,  406,  406,  406,    0,  406, 
    2771   406,  406,  406,  406,    0,  472,  406,    0,    0,    0, 
    2772     0,    0,    0,  406,  406,  406,    0,    0,    0,    0, 
    2773     0,    0,  406,  406,  472,    0,  472,    0,    0,  472, 
    2774   472,  472,  472,  472,  472,  472,    0,    0,  472,  472, 
    2775   472,    0,    0,    0,    0,  472,  472,    0,    0,    0, 
    2776   472,  472,    0,  151,    0,    0,    0,    0,    0,    0, 
    2777   472,    0,    0,  151,  472,  472,    0,    0,    0,  472, 
    2778     0,    0,    0,    0,    0,  472,    0,  472,  472,    0, 
    2779   472,    0,  472,  472,  472,  472,  472,    0,  472,  472, 
    2780   472,  472,  472,  472,  472,  472,  472,  472,  472,  472, 
    2781   472,  472,  472,  472,    0,    0,  472,  472,  472,    0, 
    2782   472,  472,  472,    0,  472,  472,  472,    0,    0,  472, 
    2783     0,  472,    0,    0,  472,  472,  472,  472,    0,    0, 
    2784   472,  472,  472,    0,    0,    0,    0,    0,  472,    0, 
    2785     0,  472,  472,  472,  472,  472,  472,  472,  472,    0, 
    2786   472,  472,  472,  472,  472,    0,    0,  472,   34,    0, 
    2787     0,    0,    0,    0,  472,  472,  472,    0,    0,    0, 
    2788     0,    0,    0,  472,  472,    0,    0,   34,    0,   34, 
    2789     0,    0,   34,   34,   34,   34,   34,   34,   34,    0, 
    2790     0,   34,   34,   34,    0,    0,    0,    0,   34,   34, 
    2791     0,    0,    0,   34,   34,    0,  149,    0,    0,    0, 
    2792     0,    0,    0,   34,    0,    0,  149,   34,   34,    0, 
    2793     0,    0,   34,    0,    0,    0,    0,    0,   34,    0, 
    2794    34,   34,    0,   34,    0,   34,   34,   34,   34,   34, 
    2795     0,   34,   34,   34,   34,   34,   34,   34,   34,   34, 
    2796    34,   34,   34,   34,   34,   34,   34,    0,    0,   34, 
    2797    34,   34,    0,   34,   34,   34,    0,   34,   34,   34, 
    2798     0,    0,   34,    0,   34,    0,    0,   34,   34,   34, 
    2799    34,    0,    0,   34,   34,   34,    0,    0,    0,    0, 
    2800     0,   34,    0,    0,   34,   34,   34,   34,   34,   34, 
    2801    34,   34,    0,   34,   34,   34,   34,   34,    0,  151, 
    2802    34,    0,    0,    0,    0,    0,    0,   34,   34,   34, 
    2803     0,    0,    0,    0,    0,    0,   34,   34,  151,    0, 
    2804   151,    0,    0,  151,  151,  151,  151,  151,  151,  151, 
    2805     0,    0,  151,  151,  151,    0,    0,    0,    0,  151, 
    2806   151,    0,    0,    0,  151,  151,    0,   67,    0,    0, 
    2807     0,    0,    0,    0,  151,    0,    0,   67,  151,  151, 
    2808     0,    0,    0,  151,    0,    0,    0,    0,    0,  151, 
    2809     0,  151,  151,    0,  151,    0,  151,  151,  151,  151, 
    2810   151,    0,  151,  151,  151,  151,  151,  151,  151,  151, 
    2811   151,  151,  151,  151,  151,  151,  151,  151,    0,    0, 
    2812   151,  151,  151,    0,  151,  151,  151,    0,  151,  151, 
    2813   151,    0,    0,  151,    0,  151,    0,    0,  151,  151, 
    2814   151,  151,    0,    0,  151,  151,  151,    0,    0,    0, 
    2815     0,    0,  151,    0,    0,  151,  151,  151,  151,  151, 
    2816   151,  151,  151,    0,  151,  151,  151,  151,  151,    0, 
    2817     0,  151,  149,    0,    0,    0,    0,    0,  151,  151, 
    2818   151,    0,    0,    0,    0,    0,    0,  151,  151,    0, 
    2819     0,  149,    0,  149,    0,    0,  149,  149,  149,  149, 
    2820   149,  149,  149,    0,    0,  149,  149,  149,    0,    0, 
    2821     0,    0,  149,  149,    0,    0,    0,  149,  149,    0, 
    2822    68,    0,    0,    0,    0,    0,    0,  149,    0,    0, 
    2823    68,  149,  149,    0,    0,    0,  149,    0,    0,    0, 
    2824     0,    0,  149,    0,  149,  149,    0,  149,    0,  149, 
    2825   149,  149,  149,  149,    0,  149,  149,  149,  149,  149, 
    2826   149,  149,  149,  149,  149,  149,  149,  149,  149,  149, 
    2827   149,    0,    0,  149,  149,  149,    0,  149,  149,  149, 
    2828     0,  149,  149,  149,    0,    0,  149,    0,  149,    0, 
    2829     0,  149,  149,  149,  149,    0,    0,  149,  149,  149, 
    2830     0,    0,    0,    0,    0,  149,    0,    0,  149,  149, 
    2831   149,  149,  149,  149,  149,  149,    0,  149,  149,  149, 
    2832   149,  149,    0,   67,  149,    0,    0,    0,    0,    0, 
    2833     0,  149,  149,  149,    0,    0,    0,    0,    0,    0, 
    2834   149,  149,   67,    0,   67,    0,    0,   67,   67,   67, 
    2835    67,   67,   67,   67,    0,    0,   67,   67,   67,    0, 
    2836     0,    0,    0,   67,   67,    0,    0,    0,   67,   67, 
    2837     0,   40,    0,    0,    0,    0,    0,    0,   67,    0, 
    2838     0,   40,   67,   67,    0,    0,    0,   67,    0,    0, 
    2839     0,    0,    0,   67,    0,   67,   67,    0,   67,    0, 
    2840    67,   67,   67,   67,   67,    0,   67,   67,   67,   67, 
    2841    67,   67,   67,   67,   67,   67,   67,   67,   67,   67, 
    2842    67,   67,    0,    0,   67,   67,   67,    0,   67,   67, 
    2843    67,    0,   67,   67,   67,    0,    0,   67,    0,   67, 
    2844     0,    0,   67,   67,   67,   67,    0,    0,   67,   67, 
    2845    67,    0,    0,    0,    0,    0,   67,    0,    0,   67, 
    2846    67,   67,   67,   67,   67,   67,   67,    0,   67,   67, 
    2847    67,   67,   67,    0,    0,   67,   68,    0,    0,    0, 
    2848     0,    0,   67,   67,   67,    0,    0,    0,    0,    0, 
    2849     0,   67,   67,    0,    0,   68,    0,   68,    0,    0, 
    2850    68,   68,   68,   68,   68,   68,   68,    0,    0,   68, 
    2851    68,   68,    0,    0,    0,    0,   68,   68,    0,    0, 
    2852     0,   68,   68,    0,  438,    0,    0,    0,    0,    0, 
    2853     0,   68,    0,    0,  438,   68,   68,    0,    0,    0, 
    2854    68,    0,    0,    0,    0,    0,   68,    0,   68,   68, 
    2855     0,   68,    0,   68,   68,   68,   68,   68,    0,   68, 
    2856    68,   68,   68,   68,   68,   68,   68,   68,   68,   68, 
    2857    68,   68,   68,   68,   68,    0,    0,   68,   68,   68, 
    2858     0,   68,   68,   68,    0,   68,   68,   68,    0,    0, 
    2859    68,    0,   68,    0,    0,   68,   68,   68,   68,    0, 
    2860     0,   68,   68,   68,    0,    0,    0,    0,    0,   68, 
    2861     0,    0,   68,   68,   68,   68,   68,   68,   68,   68, 
    2862     0,   68,   68,   68,   68,   68,    0,   40,   68,    0, 
    2863     0,    0,    0,    0,    0,   68,   68,   68,    0,    0, 
    2864     0,    0,    0,    0,   68,   68,   40,    0,   40,    0, 
    2865     0,   40,   40,   40,   40,   40,   40,   40,    0,    0, 
    2866    40,   40,   40,    0,    0,    0,    0,   40,   40,    0, 
    2867     0,    0,   40,   40,    0,  439,    0,    0,    0,    0, 
    2868     0,    0,   40,    0,    0,  439,   40,   40,    0,    0, 
    2869     0,   40,    0,    0,    0,    0,    0,   40,    0,   40, 
    2870    40,    0,   40,    0,   40,   40,   40,   40,   40,    0, 
    2871    40,   40,   40,   40,   40,   40,   40,   40,   40,   40, 
    2872    40,   40,   40,   40,   40,   40,    0,    0,   40,   40, 
    2873    40,    0,   40,   40,   40,    0,   40,   40,   40,    0, 
    2874     0,   40,    0,   40,    0,    0,   40,   40,   40,   40, 
    2875     0,    0,   40,   40,   40,    0,    0,    0,    0,    0, 
    2876    40,    0,    0,   40,   40,   40,   40,   40,   40,   40, 
    2877    40,    0,   40,   40,   40,   40,   40,    0,    0,   40, 
    2878   438,    0,    0,    0,    0,    0,   40,   40,   40,    0, 
    2879     0,    0,    0,    0,    0,   40,   40,    0,    0,  438, 
    2880     0,  438,    0,    0,  438,  438,  438,  438,  438,  438, 
    2881   438,    0,    0,  438,  438,  438,    0,    0,    0,    0, 
    2882   438,  438,    0,    0,    0,  438,  438,    0,  467,    0, 
    2883     0,    0,    0,    0,    0,  438,    0,    0,  467,  438, 
    2884   438,    0,    0,    0,  438,    0,    0,    0,    0,    0, 
    2885   438,    0,  438,  438,    0,  438,    0,  438,  438,  438, 
    2886   438,  438,    0,  438,  438,  438,  438,  438,  438,  438, 
    2887   438,  438,  438,  438,  438,  438,  438,  438,  438,    0, 
    2888     0,  438,  438,  438,    0,  438,  438,  438,    0,  438, 
    2889   438,  438,    0,    0,  438,    0,  438,    0,    0,  438, 
    2890   438,  438,  438,    0,    0,  438,  438,  438,    0,    0, 
    2891     0,    0,    0,  438,    0,    0,  438,  438,  438,  438, 
    2892   438,  438,  438,  438,    0,  438,  438,  438,  438,  438, 
    2893     0,  439,  438,    0,    0,    0,    0,    0,    0,  438, 
    2894   438,  438,    0,    0,    0,    0,    0,    0,  438,  438, 
    2895   439,    0,  439,    0,    0,  439,  439,  439,  439,  439, 
    2896   439,  439,    0,    0,  439,  439,  439,    0,    0,    0, 
    2897     0,  439,  439,    0,    0,    0,  439,  439,    0,   43, 
    2898     0,    0,    0,    0,    0,    0,  439,    0,    0,   43, 
    2899   439,  439,    0,    0,    0,  439,    0,    0,    0,    0, 
    2900     0,  439,    0,  439,  439,    0,  439,    0,  439,  439, 
    2901   439,  439,  439,    0,  439,  439,  439,  439,  439,  439, 
    2902   439,  439,  439,  439,  439,  439,  439,  439,  439,  439, 
    2903     0,    0,  439,  439,  439,    0,  439,  439,  439,    0, 
    2904   439,  439,  439,    0,    0,  439,    0,  439,    0,    0, 
    2905   439,  439,  439,  439,    0,    0,  439,  439,  439,    0, 
    2906     0,    0,    0,    0,  439,    0,    0,  439,  439,  439, 
    2907   439,  439,  439,  439,  439,    0,  439,  439,  439,  439, 
    2908   439,    0,    0,  439,  467,    0,    0,    0,    0,    0, 
    2909   439,  439,  439,    0,    0,    0,    0,    0,    0,  439, 
    2910   439,    0,    0,  467,    0,  467,    0,    0,  467,  467, 
    2911   467,  467,  467,  467,  467,    0,    0,  467,  467,  467, 
    2912     0,    0,    0,    0,  467,  467,    0,    0,    0,  467, 
    2913   467,    0,  363,    0,    0,    0,    0,    0,    0,  467, 
    2914     0,    0,  363,  467,  467,    0,    0,    0,  467,    0, 
    2915     0,    0,    0,    0,  467,    0,  467,  467,    0,  467, 
    2916     0,  467,  467,  467,  467,  467,    0,  467,  467,  467, 
    2917   467,  467,  467,  467,  467,  467,  467,  467,  467,  467, 
    2918   467,  467,  467,    0,    0,  467,  467,  467,    0,  467, 
    2919   467,  467,    0,  467,  467,  467,    0,    0,  467,    0, 
    2920   467,    0,    0,  467,  467,  467,  467,    0,    0,  467, 
    2921   467,  467,    0,    0,    0,    0,    0,  467,    0,    0, 
    2922   467,  467,  467,  467,  467,  467,  467,  467,    0,  467, 
    2923   467,  467,  467,  467,    0,   43,  467,    0,    0,    0, 
    2924     0,    0,    0,  467,  467,  467,    0,    0,    0,    0, 
    2925     0,    0,  467,  467,   43,    0,   43,    0,    0,   43, 
    2926    43,   43,   43,   43,   43,   43,    0,    0,   43,   43, 
    2927    43,    0,    0,    0,    0,   43,   43,    0,    0,    0, 
    2928    43,   43,    0,  473,    0,    0,    0,    0,    0,    0, 
    2929    43,    0,    0,  473,   43,   43,    0,    0,    0,   43, 
    2930     0,    0,    0,    0,    0,   43,    0,   43,   43,    0, 
    2931    43,    0,   43,   43,   43,   43,   43,    0,   43,   43, 
    2932    43,   43,   43,   43,   43,   43,   43,   43,   43,   43, 
    2933    43,   43,   43,   43,    0,    0,   43,   43,   43,    0, 
    2934    43,   43,   43,    0,   43,   43,   43,    0,    0,   43, 
    2935     0,   43,    0,    0,   43,   43,   43,   43,    0,    0, 
    2936    43,   43,   43,    0,    0,    0,    0,    0,   43,    0, 
    2937     0,   43,   43,   43,   43,   43,   43,   43,   43,    0, 
    2938    43,   43,   43,   43,   43,    0,    0,   43,  363,    0, 
    2939     0,    0,    0,    0,   43,   43,   43,    0,    0,    0, 
    2940     0,    0,    0,   43,   43,    0,    0,  363,    0,  363, 
    2941     0,    0,  363,  363,  363,  363,  363,  363,  363,    0, 
    2942     0,  363,  363,  363,    0,    0,    0,    0,  363,  363, 
    2943     0,    0,    0,  363,  363,    0,  365,    0,    0,    0, 
    2944     0,    0,    0,  363,    0,    0,  365,  363,  363,    0, 
    2945     0,    0,  363,    0,    0,    0,    0,    0,  363,    0, 
    2946   363,  363,    0,  363,    0,  363,  363,  363,  363,  363, 
    2947     0,  363,  363,  363,  363,  363,  363,  363,  363,  363, 
    2948   363,  363,  363,  363,  363,  363,  363,    0,    0,  363, 
    2949   363,  363,    0,  363,  363,  363,    0,  363,  363,  363, 
    2950     0,    0,  363,    0,  363,    0,    0,  363,  363,  363, 
    2951   363,    0,    0,  363,  363,  363,    0,    0,    0,    0, 
    2952     0,  363,    0,    0,  363,  363,  363,  363,  363,  363, 
    2953   363,  363,    0,  363,  363,  363,  363,  363,    0,  473, 
    2954   363,    0,    0,    0,    0,    0,    0,  363,  363,  363, 
    2955     0,    0,    0,    0,    0,    0,  363,  363,  473,    0, 
    2956   473,    0,    0,  473,  473,  473,  473,  473,  473,  473, 
    2957     0,    0,  473,  473,  473,    0,    0,    0,    0,  473, 
    2958   473,    0,    0,    0,  473,  473,    0,  409,    0,    0, 
    2959     0,    0,    0,    0,  473,    0,    0,  409,  473,  473, 
    2960     0,    0,    0,  473,    0,    0,    0,    0,    0,  473, 
    2961     0,  473,  473,    0,  473,    0,  473,  473,  473,  473, 
    2962   473,    0,  473,  473,  473,  473,  473,  473,  473,  473, 
    2963   473,  473,  473,  473,  473,  473,  473,  473,    0,    0, 
    2964   473,  473,  473,    0,  473,  473,  473,    0,  473,  473, 
    2965   473,    0,    0,  473,    0,  473,    0,    0,  473,  473, 
    2966   473,  473,    0,    0,  473,  473,  473,    0,    0,    0, 
    2967     0,    0,  473,    0,    0,  473,  473,  473,  473,  473, 
    2968   473,  473,  473,    0,  473,  473,  473,  473,  473,    0, 
    2969     0,  473,  365,    0,    0,    0,    0,    0,  473,  473, 
    2970   473,    0,    0,    0,    0,    0,    0,  473,  473,    0, 
    2971     0,  365,    0,  365,    0,    0,  365,  365,  365,  365, 
    2972   365,  365,  365,    0,    0,  365,  365,  365,    0,    0, 
    2973     0,    0,  365,  365,    0,    0,    0,  365,  365,    0, 
    2974   549,    0,    0,    0,    0,    0,    0,  365,    0,    0, 
    2975   549,  365,  365,    0,    0,    0,  365,    0,    0,    0, 
    2976     0,    0,  365,    0,  365,  365,    0,  365,    0,  365, 
    2977   365,  365,  365,  365,    0,  365,  365,  365,  365,  365, 
    2978   365,  365,  365,  365,  365,  365,  365,  365,  365,  365, 
    2979   365,    0,    0,  365,  365,  365,    0,  365,  365,  365, 
    2980     0,  365,  365,  365,    0,    0,  365,    0,  365,    0, 
    2981     0,  365,  365,  365,  365,    0,    0,  365,  365,  365, 
    2982     0,    0,    0,    0,    0,  365,    0,    0,  365,  365, 
    2983   365,  365,  365,  365,  365,  365,    0,  365,  365,  365, 
    2984   365,  365,    0,  409,  365,    0,    0,    0,    0,    0, 
    2985     0,  365,  365,  365,    0,    0,    0,    0,    0,    0, 
    2986   365,  365,  409,    0,  409,    0,    0,  409,  409,  409, 
    2987   409,  409,  409,  409,    0,    0,  409,  409,  409,    0, 
    2988     0,    0,    0,  409,  409,    0,    0,    0,  409,  409, 
    2989     0,  410,    0,    0,    0,    0,    0,    0,  409,    0, 
    2990     0,  410,  409,  409,    0,    0,    0,  409,    0,    0, 
    2991     0,    0,    0,  409,    0,  409,  409,    0,  409,    0, 
    2992   409,  409,  409,  409,  409,    0,  409,  409,  409,  409, 
    2993   409,  409,  409,  409,  409,  409,  409,  409,  409,  409, 
    2994   409,  409,    0,    0,  409,  409,  409,    0,  409,  409, 
    2995   409,    0,  409,  409,  409,    0,    0,  409,    0,  409, 
    2996     0,    0,  409,  409,  409,  409,    0,    0,  409,  409, 
    2997   409,    0,    0,    0,    0,    0,  409,    0,    0,  409, 
    2998   409,  409,  409,  409,  409,  409,  409,    0,  409,  409, 
    2999   409,  409,  409,    0,    0,  409,  549,    0,    0,    0, 
    3000     0,    0,  409,  409,  409,    0,    0,    0,    0,    0, 
    3001     0,  409,  409,    0,    0,  549,    0,  549,    0,    0, 
    3002   549,  549,  549,  549,  549,  549,  549,    0,    0,  549, 
    3003   549,  549,    0,    0,    0,    0,  549,  549,    0,    0, 
    3004     0,  549,  549,    0,  415,    0,    0,    0,    0,    0, 
    3005     0,  549,    0,    0,  415,  549,  549,    0,    0,    0, 
    3006   549,    0,    0,    0,    0,    0,  549,    0,  549,  549, 
    3007     0,  549,    0,  549,  549,  549,  549,  549,    0,  549, 
    3008   549,  549,  549,  549,  549,  549,  549,  549,  549,  549, 
    3009   549,  549,  549,  549,  549,    0,    0,  549,  549,  549, 
    3010     0,  549,  549,  549,    0,  549,  549,  549,    0,    0, 
    3011   549,    0,  549,    0,    0,  549,  549,  549,  549,    0, 
    3012     0,  549,  549,  549,    0,    0,    0,    0,    0,  549, 
    3013     0,    0,  549,  549,  549,  549,  549,  549,  549,  549, 
    3014     0,  549,  549,  549,  549,  549,    0,  410,  549,    0, 
    3015     0,    0,    0,    0,    0,  549,  549,  549,    0,    0, 
    3016     0,    0,    0,    0,  549,  549,  410,    0,  410,    0, 
    3017     0,  410,  410,  410,  410,  410,  410,  410,    0,    0, 
    3018   410,  410,  410,    0,    0,    0,    0,  410,  410,    0, 
    3019     0,    0,  410,  410,    4,    0,    0,    0,    0,    0, 
    3020     0,    0,  410,    0,    4,    0,  410,  410,    0,    0, 
    3021     0,  410,    0,    0,    0,    0,    0,  410,    0,  410, 
    3022   410,    0,  410,    0,  410,  410,  410,  410,  410,    0, 
    3023   410,  410,  410,  410,  410,  410,  410,  410,  410,  410, 
    3024   410,  410,  410,  410,  410,  410,    0,    0,  410,  410, 
    3025   410,    0,  410,  410,  410,    0,  410,  410,  410,    0, 
    3026     0,  410,    0,  410,    0,    0,  410,  410,  410,  410, 
    3027     0,    0,  410,  410,  410,    0,    0,    0,    0,    0, 
    3028   410,    0,    0,  410,  410,  410,  410,  410,  410,  410, 
    3029   410,    0,  410,  410,  410,  410,  410,    0,    0,  410, 
    3030   415,    0,    0,    0,    0,    0,  410,  410,  410,    0, 
    3031     0,    0,    0,    0,    0,  410,  410,    0,    0,  415, 
    3032     0,  415,    0,    0,  415,  415,  415,  415,  415,  415, 
    3033   415,    0,    0,  415,  415,  415,    0,    0,    0,    0, 
    3034   415,  415,    0,    0,    0,  415,  415,  411,    0,    0, 
    3035     0,    0,    0,    0,    0,  415,    0,  411,    0,  415, 
    3036   415,    0,    0,    0,  415,    0,    0,    0,    0,    0, 
    3037   415,    0,  415,  415,    0,  415,    0,  415,  415,  415, 
    3038   415,  415,    0,  415,  415,  415,  415,  415,  415,  415, 
    3039   415,  415,  415,  415,  415,  415,  415,  415,  415,    0, 
    3040     0,  415,  415,  415,    0,  415,  415,  415,    0,  415, 
    3041   415,  415,    0,    0,  415,    0,  415,    0,    0,  415, 
    3042   415,  415,  415,    0,    0,  415,  415,  415,    0,    0, 
    3043     0,    0,    0,  415,    0,    0,  415,  415,  415,  415, 
    3044   415,  415,  415,  415,    0,  415,  415,  415,  415,  415, 
    3045     4,    0,  415,    0,    0,    0,    0,    0,    0,  415, 
    3046   415,    0,    0,    0,    0,    0,    0,    0,  415,  415, 
    3047     0,    4,    0,    0,    4,    4,    4,    4,    4,    4, 
    3048     4,    0,    0,    4,    4,    4,    0,    0,    0,    0, 
    3049     4,    4,    0,    0,    0,    4,    4,    0,  408,    0, 
    3050     0,    0,    0,    0,    0,    4,    0,    0,  408,    4, 
    3051     4,    0,    0,    0,    4,    0,    0,    0,    0,    0, 
    3052     4,    0,    4,    4,    0,    4,    0,    4,    4,    4, 
    3053     4,    4,    0,    4,    4,    4,    4,    4,    4,    4, 
    3054     4,    4,    4,    4,    4,    4,    4,    4,    4,    0, 
    3055     0,    4,    4,    4,    0,    4,    4,    4,    0,    4, 
    3056     4,    4,    0,    0,    4,    0,    4,    0,    0,    4, 
    3057     4,    4,    4,    0,    0,    4,    4,    4,    0,    0, 
    3058     0,    0,    0,    4,    0,    0,    4,    4,    4,    4, 
    3059     4,    4,    4,    4,    0,    4,    4,    4,    4,    4, 
    3060     0,    0,    4,  411,    0,    0,    0,    0,    0,    4, 
    3061     4,    4,    0,    0,    0,    0,    0,    0,    4,    4, 
    3062     0,    0,  411,    0,  411,    0,    0,  411,  411,  411, 
    3063   411,  411,  411,  411,    0,    0,  411,  411,  411,    0, 
    3064     0,    0,    0,  411,  411,    0,    0,    0,  411,  411, 
    3065     0,  354,    0,    0,    0,    0,    0,    0,  411,    0, 
    3066     0,  354,  411,  411,    0,    0,    0,  411,    0,    0, 
    3067     0,    0,    0,  411,    0,  411,  411,    0,  411,    0, 
    3068   411,  411,  411,  411,  411,    0,  411,  411,  411,  411, 
    3069   411,  411,  411,  411,  411,  411,  411,  411,  411,  411, 
    3070   411,  411,    0,    0,  411,  411,  411,    0,  411,  411, 
    3071   411,    0,  411,  411,  411,    0,    0,  411,    0,  411, 
    3072     0,    0,  411,  411,  411,  411,    0,    0,  411,  411, 
    3073   411,    0,    0,    0,    0,    0,  411,    0,    0,  411, 
    3074   411,  411,  411,  411,  411,  411,  411,    0,  411,  411, 
    3075   411,  411,  411,    0,  408,  411,    0,    0,    0,    0, 
    3076     0,    0,  411,  411,  411,    0,    0,    0,    0,    0, 
    3077     0,    0,  411,  408,    0,  408,    0,    0,  408,  408, 
    3078   408,  408,  408,  408,  408,    0,    0,  408,  408,  408, 
    3079     0,    0,    0,    0,  408,  408,    0,    0,    0,  408, 
    3080   408,    0,  455,    0,    0,    0,    0,    0,    0,  408, 
    3081     0,    0,  455,  408,  408,    0,    0,    0,  408,    0, 
    3082     0,    0,    0,    0,  408,    0,  408,  408,    0,  408, 
    3083     0,  408,  408,  408,  408,  408,    0,  408,  408,  408, 
    3084   408,  408,  408,  408,  408,  408,  408,  408,  408,  408, 
    3085   408,  408,  408,    0,    0,  408,  408,  408,    0,  408, 
    3086   408,  408,    0,  408,  408,  408,    0,    0,  408,    0, 
    3087   408,    0,    0,  408,  408,  408,  408,    0,    0,  408, 
    3088   408,  408,    0,    0,    0,    0,    0,  408,    0,    0, 
    3089   408,  408,  408,  408,  408,  408,  408,  408,    0,  408, 
    3090   408,  408,  408,  408,    0,    0,  408,  354,    0,    0, 
    3091     0,    0,    0,  408,  408,    0,    0,    0,    0,    0, 
    3092     0,    0,  408,  408,    0,    0,  354,    0,  354,    0, 
    3093     0,  354,  354,  354,  354,  354,  354,  354,    0,    0, 
    3094   354,  354,  354,    0,    0,    0,    0,  354,  354,    0, 
    3095     0,    0,  354,  354,    0,   24,    0,    0,    0,    0, 
    3096     0,    0,  354,    0,    0,   24,  354,  354,    0,    0, 
    3097     0,  354,    0,    0,    0,    0,    0,  354,    0,  354, 
    3098   354,    0,  354,    0,  354,  354,  354,  354,  354,    0, 
    3099   354,  354,  354,  354,  354,  354,  354,  354,  354,  354, 
    3100   354,  354,  354,  354,  354,  354,    0,    0,  354,  354, 
    3101   354,    0,  354,  354,  354,    0,  354,  354,  354,    0, 
    3102     0,  354,    0,  354,    0,    0,  354,  354,  354,  354, 
    3103     0,    0,  354,  354,  354,    0,    0,    0,    0,    0, 
    3104   354,    0,    0,  354,  354,  354,  354,    0,  354,  354, 
    3105   354,    0,  354,  354,  354,  354,  354,    0,  455,  354, 
    3106     0,    0,    0,    0,    0,    0,  354,  354,    0,    0, 
    3107     0,    0,    0,    0,    0,    0,  354,  455,    0,  455, 
    3108     0,    0,  455,  455,  455,  455,  455,  455,  455,    0, 
    3109     0,  455,  455,  455,    0,    0,    0,    0,  455,  455, 
    3110     0,    0,    0,  455,  455,    0,    0,    0,    0,    0, 
    3111     0,    0,    0,  455,    0,    0,    0,  455,  455,    0, 
    3112     0,    0,  455,    0,    0,    0,    0,    0,  455,    0, 
    3113   455,  455,    0,  455,    0,  455,  455,  455,  455,  455, 
    3114     0,  455,  455,  455,  455,  455,  455,  455,  455,  455, 
    3115   455,  455,  455,  455,  455,  455,  455,    0,    0,  455, 
    3116   455,  455,    0,  455,  455,  455,    0,  455,  455,  455, 
    3117     0,    0,  455,    0,  455,    0,    0,  455,  455,  455, 
    3118   455,    0,    0,  455,  455,  455,    0,  188,    0,  540, 
    3119   150,  455,  151,    0,  455,  455,  455,  455,    0,  455, 
    3120   455,  455,    0,  455,  455,  455,  455,  455,  545,    0, 
    3121   455,   24,    0,    0,    0,    0,    0,  455,  455,    0, 
    3122     0,    0,    0,    0,    0,    0,    0,  455,    0,    0, 
    3123    24,    0,   24,    0,    0,   24,   24,   24,   24,   24, 
    3124    24,   24,    0,    0,   24,   24,   24,    0,    0,    0, 
    3125     0,   24,   24,    0,    0,    0,   24,   24,    0,  638, 
    3126   417,  415,    0,  416,    0,    0,   24,    0,    0,    0, 
    3127    24,   24,    0,    0,    0,   24,  901,    0,  420,  403, 
    3128   421,   24,    0,   24,   24,    0,   24,    0,   24,   24, 
    3129    24,   24,   24,    0,   24,   24,   24,   24,   24,   24, 
    3130    24,   24,   24,   24,   24,   24,   24,   24,   24,   24, 
    3131     0,    0,   24,   24,   24,    0,   24,   24,   24,    0, 
    3132    24,   24,   24,    0,    0,   24,    0,   24,    0,    0, 
    3133    24,   24,   24,   24,    0,    0,   24,   24,   24,    0, 
    3134   188,    0,  540,  150,   24,  151,    0,   24,   24,   24, 
    3135    24,   24,   24,   24,   24,    0,   24,   24,   24,   24, 
    3136    24,  734,    0,   24,    0,    0,    0,    0,    0,    0, 
    3137    24,   24,   24,    0,    0,    0,    0,    0,    0,   24, 
    3138     0,    0,    0,    0,    0,    0,    0,    0,  188,    0, 
    3139     0,  150,    0,  151,    0,    0,    0,    0,    0,    0, 
    3140     0,    0,    0,    0,    0,    0,    0,    0,    0,  644, 
    3141   149,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3142     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3143     0,    0,    0,    0,  152,  153,    0,    0,    0,  154, 
    3144   155,  156,  157,    0,    0,    0,    0,    0,    0,    0, 
    3145     0,  158,  159,  160,  161,  162,  163,  164,    0,  165, 
    3146   166,  167,    0,    0,  168,  169,  170,    0,  171,  172, 
    3147   173,  174,  175,    0,  176,    0,  404,  405,  406,  407, 
    3148   408,    0,  409,  410,  411,  412,  413,  414,    0,    0, 
    3149   418,  419,    0,    0,    0,    0,    0,    0,    0,    0, 
    3150     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3151     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3152     0,    0,    0,    0,    0,    0,  177,  188,    0,    0, 
    3153   150,    0,  151,    0,    0,    0,    0,  178,  179,    0, 
    3154     0,    0,    0,  180,    0,    0,    0,    0,  666,    0, 
    3155     0,    0,    0,  181,  182,    0,    0,  183,  184,  185, 
    3156   186,    0,    0,  149,   89,    0,    0,    0,    0,    0, 
    3157     0,  187,    0,    0,    0,  188,    0,    0,  150,    0, 
    3158   151,    0,    0,    0,    0,    0,    0,  152,  153,    0, 
    3159     0,    0,  154,  155,  156,  157,  668,    0,    0,    0, 
    3160     0,    0,    0,    0,  158,  159,  160,  161,  162,  163, 
    3161   164,  149,  165,  166,  167,    0,    0,  168,  169,  170, 
    3162     0,  171,  172,  173,  174,  175,    0,  176,    0,    0, 
    3163     0,    0,    0,    0,    0,  152,  153,    0,    0,    0, 
    3164   154,  155,  156,  157,    0,    0,    0,    0,    0,    0, 
    3165     0,    0,  158,  159,  160,  161,  162,  163,  164,    0, 
    3166   165,  166,  167,    0,    0,  168,  169,  170,    0,  171, 
    3167   172,  173,  174,  175,    0,  176,    0,    0,    0,  177, 
    3168     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3169   178,  179,    0,    0,    0,    0,  180,    0,    0,    0, 
    3170     0,    0,    0,    0,    0,    0,  181,  182,    0,    0, 
    3171   183,  184,  185,  186,    0,    0,  188,   89,  706,  150, 
    3172     0,  151,    0,    0,  187,    0,    0,  177,    0,    0, 
    3173     0,    0,    0,    0,    0,    0,    0,    0,  178,  179, 
    3174     0,    0,    0,    0,  180,    0,    0,    0,    0,    0, 
    3175   149,    0,    0,    0,  181,  182,    0,    0,  183,  184, 
    3176   185,  186,    0,    0,  188,   89,  540,  150,    0,  151, 
    3177     0,    0,  187,    0,  152,  153,    0,    0,    0,  154, 
    3178   155,  156,  157,    0,    0,    0,    0,    0,    0,    0, 
    3179     0,  158,  159,  160,  161,  162,  163,  164,  149,  165, 
    3180   166,  167,    0,    0,  168,  169,  170,    0,  171,  172, 
    3181   173,  174,  175,    0,  176,    0,    0,    0,    0,    0, 
    3182     0,    0,  152,  153,    0,    0,    0,  154,  155,  156, 
    3183   157,    0,    0,    0,    0,    0,    0,    0,    0,  158, 
    3184   159,  160,  161,  162,  163,  164,    0,  165,  166,  167, 
    3185     0,    0,  168,  169,  170,    0,  171,  172,  173,  174, 
    3186   175,    0,  176,    0,    0,    0,  177,    0,    0,    0, 
    3187     0,    0,    0,    0,    0,    0,    0,  178,  179,    0, 
    3188     0,    0,    0,  180,    0,    0,    0,    0,    0,    0, 
    3189     0,    0,    0,  181,  182,    0,    0,  183,  184,  185, 
    3190   186,    0,  188,    0,   89,  150,    0,  151,    0,    0, 
    3191     0,  187,    0,    0,  177,    0,    0,    0,    0,    0, 
    3192   813,    0,    0,    0,    0,  178,  179,    0,    0,    0, 
    3193     0,  180,    0,    0,    0,    0,    0,    0,    0,  149, 
    3194     0,  181,  182,    0,    0,  183,  184,  185,  186,    0, 
    3195     0,    0,   89,    0,    0,  188,    0,    0,  150,  187, 
    3196   151,    0,    0,  152,  153,    0,    0,    0,  154,  155, 
    3197   156,  157,    0,  898,    0,    0,    0,    0,    0,    0, 
    3198   158,  159,  160,  161,  162,  163,  164,  149,  165,  166, 
    3199   167,    0,    0,  168,  169,  170,    0,  171,  172,  173, 
    3200   174,  175,    0,  176,    0,    0,    0,    0,    0,    0, 
    3201     0,  152,  153,    0,    0,    0,  154,  155,  156,  157, 
    3202     0,    0,    0,    0,    0,    0,    0,    0,  158,  159, 
    3203   160,  161,  162,  163,  164,    0,  165,  166,  167,    0, 
    3204     0,  168,  169,  170,    0,  171,  172,  173,  174,  175, 
    3205     0,  176,    0,    0,    0,  177,    0,    0,    0,    0, 
    3206     0,    0,    0,    0,    0,    0,  178,  179,    0,    0, 
    3207     0,    0,  180,    0,    0,    0,    0,    0,    0,    0, 
    3208     0,    0,  181,  182,    0,    0,  183,  184,  185,  186, 
    3209     0,    0,    0,   89,  188,    0,  709,  150,    0,  151, 
    3210   187,    0,    0,  177,    0,    0,    0,    0,    0,    0, 
    3211     0,    0,    0,    0,  178,  179,    0,    0,    0,    0, 
    3212   180,    0,    0,    0,    0,  149,    0,    0,    0,    0, 
    3213   181,  182,    0,    0,  183,  184,  185,  186,    0,    0, 
    3214     0,   89,  188,    0,  951,  150,    0,  151,  187,  152, 
    3215   153,    0,    0,    0,  154,  155,  156,  157,    0,    0, 
    3216     0,    0,    0,    0,    0,    0,  158,  159,  160,  161, 
    3217   162,  163,  164,    0,  165,  166,  167,    0,  149,  168, 
    3218   169,  170,    0,  171,  172,  173,  174,  175,    0,  176, 
    3219     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3220     0,    0,  152,  153,    0,    0,    0,  154,  155,  156, 
    3221   157,    0,    0,    0,    0,    0,    0,    0,    0,  158, 
    3222   159,  160,  161,  162,  163,  164,    0,  165,  166,  167, 
    3223     0,    0,  168,  169,  170,    0,  171,  172,  173,  174, 
    3224   175,  177,  176,    0,    0,    0,    0,    0,    0,    0, 
    3225     0,    0,  178,  179,    0,    0,    0,    0,  180,    0, 
    3226     0,    0,    0,    0,    0,    0,    0,    0,  181,  182, 
    3227     0,    0,  183,  184,  185,  186,    0,  188,    0,   89, 
    3228   150,    0,  151,    0,    0,    0,  187,    0,    0,    0, 
    3229     0,    0,    0,    0,  177,    0,    0,    0,    0,    0, 
    3230     0,    0,    0,    0,    0,  178,  179,    0,    0,    0, 
    3231     0,  180,    0,    0,    0,    0,    0,  149,    0,    0, 
    3232     0,  181,  182,    0,    0,  183,  184,  185,  186,    0, 
    3233   382,    0,   89,  150,    0,  151,    0,    0,    0,  187, 
    3234     0,  152,  153,    0,    0,    0,  154,  155,  156,  157, 
    3235     0,    0,    0,    0,    0,    0,    0,    0,  158,  159, 
    3236   160,  161,  162,  163,  164,  149,  165,  166,  167,    0, 
    3237     0,  168,  169,  170,    0,  171,  172,  173,  174,  175, 
    3238     0,  176,    0,    0,    0,    0,    0,    0,    0,  152, 
    3239   153,    0,    0,    0,  154,  155,  156,  157,    0,    0, 
    3240     0,    0,    0,    0,    0,    0,  158,  159,  160,  161, 
    3241   162,  163,  164,    0,  165,  166,  167,    0,    0,  168, 
    3242   169,  170,    0,  171,  172,  173,  174,  175,    0,  176, 
    3243     0,    0,    0,  177,    0,    0,    0,    0,    0,    0, 
    3244     0,    0,    0,    0,  178,  179,    0,    0,    0,    0, 
    3245   180,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3246   181,  182,    0,    0,  183,  184,  185,  186,    0,  188, 
    3247     0,   89,  150,    0,  151,    0,    0,    0,  187,    0, 
    3248     0,  177,    0,    0,    0,    0,    0,    0,    0,    0, 
    3249     0,    0,  178,  179,    0,    0,    0,    0,  180,    0, 
    3250   149,    0,    0,    0,    0,    0,    0,    0,  181,  182, 
    3251     0,    0,  183,  184,  185,  186,    0,  507,    0,   89, 
    3252   150,    0,  151,    0,  152,  153,  187,    0,    0,  154, 
    3253   155,  156,  157,    0,    0,    0,    0,    0,    0,    0, 
    3254     0,  158,  159,  160,  161,  162,  163,  164,    0,  165, 
    3255   166,  167,    0,  149,  168,  169,  170,    0,  171,  172, 
    3256   173,  174,  175,    0,  176,    0,    0,    0,    0,    0, 
    3257     0,    0,    0,    0,    0,    0,    0,  152,  153,    0, 
    3258     0,    0,  154,  155,  156,  157,    0,    0,    0,    0, 
    3259     0,    0,    0,    0,  158,  159,  160,  161,  162,  163, 
    3260   164,    0,  165,  166,  167,    0,    0,  168,  169,  170, 
    3261     0,  171,  172,  173,  174,  175,  177,  176,    0,    0, 
    3262     0,    0,    0,    0,    0,    0,    0,  178,  179,    0, 
    3263     0,    0,    0,  180,    0,    0,    0,    0,    0,    0, 
    3264     0,    0,    0,  181,  182,    0,    0,  183,  184,  185, 
    3265   186,    0,  382,    0,   89,  150,    0,  151,    0,    0, 
    3266     0,  187,    0,    0,    0,    0,    0,    0,    0,  177, 
    3267     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3268   178,  179,    0,    0,    0,    0,  180,    0,    0,    0, 
    3269     0,    0,  149,    0,    0,    0,  181,  182,    0,    0, 
    3270   183,  184,  185,  186,    0,  908,    0,   89,  150,    0, 
    3271   151,    0,    0,    0,  187,    0,  152,  153,    0,    0, 
    3272     0,  154,  155,  156,  157,    0,    0,    0,    0,    0, 
    3273     0,    0,    0,  158,  159,  160,  161,  162,  163,  164, 
    3274   149,  165,  166,  167,    0,    0,  168,  169,  170,    0, 
    3275   171,  172,  173,  174,  175,    0,  176,    0,    0,    0, 
    3276     0,    0,    0,    0,  152,  153,    0,    0,    0,  154, 
    3277   155,  156,  157,    0,  567,    0,  564,  333,    0,  334, 
    3278     0,  158,  159,  160,  161,  162,  163,  164,    0,  165, 
    3279   166,  167,    0,    0,  168,  169,  170,    0,  171,  172, 
    3280   173,  174,  175,    0,  176,    0,    0,    0,  177,    0, 
    3281   341,    0,  335,  333,    0,  334,    0,    0,    0,  178, 
    3282   179,    0,    0,    0,    0,  180,    0,    0,    0,    0, 
    3283     0,    0,    0,    0,    0,  181,  182,    0,    0,  183, 
    3284   184,  185,  186,    0,    0,    0,   89,    0,    0,    0, 
    3285     0,    0,    0,  445,    0,    0,  177,    0,    0,    0, 
    3286     0,    0,    0,    0,    0,    0,    0,  178,  179,    0, 
    3287     0,    0,    0,  180,    0,  149,  247,  247,  247,    0, 
    3288   247,    0,    0,  181,  182,    0,    0,  183,  184,  185, 
    3289   186,    0,    0,  247,   89,  247,  247,  247,    0,  152, 
    3290   153,  187,    0,    0,  154,  155,  156,  157,    0,    0, 
    3291     0,    0,    0,    0,    0,    0,  158,  159,  160,  161, 
    3292   162,  163,  164,    0,  165,  166,  167,    0,  149,  168, 
    3293   169,  170,    0,  171,  172,  173,  174,  175,    0,  176, 
    3294     0,    0,    0,    0,    0,    0,    0,  518,  518,  518, 
    3295   518,  518,  152,  153,    0,    0,    0,  154,  155,  156, 
    3296   157,    0,    0,    0,    0,    0,  518,  518,  518,  158, 
    3297   159,  160,  161,  162,  163,  164,    0,  165,  166,  167, 
    3298     0,    0,  168,  169,  170,    0,  171,  172,  173,  174, 
    3299   175,  177,  176,  437,  417,  415,    0,  416,    0,    0, 
    3300     0,    0,  178,  179,    0,    0,    0,  565,  180,    0, 
    3301     0,    0,  420,  403,  421,    0,    0,    0,  181,  182, 
    3302     0,    0,  183,  184,  185,  186,  601,  417,  415,  892, 
    3303   416,    0,  336,  337,  338,    0,  187,  339,    0,    0, 
    3304     0,    0,    0,    0,  177,  420,  403,  421,    0,    0, 
    3305     0,    0,    0,    0,    0,  178,  179,    0,    0,    0, 
    3306     0,  180,    0,    0,    0,    0,    0,    0,  336,  337, 
    3307   338,  181,  182,  339,    0,  183,  184,  185,  186,    0, 
    3308     0,    0,   89,    0,    0,    0,    0,    0,    0,  187, 
    3309     0,    0,    0,  247,  247,  247,  247,  247,    0,  247, 
    3310   247,  247,  247,  247,  247,    0,    0,  247,  247,  608, 
    3311   417,  415,    0,  416,    0,    0,    0,    0,    0,    0, 
    3312     0,    0,    0,    0,  178,  179,    0,    0,  420,  403, 
    3313   421,    0,    0,  622,  417,  415,    0,  416,    0,    0, 
    3314   181,  182,    0,    0,  183,  184,  185,  186,    0,    0, 
    3315     0,  566,  420,  403,  421,    0,    0,    0,  187,    0, 
    3316   178,  179,    0,    0,  518,  518,  518,  518,  518,    0, 
    3317   518,  518,  518,  518,  518,  518,  181,  182,  518,  518, 
    3318   183,  184,  185,  186,  638,  417,  415,  340,  416,    0, 
    3319     0,    0,    0,    0,  187,    0,    0,    0,    0,    0, 
    3320     0,    0,    0,  420,  403,  421,    0,    0,    0,    0, 
    3321   404,  405,  406,  407,  408,    0,  409,  410,  411,  412, 
    3322   413,  414,    0,    0,  418,  419,    0,    0,    0,    0, 
    3323     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3324     0,    0,    0,  404,  405,  406,  407,  408,    0,  409, 
    3325   410,  411,  412,  413,  414,    0,    0,  418,  419,  672, 
    3326   417,  415,    0,  416,    0,    0,    0,    0,    0,    0, 
    3327     0,    0,    0,    0,    0,    0,    0,    0,  420,  403, 
    3328   421,  677,  417,  415,    0,  416,    0,    0,    0,    0, 
    3329     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3330   420,  403,  421,  679,  417,  415,    0,  416,    0,    0, 
    3331     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3332     0,    0,  420,  403,  421,    0,  404,  405,  406,  407, 
    3333   408,    0,  409,  410,  411,  412,  413,  414,    0,    0, 
    3334   418,  419,    0,    0,    0,    0,    0,    0,    0,    0, 
    3335   404,  405,  406,  407,  408,    0,  409,  410,  411,  412, 
    3336   413,  414,    0,    0,  418,  419,  781,  417,  415,    0, 
    3337   416,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3338     0,    0,    0,    0,    0,  420,  403,  421,    0,    0, 
    3339     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3340     0,  404,  405,  406,  407,  408,    0,  409,  410,  411, 
    3341   412,  413,  414,    0,    0,  418,  419,  782,  417,  415, 
    3342     0,  416,    0,    0,    0,    0,    0,    0,    0,    0, 
    3343     0,    0,    0,    0,    0,    0,  420,  403,  421,  783, 
    3344   417,  415,    0,  416,    0,    0,    0,    0,    0,    0, 
    3345     0,    0,    0,    0,    0,    0,    0,    0,  420,  403, 
    3346   421,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3347     0,    0,    0,    0,    0,    0,  404,  405,  406,  407, 
    3348   408,    0,  409,  410,  411,  412,  413,  414,    0,    0, 
    3349   418,  419,    0,    0,    0,    0,    0,    0,  404,  405, 
    3350   406,  407,  408,    0,  409,  410,  411,  412,  413,  414, 
    3351     0,    0,  418,  419,    0,    0,    0,    0,    0,    0, 
    3352   404,  405,  406,  407,  408,    0,  409,  410,  411,  412, 
    3353   413,  414,    0,    0,  418,  419,  784,  417,  415,    0, 
    3354   416,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3355     0,    0,    0,    0,    0,  420,  403,  421,  785,  417, 
    3356   415,    0,  416,    0,    0,    0,    0,    0,    0,    0, 
    3357     0,    0,    0,    0,    0,    0,    0,  420,  403,  421, 
    3358     0,    0,    0,  404,  405,  406,  407,  408,    0,  409, 
    3359   410,  411,  412,  413,  414,    0,    0,  418,  419,  786, 
    3360   417,  415,    0,  416,    0,    0,    0,    0,    0,    0, 
    3361     0,    0,    0,    0,    0,    0,    0,    0,  420,  403, 
    3362   421,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3363     0,    0,    0,    0,  404,  405,  406,  407,  408,    0, 
    3364   409,  410,  411,  412,  413,  414,    0,    0,  418,  419, 
    3365     0,    0,    0,    0,    0,    0,  404,  405,  406,  407, 
    3366   408,    0,  409,  410,  411,  412,  413,  414,    0,    0, 
    3367   418,  419,  787,  417,  415,    0,  416,    0,    0,    0, 
    3368     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3369     0,  420,  403,  421,  788,  417,  415,    0,  416,    0, 
    3370     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3371     0,    0,    0,  420,  403,  421,  789,  417,  415,    0, 
    3372   416,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3373     0,    0,    0,    0,    0,  420,  403,  421,    0,    0, 
    3374     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3375     0,    0,    0,  404,  405,  406,  407,  408,    0,  409, 
    3376   410,  411,  412,  413,  414,    0,    0,  418,  419,    0, 
    3377     0,    0,    0,    0,    0,  404,  405,  406,  407,  408, 
    3378     0,  409,  410,  411,  412,  413,  414,    0,    0,  418, 
    3379   419,  790,  417,  415,    0,  416,    0,    0,    0,    0, 
    3380     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3381   420,  403,  421,    0,    0,    0,  404,  405,  406,  407, 
    3382   408,    0,  409,  410,  411,  412,  413,  414,    0,    0, 
    3383   418,  419,  791,  417,  415,    0,  416,    0,    0,    0, 
    3384     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3385     0,  420,  403,  421,  792,  417,  415,    0,  416,    0, 
    3386     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3387     0,    0,    0,  420,  403,  421,    0,    0,    0,    0, 
    3388     0,    0,    0,    0,    0,    0,    0,    0,    0,  404, 
    3389   405,  406,  407,  408,    0,  409,  410,  411,  412,  413, 
    3390   414,    0,    0,  418,  419,    0,    0,    0,    0,    0, 
    3391     0,  404,  405,  406,  407,  408,    0,  409,  410,  411, 
    3392   412,  413,  414,    0,    0,  418,  419,    0,    0,    0, 
    3393     0,    0,    0,  404,  405,  406,  407,  408,    0,  409, 
    3394   410,  411,  412,  413,  414,    0,    0,  418,  419,  793, 
    3395   417,  415,    0,  416,    0,    0,    0,    0,    0,    0, 
    3396     0,    0,    0,    0,    0,    0,    0,    0,  420,  403, 
    3397   421,  802,  417,  415,    0,  416,    0,    0,    0,    0, 
    3398     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3399   420,  403,  421,    0,    0,    0,    0,    0,    0,    0, 
    3400     0,    0,    0,    0,    0,    0,    0,    0,  404,  405, 
    3401   406,  407,  408,    0,  409,  410,  411,  412,  413,  414, 
    3402     0,    0,  418,  419,  862,  417,  415,    0,  416,    0, 
    3403     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3404     0,    0,    0,  420,  403,  421,    0,    0,    0,  404, 
    3405   405,  406,  407,  408,    0,  409,  410,  411,  412,  413, 
    3406   414,    0,    0,  418,  419,    0,    0,    0,    0,    0, 
    3407     0,  404,  405,  406,  407,  408,    0,  409,  410,  411, 
    3408   412,  413,  414,    0,    0,  418,  419,  904,  417,  415, 
    3409     0,  416,    0,    0,    0,    0,    0,    0,    0,    0, 
    3410     0,    0,    0,    0,    0,    0,  420,  403,  421,  247, 
    3411   247,  247,    0,  247,    0,    0,    0,    0,    0,    0, 
    3412     0,    0,    0,    0,    0,    0,    0,    0,  247,  247, 
    3413   247,  417,  415,  680,  416,    0,    0,    0,    0,    0, 
    3414     0,    0,    0,    0,    0,    0,    0,    0,    0,  420, 
    3415   403,  421,    0,    0,    0,    0,    0,    0,    0,    0, 
    3416     0,    0,    0,    0,    0,    0,  404,  405,  406,  407, 
    3417   408,    0,  409,  410,  411,  412,  413,  414,    0,    0, 
    3418   418,  419,    0,    0,    0,    0,    0,    0,  404,  405, 
    3419   406,  407,  408,    0,  409,  410,  411,  412,  413,  414, 
    3420     0,    0,  418,  419,  417,  415,  933,  416,    0,    0, 
    3421     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3422     0,    0,  420,  403,  421,    0,    0,    0,    0,    0, 
    3423     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3424     0,  404,  405,  406,  407,  408,    0,  409,  410,  411, 
    3425   412,  413,  414,    0,    0,  418,  419,  417,  415,  969, 
    3426   416,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3427     0,    0,    0,    0,    0,  420,  403,  421,  417,  415, 
    3428   970,  416,    0,    0,    0,    0,    0,    0,    0,    0, 
    3429     0,    0,    0,    0,    0,    0,  420,  403,  421,    0, 
    3430     0,    0,    0,    0,  404,  405,  406,  407,  408,    0, 
    3431   409,  410,  411,  412,  413,  414,    0,    0,  418,  419, 
    3432     0,    0,    0,    0,    0,    0,  247,  247,  247,  247, 
    3433   247,    0,  247,  247,  247,  247,  247,  247,    0,    0, 
    3434   247,  247,    0,    0,    0,    0,    0,  404,  405,  406, 
    3435   407,  408,    0,  409,  410,  411,  412,  413,  414,    0, 
    3436     0,  418,  419,  417,  415,  975,  416,    0,    0,    0, 
    3437     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3438     0,  420,  403,  421,  247,  247,  247,  247,    0,    0, 
    3439     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3440     0,    0,  247,  247,  247,    0,    0,    0,    0,    0, 
    3441     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3442   404,  405,  406,  407,  408,    0,  409,  410,  411,  412, 
    3443   413,  414,    0,    0,  418,  419,    0,    0,    0,    0, 
    3444     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3445     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3446     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3447     0,    0,    0,  404,  405,  406,  407,  408,    0,  409, 
    3448   410,  411,  412,  413,  414,    0,    0,  418,  419,    0, 
    3449     0,    0,    0,    0,  404,  405,  406,  407,  408,    0, 
    3450   409,  410,  411,  412,  413,  414,    0,    0,  418,  419, 
    3451     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3452     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3453     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3454     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3455     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3456     0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    3457     0,    0,    0,    0,    0,    0,    0,    0,    0,  404, 
    3458   405,  406,  407,  408,    0,  409,  410,  411,  412,  413, 
    3459   414,    0,    0,  418,  419,    0,    0,    0,    0,    0, 
    3460   247,  247,  247,  247,  247,    0,  247,  247,  247,  247, 
    3461   247,  247,    0,   16,  247,  247,   17,    0,   18,   19, 
    3462     0,    0,   20,    0,    0,   21,   22,   23,    0,    0, 
    3463     0,    0,   24,   25,    0,    0,    0,    0,    0,    0, 
    3464     0,    0,    0,    0,    0,    0,    0,   26,    0,    0, 
    3465     0,   27,   28,    0,    0,    0,   29,    0,    0,    0, 
    3466     0,    0,   30,    0,   31,   32,    0,   33,    0,   34, 
    3467    35,   36,   37,   38,    0,   39,   40,   41,   42,   43, 
    3468    44,   45,   46,   47,   48,   49,   50,   51,   52,   53, 
    3469    54,    0,    0,   55,   56,   57,    0,   58,   59,   60, 
    3470     0,   61,   62,   63,    0,    0,   64,    0,   65,    0, 
    3471     0,   66,   67,   68,   69,    0,    0,   70,   71,   72, 
    3472     0,    0,    0,    0,    0,   73,    0,    0,    0,   74, 
    3473    75,   76,   77,   78,   79,   80,    0,   81,   82,   83, 
    3474    84,   85,    0,    0,   86,    0,    0,    0,    0,    0, 
    3475     0,   87,   88,   89,    0,    0,    0,    0,    0,    0, 
    3476    90, 
     2160 
     2161static const yytype_int16 yycheck[] = 
     2162{ 
     2163      27,   233,    29,   179,   202,   287,    33,    36,   298,    36, 
     2164     275,   383,   290,   141,   279,    42,   179,   416,   500,   580, 
     2165     721,    22,   583,    18,    35,   179,     3,   309,   344,   233, 
     2166     451,     3,     5,    23,   238,    47,   190,   238,     3,    23, 
     2167      23,     4,     4,    23,    25,     3,   578,   734,   580,    60, 
     2168      61,   583,    23,   328,   141,     3,    21,    22,    23,    71, 
     2169      72,     3,     4,   338,    31,   104,   176,    79,     3,   179, 
     2170     764,   346,   123,     3,   113,   124,   169,     3,   158,     3, 
     2171     160,     3,   236,   490,    24,   106,   137,   108,   169,     3, 
     2172       3,   112,     3,     3,   187,     3,     3,     3,   179,    20, 
     2173      98,     3,   100,    24,   131,   233,     3,     3,     3,   138, 
     2174     238,   138,     3,   125,     3,   127,   128,   125,   177,     3, 
     2175     127,   528,   169,   150,   151,   179,    20,    21,    22,    23, 
     2176      24,    25,   159,    80,    81,   189,    21,    22,    23,     3, 
     2177     187,     3,    23,    24,    25,   169,   173,   429,     3,     4, 
     2178     169,   577,   179,   126,   802,   803,    20,   176,    20,   585, 
     2179      24,   169,    24,   190,    23,   866,   342,   194,     4,    20, 
     2180      20,   347,   495,    24,    24,     3,   179,   500,   205,    20, 
     2181      35,   868,   179,    24,   347,   212,   169,   179,   180,   169, 
     2182     884,    13,    20,   347,   221,   179,    24,   180,   188,   226, 
     2183     328,   179,   169,   180,   185,   186,    27,   383,   179,   236, 
     2184     338,   189,   169,   262,   342,   187,   189,   169,   346,   246, 
     2185     383,   922,   180,   188,   187,   187,   508,   509,   179,   383, 
     2186     762,   763,   180,   765,   516,   179,   884,   276,   180,   179, 
     2187      62,   328,   532,   282,   169,   180,   257,   286,   169,   539, 
     2188     180,   338,   273,   569,   180,   342,   180,    33,   180,   346, 
     2189     576,   633,   263,   635,   636,   547,   180,   180,   266,   180, 
     2190     180,   298,   180,   180,   180,   302,   592,   304,   180,   359, 
     2191     360,    21,    22,   180,   180,   180,   180,   415,   158,   180, 
     2192     565,   180,   319,   320,   295,   316,   180,   324,   378,   379, 
     2193     380,   381,   382,   188,   185,   186,   333,   334,   335,   336, 
     2194     169,   391,   587,   588,   589,   590,   591,   312,   169,   169, 
     2195     347,   180,   144,   176,   885,   179,   179,   179,    20,    21, 
     2196      22,    23,    24,    25,   361,   179,     3,   179,   365,   366, 
     2197     367,   368,   369,   370,   371,   372,   373,   374,   375,   376, 
     2198     179,   772,   773,   885,   169,   169,   383,    24,   840,     3, 
     2199       4,   176,   594,     3,   179,   847,     3,   394,   395,   396, 
     2200     397,   398,   399,   400,   401,   402,   403,   404,   405,   406, 
     2201     407,   408,   409,   410,   411,   412,   158,   209,   542,   416, 
     2202     594,   595,   219,    23,   595,   141,   142,   424,   425,     4, 
     2203     169,   577,   138,   139,   140,   937,   176,   179,     3,   585, 
     2204     169,   233,   179,   240,   236,   179,   238,   239,   817,    23, 
     2205      24,    25,   244,    20,    21,    22,    23,    24,    25,   801, 
     2206     802,   803,   179,   189,   750,   179,   179,   565,   260,   841, 
     2207     842,   843,   844,   733,   722,   179,   179,   712,   730,   577, 
     2208     179,   767,   768,   769,   770,   771,   179,   585,   280,   587, 
     2209     588,   589,   590,   591,   746,   492,   594,   595,   179,   496, 
     2210     633,   179,   635,   636,    29,   487,   503,   179,   565,   683, 
     2211     755,   502,   683,   179,   688,   639,   507,   688,   180,   510, 
     2212     577,   179,   179,   179,   179,   317,   179,   179,   585,   321, 
     2213     587,   588,   589,   590,   591,   532,   328,   179,   179,   179, 
     2214     179,   538,   539,   179,   179,   542,   338,   840,   841,   842, 
     2215     843,   844,   179,   179,   847,    80,    81,    82,   169,   142, 
     2216     143,   169,     3,    20,    21,    22,    23,    24,    25,   566, 
     2217       4,   169,   169,   825,     3,   158,   159,     3,   575,   162, 
     2218     163,   164,   165,     5,   109,   683,   111,   112,   113,   169, 
     2219     688,   116,   117,   176,   119,   120,     3,   883,    21,    22, 
     2220      23,    24,    25,   602,     3,   602,   603,   169,   179,   169, 
     2221     870,   169,   169,   865,   180,     4,     3,   176,   764,     3, 
     2222     176,     3,     5,   132,   876,   179,   179,    30,     3,   753, 
     2223      20,    21,    22,    23,    24,    25,   633,     3,   635,   636, 
     2224       3,     3,   639,   640,   189,     3,   180,   180,   705,     3, 
     2225       3,    24,   179,   169,   169,   823,   169,   755,   179,   169, 
     2226     657,   658,   180,     3,     5,   662,   764,   664,   801,   802, 
     2227     803,   668,   180,   176,   180,     3,     3,   801,    25,   881, 
     2228     179,     3,     3,     3,   681,   682,     4,   180,   180,   169, 
     2229      84,   180,   180,    24,    24,   179,     4,   694,   755,   696, 
     2230      24,   169,   180,   169,    23,   180,     4,   764,   126,     5, 
     2231       3,     7,     8,     9,    10,    11,   713,    13,    14,    15, 
     2232      16,    17,    18,   180,   180,    21,    22,    23,    24,    25, 
     2233      20,     3,     5,   180,   169,   180,   733,   169,   884,     5, 
     2234     180,   180,   180,   180,   180,     3,   188,   180,   745,    24, 
     2235       5,     3,   749,   180,   126,     3,   753,     5,     5,     7, 
     2236       8,     9,    10,    11,   180,    13,    14,    15,    16,    17, 
     2237      18,   169,   169,    21,    22,    23,    24,    25,     4,     5, 
     2238      10,     7,     8,     9,    10,    11,   884,    13,    14,    15, 
     2239      16,    17,    18,   260,   918,    21,    22,    23,    24,    25, 
     2240      14,   776,   594,   595,   801,   802,   803,   692,   774,   430, 
     2241     696,   499,   512,   538,   269,   494,    77,   529,   305,   726, 
     2242     817,   818,   853,   851,     3,   418,     5,   884,     7,     8, 
     2243       9,    10,    11,   682,    13,    14,    15,    16,    17,    18, 
     2244     902,   954,    21,    22,    23,    24,    25,   753,   874,   958, 
     2245     144,   556,   749,   755,   851,   141,   853,   347,   855,   383, 
     2246     558,   594,    -1,   595,    -1,    -1,    -1,    -1,    -1,    -1, 
     2247      -1,    -1,    -1,   870,    -1,    -1,    -1,    -1,    -1,    -1, 
     2248      -1,    -1,   674,    -1,    -1,    -1,    -1,    -1,    -1,   185, 
     2249     186,   683,    -1,   189,    -1,    -1,   688,    -1,   690,    -1, 
     2250      -1,    -1,   899,    -1,   901,   902,    -1,    -1,    -1,    -1, 
     2251   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2252      -1,   918,    -1,    -1,    -1,    -1,    -1,   719,    -1,    -1, 
     2253      -1,    -1,    -1,    -1,    -1,   932,    -1,   185,   186,    -1, 
     2254      -1,    -1,    -1,    -1,   941,    -1,    -1,    -1,    -1,    -1, 
     2255     947,     0,     1,   950,   180,    -1,    -1,    -1,    -1,   185, 
     2256     186,    -1,    -1,   755,    -1,    -1,   963,    -1,    -1,    -1, 
     2257     967,    -1,    -1,   970,   971,    -1,    -1,    -1,    27,   976, 
     2258      29,    -1,    -1,    32,    33,    34,    35,    36,    37,    38, 
     2259      -1,    -1,    41,    42,    43,    -1,    -1,    -1,    -1,    48, 
     2260      49,    -1,    -1,    -1,    53,    54,   185,   186,    -1,    -1, 
     2261      -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,    67,    68, 
     2262      -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,    -1,    78, 
     2263      -1,    80,    81,    -1,    83,    -1,    85,    86,    87,    88, 
     2264      89,    -1,    91,    92,    93,    94,    95,    96,    97,    98, 
     2265      99,   100,   101,   102,   103,   104,   105,   106,    -1,    -1, 
     2266     109,   110,   111,    -1,   113,   114,   115,    -1,   117,   118, 
     2267     119,    -1,    -1,   122,    -1,   124,    -1,    -1,   127,   128, 
     2268     129,   130,    -1,    -1,   133,   134,   135,    -1,    -1,   881, 
     2269      -1,    -1,   141,    -1,    -1,   144,   145,   146,   147,   148, 
     2270     149,   150,   151,    -1,   153,   154,   155,   156,   157,    -1, 
     2271      -1,   160,    -1,    -1,    -1,   907,    -1,    -1,   167,   168, 
     2272     169,    -1,    -1,    -1,    -1,    -1,    -1,   176,   177,     3, 
     2273      -1,     5,    -1,     7,     8,     9,    10,    11,   187,    13, 
     2274      14,    15,    16,    17,    18,    -1,    -1,    21,    22,    23, 
     2275      24,    25,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2276      -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1, 
     2277      44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,    -1, 
     2278      -1,    -1,    56,    57,    58,    59,    60,    61,    62,    -1, 
     2279      64,    65,    66,    -1,    -1,    69,    70,    71,    -1,    73, 
     2280      74,    75,    76,    77,     3,    79,     5,    -1,     7,     8, 
     2281       9,    10,    11,    -1,    13,    14,    15,    16,    17,    18, 
     2282      -1,    -1,    21,    22,    23,    24,    25,     3,    -1,     5, 
     2283      -1,     7,     8,     9,    10,    11,    -1,    13,    14,    15, 
     2284      16,    17,    18,    -1,    -1,    21,    22,    23,    24,    25, 
     2285   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2286      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   142,   143, 
     2287      -1,    -1,    -1,    -1,   148,    -1,    -1,    -1,    -1,    -1, 
     2288      -1,    -1,    -1,    -1,   158,   159,    -1,    -1,   162,   163, 
     2289     164,   165,    -1,    -1,    -1,   169,    -1,    -1,    -1,    -1, 
     2290      -1,    -1,   176,    -1,    -1,   179,    -1,    -1,    -1,    -1, 
     2291      -1,   185,   186,     3,    -1,     5,    -1,     7,     8,     9, 
     2292      10,    11,    -1,    13,    14,    15,    16,    17,    18,    -1, 
     2293      -1,    21,    22,    23,    24,    25,     3,    -1,     5,    -1, 
     2294       7,     8,     9,    10,    11,    -1,    13,    14,    15,    16, 
     2295      17,    18,    -1,    -1,    21,    22,    23,    24,    25,     4, 
     2296       5,    -1,     7,     8,     9,    10,    11,    -1,    13,    14, 
     2297      15,    16,    17,    18,    -1,    -1,    21,    22,    23,    24, 
     2298      25,    -1,    -1,    -1,    -1,    -1,   185,   186,    -1,    -1, 
     2299      -1,    -1,    -1,    -1,     4,     5,    -1,     7,     8,     9, 
     2300      10,    11,    -1,    13,    14,    15,    16,    17,    18,   185, 
     2301     186,    21,    22,    23,    24,    25,     4,     5,    -1,     7, 
     2302       8,     9,    10,    11,    -1,    13,    14,    15,    16,    17, 
     2303      18,    -1,    -1,    21,    22,    23,    24,    25,     4,     5, 
     2304      -1,     7,     8,     9,    10,    11,    -1,    13,    14,    15, 
     2305      16,    17,    18,    -1,    -1,    21,    22,    23,    24,    25, 
     2306       5,    -1,     7,     8,     9,    10,    11,    -1,    13,    14, 
     2307      15,    16,    17,    18,    -1,    -1,    21,    22,    23,    24, 
     2308      25,     5,    -1,     7,     8,     9,    10,    11,    -1,    13, 
     2309      14,    15,    16,    17,    18,   185,   186,    21,    22,    23, 
     2310      24,    25,    -1,    -1,     5,    -1,     7,     8,     9,    10, 
     2311      11,    -1,    13,    14,    15,    16,    17,    18,   185,   186, 
     2312      21,    22,    23,    24,    25,    -1,     5,    -1,     7,     8, 
     2313       9,    10,    11,    -1,    13,    14,    15,    16,    17,    18, 
     2314     185,   186,    21,    22,    23,    24,    25,     5,    -1,     7, 
     2315       8,     9,    10,    11,    -1,    13,    14,    15,    16,    17, 
     2316      18,    -1,    -1,    21,    22,    23,    24,    25,    -1,    -1, 
     2317      -1,    -1,    -1,    -1,    -1,   185,   186,    -1,    -1,    -1, 
     2318      -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,    11, 
     2319      -1,    13,    14,    15,    16,    17,    18,   185,   186,    21, 
     2320      22,    23,    24,    25,    -1,     5,    -1,     7,     8,     9, 
     2321      10,    11,    -1,    13,    14,    15,    16,    17,    18,   185, 
     2322     186,    21,    22,    23,    24,    25,    -1,    -1,    -1,    -1, 
     2323      -1,    -1,    -1,    -1,    -1,   180,    -1,    -1,    -1,    -1, 
     2324     185,   186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2325      -1,    -1,    -1,    -1,    -1,    -1,   180,    -1,    -1,    -1, 
     2326      -1,   185,   186,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2327      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180, 
     2328      -1,    -1,    -1,    -1,   185,   186,    -1,    -1,    -1,    -1, 
     2329   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2330      -1,   180,    -1,    -1,    -1,    -1,   185,   186,    -1,    -1, 
     2331   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2332      -1,    -1,   180,    -1,    -1,    -1,    -1,   185,   186,     5, 
     2333      -1,     7,     8,     9,    10,    11,    -1,    13,    14,    15, 
     2334      16,    17,    18,    -1,    -1,    21,    22,    23,    24,    25, 
     2335      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,    -1, 
     2336      -1,    -1,    -1,   185,   186,    -1,    -1,    -1,    -1,    -1, 
     2337   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2338     180,    -1,    -1,    -1,    -1,   185,   186,     5,    -1,     7, 
     2339       8,     9,    10,    11,    -1,    13,    14,    15,    16,    17, 
     2340      18,    -1,    -1,    21,    22,    23,    24,    25,     5,    -1, 
     2341       7,     8,     9,    10,    11,    -1,    13,    14,    15,    16, 
     2342      17,    18,    -1,    -1,    21,    22,    23,    24,    25,     5, 
     2343      -1,     7,     8,     9,    10,    11,    -1,    13,    14,    15, 
     2344      16,    17,    18,    -1,    -1,    21,    22,    23,    24,    25, 
     2345       5,    -1,     7,     8,     9,    10,    11,    -1,    13,    14, 
     2346      15,    16,    17,    18,    -1,    -1,    21,    22,    23,    24, 
     2347      25,     5,    -1,     7,     8,     9,    10,    11,    -1,    13, 
     2348      14,    15,    16,    17,    18,    -1,    -1,    21,    22,    23, 
     2349      24,    25,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2350      -1,    -1,    -1,    -1,   180,    -1,    -1,    -1,    -1,   185, 
     2351     186,     5,    -1,     7,     8,     9,    10,    11,    -1,    13, 
     2352      14,    15,    16,    17,    18,    -1,    -1,    21,    22,    23, 
     2353      24,    25,     5,    -1,     7,     8,     9,    10,    11,    -1, 
     2354      13,    14,    15,    16,    17,    18,    -1,    -1,    21,    22, 
     2355      23,    24,    25,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2356      -1,    -1,   180,    -1,    -1,    -1,    -1,   185,   186,    -1, 
     2357      -1,    -1,   169,    -1,     5,    -1,     7,     8,     9,    10, 
     2358      11,    -1,    13,    14,    15,    16,    17,    18,   185,   186, 
     2359      21,    22,    23,    24,    25,    -1,    -1,    -1,    -1,    -1, 
     2360      -1,    -1,    -1,    -1,   180,    -1,    -1,    -1,    -1,   185, 
     2361     186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2362      -1,    -1,    -1,    -1,    -1,   180,    -1,    -1,    -1,    -1, 
     2363     185,   186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2364      -1,    -1,    -1,    -1,    -1,    -1,   180,    -1,    -1,    -1, 
     2365      -1,   185,   186,     5,    -1,     7,     8,     9,    10,    11, 
     2366      -1,    13,    14,    15,    16,    17,    18,    -1,    -1,    21, 
     2367      22,    23,    24,    25,    -1,    -1,    -1,    -1,    -1,    -1, 
     2368      -1,    -1,    -1,    -1,    -1,    -1,   180,    -1,    -1,    -1, 
     2369      -1,   185,   186,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2370      -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,    -1,    -1, 
     2371      -1,    -1,   185,   186,     5,    -1,     7,     8,     9,    10, 
     2372      11,    -1,    13,    14,    15,    16,    17,    18,    -1,    -1, 
     2373      21,    22,    23,    24,    25,    -1,    -1,    -1,    -1,    -1, 
     2374      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180, 
     2375      -1,    -1,    -1,    -1,   185,   186,     5,    -1,     7,     8, 
     2376       9,    10,    11,    -1,    13,    14,    15,    16,    17,    18, 
     2377      -1,    -1,    21,    22,    23,    24,    25,     5,    -1,     7, 
     2378       8,     9,    10,    11,    -1,    13,    14,    15,    16,    17, 
     2379      18,    -1,    -1,    21,    22,    23,    24,    25,     5,    -1, 
     2380       7,     8,     9,    10,    11,    -1,    13,    14,    15,    16, 
     2381      17,    18,    -1,    -1,    21,    22,    23,    24,    25,    -1, 
     2382      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,    -1, 
     2383      -1,    -1,    -1,   185,   186,     5,    -1,     7,     8,     9, 
     2384      10,    11,    -1,    13,    14,    15,    16,    17,    18,    -1, 
     2385      -1,    21,    22,    23,    24,    25,     5,    -1,     7,     8, 
     2386       9,    10,    11,    -1,    13,    14,    15,    16,    17,    18, 
     2387      -1,    -1,    21,    22,    23,    24,    25,    -1,    -1,    -1, 
     2388      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180, 
     2389      -1,    -1,    -1,    -1,   185,   186,     5,    -1,     7,     8, 
     2390       9,    10,    11,    -1,    13,    14,    15,    16,    17,    18, 
     2391      -1,    -1,    21,    22,    23,    24,    25,    -1,    -1,    -1, 
     2392   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2393      -1,   180,    -1,    -1,    -1,    -1,   185,   186,    -1,    -1, 
     2394   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2395      -1,    -1,   180,    -1,    -1,    -1,    -1,   185,   186,    -1, 
     2396   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2397      -1,    -1,    -1,   180,    -1,    -1,    -1,    -1,   185,   186, 
     2398       5,    -1,     7,     8,     9,    10,    11,    -1,    13,    14, 
     2399      15,    16,    17,    18,    -1,    -1,    21,    22,    23,    24, 
     2400      25,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2401     180,    -1,    -1,    -1,    -1,   185,   186,    -1,    -1,    -1, 
     2402   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2403      -1,   180,    -1,    -1,    -1,    -1,   185,   186,     5,    -1, 
     2404       7,     8,     9,    10,    11,    -1,    13,    14,    15,    16, 
     2405      17,    18,    -1,    -1,    21,    22,    23,    24,    25,    -1, 
     2406   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2407      -1,   180,    -1,    -1,    -1,    -1,   185,   186,     5,    -1, 
     2408       7,     8,     9,    10,    11,    -1,    13,    14,    15,    16, 
     2409      17,    18,    -1,    -1,    21,    22,    23,    24,    25,     9, 
     2410      10,    11,    -1,    13,    14,    15,    16,    17,    18,    -1, 
     2411      -1,    21,    22,    23,    24,    25,    -1,    -1,    -1,    -1, 
     2412      -1,    -1,    11,     4,    13,    14,    15,    16,    17,    18, 
     2413      -1,    12,    21,    22,    23,    24,    25,    -1,    -1,    -1, 
     2414      21,    22,    23,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2415      -1,    -1,    -1,    -1,    -1,   180,    -1,    -1,    39,    40, 
     2416     185,   186,    -1,    44,    45,    46,    47,    -1,    -1,    -1, 
     2417      -1,    -1,    -1,    -1,    -1,    56,    57,    58,    59,    60, 
     2418      61,    62,    -1,    64,    65,    66,    -1,    -1,    69,    70, 
     2419      71,    -1,    73,    74,    75,    76,    77,    -1,    79,    13, 
     2420      14,    15,    16,    17,    18,    -1,    -1,    21,    22,    23, 
     2421      24,    25,    -1,   180,    -1,    -1,    -1,    -1,   185,   186, 
     2422      13,    14,    15,    16,    17,    18,    -1,    -1,    21,    22, 
     2423      23,    24,    25,    -1,    -1,    -1,    -1,    -1,    -1,    21, 
     2424      22,    23,    -1,    25,    -1,    -1,    -1,    -1,    -1,    -1, 
     2425     131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   185,   186, 
     2426      -1,   142,   143,    -1,    -1,    -1,    -1,   148,    50,    51, 
     2427      52,    -1,    -1,    55,    -1,   185,   186,   158,   159,    -1, 
     2428      12,   162,   163,   164,   165,    -1,    -1,    -1,   169,    21, 
     2429      22,    -1,    -1,    -1,    -1,   176,   185,   186,   179,    -1, 
     2430      -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1, 
     2431      -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,    -1, 
     2432      -1,    -1,    -1,    -1,    56,    57,    58,    59,    60,    61, 
     2433      62,    -1,    64,    65,    66,    -1,    -1,    69,    70,    71, 
     2434      -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    -1, 
     2435   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2436     142,   143,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2437      -1,   185,   186,    21,    22,    23,   158,   159,    -1,    -1, 
     2438     162,   163,   164,   165,    -1,    -1,    -1,   169,    -1,    -1, 
     2439      -1,    -1,   185,   186,   176,    -1,    -1,   179,    -1,   131, 
     2440      -1,    -1,    50,    51,    52,    -1,    -1,    55,    -1,    -1, 
     2441     142,   143,    -1,    -1,    -1,    -1,   148,     4,    -1,    -1, 
     2442      -1,    -1,    -1,    -1,    -1,    12,   158,   159,    -1,    -1, 
     2443     162,   163,   164,   165,    21,    22,    -1,   169,    -1,    -1, 
     2444      -1,    -1,    -1,    -1,   176,    -1,    -1,   179,    -1,    -1, 
     2445      -1,    -1,    39,    40,    -1,   187,    -1,    44,    45,    46, 
     2446      47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    56, 
     2447      57,    58,    59,    60,    61,    62,    -1,    64,    65,    66, 
     2448      -1,    -1,    69,    70,    71,    -1,    73,    74,    75,    76, 
     2449      77,    -1,    79,    -1,   142,   143,    -1,    -1,    -1,    -1, 
     2450      -1,    -1,    -1,    21,    22,    -1,    -1,    -1,    -1,    -1, 
     2451     158,   159,    -1,    -1,   162,   163,   164,   165,    -1,    -1, 
     2452      -1,   169,    -1,    -1,    -1,    -1,    -1,    -1,   176,    -1, 
     2453      -1,   179,    50,    51,    52,    -1,    -1,    55,    -1,    -1, 
     2454      -1,    -1,    -1,    -1,   131,     4,    -1,    -1,    -1,    -1, 
     2455      -1,    -1,    -1,    12,    -1,   142,   143,    -1,    -1,    -1, 
     2456      -1,   148,    21,    22,    -1,    -1,    -1,    -1,    -1,    -1, 
     2457      -1,   158,   159,    -1,    -1,   162,   163,   164,   165,    -1, 
     2458      39,    40,   169,    -1,    -1,    44,    45,    46,    47,   176, 
     2459      -1,    -1,   179,    -1,    -1,    -1,    -1,    56,    57,    58, 
     2460      59,    60,    61,    62,    -1,    64,    65,    66,    -1,    -1, 
     2461      69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1, 
     2462      79,    -1,    -1,    -1,   142,   143,    -1,    -1,    -1,    -1, 
     2463   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2464     158,   159,    -1,    -1,   162,   163,   164,   165,    -1,    -1, 
     2465      -1,   169,    -1,    -1,    -1,    -1,    -1,    -1,   176,    -1, 
     2466      -1,   179,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2467      -1,    -1,   131,    -1,     5,    -1,    -1,    -1,    -1,    -1, 
     2468      -1,    12,    -1,   142,   143,    -1,    -1,    -1,    -1,   148, 
     2469      21,    22,    23,    -1,    -1,    -1,    -1,    -1,    -1,   158, 
     2470     159,    -1,    -1,   162,   163,   164,   165,    -1,    39,    40, 
     2471     169,    -1,    -1,    44,    45,    46,    47,   176,    -1,    -1, 
     2472     179,    -1,    -1,    -1,    -1,    56,    57,    58,    59,    60, 
     2473      61,    62,    -1,    64,    65,    66,    -1,    -1,    69,    70, 
     2474      71,    -1,    73,    74,    75,    76,    77,    -1,    79,    40, 
     2475      -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1, 
     2476      -1,    -1,    -1,    -1,    -1,    56,    57,    58,    59,    60, 
     2477      61,    62,    -1,    64,    65,    66,    -1,    -1,    69,    70, 
     2478      71,    -1,    -1,    74,    75,    76,    77,    -1,    79,    -1, 
     2479   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2480     131,    -1,     5,    -1,    -1,    -1,    -1,    -1,    -1,    12, 
     2481      -1,   142,   143,    -1,    -1,    -1,    -1,   148,    21,    22, 
     2482      -1,    24,    -1,    -1,    -1,    -1,    -1,   158,   159,    -1, 
     2483      -1,   162,   163,   164,   165,    -1,    39,    40,   169,    -1, 
     2484      -1,    44,    45,    46,    47,   176,    -1,    -1,   179,    -1, 
     2485      -1,    -1,    -1,    56,    57,    58,    59,    60,    61,    62, 
     2486      -1,    64,    65,    66,    -1,    -1,    69,    70,    71,    -1, 
     2487      73,    74,    75,    76,    77,    -1,    79,    -1,   169,    -1, 
     2488   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2489   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2490   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2491   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2492      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1, 
     2493       5,    -1,    -1,    -1,    -1,    -1,    -1,    12,    -1,   142, 
     2494     143,    -1,    -1,    -1,    -1,   148,    21,    22,    23,    -1, 
     2495      -1,    -1,    -1,    -1,    -1,   158,   159,    -1,    -1,   162, 
     2496     163,   164,   165,    -1,    39,    40,   169,    -1,    -1,    44, 
     2497      45,    46,    47,   176,    -1,    -1,   179,    -1,    -1,    -1, 
     2498      -1,    56,    57,    58,    59,    60,    61,    62,    -1,    64, 
     2499      65,    66,    -1,    -1,    69,    70,    71,    -1,    73,    74, 
     2500      75,    76,    77,    -1,    79,    -1,    -1,    -1,    -1,    -1, 
     2501   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2502   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2503   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2504   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2505      -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,     5,    -1, 
     2506      -1,    -1,    -1,    -1,    -1,    12,    -1,   142,   143,    -1, 
     2507      -1,    -1,    -1,   148,    21,    22,    -1,    -1,    -1,    -1, 
     2508      -1,    -1,    -1,   158,   159,    -1,    -1,   162,   163,   164, 
     2509     165,    -1,    39,    40,   169,    -1,    -1,    44,    45,    46, 
     2510      47,   176,    -1,    -1,   179,    -1,    -1,    -1,    -1,    56, 
     2511      57,    58,    59,    60,    61,    62,    -1,    64,    65,    66, 
     2512      -1,    -1,    69,    70,    71,    -1,    73,    74,    75,    76, 
     2513      77,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2514   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2515   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2516   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2517   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2518      -1,    -1,    -1,    -1,   131,    -1,     5,    -1,    -1,    -1, 
     2519      -1,    -1,    -1,    12,    -1,   142,   143,    -1,    -1,    -1, 
     2520      -1,   148,    21,    22,    -1,    -1,    -1,    -1,    -1,    -1, 
     2521      -1,   158,   159,    -1,    -1,   162,   163,   164,   165,    -1, 
     2522      39,    40,   169,    -1,    -1,    44,    45,    46,    47,   176, 
     2523      -1,    -1,   179,    -1,    -1,    -1,    -1,    56,    57,    58, 
     2524      59,    60,    61,    62,    -1,    64,    65,    66,    -1,    -1, 
     2525      69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1, 
     2526      79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2527   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2528   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2529   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2530   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2531      -1,    -1,   131,    -1,     5,    -1,    -1,    -1,    -1,    -1, 
     2532      -1,    12,    -1,   142,   143,    -1,    -1,    -1,    -1,   148, 
     2533      21,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   158, 
     2534     159,    -1,    -1,   162,   163,   164,   165,    -1,    39,    40, 
     2535     169,    -1,    -1,    44,    45,    46,    47,   176,    -1,    -1, 
     2536     179,    -1,    -1,    -1,    -1,    56,    57,    58,    59,    60, 
     2537      61,    62,    -1,    64,    65,    66,    -1,    -1,    69,    70, 
     2538      71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1, 
     2539   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2540   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2541   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2542   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2543   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2544     131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    12, 
     2545      -1,   142,   143,    -1,    -1,    -1,    -1,   148,    21,    22, 
     2546      23,    -1,    25,    -1,    -1,    -1,    -1,   158,   159,    -1, 
     2547      -1,   162,   163,   164,   165,    -1,    39,    40,   169,    -1, 
     2548      -1,    44,    45,    46,    47,   176,    -1,    -1,   179,    -1, 
     2549      -1,    -1,    -1,    56,    57,    58,    59,    60,    61,    62, 
     2550      -1,    64,    65,    66,    -1,    -1,    69,    70,    71,    -1, 
     2551      73,    74,    75,    76,    77,    -1,    79,    -1,    -1,    -1, 
     2552   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2553   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2554   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2555   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2556      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1, 
     2557      -1,    -1,    -1,    -1,    -1,    -1,    -1,    12,    -1,   142, 
     2558     143,    -1,    -1,    -1,    -1,   148,    21,    22,    23,    -1, 
     2559      -1,    -1,    -1,    -1,    -1,   158,   159,    -1,    -1,   162, 
     2560     163,   164,   165,    -1,    39,    40,   169,    -1,    -1,    44, 
     2561      45,    46,    47,   176,    -1,    -1,   179,    -1,    -1,    -1, 
     2562      -1,    56,    57,    58,    59,    60,    61,    62,    -1,    64, 
     2563      65,    66,    -1,    -1,    69,    70,    71,    -1,    73,    74, 
     2564      75,    76,    77,    -1,    79,    -1,    -1,    -1,    -1,    -1, 
     2565   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2566   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2567   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2568   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2569      -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,    -1,    -1, 
     2570      -1,    -1,    -1,    -1,    -1,    12,    -1,   142,   143,    -1, 
     2571      -1,    -1,    -1,   148,    21,    22,    23,    -1,    -1,    -1, 
     2572      -1,    -1,    -1,   158,   159,    -1,    -1,   162,   163,   164, 
     2573     165,    -1,    39,    40,   169,    -1,    -1,    44,    45,    46, 
     2574      47,   176,    -1,    -1,   179,    -1,    -1,    -1,    -1,    56, 
     2575      57,    58,    59,    60,    61,    62,    -1,    64,    65,    66, 
     2576      -1,    -1,    69,    70,    71,    -1,    73,    74,    75,    76, 
     2577      77,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2578   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2579   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2580   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2581   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2582      -1,    -1,    -1,    -1,   131,    -1,    -1,    -1,    -1,    -1, 
     2583      -1,    -1,    -1,    12,    -1,   142,   143,    -1,    -1,    -1, 
     2584      -1,   148,    21,    22,    23,    -1,    -1,    -1,    -1,    -1, 
     2585      -1,   158,   159,    -1,    -1,   162,   163,   164,   165,    -1, 
     2586      39,    40,   169,    -1,    -1,    44,    45,    46,    47,   176, 
     2587      -1,    -1,   179,    -1,    -1,    -1,    -1,    56,    57,    58, 
     2588      59,    60,    61,    62,    -1,    64,    65,    66,    -1,    -1, 
     2589      69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1, 
     2590      79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2591   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2592   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2593   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2594   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2595      -1,    -1,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2596      -1,    12,    -1,   142,   143,    -1,    -1,    -1,    -1,   148, 
     2597      21,    22,    23,    -1,    -1,    -1,    -1,    -1,    -1,   158, 
     2598     159,    -1,    -1,   162,   163,   164,   165,    -1,    39,    40, 
     2599     169,    -1,    -1,    44,    45,    46,    47,   176,    -1,    -1, 
     2600     179,    -1,    -1,    -1,    -1,    56,    57,    58,    59,    60, 
     2601      61,    62,    -1,    64,    65,    66,    -1,    -1,    69,    70, 
     2602      71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1, 
     2603   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2604   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2605   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2606   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2607   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2608     131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    12, 
     2609      -1,   142,   143,    -1,    -1,    -1,    -1,   148,    21,    22, 
     2610      23,    -1,    -1,    -1,    -1,    -1,    -1,   158,   159,    -1, 
     2611      -1,   162,   163,   164,   165,    -1,    39,    40,   169,    -1, 
     2612      -1,    44,    45,    46,    47,   176,    -1,    -1,   179,    -1, 
     2613      -1,    -1,    -1,    56,    57,    58,    59,    60,    61,    62, 
     2614      -1,    64,    65,    66,    -1,    -1,    69,    70,    71,    -1, 
     2615      73,    74,    75,    76,    77,    -1,    79,    -1,    -1,    -1, 
     2616   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2617   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2618   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2619   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2620      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1, 
     2621      -1,    -1,    -1,    -1,    -1,    -1,    -1,    12,    -1,   142, 
     2622     143,    -1,    -1,    -1,    -1,   148,    21,    22,    23,    -1, 
     2623      -1,    -1,    -1,    -1,    -1,   158,   159,    -1,    -1,   162, 
     2624     163,   164,   165,    -1,    39,    40,   169,    -1,    -1,    44, 
     2625      45,    46,    47,   176,    -1,    -1,   179,    -1,    -1,    -1, 
     2626      -1,    56,    57,    58,    59,    60,    61,    62,    -1,    64, 
     2627      65,    66,    -1,    -1,    69,    70,    71,    -1,    73,    74, 
     2628      75,    76,    77,    -1,    79,    -1,    -1,    -1,    -1,    -1, 
     2629   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2630   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2631   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2632   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2633      -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,    -1,    -1, 
     2634      -1,    -1,    -1,    -1,    -1,    12,    -1,   142,   143,    -1, 
     2635      -1,    -1,    -1,   148,    21,    22,    -1,    -1,    -1,    -1, 
     2636      -1,    -1,    -1,   158,   159,    -1,    -1,   162,   163,   164, 
     2637     165,    -1,    39,    40,   169,    -1,    -1,    44,    45,    46, 
     2638      47,   176,    -1,    -1,   179,    -1,    -1,    -1,    -1,    56, 
     2639      57,    58,    59,    60,    61,    62,    -1,    64,    65,    66, 
     2640      -1,    -1,    69,    70,    71,    -1,    73,    74,    75,    76, 
     2641      77,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2642   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2643   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2644   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2645   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2646      -1,    -1,    -1,    -1,   131,    -1,    -1,    -1,    -1,    -1, 
     2647      -1,    -1,    -1,    12,    -1,   142,   143,    -1,    -1,    -1, 
     2648      -1,   148,    21,    22,    -1,    -1,    -1,    -1,    -1,    -1, 
     2649      -1,   158,   159,    -1,    -1,   162,   163,   164,   165,    -1, 
     2650      39,    40,   169,    -1,    -1,    44,    45,    46,    47,   176, 
     2651      -1,    -1,   179,    -1,    -1,    -1,    -1,    56,    57,    58, 
     2652      59,    60,    61,    62,    -1,    64,    65,    66,    -1,    -1, 
     2653      69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1, 
     2654      79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2655   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2656   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2657   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2658   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2659      -1,    -1,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2660      -1,    12,    -1,   142,   143,    -1,    -1,    -1,    -1,   148, 
     2661      21,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   158, 
     2662     159,    -1,    -1,   162,   163,   164,   165,    -1,    39,    40, 
     2663     169,    -1,    -1,    44,    45,    46,    47,   176,    -1,    -1, 
     2664     179,    -1,    -1,    -1,    -1,    56,    57,    58,    59,    60, 
     2665      61,    62,    -1,    64,    65,    66,    -1,    -1,    69,    70, 
     2666      71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1, 
     2667   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2668   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2669   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2670   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2671   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2672     131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    12, 
     2673      -1,   142,   143,    -1,    -1,    -1,    -1,   148,    21,    22, 
     2674      -1,    -1,    -1,    -1,    -1,    -1,    -1,   158,   159,    -1, 
     2675      -1,   162,   163,   164,   165,    -1,    39,    40,   169,    -1, 
     2676      -1,    44,    45,    46,    47,   176,    -1,    -1,   179,    -1, 
     2677      -1,    -1,    -1,    56,    57,    58,    59,    60,    61,    62, 
     2678      -1,    64,    65,    66,    -1,    -1,    69,    70,    71,    -1, 
     2679      73,    74,    75,    76,    77,    -1,    79,    -1,    -1,    -1, 
     2680   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2681   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2682   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2683   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2684      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1, 
     2685      -1,    -1,    -1,    -1,    -1,    -1,    -1,    12,    -1,   142, 
     2686     143,    -1,    -1,    -1,    -1,   148,    21,    22,    -1,    -1, 
     2687      -1,    -1,    -1,    -1,    -1,   158,   159,    -1,    -1,   162, 
     2688     163,   164,   165,    -1,    39,    40,   169,    -1,    -1,    44, 
     2689      45,    46,    47,   176,    -1,    -1,   179,    -1,    -1,    -1, 
     2690      -1,    56,    57,    58,    59,    60,    61,    62,    -1,    64, 
     2691      65,    66,    -1,    -1,    69,    70,    71,    -1,    73,    74, 
     2692      75,    76,    77,    -1,    79,    -1,    -1,    -1,    -1,    -1, 
     2693   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2694   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2695   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2696   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2697      -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,    -1,    -1, 
     2698      -1,    -1,    -1,    -1,    -1,    12,    -1,   142,   143,    -1, 
     2699      -1,    -1,    -1,   148,    21,    22,    -1,    -1,    -1,    -1, 
     2700      -1,    -1,    -1,   158,   159,    -1,    -1,   162,   163,   164, 
     2701     165,    -1,    39,    40,   169,    -1,    -1,    44,    45,    46, 
     2702      47,   176,    -1,    -1,   179,    -1,    -1,    -1,    -1,    56, 
     2703      57,    58,    59,    60,    61,    62,    -1,    64,    65,    66, 
     2704      -1,    -1,    69,    70,    71,    -1,    73,    74,    75,    76, 
     2705      77,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2706   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2707   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2708   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2709   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2710      -1,    -1,    -1,    -1,   131,    29,    -1,    -1,    32,    33, 
     2711      34,    35,    -1,    -1,    38,   142,   143,    41,    42,    43, 
     2712      -1,   148,    -1,    -1,    48,    49,    -1,    -1,    -1,    -1, 
     2713      -1,   158,   159,    -1,    -1,   162,   163,   164,   165,    63, 
     2714      -1,    -1,   169,    67,    68,    -1,    -1,    -1,    72,   176, 
     2715      -1,    -1,   179,    -1,    78,    -1,    80,    81,    -1,    83, 
     2716      -1,    85,    86,    87,    88,    89,    -1,    91,    92,    93, 
     2717      94,    95,    96,    97,    98,    99,   100,   101,   102,   103, 
     2718     104,   105,   106,    -1,    -1,   109,   110,   111,    -1,   113, 
     2719     114,   115,    -1,   117,   118,   119,    -1,    -1,   122,    -1, 
     2720     124,    -1,    -1,   127,   128,   129,   130,    -1,    -1,   133, 
     2721     134,   135,    -1,    -1,    -1,    -1,    -1,   141,    -1,    -1, 
     2722      -1,   145,   146,   147,   148,   149,   150,   151,    -1,   153, 
     2723     154,   155,   156,   157,    -1,    -1,   160,    -1,    -1,    -1, 
     2724      -1,    39,    40,   167,   168,   169,    44,    45,    46,    47, 
     2725      -1,    -1,   176,    -1,    -1,    -1,    -1,    -1,    56,    57, 
     2726      58,    59,    60,    61,    62,    -1,    64,    65,    66,    -1, 
     2727      -1,    69,    70,    71,    -1,    73,    74,    75,    76,    77, 
     2728      -1,    79,    39,    40,    -1,    -1,    -1,    44,    45,    46, 
     2729      47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    56, 
     2730      57,    58,    59,    60,    61,    62,    -1,    64,    65,    66, 
     2731      -1,    -1,    69,    70,    71,    -1,    73,    74,    75,    76, 
     2732      77,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2733   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2734      -1,    -1,    -1,    -1,   142,   143,    -1,    -1,    -1,    -1, 
     2735     148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2736     158,   159,    -1,    -1,   162,   163,   164,   165,    -1,    -1, 
     2737      38,   169,    -1,    -1,    -1,    -1,    -1,    -1,   176,    -1, 
     2738      -1,   179,    -1,    -1,    -1,   142,   143,    -1,    -1,    -1, 
     2739      -1,   148,    -1,    -1,    -1,    63,    -1,    -1,    -1,    -1, 
     2740      -1,   158,   159,    -1,    -1,   162,   163,   164,   165,    -1, 
     2741      78,    -1,   169,    -1,    -1,    83,    84,    -1,    -1,   176, 
     2742      88,    89,   179,    -1,    -1,    -1,    -1,    -1,    -1,    -1, 
     2743      98,    99,   100,   101,   102,   103,   104,   105,    -1,    -1, 
     2744   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2745     118,    -1,    -1,    -1,    -1,    -1,   124,    -1,    -1,    -1, 
     2746      -1,    -1,    -1,    -1,    -1,   133,    -1,   135,    -1,    -1, 
     2747   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2748   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2749   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
     2750      -1,   169,    -1,    -1,    -1,    -1,    -1,    -1,   176 
    34772751}; 
    3478 short fortrancheck[] = {                                      24, 
    3479   231,   26,  140,  309,  194,   30,   33,  177,   33,  236, 
    3480   231,  347,  290,  331,   39,  236,   19,   11,  296,  140, 
    3481    44,  303,  394,  341,  177,   40,   40,   40,   44,   40, 
    3482    40,  349,   44,  529,   10,  188,   10,   10,   10,  295, 
    3483    42,  177,   58,   40,   68,   69,  302,   44,   41,   42, 
    3484    41,   42,   76,  279,   44,  382,  449,   40,  581,   44, 
    3485    37,   58,  585,  731,   41,   59,  106,   44,   58,   93, 
    3486    94,   95,   42,   43,   44,   45,  765,   37,   44,   42, 
    3487   111,  234,   58,   44,   61,  735,  143,   44,   37,  120, 
    3488   121,   40,   58,  231,  373,   10,   32,   58,  236,   37, 
    3489    10,   61,  504,   41,  417,  130,   44,   60,  135,   62, 
    3490   135,  424,   61,  800,  801,  517,   10,  425,  217,  271, 
    3491   272,   57,   58,  148,  149,   42,   43,  417,   45,   44, 
    3492    10,   42,  157,  371,  128,   43,   44,   45,  417,  238, 
    3493    41,   42,   43,   60,   45,   62,  171,  385,   58,   60, 
    3494    40,   62,  177,  271,  272,   41,  104,   40,   44,  107, 
    3495   271,  272,   44,  188,   58,   41,  417,  192,   44,  578, 
    3496    44,  427,   58,   40,  344,   42,   58,  586,  203,  847, 
    3497   350,  579,   58,  581,   58,  210,   40,  585,   43,   44, 
    3498    45,  417,   40,  331,  219,  524,  885,  350,  885,  224, 
    3499   529,   37,   40,  341,   41,   41,  344,   44,   44,  234, 
    3500   331,  349,  382,  207,  350,  386,  387,  388,  868,  244, 
    3501   341,   58,    0,  344,  281,   42,  328,  329,  349,  382, 
    3502    47,  487,   10,  569,  490,  541,  276,  231,  417,  545, 
    3503   234,  577,  236,  237,  912,  270,  382,   40,  242,  567, 
    3504    42,   43,   41,   45,   40,   44,  512,  593,   58,  272, 
    3505   272,  264,  293,  401,   40,  417,   42,  283,   40,   58, 
    3506   588,  589,  590,  591,  592,   43,   41,   45,  534,   44, 
    3507   283,  275,  307,   40,  309,  375,  283,  272,  319,  271, 
    3508   272,   42,   43,  283,   45,   40,   41,  322,  323,  417, 
    3509   271,  272,  272,  328,  298,  632,  417,  634,  635,  272, 
    3510   273,  336,  337,  338,  339,  272,  417,  283,  549,  255, 
    3511   273,   41,  283,  550,   44,  350,  320,   44,  549,  550, 
    3512   324,   42,  280,  271,  272,  360,  156,   58,  158,  364, 
    3513   365,  366,  367,  368,  369,  370,  371,  372,  373,  374, 
    3514   375,  744,  745,  275,  507,  272,  273,  382,  140,  141, 
    3515   856,  272,  273,  886,  272,  763,  764,  863,  766,  394, 
    3516   271,  272,  273,   41,   42,   43,  256,   45,  403,  404, 
    3517   405,  406,  407,  408,  409,  410,  411,  412,  413,  414, 
    3518   415,  416,  417,  418,  419,  420,  421,  374,  423,  424, 
    3519   406,  417,  417,  119,  284,  285,  122,  417,  578,  424, 
    3520   424,  549,  550,  424,  374,  417,  586,  272,  281,  755, 
    3521   417,  301,  302,  406,  417,  374,  417,  417,  734,  567, 
    3522    44,   44,  768,  769,  770,  771,  772,  719,  756,  811, 
    3523   578,  417,  720,  417,  417,  417,  567,   44,  586,  705, 
    3524   588,  589,  590,  591,  592,  682,  417,  578,  417,  417, 
    3525   687,  682,  486,   44,   40,  586,  687,  588,  589,  590, 
    3526   591,  592,  799,  800,  801,  417,   40,  424,  256,  271, 
    3527   272,  273,  507,   40,  637,   40,  511,   40,  886,   40, 
    3528   521,  747,  523,  518,   40,   40,  632,  275,  634,  635, 
    3529   525,   41,  533,  281,   44,   40,  284,  285,   42,   43, 
    3530    44,   45,  392,   47,  539,   41,  541,   40,   44,   40, 
    3531   545,  272,  273,  301,  302,   40,   40,  856,  857,  858, 
    3532   859,  860,   42,   43,  863,   45,   40,   47,  358,  359, 
    3533   938,  566,   40,   40,  682,  425,   37,  883,   40,  687, 
    3534    41,  576,   40,   44,   40,  549,  550,  377,  378,  379, 
    3535   380,  381,   37,   40,  870,  417,   41,   40,  824,   44, 
    3536   390,   40,   40,  289,  601,  291,  601,  602,   40,   42, 
    3537    43,   40,   45,  299,   41,   42,   43,   40,   45,   37, 
    3538   846,   42,   43,   44,   45,  765,   47,   60,   61,   62, 
    3539   753,  722,   40,  271,  272,  273,  417,  632,   41,  634, 
    3540   635,   44,  637,   44,  392,   58,  641,   41,  756,  644, 
    3541    44,  877,  857,  858,  859,  860,   37,  765,  818,   40, 
    3542    41,   42,   43,   44,   45,  756,  661,  662,  417,   41, 
    3543   417,  666,   44,  668,  765,   41,  799,  425,   44,   60, 
    3544   881,   62,   44,   44,   41,  680,  681,   44,   41,   41, 
    3545    58,   44,   44,  799,  800,  801,   41,   37,  693,   44, 
    3546   695,  417,   42,   43,   41,   45,   41,   44,   41,   44, 
    3547   674,   44,   41,  708,   41,   44,   41,   44,  682,   44, 
    3548    60,   61,   62,  687,   44,  689,   41,    0,   41,   44, 
    3549    41,   44,   41,   44,   40,   44,  424,   10,   61,  734, 
    3550   390,  391,  417,   41,   41,  885,   44,   44,   44,   41, 
    3551    41,  746,   44,   44,  417,  750,  406,  407,  753,  417, 
    3552   410,  411,  412,  413,  417,   44,  730,   40,  272,   42, 
    3553    43,   44,   45,   41,  424,  390,  391,  885,   41,   41, 
    3554    41,   44,   44,   44,   44,  908,   40,   60,   61,   62, 
    3555    41,  406,  407,   44,  885,  410,  411,  412,  413,   41, 
    3556    41,   40,   44,   44,  799,  800,  801,   41,   41,  424, 
    3557    44,   44,   41,  424,   41,   44,  811,   44,  813,   41, 
    3558    41,   41,   44,   44,   44,  258,  259,  260,  261,  262, 
    3559    61,  264,  265,  266,  267,  268,  269,   44,   41,  272, 
    3560   273,   44,  278,  838,  271,  272,  273,   41,   41,   41, 
    3561    44,   44,   44,   41,   44,  850,   44,  852,   41,   44, 
    3562   380,   44,   44,   44,   44,   40,   44,   37,   41,   41, 
    3563    44,   40,  272,   44,  417,  870,   40,  258,  259,  260, 
    3564   261,  262,  417,  264,  265,  266,  267,  268,  269,   41, 
    3565    44,  272,  273,  417,   41,  417,   61,   41,  424,   44, 
    3566   273,   44,   40,  898,   44,  900,  901,   44,   44,   58, 
    3567    41,   41,  332,  908,  417,   41,   41,  881,  258,  259, 
    3568   260,  261,  262,   42,  264,  265,  266,  267,  268,  269, 
    3569    58,  417,  272,  273,   41,   37,  272,    0,  933,   40, 
    3570    42,   43,  906,   45,  272,  940,  272,   10,   41,   58, 
    3571   374,  946,  417,   44,  949,   41,   44,   61,   60,   61, 
    3572    62,   41,  417,  417,   41,   41,   41,  962,   41,   61, 
    3573    41,  966,   41,   41,  969,  970,  374,   44,  272,   41, 
    3574   975,   44,   47,  256,  417,  258,  259,  260,  261,  262, 
    3575    44,  264,  265,  266,  267,  268,  269,   41,  271,  272, 
    3576   273,   61,  275,  417,  277,  417,  417,  280,  281,  282, 
    3577   283,  284,  285,  286,  287,  288,  289,  290,  291,  292, 
    3578   293,  294,  295,  296,  297,  417,  417,   44,  301,  302, 
    3579    41,  304,  305,  306,  307,  308,  309,  310,  311,  312, 
    3580   313,  314,  315,  316,  317,  318,  319,  320,  321,  322, 
    3581   323,  324,  325,  326,  327,  328,  329,   41,  331,   58, 
    3582   333,  334,  335,  336,  337,   41,  339,  340,  341,  342, 
    3583   343,  344,  345,  346,  347,  348,  349,  350,  351,  352, 
    3584   353,  354,   41,   41,  357,  358,  359,   44,  361,  362, 
    3585   363,   41,  365,  366,  367,   41,  272,  370,   41,  372, 
    3586    41,   41,  375,  376,  377,  378,   41,  775,  381,  382, 
    3587   383,  850,  957,  873,  520,  271,  389,  390,  391,  392, 
    3588   393,  394,  395,  396,  397,  398,  399,  285,  401,  402, 
    3589   403,  404,  405,  406,  407,  408,    0,  410,  411,  412, 
    3590   413,  773,  415,  416,  417,  350,   10,  382,  681,  402, 
    3591   900,  424,  425,  753,  852,    9,  258,  259,  260,  261, 
    3592   262,   13,  264,  265,  266,  267,  268,  269,   74,  275, 
    3593   272,  273,  691,   37,  429,  952,  539,   41,   42,   43, 
    3594    44,   45,  695,   47,  528,  502,  537,  701,  557,  128, 
    3595   549,  750,  550,  256,   58,  559,   60,   61,   62,  756, 
    3596    -1,   -1,  140,   -1,   -1,   -1,   -1,   -1,  271,  272, 
    3597    -1,   -1,  275,   -1,  277,   -1,   -1,  280,  281,  282, 
    3598   283,  284,  285,  286,   -1,   -1,  289,  290,  291,   -1, 
    3599    -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302, 
    3600    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1, 
    3601    -1,   -1,  315,  316,   -1,   -1,   -1,  320,   -1,   -1, 
    3602    -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1, 
    3603   333,  334,  335,  336,  337,   -1,  339,  340,  341,  342, 
    3604   343,  344,  345,  346,  347,  348,  349,  350,  351,  352, 
    3605   353,  354,   -1,   -1,  357,  358,  359,   -1,  361,  362, 
    3606   363,   -1,  365,  366,  367,   -1,    0,  370,   -1,  372, 
    3607    -1,   -1,  375,  376,  377,  378,   10,   -1,  381,  382, 
    3608   383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392, 
    3609   393,  394,  395,  396,  397,  398,  399,   -1,  401,  402, 
    3610   403,  404,  405,   37,   -1,  408,   -1,   41,   42,   43, 
    3611    44,   45,  415,  416,  417,   -1,   -1,   -1,   -1,   -1, 
    3612    -1,  424,  425,   -1,   58,   -1,   60,   61,   62,   -1, 
    3613    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3614    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3615    -1,   -1,  256,   -1,  258,  259,  260,  261,  262,   -1, 
    3616   264,  265,  266,  267,  268,  269,   -1,  271,  272,  273, 
    3617    -1,  275,   -1,  277,   -1,   -1,  280,  281,  282,  283, 
    3618   284,  285,  286,   -1,   -1,  289,  290,  291,   -1,   -1, 
    3619    -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1, 
    3620    -1,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1, 
    3621    -1,  315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1, 
    3622    -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1,  333, 
    3623   334,  335,  336,  337,   -1,  339,  340,  341,  342,  343, 
    3624   344,  345,  346,  347,  348,  349,  350,  351,  352,  353, 
    3625   354,   -1,   40,  357,  358,  359,   -1,  361,  362,  363, 
    3626    -1,  365,  366,  367,   -1,   -1,  370,   -1,  372,   -1, 
    3627    -1,  375,  376,  377,  378,   10,  380,  381,  382,  383, 
    3628    -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393, 
    3629   394,  395,  396,  397,  398,  399,   -1,  401,  402,  403, 
    3630   404,  405,   -1,   -1,  408,   40,   -1,   -1,   43,   -1, 
    3631    45,  415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1, 
    3632   424,  425,  256,   -1,  258,  259,  260,  261,  262,   -1, 
    3633   264,  265,  266,  267,  268,  269,   -1,  271,  272,  273, 
    3634    -1,  275,   -1,  277,   -1,   -1,  280,  281,  282,  283, 
    3635   284,  285,  286,   -1,   -1,  289,  290,  291,   -1,   -1, 
    3636    -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1, 
    3637    -1,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1, 
    3638    -1,  315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1, 
    3639    -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1,  333, 
    3640   334,  335,  336,  337,   -1,  339,  340,  341,  342,  343, 
    3641   344,  345,  346,  347,  348,  349,  350,  351,  352,  353, 
    3642   354,   -1,   -1,  357,  358,  359,   -1,  361,  362,  363, 
    3643    -1,  365,  366,  367,   -1,    0,  370,   -1,  372,   -1, 
    3644    -1,  375,  376,  377,  378,   10,  380,  381,  382,  383, 
    3645    -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393, 
    3646   394,  395,  396,  397,  398,  399,   -1,  401,  402,  403, 
    3647   404,  405,   37,   -1,  408,   -1,   41,   42,   43,   44, 
    3648    45,  415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1, 
    3649   424,  425,   -1,   58,   -1,   60,   61,   62,   -1,  287, 
    3650   288,   -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1, 
    3651    -1,   -1,   -1,   -1,   -1,   -1,  304,  305,  306,  307, 
    3652   308,  309,  310,   -1,  312,  313,  314,   -1,  263,  317, 
    3653   318,  319,   -1,  321,  322,  323,  324,  325,   -1,  327, 
    3654    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3655    -1,   -1,  287,  288,   -1,   -1,   -1,  292,  293,  294, 
    3656   295,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  304, 
    3657   305,  306,  307,  308,  309,  310,   -1,  312,  313,  314, 
    3658    -1,   -1,  317,  318,  319,   -1,  321,  322,  323,  324, 
    3659   325,   -1,  327,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3660    -1,   -1,  390,  391,   -1,    0,   -1,   -1,  396,   -1, 
    3661    -1,   -1,   -1,   -1,   -1,   10,   -1,   -1,  406,  407, 
    3662    -1,   -1,  410,  411,  412,  413,   -1,   -1,   -1,  417, 
    3663    -1,   -1,   -1,   -1,   -1,   -1,  424,   -1,   -1,   -1, 
    3664    -1,   -1,   37,   -1,  379,   -1,   41,   42,   43,   44, 
    3665    45,   -1,   -1,   -1,   -1,  390,  391,   -1,   -1,   -1, 
    3666    -1,  396,   -1,   58,   -1,   60,   61,   62,   -1,   -1, 
    3667    -1,  406,  407,   -1,   -1,  410,  411,  412,  413,   -1, 
    3668    -1,   -1,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424, 
    3669    -1,  256,   -1,  258,  259,  260,  261,  262,   -1,  264, 
    3670   265,  266,  267,  268,  269,   -1,  271,  272,  273,   -1, 
    3671   275,   -1,  277,   -1,   -1,  280,  281,  282,  283,  284, 
    3672   285,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1, 
    3673    -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1,   -1, 
    3674    -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   -1, 
    3675   315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1, 
    3676    -1,  326,   -1,  328,  329,   -1,  331,   -1,  333,  334, 
    3677   335,  336,  337,   -1,  339,  340,  341,  342,  343,  344, 
    3678   345,  346,  347,  348,  349,  350,  351,  352,  353,  354, 
    3679    -1,   -1,  357,  358,  359,   -1,  361,  362,  363,   -1, 
    3680   365,  366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1, 
    3681   375,  376,  377,  378,   -1,  380,  381,  382,  383,   -1, 
    3682    -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394, 
    3683   395,  396,  397,  398,  399,   -1,  401,  402,  403,  404, 
    3684   405,   40,   -1,  408,   43,   -1,   45,   -1,   -1,   -1, 
    3685   415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424, 
    3686   425,  256,   61,  258,  259,  260,  261,  262,   -1,  264, 
    3687   265,  266,  267,  268,  269,   -1,  271,  272,  273,   -1, 
    3688   275,   -1,  277,   -1,   -1,  280,  281,  282,  283,  284, 
    3689   285,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1, 
    3690    -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1,   -1, 
    3691    -1,   -1,   42,   43,   -1,   45,  311,   -1,   -1,   -1, 
    3692   315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1, 
    3693    60,  326,   62,  328,  329,   -1,  331,   -1,  333,  334, 
    3694   335,  336,  337,   -1,  339,  340,  341,  342,  343,  344, 
    3695   345,  346,  347,  348,  349,  350,  351,  352,  353,  354, 
    3696    -1,   -1,  357,  358,  359,   -1,  361,  362,  363,   -1, 
    3697   365,  366,  367,   -1,    0,  370,   -1,  372,   -1,   -1, 
    3698   375,  376,  377,  378,   10,  380,  381,  382,  383,   -1, 
    3699    -1,   -1,   -1,   -1,  389,   -1,  277,  392,  393,  394, 
    3700   395,  396,  397,  398,  399,   -1,  401,  402,  403,  404, 
    3701   405,   -1,   -1,  408,   40,   41,   42,   43,   44,   45, 
    3702   415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424, 
    3703   425,   -1,   58,   -1,   60,   61,   62,   -1,   -1,   -1, 
    3704    -1,   -1,   -1,   -1,   -1,   -1,   -1,  328,  329,  330, 
    3705    -1,   -1,   -1,   -1,   -1,   -1,   -1,   42,   43,   -1, 
    3706    45,   -1,   -1,   -1,  263,   -1,   -1,   -1,   -1,   -1, 
    3707    -1,   -1,   -1,  272,   -1,   60,  357,   62,  359,  360, 
    3708   361,   -1,   -1,  364,  365,   -1,  367,  368,  287,  288, 
    3709    -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1, 
    3710    -1,   -1,   -1,   -1,   -1,  304,  305,  306,  307,  308, 
    3711   309,  310,   -1,  312,  313,  314,   -1,   -1,  317,  318, 
    3712   319,   -1,  321,  322,  323,  324,  325,   -1,  327,   -1, 
    3713   260,  261,  262,   -1,  264,  265,  266,  267,  268,  269, 
    3714    -1,   -1,  272,  273,    0,   -1,   -1,   -1,   -1,   -1, 
    3715    -1,   -1,   -1,   -1,   10,   -1,   -1,   -1,   -1,   -1, 
    3716    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3717    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3718   379,   37,   -1,   -1,   -1,   41,   42,   43,   44,   45, 
    3719    -1,  390,  391,   -1,   -1,   -1,   -1,  396,   -1,   -1, 
    3720    -1,   -1,   58,   -1,   60,   61,   62,  406,  407,   -1, 
    3721    -1,  410,  411,  412,  413,   -1,   -1,   -1,  417,   -1, 
    3722    -1,   -1,   -1,   -1,   -1,  424,   -1,   -1,   -1,   -1, 
    3723   256,   -1,  258,  259,  260,  261,  262,   -1,  264,  265, 
    3724   266,  267,  268,  269,   -1,  271,  272,  273,   -1,  275, 
    3725    -1,  277,   -1,   -1,  280,  281,  282,  283,  284,  285, 
    3726   286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1, 
    3727   296,  297,   -1,   -1,   -1,  301,  302,  262,   -1,  264, 
    3728   265,  266,  267,  268,  269,  311,   -1,  272,  273,  315, 
    3729   316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1, 
    3730   326,   -1,  328,  329,   -1,  331,   -1,  333,  334,  335, 
    3731   336,  337,   -1,  339,  340,  341,  342,  343,  344,  345, 
    3732   346,  347,  348,  349,  350,  351,  352,  353,  354,   -1, 
    3733    40,  357,  358,  359,   -1,  361,  362,  363,   -1,  365, 
    3734   366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1,  375, 
    3735   376,  377,  378,   -1,  380,  381,  382,  383,   -1,   -1, 
    3736    -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394,  395, 
    3737   396,  397,  398,  399,   -1,  401,  402,  403,  404,  405, 
    3738    -1,   -1,  408,   40,   -1,   42,   43,   -1,   45,  415, 
    3739   416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425, 
    3740   256,   58,  258,  259,  260,  261,  262,   -1,  264,  265, 
    3741   266,  267,  268,  269,   -1,  271,  272,  273,   -1,  275, 
    3742    -1,  277,   -1,   -1,  280,  281,  282,  283,  284,  285, 
    3743   286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1, 
    3744   296,  297,   -1,   -1,   -1,  301,  302,   -1,   -1,   -1, 
    3745    -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   -1,  315, 
    3746   316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1, 
    3747   326,   -1,  328,  329,   -1,  331,   -1,  333,  334,  335, 
    3748   336,  337,   -1,  339,  340,  341,  342,  343,  344,  345, 
    3749   346,  347,  348,  349,  350,  351,  352,  353,  354,   -1, 
    3750    -1,  357,  358,  359,   -1,  361,  362,  363,   -1,  365, 
    3751   366,  367,   -1,    0,  370,   -1,  372,   -1,   -1,  375, 
    3752   376,  377,  378,   10,  380,  381,  382,  383,   -1,   -1, 
    3753    -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394,  395, 
    3754   396,  397,  398,  399,   -1,  401,  402,  403,  404,  405, 
    3755    37,   -1,  408,   -1,   41,   42,   43,   44,   45,  415, 
    3756   416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425, 
    3757    -1,   58,   -1,   60,   61,   62,   -1,  287,  288,   -1, 
    3758    -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,   -1, 
    3759    -1,   -1,   -1,   -1,  304,  305,  306,  307,  308,  309, 
    3760   310,   -1,  312,  313,  314,   -1,  263,  317,  318,  319, 
    3761    -1,  321,  322,  323,  324,  325,   -1,  327,   -1,   -1, 
    3762    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3763   287,  288,   -1,   -1,   -1,  292,  293,  294,  295,   -1, 
    3764    -1,   -1,   -1,   -1,   -1,   -1,   -1,  304,  305,  306, 
    3765   307,  308,  309,  310,   -1,  312,  313,  314,   -1,   -1, 
    3766   317,  318,  319,   -1,  321,  322,  323,  324,  325,   -1, 
    3767   327,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3768   390,  391,   -1,    0,   -1,   -1,  396,   -1,   -1,   -1, 
    3769    -1,   -1,   -1,   10,   -1,   -1,  406,  407,   -1,   -1, 
    3770   410,  411,  412,  413,   -1,   -1,   -1,  417,   -1,   -1, 
    3771    -1,   -1,   -1,   -1,  424,   -1,   -1,   -1,   -1,   -1, 
    3772    -1,   -1,  379,   -1,   41,   42,   43,   44,   45,   -1, 
    3773    -1,   -1,   -1,  390,  391,   -1,   -1,   -1,   -1,  396, 
    3774    -1,   58,   -1,   60,   61,   62,   -1,   -1,   -1,  406, 
    3775   407,   -1,   -1,  410,  411,  412,  413,   -1,   -1,   -1, 
    3776   417,   -1,   -1,   -1,   -1,   -1,   -1,  424,   -1,  256, 
    3777    -1,  258,  259,  260,  261,  262,   -1,  264,  265,  266, 
    3778   267,  268,  269,   -1,  271,  272,  273,   -1,  275,   -1, 
    3779   277,   -1,   -1,  280,  281,  282,  283,  284,  285,  286, 
    3780    -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296, 
    3781   297,   -1,   -1,   -1,  301,  302,   -1,   -1,   -1,   -1, 
    3782    -1,   -1,   -1,   -1,  311,   -1,   -1,   -1,  315,  316, 
    3783    -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326, 
    3784    -1,  328,  329,   -1,  331,   -1,  333,  334,  335,  336, 
    3785   337,   -1,  339,  340,  341,  342,  343,  344,  345,  346, 
    3786   347,  348,  349,  350,  351,  352,  353,  354,   -1,   -1, 
    3787   357,  358,  359,   -1,  361,  362,  363,   -1,  365,  366, 
    3788   367,   -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376, 
    3789   377,  378,   -1,  380,  381,  382,  383,   -1,   -1,   -1, 
    3790    -1,   -1,  389,   -1,   -1,  392,  393,  394,  395,  396, 
    3791   397,  398,  399,   -1,  401,  402,  403,  404,  405,   -1, 
    3792    -1,  408,   40,   -1,   42,   43,   -1,   45,  415,  416, 
    3793    -1,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425,  256, 
    3794    -1,  258,  259,  260,  261,  262,   -1,  264,  265,  266, 
    3795   267,  268,  269,   -1,  271,  272,  273,   -1,  275,   -1, 
    3796   277,   -1,   -1,  280,  281,  282,  283,  284,  285,  286, 
    3797    -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296, 
    3798   297,   -1,   -1,   -1,  301,  302,   -1,   -1,   42,   43, 
    3799    -1,   45,   -1,   -1,  311,   -1,   -1,   -1,  315,  316, 
    3800    -1,   -1,   -1,  320,   -1,   -1,   60,   -1,   62,  326, 
    3801    -1,  328,  329,   -1,  331,   -1,  333,  334,  335,  336, 
    3802   337,   -1,  339,  340,  341,  342,  343,  344,  345,  346, 
    3803   347,  348,  349,  350,  351,  352,  353,  354,   -1,   -1, 
    3804   357,  358,  359,   -1,  361,  362,  363,   -1,  365,  366, 
    3805   367,   -1,    0,  370,   -1,  372,   -1,   -1,  375,  376, 
    3806   377,  378,   10,  380,  381,  382,  383,   -1,   -1,   -1, 
    3807    -1,   -1,  389,   -1,   -1,  392,  393,  394,  395,  396, 
    3808   397,  398,  399,   -1,  401,  402,  403,  404,  405,   -1, 
    3809    -1,  408,   -1,   41,   42,   43,   44,   45,  415,  416, 
    3810   417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425,   -1, 
    3811    -1,   -1,   60,   61,   62,   -1,   -1,  288,   -1,   -1, 
    3812    -1,  292,  293,  294,  295,   -1,   -1,   -1,   -1,   -1, 
    3813    -1,   -1,   -1,  304,  305,  306,  307,  308,  309,  310, 
    3814    -1,  312,  313,  314,   -1,  263,  317,  318,  319,   -1, 
    3815    -1,  322,  323,  324,  325,   -1,  327,   -1,   -1,   -1, 
    3816    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  287, 
    3817   288,   -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1, 
    3818    -1,   -1,   -1,   -1,   -1,   -1,  304,  305,  306,  307, 
    3819   308,  309,  310,   -1,  312,  313,  314,   -1,   -1,  317, 
    3820   318,  319,   -1,  321,  322,  323,  324,  325,   -1,  327, 
    3821   264,  265,  266,  267,  268,  269,   -1,   -1,  272,  273, 
    3822    -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3823    -1,   -1,   10,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3824    -1,   -1,   -1,   -1,   -1,   -1,  417,   -1,   -1,   -1, 
    3825    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37, 
    3826    -1,  379,   -1,   41,   42,   43,   44,   45,   -1,   -1, 
    3827    -1,   -1,  390,  391,   -1,   -1,   -1,   -1,  396,   -1, 
    3828    58,   -1,   -1,   61,   -1,   -1,   -1,   -1,  406,  407, 
    3829    -1,   -1,  410,  411,  412,  413,   -1,   -1,   -1,  417, 
    3830    -1,   -1,   -1,   -1,   -1,   -1,  424,   -1,  256,   -1, 
    3831   258,  259,  260,  261,  262,   -1,  264,  265,  266,  267, 
    3832   268,  269,   -1,   -1,  272,  273,   -1,  275,   -1,  277, 
    3833    -1,   -1,  280,  281,  282,  283,  284,  285,  286,   -1, 
    3834    -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296,  297, 
    3835    -1,   -1,   -1,  301,  302,   -1,   -1,   -1,   -1,   -1, 
    3836    -1,   -1,   -1,  311,   -1,   -1,   -1,  315,  316,   -1, 
    3837    -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1, 
    3838   328,  329,   -1,  331,   -1,  333,  334,  335,  336,  337, 
    3839    -1,  339,  340,  341,  342,  343,  344,  345,  346,  347, 
    3840   348,  349,  350,  351,  352,  353,  354,   -1,   -1,  357, 
    3841   358,  359,   -1,  361,  362,  363,   -1,  365,  366,  367, 
    3842    -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376,  377, 
    3843   378,   -1,  380,  381,  382,  383,   -1,   -1,   -1,   -1, 
    3844    -1,  389,   -1,   -1,  392,  393,  394,  395,  396,  397, 
    3845   398,  399,   -1,  401,  402,  403,  404,  405,   -1,   -1, 
    3846   408,   -1,   -1,   -1,   -1,   -1,   -1,  415,  416,  417, 
    3847    -1,   -1,   -1,   -1,   -1,   -1,  424,  425,  256,   -1, 
    3848   258,  259,  260,  261,  262,    0,  264,  265,  266,  267, 
    3849   268,  269,   -1,  271,  272,   10,   -1,  275,   -1,  277, 
    3850    -1,   -1,  280,  281,  282,  283,  284,  285,  286,   -1, 
    3851    -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296,  297, 
    3852    -1,   -1,   37,  301,  302,   -1,   41,   42,   43,   44, 
    3853    45,   -1,   -1,  311,   -1,   -1,   -1,  315,  316,   -1, 
    3854    -1,   -1,  320,   58,   -1,   -1,   61,   -1,  326,   -1, 
    3855   328,  329,   -1,  331,   -1,  333,  334,  335,  336,  337, 
    3856    -1,  339,  340,  341,  342,  343,  344,  345,  346,  347, 
    3857   348,  349,  350,  351,  352,  353,  354,   -1,   -1,  357, 
    3858   358,  359,   -1,  361,  362,  363,   -1,  365,  366,  367, 
    3859    -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376,  377, 
    3860   378,   -1,  380,  381,  382,  383,   -1,   -1,   -1,   -1, 
    3861    -1,  389,   -1,   -1,  392,  393,  394,  395,  396,  397, 
    3862   398,  399,   -1,  401,  402,  403,  404,  405,   -1,   -1, 
    3863   408,   -1,   -1,   -1,   -1,   -1,   -1,  415,  416,  417, 
    3864    -1,   -1,   -1,   -1,   -1,   -1,  424,  425,   -1,   -1, 
    3865    -1,   -1,   -1,   -1,  288,    0,   -1,   -1,  292,  293, 
    3866   294,  295,   -1,   -1,   -1,   10,   -1,   -1,   -1,   -1, 
    3867   304,  305,  306,  307,  308,  309,  310,   -1,  312,  313, 
    3868   314,   -1,   -1,  317,  318,  319,   -1,   -1,  322,  323, 
    3869   324,  325,   37,  327,   -1,   -1,   41,   42,   43,   44, 
    3870    45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3871    -1,   -1,   -1,   58,   -1,   -1,   61,   -1,   -1,   -1, 
    3872    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3873    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3874    -1,  256,   -1,  258,  259,  260,  261,  262,   -1,  264, 
    3875   265,  266,  267,  268,  269,   -1,  271,  272,   -1,   -1, 
    3876   275,   -1,  277,   -1,   -1,  280,  281,  282,  283,  284, 
    3877   285,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1, 
    3878    -1,  296,  297,  417,   -1,   -1,  301,  302,   -1,   -1, 
    3879    -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   -1, 
    3880   315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1, 
    3881    -1,  326,   -1,  328,  329,   -1,  331,   -1,  333,  334, 
    3882   335,  336,  337,   -1,  339,  340,  341,  342,  343,  344, 
    3883   345,  346,  347,  348,  349,  350,  351,  352,  353,  354, 
    3884    -1,   -1,  357,  358,  359,   -1,  361,  362,  363,   -1, 
    3885   365,  366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1, 
    3886   375,  376,  377,  378,   -1,  380,  381,  382,  383,   -1, 
    3887    -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394, 
    3888   395,  396,  397,  398,  399,   -1,  401,  402,  403,  404, 
    3889   405,   -1,   -1,  408,   -1,   -1,   -1,   -1,   -1,   -1, 
    3890   415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424, 
    3891   425,  256,   -1,  258,  259,  260,  261,  262,    0,  264, 
    3892   265,  266,  267,  268,  269,   -1,  271,  272,   10,   -1, 
    3893   275,   -1,  277,   -1,   -1,  280,  281,  282,  283,  284, 
    3894   285,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1, 
    3895    -1,  296,  297,   -1,   -1,   37,  301,  302,   -1,   41, 
    3896    42,   43,   44,   45,   -1,   -1,  311,   -1,   -1,   -1, 
    3897   315,  316,   -1,   -1,   -1,  320,   58,   -1,   -1,   61, 
    3898    -1,  326,   -1,  328,  329,   -1,  331,   -1,  333,  334, 
    3899   335,  336,  337,   -1,  339,  340,  341,  342,  343,  344, 
    3900   345,  346,  347,  348,  349,  350,  351,  352,  353,  354, 
    3901    -1,   -1,  357,  358,  359,   -1,  361,  362,  363,   -1, 
    3902   365,  366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1, 
    3903   375,  376,  377,  378,   -1,  380,  381,  382,  383,   -1, 
    3904    -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394, 
    3905   395,  396,  397,  398,  399,   -1,  401,  402,  403,  404, 
    3906   405,   -1,   -1,  408,   -1,   -1,   -1,   -1,   -1,   -1, 
    3907   415,  416,  417,   -1,  286,   -1,   -1,   -1,   -1,  424, 
    3908   425,   -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1, 
    3909    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   10,  311, 
    3910    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3911    -1,   -1,   -1,   -1,  326,   -1,   -1,   -1,   -1,  331, 
    3912   332,   -1,   -1,   -1,  336,  337,   -1,   -1,   -1,   41, 
    3913    42,   43,   44,   45,  346,  347,  348,  349,  350,  351, 
    3914   352,  353,   -1,   -1,   -1,   -1,   -1,   -1,   60,   61, 
    3915    62,   -1,   -1,   -1,  366,   -1,   -1,   -1,   -1,   -1, 
    3916   372,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  381, 
    3917    -1,  383,   -1,   -1,  256,   -1,  258,  259,  260,  261, 
    3918   262,   -1,  264,  265,  266,  267,  268,  269,   -1,  271, 
    3919   272,   -1,   -1,  275,   -1,  277,   -1,   -1,  280,  281, 
    3920   282,  283,  284,  285,  286,  417,   -1,  289,  290,  291, 
    3921    -1,   -1,  424,   -1,  296,  297,   -1,   -1,   -1,  301, 
    3922   302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  311, 
    3923    -1,   -1,   -1,  315,  316,   -1,   -1,   -1,  320,   -1, 
    3924    -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331, 
    3925    -1,  333,  334,  335,  336,  337,   -1,  339,  340,  341, 
    3926   342,  343,  344,  345,  346,  347,  348,  349,  350,  351, 
    3927   352,  353,  354,   -1,   -1,  357,  358,  359,   -1,  361, 
    3928   362,  363,   -1,  365,  366,  367,   -1,   -1,  370,   -1, 
    3929   372,   -1,   -1,  375,  376,  377,  378,   -1,  380,  381, 
    3930   382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1, 
    3931   392,  393,  394,  395,  396,  397,  398,  399,   -1,  401, 
    3932   402,  403,  404,  405,   -1,   -1,  408,   40,   -1,   42, 
    3933    43,   -1,   45,  415,  416,  417,   -1,   -1,   -1,   -1, 
    3934    -1,   -1,  424,  425,  256,   -1,  258,  259,  260,  261, 
    3935   262,   -1,  264,  265,  266,  267,  268,  269,   -1,   -1, 
    3936   272,  273,   -1,  275,   -1,  277,   -1,   -1,  280,  281, 
    3937   282,  283,  284,  285,  286,   -1,   -1,  289,  290,  291, 
    3938    -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301, 
    3939   302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  311, 
    3940    -1,   -1,   -1,  315,  316,   -1,   -1,   -1,  320,   -1, 
    3941    -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331, 
    3942    -1,  333,  334,  335,  336,  337,   -1,  339,  340,  341, 
    3943   342,  343,  344,  345,  346,  347,  348,  349,  350,  351, 
    3944   352,  353,  354,   -1,   -1,  357,  358,  359,   -1,  361, 
    3945   362,  363,   -1,  365,  366,  367,   -1,    0,  370,   -1, 
    3946   372,   -1,   -1,  375,  376,  377,  378,   10,   -1,  381, 
    3947   382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1, 
    3948   392,  393,  394,  395,  396,  397,  398,  399,   -1,  401, 
    3949   402,  403,  404,  405,   -1,   -1,  408,   -1,   -1,   42, 
    3950    43,   -1,   45,  415,  416,  417,   -1,   -1,   -1,   -1, 
    3951    -1,   -1,  424,  425,   -1,   -1,   -1,   60,   61,   62, 
    3952    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3953    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3954    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3955   263,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3956    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3957    -1,   -1,   -1,   -1,  287,  288,   -1,   -1,   -1,  292, 
    3958   293,  294,  295,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3959    -1,  304,  305,  306,  307,  308,  309,  310,   -1,  312, 
    3960   313,  314,   -1,   -1,  317,  318,  319,   -1,  321,  322, 
    3961   323,  324,  325,   -1,  327,   -1,   -1,   -1,   -1,   -1, 
    3962    -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1, 
    3963    -1,   -1,   -1,   -1,   -1,   -1,   -1,   10,   -1,   -1, 
    3964    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3965    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    3966    -1,   -1,   -1,   -1,   37,   -1,  379,   -1,   41,   -1, 
    3967    43,   44,   45,   -1,   -1,   -1,   -1,  390,  391,   -1, 
    3968    -1,   -1,   -1,  396,   -1,   58,   -1,   -1,   61,   -1, 
    3969    -1,   -1,   -1,  406,  407,   -1,   -1,  410,  411,  412, 
    3970   413,   -1,   -1,   -1,  417,   -1,   -1,   -1,   -1,   -1, 
    3971    -1,  424,   -1,  256,   -1,  258,  259,  260,  261,  262, 
    3972    -1,  264,  265,  266,  267,  268,  269,   -1,   -1,  272, 
    3973   273,   -1,  275,   -1,  277,   -1,   -1,  280,  281,  282, 
    3974   283,  284,  285,  286,   -1,   -1,  289,  290,  291,   -1, 
    3975    -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302, 
    3976    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1, 
    3977    -1,   -1,  315,  316,   -1,   -1,   -1,  320,   -1,   -1, 
    3978    -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1, 
    3979   333,  334,  335,  336,  337,   -1,  339,  340,  341,  342, 
    3980   343,  344,  345,  346,  347,  348,  349,  350,  351,  352, 
    3981   353,  354,   -1,   -1,  357,  358,  359,   -1,  361,  362, 
    3982   363,   -1,  365,  366,  367,   -1,   -1,  370,   -1,  372, 
    3983    -1,   -1,  375,  376,  377,  378,   -1,  380,  381,  382, 
    3984   383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392, 
    3985   393,  394,  395,  396,  397,  398,  399,   -1,  401,  402, 
    3986   403,  404,  405,   -1,   -1,  408,   -1,   -1,   -1,   -1, 
    3987    -1,   -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1, 
    3988    -1,  424,  425,  256,   -1,  258,  259,  260,  261,  262, 
    3989     0,  264,  265,  266,  267,  268,  269,   -1,  271,   -1, 
    3990    10,   -1,  275,   -1,  277,   -1,   -1,  280,  281,  282, 
    3991   283,  284,  285,  286,   -1,   -1,  289,  290,  291,   -1, 
    3992    -1,   -1,   -1,  296,  297,   -1,   -1,   37,  301,  302, 
    3993    -1,   41,   -1,   43,   44,   45,   -1,   -1,  311,   -1, 
    3994    -1,   -1,  315,  316,   -1,   -1,   -1,  320,   58,   -1, 
    3995    -1,   61,   -1,  326,   -1,  328,  329,   -1,  331,   -1, 
    3996   333,  334,  335,  336,  337,   -1,  339,  340,  341,  342, 
    3997   343,  344,  345,  346,  347,  348,  349,  350,  351,  352, 
    3998   353,  354,   -1,   -1,  357,  358,  359,   -1,  361,  362, 
    3999   363,   -1,  365,  366,  367,   -1,   -1,  370,   -1,  372, 
    4000    -1,   -1,  375,  376,  377,  378,   -1,  380,  381,  382, 
    4001   383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392, 
    4002   393,  394,  395,  396,  397,  398,  399,   -1,  401,  402, 
    4003   403,  404,  405,   -1,   -1,  408,   -1,   -1,   -1,   -1, 
    4004    -1,   -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1, 
    4005    -1,  424,  425,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4006     0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4007    10,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4008    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4009    -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1,   -1, 
    4010    -1,   41,   42,   -1,   44,   -1,   -1,   -1,   -1,   -1, 
    4011    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   -1, 
    4012    60,   -1,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4013    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4014    -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,  258,  259, 
    4015   260,  261,  262,   -1,  264,  265,  266,  267,  268,  269, 
    4016    -1,  271,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4017   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4018   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4019    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4020    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4021   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4022    -1,  331,    0,  333,  334,  335,  336,  337,   -1,  339, 
    4023   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4024   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4025    -1,  361,  362,  363,   -1,  365,  366,  367,   -1,   -1, 
    4026   370,   -1,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    4027   380,  381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389, 
    4028    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4029    -1,  401,  402,  403,  404,  405,   -1,   -1,  408,   -1, 
    4030    -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1,   -1, 
    4031    -1,   -1,   -1,   -1,  424,  425,  256,   -1,  258,  259, 
    4032   260,  261,  262,   -1,  264,  265,  266,  267,  268,  269, 
    4033    -1,  271,   -1,  273,   -1,  275,   -1,  277,   -1,   -1, 
    4034   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4035   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4036    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4037    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4038   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4039    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4040   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4041   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4042    -1,  361,  362,  363,   -1,  365,  366,  367,   -1,    0, 
    4043   370,   -1,  372,   -1,   -1,  375,  376,  377,  378,   10, 
    4044   380,  381,  382,  383,   37,   -1,   -1,   -1,   41,  389, 
    4045    -1,   44,  392,  393,  394,  395,   -1,  397,  398,  399, 
    4046    -1,  401,  402,  403,  404,  405,   -1,   60,  408,   62, 
    4047    -1,   42,   43,   44,   45,  415,  416,   -1,   -1,   -1, 
    4048    -1,   -1,   -1,   -1,   -1,  425,   -1,   -1,   -1,   60, 
    4049    61,   62,   -1,   -1,   -1,   -1,   -1,  275,   -1,  277, 
    4050    -1,   -1,  280,  281,  282,  283,   -1,   -1,  286,   -1, 
    4051    -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296,  297, 
    4052    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4053    -1,   -1,   -1,  311,   -1,   -1,   -1,  315,  316,   -1, 
    4054    -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1, 
    4055   328,  329,   -1,  331,   -1,  333,  334,  335,  336,  337, 
    4056    -1,  339,  340,  341,  342,  343,  344,  345,  346,  347, 
    4057   348,  349,  350,  351,  352,  353,  354,   -1,   -1,  357, 
    4058   358,  359,   -1,  361,  362,  363,   -1,  365,  366,  367, 
    4059    -1,    0,  370,   -1,  372,   -1,   -1,  375,  376,  377, 
    4060   378,   10,   -1,  381,  382,  383,   -1,   -1,   -1,   -1, 
    4061    -1,  389,   -1,   -1,   -1,  393,  394,  395,  396,  397, 
    4062   398,  399,   -1,  401,  402,  403,  404,  405,   -1,   -1, 
    4063   408,   -1,   -1,   42,   43,   44,   45,  415,  416,  417, 
    4064    -1,   -1,   -1,   -1,   -1,   -1,  424,   -1,   -1,   -1, 
    4065    -1,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1, 
    4066    -1,   -1,   -1,   -1,   -1,  258,  259,  260,  261,  262, 
    4067    -1,  264,  265,  266,  267,  268,  269,   -1,   -1,  272, 
    4068   273,   -1,   -1,   -1,   -1,  256,   -1,  258,  259,  260, 
    4069   261,  262,   -1,  264,  265,  266,  267,  268,  269,   -1, 
    4070    -1,  272,  273,   -1,  275,   -1,  277,   -1,   -1,  280, 
    4071   281,  282,  283,  284,  285,  286,   -1,   -1,  289,  290, 
    4072   291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1, 
    4073   301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4074   311,   -1,    0,   -1,  315,  316,   -1,   -1,   -1,  320, 
    4075    -1,   -1,   10,   -1,   -1,  326,   -1,  328,  329,   -1, 
    4076   331,   -1,  333,  334,  335,  336,  337,   -1,  339,  340, 
    4077   341,  342,  343,  344,  345,  346,  347,  348,  349,  350, 
    4078   351,  352,  353,  354,   -1,   -1,  357,  358,  359,   -1, 
    4079   361,  362,  363,   -1,  365,  366,  367,   -1,   -1,  370, 
    4080    -1,  372,   -1,   -1,  375,  376,  377,  378,   -1,   -1, 
    4081   381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1, 
    4082    -1,  392,  393,  394,  395,   -1,  397,  398,  399,   -1, 
    4083   401,  402,  403,  404,  405,   -1,   -1,  408,   -1,   -1, 
    4084    -1,   -1,   -1,   -1,  415,  416,   -1,  256,   -1,  258, 
    4085   259,  260,  261,  262,  425,  264,  265,  266,  267,  268, 
    4086   269,   -1,   -1,  272,  273,   -1,  275,   -1,  277,   -1, 
    4087    -1,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    4088   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    4089    -1,   -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1, 
    4090    -1,   -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1, 
    4091    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328, 
    4092   329,   -1,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    4093   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    4094   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    4095   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    4096     0,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    4097    10,   -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    4098   389,   -1,   -1,  392,  393,  394,  395,   -1,  397,  398, 
    4099   399,   -1,  401,  402,  403,  404,  405,   37,  256,  408, 
    4100    -1,   41,   -1,   -1,   44,   -1,  415,  416,   -1,   -1, 
    4101    -1,   -1,   -1,  271,  272,   -1,  425,  275,   58,  277, 
    4102    -1,   61,  280,  281,  282,  283,  284,  285,  286,   -1, 
    4103    -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296,  297, 
    4104    -1,   -1,   -1,  301,  302,   -1,   -1,   -1,   -1,   -1, 
    4105    -1,   -1,   -1,  311,   -1,   -1,   -1,  315,  316,   -1, 
    4106    -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1, 
    4107   328,  329,   -1,  331,   -1,  333,  334,  335,  336,  337, 
    4108    -1,  339,  340,  341,  342,  343,  344,  345,  346,  347, 
    4109   348,  349,  350,  351,  352,  353,  354,   -1,   -1,  357, 
    4110   358,  359,   -1,  361,  362,  363,   -1,  365,  366,  367, 
    4111    -1,    0,  370,   -1,  372,   -1,   -1,  375,  376,  377, 
    4112   378,   10,   -1,  381,  382,  383,   -1,   -1,   -1,   -1, 
    4113    -1,  389,   -1,   -1,  392,  393,  394,  395,  396,  397, 
    4114   398,  399,   -1,  401,  402,  403,  404,  405,   37,   -1, 
    4115   408,   -1,   41,   -1,   -1,   44,   -1,  415,  416,  417, 
    4116    -1,   -1,   -1,   -1,   -1,   -1,  424,  425,   -1,   58, 
    4117    -1,   -1,   61,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4118    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4119    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4120    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4121    -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,  258,  259, 
    4122   260,  261,  262,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4123    -1,  271,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4124   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4125   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4126    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4127    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4128   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4129    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4130   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4131   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4132    -1,  361,  362,  363,   -1,  365,  366,  367,   42,   43, 
    4133   370,   45,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    4134   380,  381,  382,  383,   -1,   -1,   60,   61,   62,  389, 
    4135    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4136    -1,  401,  402,  403,  404,  405,   -1,  256,  408,  258, 
    4137   259,  260,  261,  262,   -1,  415,  416,  417,   -1,   -1, 
    4138     0,   -1,  271,   -1,  424,  425,  275,   -1,  277,   -1, 
    4139    10,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    4140   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    4141    -1,   -1,  301,  302,   -1,   -1,   -1,   37,   -1,   -1, 
    4142    -1,   41,  311,   -1,   44,   -1,  315,  316,   -1,   -1, 
    4143    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   58,  328, 
    4144   329,   61,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    4145   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    4146   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    4147   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    4148    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    4149    -1,  380,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    4150   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    4151   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    4152    -1,   -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1, 
    4153    -1,    0,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1, 
    4154    -1,   10,   -1,   -1,  258,  259,  260,  261,  262,   -1, 
    4155   264,  265,  266,  267,  268,  269,   -1,   -1,  272,  273, 
    4156    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1, 
    4157    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1, 
    4158    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58, 
    4159    -1,   -1,   61,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4160    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4161    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4162    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4163    -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,  258,  259, 
    4164   260,  261,  262,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4165    -1,  271,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4166   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4167   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4168    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4169    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4170   320,   -1,   -1,  417,   -1,   -1,  326,   -1,  328,  329, 
    4171    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4172   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4173   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4174    -1,  361,  362,  363,   -1,  365,  366,  367,   42,   43, 
    4175   370,   45,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    4176   380,  381,  382,  383,   58,   -1,   60,   61,   62,  389, 
    4177    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4178    -1,  401,  402,  403,  404,  405,   -1,  256,  408,  258, 
    4179   259,  260,  261,  262,   -1,  415,  416,  417,   -1,   -1, 
    4180     0,   -1,  271,   -1,  424,  425,  275,   -1,  277,   -1, 
    4181    10,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    4182   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    4183    -1,   -1,  301,  302,   -1,   -1,   -1,   37,   -1,   -1, 
    4184    -1,   41,  311,   -1,   44,   -1,  315,  316,   -1,   -1, 
    4185    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   58,  328, 
    4186   329,   61,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    4187   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    4188   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    4189   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    4190    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    4191    -1,  380,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    4192   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    4193   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    4194    -1,   -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1, 
    4195    -1,    0,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1, 
    4196    -1,   10,   -1,   -1,  258,  259,  260,  261,  262,   -1, 
    4197   264,  265,  266,  267,  268,  269,   -1,   -1,  272,  273, 
    4198    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1, 
    4199    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1, 
    4200    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58, 
    4201    -1,   -1,   61,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4202    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4203    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4204    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4205    -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,  258,  259, 
    4206   260,  261,  262,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4207    -1,  271,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4208   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4209   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4210    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4211    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4212   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4213    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4214   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4215   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4216    -1,  361,  362,  363,   -1,  365,  366,  367,   42,   43, 
    4217   370,   45,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    4218   380,  381,  382,  383,   58,   -1,   60,   61,   62,  389, 
    4219    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4220    -1,  401,  402,  403,  404,  405,   -1,  256,  408,  258, 
    4221   259,  260,  261,  262,   -1,  415,  416,  417,   -1,   -1, 
    4222     0,   -1,  271,   -1,  424,  425,  275,   -1,  277,   -1, 
    4223    10,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    4224   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    4225    -1,   -1,  301,  302,   -1,   -1,   -1,   37,   -1,   -1, 
    4226    -1,   41,  311,   -1,   44,   -1,  315,  316,   -1,   -1, 
    4227    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   58,  328, 
    4228   329,   61,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    4229   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    4230   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    4231   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    4232    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    4233    -1,  380,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    4234   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    4235   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    4236    -1,   -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1, 
    4237    -1,    0,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1, 
    4238    -1,   10,   -1,   -1,  258,  259,  260,  261,  262,   -1, 
    4239   264,  265,  266,  267,  268,  269,   -1,   -1,  272,  273, 
    4240    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1, 
    4241    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1, 
    4242    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58, 
    4243    -1,   -1,   61,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4244    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4245    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4246    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4247    -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,  258,  259, 
    4248   260,  261,  262,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4249    -1,  271,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4250   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4251   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4252    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4253    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4254   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4255    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4256   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4257   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4258    -1,  361,  362,  363,   -1,  365,  366,  367,   42,   43, 
    4259   370,   45,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    4260   380,  381,  382,  383,   58,   -1,   60,   61,   62,  389, 
    4261    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4262    -1,  401,  402,  403,  404,  405,   -1,  256,  408,  258, 
    4263   259,  260,  261,  262,   -1,  415,  416,  417,   -1,   -1, 
    4264     0,   -1,  271,   -1,  424,  425,  275,   -1,  277,   -1, 
    4265    10,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    4266   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    4267    -1,   -1,  301,  302,   -1,   -1,   -1,   37,   -1,   -1, 
    4268    -1,   41,  311,   -1,   44,   -1,  315,  316,   -1,   -1, 
    4269    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   58,  328, 
    4270   329,   61,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    4271   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    4272   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    4273   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    4274    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    4275    -1,  380,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    4276   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    4277   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    4278    -1,   -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1, 
    4279    -1,    0,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1, 
    4280    -1,   10,   -1,   -1,  258,  259,  260,  261,  262,   -1, 
    4281   264,  265,  266,  267,  268,  269,   -1,   -1,  272,  273, 
    4282    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1, 
    4283    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1, 
    4284    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58, 
    4285    -1,   -1,   61,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4286    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4287    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4288    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4289    -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,  258,  259, 
    4290   260,  261,  262,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4291    -1,  271,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4292   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4293   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4294    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4295    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4296   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4297    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4298   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4299   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4300    -1,  361,  362,  363,   -1,  365,  366,  367,   42,   43, 
    4301   370,   45,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    4302   380,  381,  382,  383,   58,   -1,   60,   61,   62,  389, 
    4303    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4304    -1,  401,  402,  403,  404,  405,   -1,  256,  408,  258, 
    4305   259,  260,  261,  262,   -1,  415,  416,  417,   -1,   -1, 
    4306     0,   -1,  271,   -1,  424,  425,  275,   -1,  277,   -1, 
    4307    10,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    4308   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    4309    -1,   -1,  301,  302,   -1,   -1,   -1,   37,   -1,   -1, 
    4310    -1,   41,  311,   -1,   44,   -1,  315,  316,   -1,   -1, 
    4311    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   58,  328, 
    4312   329,   61,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    4313   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    4314   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    4315   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    4316    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    4317    -1,  380,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    4318   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    4319   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    4320    -1,   -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1, 
    4321    -1,    0,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1, 
    4322    -1,   10,   -1,   -1,  258,  259,  260,  261,  262,   -1, 
    4323   264,  265,  266,  267,  268,  269,   -1,   -1,  272,  273, 
    4324    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1, 
    4325    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1, 
    4326    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58, 
    4327    -1,   -1,   61,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4328    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4329    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4330    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4331    -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,  258,  259, 
    4332   260,  261,  262,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4333    -1,  271,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4334   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4335   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4336    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4337    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4338   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4339    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4340   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4341   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4342    -1,  361,  362,  363,   -1,  365,  366,  367,   42,   43, 
    4343   370,   45,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    4344   380,  381,  382,  383,   -1,   -1,   60,   61,   62,  389, 
    4345    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4346    -1,  401,  402,  403,  404,  405,   -1,  256,  408,  258, 
    4347   259,  260,  261,  262,   -1,  415,  416,  417,   -1,   -1, 
    4348     0,   -1,  271,   -1,  424,  425,  275,   -1,  277,   -1, 
    4349    10,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    4350   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    4351    -1,   -1,  301,  302,   -1,   -1,   -1,   37,   -1,   -1, 
    4352    -1,   41,  311,   -1,   44,   -1,  315,  316,   -1,   -1, 
    4353    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   58,  328, 
    4354   329,   61,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    4355   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    4356   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    4357   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    4358    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    4359    -1,  380,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    4360   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    4361   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    4362    -1,   -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1, 
    4363    -1,    0,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1, 
    4364    -1,   10,   -1,   -1,  258,  259,  260,  261,  262,   -1, 
    4365   264,  265,  266,  267,  268,  269,   -1,   -1,  272,  273, 
    4366    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1, 
    4367    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1, 
    4368    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58, 
    4369    -1,   -1,   61,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4370    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4371    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4372    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4373    -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,  258,  259, 
    4374   260,  261,  262,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4375    -1,  271,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4376   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4377   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4378    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4379    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4380   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4381    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4382   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4383   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4384    -1,  361,  362,  363,   -1,  365,  366,  367,   42,   43, 
    4385   370,   45,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    4386   380,  381,  382,  383,   -1,   -1,   60,   61,   62,  389, 
    4387    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4388    -1,  401,  402,  403,  404,  405,   -1,  256,  408,  258, 
    4389   259,  260,  261,  262,   -1,  415,  416,  417,   -1,   -1, 
    4390     0,   -1,  271,   -1,  424,  425,  275,   -1,  277,   -1, 
    4391    10,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    4392   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    4393    -1,   -1,  301,  302,   -1,   -1,   -1,   37,   -1,   -1, 
    4394    -1,   41,  311,   -1,   44,   -1,  315,  316,   -1,   -1, 
    4395    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   58,  328, 
    4396   329,   61,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    4397   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    4398   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    4399   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    4400    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    4401    -1,  380,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    4402   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    4403   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    4404    -1,   -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1, 
    4405    -1,    0,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1, 
    4406    -1,   10,   -1,   -1,  258,  259,  260,  261,  262,   -1, 
    4407   264,  265,  266,  267,  268,  269,   -1,   -1,  272,  273, 
    4408    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1, 
    4409    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1, 
    4410    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58, 
    4411    -1,   -1,   61,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4412    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4413    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4414    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4415    -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,  258,  259, 
    4416   260,  261,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4417    -1,  271,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4418   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4419   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4420    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4421    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4422   320,   -1,   -1,   -1,   -1,   -1,  326,   40,  328,  329, 
    4423    43,  331,   45,  333,  334,  335,  336,  337,   -1,  339, 
    4424   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4425   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4426    -1,  361,  362,  363,   -1,  365,  366,  367,   -1,   -1, 
    4427   370,   -1,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    4428   380,  381,  382,  383,   -1,   40,   -1,   42,   43,  389, 
    4429    45,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4430    -1,  401,  402,  403,  404,  405,   61,  256,  408,  258, 
    4431   259,  260,  261,   -1,   -1,  415,  416,  417,   -1,   -1, 
    4432    -1,   -1,  271,   -1,  424,  425,  275,   -1,  277,   -1, 
    4433    -1,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    4434   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    4435    -1,   -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1, 
    4436    -1,   -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1, 
    4437    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328, 
    4438   329,   -1,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    4439   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    4440   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    4441   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    4442     0,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    4443    10,  380,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    4444   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    4445   399,   -1,  401,  402,  403,  404,  405,   37,   -1,  408, 
    4446    40,   41,   42,   43,   44,   45,  415,  416,  417,   -1, 
    4447    -1,   -1,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1, 
    4448    -1,   -1,   -1,   -1,   -1,  298,  299,  300,   -1,   -1, 
    4449   303,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4450    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  263,   -1, 
    4451    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  273,   -1, 
    4452    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4453    -1,   -1,  287,  288,   -1,   -1,   -1,  292,  293,  294, 
    4454   295,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  304, 
    4455   305,  306,  307,  308,  309,  310,   -1,  312,  313,  314, 
    4456    -1,   -1,  317,  318,  319,   -1,  321,  322,  323,  324, 
    4457   325,    0,  327,   -1,   -1,   -1,   -1,  390,  391,   -1, 
    4458    -1,   10,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4459    -1,   -1,   -1,  406,  407,   -1,   -1,  410,  411,  412, 
    4460   413,   -1,   -1,   -1,  417,   -1,   -1,   -1,   37,   -1, 
    4461    -1,  424,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1, 
    4462    -1,   -1,   -1,   -1,  379,   -1,   -1,   -1,   -1,   58, 
    4463    -1,   -1,   61,   -1,   -1,  390,  391,   -1,   -1,   -1, 
    4464    -1,  396,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4465    -1,  406,  407,   -1,   -1,  410,  411,  412,  413,   -1, 
    4466    -1,   -1,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424, 
    4467    -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,   -1,   -1, 
    4468    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4469    -1,  271,  272,  273,   -1,  275,   -1,  277,   -1,   -1, 
    4470   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4471   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4472    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4473    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4474   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4475    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4476   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4477   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4478    -1,  361,  362,  363,   -1,  365,  366,  367,   -1,   -1, 
    4479   370,   -1,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    4480    -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389, 
    4481    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4482    -1,  401,  402,  403,  404,  405,   -1,  256,  408,  258, 
    4483   259,   -1,   -1,   -1,   -1,  415,  416,  417,   -1,   -1, 
    4484     0,   -1,  271,   -1,  424,  425,  275,   -1,  277,   -1, 
    4485    10,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    4486   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    4487    -1,   -1,  301,  302,   -1,   -1,   -1,   37,   -1,   -1, 
    4488    -1,   41,  311,   -1,   44,   -1,  315,  316,   -1,   -1, 
    4489    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   58,  328, 
    4490   329,   61,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    4491   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    4492   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    4493   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    4494    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    4495    -1,  380,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    4496   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    4497   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    4498    -1,   -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1, 
    4499    -1,   -1,   -1,   -1,   -1,  424,  425,    0,   -1,   -1, 
    4500    -1,   -1,   -1,   -1,   -1,   -1,   -1,   10,   -1,   -1, 
    4501    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4502    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4503    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   41,   42, 
    4504    43,   44,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4505    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4506    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4507    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4508    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4509    -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,  258,  259, 
    4510    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4511    -1,  271,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4512   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4513   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4514    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4515    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4516   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4517    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4518   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4519   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4520    -1,  361,  362,  363,   -1,  365,  366,  367,   -1,   -1, 
    4521   370,   -1,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    4522   380,  381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389, 
    4523    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4524    -1,  401,  402,  403,  404,  405,   -1,   -1,  408,   -1, 
    4525    -1,   -1,   -1,  256,   -1,  415,  416,  417,   -1,   -1, 
    4526    -1,    0,   -1,   -1,  424,  425,   -1,   -1,  271,  272, 
    4527   273,   10,  275,   -1,  277,   -1,   -1,  280,  281,  282, 
    4528   283,  284,  285,  286,   -1,   -1,  289,  290,  291,   -1, 
    4529    -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302, 
    4530    -1,   -1,   41,   42,   43,   44,   45,   -1,  311,   -1, 
    4531    -1,   -1,  315,  316,   -1,   -1,   -1,  320,   -1,   -1, 
    4532    -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1, 
    4533   333,  334,  335,  336,  337,   -1,  339,  340,  341,  342, 
    4534   343,  344,  345,  346,  347,  348,  349,  350,  351,  352, 
    4535   353,  354,   -1,   -1,  357,  358,  359,   -1,  361,  362, 
    4536   363,   -1,  365,  366,  367,   -1,   -1,  370,   -1,  372, 
    4537    -1,   -1,  375,  376,  377,  378,   -1,   -1,  381,  382, 
    4538   383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392, 
    4539   393,  394,  395,  396,  397,  398,  399,   -1,  401,  402, 
    4540   403,  404,  405,   -1,   -1,  408,   -1,   -1,   -1,   -1, 
    4541    -1,   -1,  415,  416,  417,   -1,    0,   -1,   -1,   -1, 
    4542    -1,  424,  425,   -1,   -1,   -1,   10,   -1,   -1,   -1, 
    4543    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4544    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4545    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   42,   43, 
    4546    44,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4547    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4548    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4549    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4550    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4551    -1,   -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,   -1, 
    4552    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4553    -1,   -1,  271,  272,  273,   -1,  275,   -1,  277,   -1, 
    4554    -1,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    4555   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    4556    -1,   -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1, 
    4557    -1,   -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1, 
    4558    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328, 
    4559   329,   -1,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    4560   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    4561   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    4562   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    4563    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    4564    -1,   -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    4565   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    4566   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    4567    -1,   -1,  256,   -1,   -1,   -1,  415,  416,   -1,   -1, 
    4568     0,   -1,   -1,   -1,   -1,  424,  425,  271,  272,  273, 
    4569    10,  275,   -1,  277,   -1,   -1,  280,  281,  282,  283, 
    4570   284,  285,  286,   -1,   -1,  289,  290,  291,   -1,   -1, 
    4571    -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1, 
    4572    -1,   41,   42,   43,   44,   45,   -1,  311,   -1,   -1, 
    4573    -1,  315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1, 
    4574    -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1,  333, 
    4575   334,  335,  336,  337,   -1,  339,  340,  341,  342,  343, 
    4576   344,  345,  346,  347,  348,  349,  350,  351,  352,  353, 
    4577   354,   -1,   -1,  357,  358,  359,   -1,  361,  362,  363, 
    4578    -1,  365,  366,  367,   -1,   -1,  370,   -1,  372,   -1, 
    4579    -1,  375,  376,  377,  378,   -1,   -1,  381,  382,  383, 
    4580    -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393, 
    4581   394,  395,  396,  397,  398,  399,   -1,  401,  402,  403, 
    4582   404,  405,   -1,   -1,  408,   -1,   -1,   -1,   -1,   -1, 
    4583    -1,  415,  416,  417,   -1,    0,   -1,   -1,   -1,   -1, 
    4584   424,  425,   -1,   -1,   -1,   10,   -1,   -1,   -1,   -1, 
    4585    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4586    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4587    -1,   -1,   -1,   -1,   -1,   -1,   41,   42,   43,   44, 
    4588    45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4589    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4590    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4591    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4592    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4593    -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,   -1,   -1, 
    4594    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4595    -1,  271,  272,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4596   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4597   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4598    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4599    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4600   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4601    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4602   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4603   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4604    -1,  361,  362,  363,   -1,  365,  366,  367,   -1,   -1, 
    4605   370,   -1,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    4606    -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389, 
    4607    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4608    -1,  401,  402,  403,  404,  405,   -1,   -1,  408,   -1, 
    4609    -1,  256,   -1,   -1,   -1,  415,  416,  417,    0,   -1, 
    4610    -1,   -1,   -1,   -1,  424,  425,  271,  272,   10,   -1, 
    4611   275,   -1,  277,   -1,   -1,  280,  281,  282,  283,  284, 
    4612   285,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1, 
    4613    -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1,   41, 
    4614    42,   43,   44,   45,   -1,   -1,  311,   -1,   -1,   -1, 
    4615   315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1, 
    4616    -1,  326,   -1,  328,  329,   -1,  331,   -1,  333,  334, 
    4617   335,  336,  337,   -1,  339,  340,  341,  342,  343,  344, 
    4618   345,  346,  347,  348,  349,  350,  351,  352,  353,  354, 
    4619    -1,   -1,  357,  358,  359,   -1,  361,  362,  363,   -1, 
    4620   365,  366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1, 
    4621   375,  376,  377,  378,   -1,   -1,  381,  382,  383,   -1, 
    4622    -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394, 
    4623   395,  396,  397,  398,  399,   -1,  401,  402,  403,  404, 
    4624   405,   -1,   -1,  408,   -1,   -1,   -1,   -1,   -1,   -1, 
    4625   415,  416,  417,    0,   -1,   -1,   -1,   -1,   -1,  424, 
    4626   425,   -1,   -1,   10,   -1,   -1,   -1,   -1,   -1,   -1, 
    4627    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4628    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4629    -1,   -1,   -1,   -1,   41,   42,   43,   44,   45,   -1, 
    4630    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4631    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4632    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4633    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4634    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4635    -1,   -1,   -1,   -1,  256,   -1,   -1,   -1,   -1,   -1, 
    4636    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  271, 
    4637   272,   -1,   -1,  275,   -1,  277,   -1,   -1,  280,  281, 
    4638   282,  283,  284,  285,  286,   -1,   -1,  289,  290,  291, 
    4639    -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301, 
    4640   302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  311, 
    4641    -1,   -1,   -1,  315,  316,   -1,   -1,   -1,  320,   -1, 
    4642    -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331, 
    4643    -1,  333,  334,  335,  336,  337,   -1,  339,  340,  341, 
    4644   342,  343,  344,  345,  346,  347,  348,  349,  350,  351, 
    4645   352,  353,  354,   -1,   -1,  357,  358,  359,   -1,  361, 
    4646   362,  363,   -1,  365,  366,  367,   -1,   -1,  370,   -1, 
    4647   372,   -1,   -1,  375,  376,  377,  378,   -1,   -1,  381, 
    4648   382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1, 
    4649   392,  393,  394,  395,  396,  397,  398,  399,   -1,  401, 
    4650   402,  403,  404,  405,   -1,   -1,  408,   -1,   -1,  256, 
    4651    -1,   -1,   -1,  415,  416,  417,    0,   -1,   -1,   -1, 
    4652    -1,   -1,  424,  425,  271,  272,   10,   -1,  275,   -1, 
    4653   277,   -1,   -1,  280,  281,  282,  283,  284,  285,  286, 
    4654    -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296, 
    4655   297,   -1,   -1,   37,  301,  302,   -1,   41,   -1,   -1, 
    4656    44,   -1,   -1,   -1,  311,   -1,   -1,   -1,  315,  316, 
    4657    -1,   -1,   -1,  320,   58,   -1,   -1,   -1,   -1,  326, 
    4658    -1,  328,  329,   -1,  331,   -1,  333,  334,  335,  336, 
    4659   337,   -1,  339,  340,  341,  342,  343,  344,  345,  346, 
    4660   347,  348,  349,  350,  351,  352,  353,  354,   -1,   -1, 
    4661   357,  358,  359,   -1,  361,  362,  363,   -1,  365,  366, 
    4662   367,   -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376, 
    4663   377,  378,   -1,   -1,  381,  382,  383,   -1,   -1,   -1, 
    4664    -1,   -1,  389,   -1,   -1,  392,  393,  394,  395,  396, 
    4665   397,  398,  399,   -1,  401,  402,  403,  404,  405,   -1, 
    4666    -1,  408,   -1,   -1,   -1,   -1,   -1,   -1,  415,  416, 
    4667   417,    0,   -1,   -1,   -1,   -1,   -1,  424,  425,   -1, 
    4668    -1,   10,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4669    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4670    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   -1, 
    4671    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1, 
    4672    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58, 
    4673    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4674    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4675    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4676    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4677    -1,   -1,  256,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4678    -1,   -1,   -1,   -1,   -1,   -1,   -1,  271,   -1,   -1, 
    4679    -1,  275,   -1,  277,   -1,   -1,  280,  281,  282,  283, 
    4680   284,  285,  286,   -1,   -1,  289,  290,  291,   -1,   -1, 
    4681    -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1, 
    4682    -1,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1, 
    4683    -1,  315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1, 
    4684    -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1,  333, 
    4685   334,  335,  336,  337,   -1,  339,  340,  341,  342,  343, 
    4686   344,  345,  346,  347,  348,  349,  350,  351,  352,  353, 
    4687   354,   -1,   -1,  357,  358,  359,   -1,  361,  362,  363, 
    4688    -1,  365,  366,  367,   -1,    0,  370,   -1,  372,   -1, 
    4689    -1,  375,  376,  377,  378,   10,  380,  381,  382,  383, 
    4690    -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393, 
    4691   394,  395,  396,  397,  398,  399,   -1,  401,  402,  403, 
    4692   404,  405,   -1,   -1,  408,   -1,   41,  256,   43,   44, 
    4693    45,  415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1, 
    4694   424,  425,  271,   -1,   -1,   -1,  275,   -1,  277,   -1, 
    4695    -1,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    4696   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    4697    -1,   -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1, 
    4698    -1,   -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1, 
    4699    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328, 
    4700   329,   -1,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    4701   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    4702   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    4703   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    4704     0,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    4705    10,  380,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    4706   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    4707   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    4708    -1,   41,   -1,   -1,   44,   -1,  415,  416,  417,   -1, 
    4709    -1,   -1,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1, 
    4710    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4711    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4712    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4713    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4714    -1,  256,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4715    -1,   -1,   -1,   -1,   -1,   -1,  271,   -1,   -1,   -1, 
    4716   275,   -1,  277,   -1,   -1,  280,  281,  282,  283,  284, 
    4717   285,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1, 
    4718    -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1,   -1, 
    4719    -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   -1, 
    4720   315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1, 
    4721    -1,  326,   -1,  328,  329,   -1,  331,   -1,  333,  334, 
    4722   335,  336,  337,   -1,  339,  340,  341,  342,  343,  344, 
    4723   345,  346,  347,  348,  349,  350,  351,  352,  353,  354, 
    4724    -1,   -1,  357,  358,  359,   -1,  361,  362,  363,   -1, 
    4725   365,  366,  367,   -1,    0,  370,   -1,  372,   -1,   -1, 
    4726   375,  376,  377,  378,   10,   -1,  381,  382,  383,   -1, 
    4727    -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394, 
    4728   395,  396,  397,  398,  399,   -1,  401,  402,  403,  404, 
    4729   405,   -1,   -1,  408,   -1,   41,  256,   -1,   44,   -1, 
    4730   415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424, 
    4731   425,  271,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4732   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4733   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4734    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4735    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4736   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4737    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4738   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4739   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4740    -1,  361,  362,  363,   -1,  365,  366,  367,   -1,    0, 
    4741   370,   -1,  372,   -1,   -1,  375,  376,  377,  378,   10, 
    4742    -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389, 
    4743    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4744    -1,  401,  402,  403,  404,  405,   -1,   -1,  408,   -1, 
    4745    41,   -1,   -1,   44,   -1,  415,  416,  417,   -1,   -1, 
    4746    -1,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1,   -1, 
    4747    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4748    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4749    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4750    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4751   256,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4752    -1,   -1,   -1,   -1,   -1,  271,   -1,   -1,   -1,  275, 
    4753    -1,  277,   -1,   -1,  280,  281,  282,  283,  284,  285, 
    4754   286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1, 
    4755   296,  297,   -1,   -1,   -1,  301,  302,   -1,   -1,   -1, 
    4756    -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   -1,  315, 
    4757   316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1, 
    4758   326,   -1,  328,  329,   -1,  331,   -1,  333,  334,  335, 
    4759   336,  337,   -1,  339,  340,  341,  342,  343,  344,  345, 
    4760   346,  347,  348,  349,  350,  351,  352,  353,  354,   -1, 
    4761    -1,  357,  358,  359,   -1,  361,  362,  363,   -1,  365, 
    4762   366,  367,   -1,    0,  370,   -1,  372,   -1,   -1,  375, 
    4763   376,  377,  378,   10,   -1,  381,  382,  383,   -1,   -1, 
    4764    -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394,  395, 
    4765   396,  397,  398,  399,   -1,  401,  402,  403,  404,  405, 
    4766    -1,   -1,  408,   -1,   41,  256,   -1,   44,   -1,  415, 
    4767   416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425, 
    4768   271,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1,  280, 
    4769   281,  282,  283,  284,  285,  286,   -1,   -1,  289,  290, 
    4770   291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1, 
    4771   301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4772   311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1,  320, 
    4773    -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1, 
    4774   331,   -1,  333,  334,  335,  336,  337,   -1,  339,  340, 
    4775   341,  342,  343,  344,  345,  346,  347,  348,  349,  350, 
    4776   351,  352,  353,  354,   -1,   -1,  357,  358,  359,   -1, 
    4777   361,  362,  363,   -1,  365,  366,  367,   -1,    0,  370, 
    4778    -1,  372,   -1,   -1,  375,  376,  377,  378,   10,   -1, 
    4779   381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1, 
    4780    -1,  392,  393,  394,  395,  396,  397,  398,  399,   -1, 
    4781   401,  402,  403,  404,  405,   -1,   -1,  408,   -1,   -1, 
    4782    42,   -1,   44,   -1,  415,  416,  417,   -1,   -1,   -1, 
    4783    -1,   -1,   -1,  424,  425,   -1,   -1,   -1,   -1,   61, 
    4784    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4785    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4786    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4787    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  256, 
    4788    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4789    -1,   -1,   -1,   -1,  271,   -1,   -1,   -1,  275,   -1, 
    4790   277,   -1,   -1,  280,  281,  282,  283,  284,  285,  286, 
    4791    -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296, 
    4792   297,   -1,   -1,   -1,  301,  302,   -1,   -1,   -1,   -1, 
    4793    -1,   -1,   -1,   -1,  311,   -1,   -1,   -1,  315,  316, 
    4794    -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326, 
    4795    -1,  328,  329,   -1,  331,   -1,  333,  334,  335,  336, 
    4796   337,   -1,  339,  340,  341,  342,  343,  344,  345,  346, 
    4797   347,  348,  349,  350,  351,  352,  353,  354,   -1,   -1, 
    4798   357,  358,  359,   -1,  361,  362,  363,   -1,  365,  366, 
    4799   367,   -1,    0,  370,   -1,  372,   -1,   -1,  375,  376, 
    4800   377,  378,   10,   -1,  381,  382,  383,   -1,   -1,   -1, 
    4801    -1,   -1,  389,   -1,   -1,  392,  393,  394,  395,  396, 
    4802   397,  398,  399,   -1,  401,  402,  403,  404,  405,   -1, 
    4803    -1,  408,   -1,   41,  256,   -1,   44,   -1,  415,  416, 
    4804   417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425,   -1, 
    4805    -1,   -1,   -1,  275,   -1,  277,   -1,   -1,  280,  281, 
    4806   282,  283,  284,  285,  286,   -1,   -1,  289,  290,  291, 
    4807    -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301, 
    4808   302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  311, 
    4809    -1,   -1,   -1,  315,  316,   -1,   -1,   -1,  320,   -1, 
    4810    -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331, 
    4811    -1,  333,  334,  335,  336,  337,   -1,  339,  340,  341, 
    4812   342,  343,  344,  345,  346,  347,  348,  349,  350,  351, 
    4813   352,  353,  354,   -1,   -1,  357,  358,  359,   -1,  361, 
    4814   362,  363,   -1,  365,  366,  367,   -1,    0,  370,   -1, 
    4815   372,   -1,   -1,  375,  376,  377,  378,   10,   -1,  381, 
    4816   382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1, 
    4817   392,  393,  394,  395,  396,  397,  398,  399,   -1,  401, 
    4818   402,  403,  404,  405,   -1,   -1,  408,   -1,   41,   -1, 
    4819    -1,   44,   -1,  415,  416,  417,   -1,   -1,   -1,   -1, 
    4820    -1,   -1,  424,  425,   -1,   -1,   -1,   -1,   -1,   -1, 
    4821    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4822    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4823    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4824    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  256,   -1, 
    4825    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4826    -1,   -1,   -1,  271,   -1,   -1,   -1,  275,   -1,  277, 
    4827    -1,   -1,  280,  281,  282,  283,  284,  285,  286,   -1, 
    4828    -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296,  297, 
    4829    -1,   -1,   -1,  301,  302,   -1,   -1,   -1,   -1,   -1, 
    4830    -1,   -1,   -1,  311,    0,   -1,   -1,  315,  316,   -1, 
    4831    -1,   -1,  320,   -1,   10,   -1,   -1,   -1,  326,   -1, 
    4832   328,  329,   -1,  331,   -1,  333,  334,  335,  336,  337, 
    4833    -1,  339,  340,  341,  342,  343,  344,  345,  346,  347, 
    4834   348,  349,  350,  351,  352,  353,  354,   -1,   -1,  357, 
    4835   358,  359,   -1,  361,  362,  363,   -1,  365,  366,  367, 
    4836    -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376,  377, 
    4837   378,   -1,   -1,  381,  382,  383,   -1,   -1,   -1,   -1, 
    4838    -1,  389,   -1,   -1,  392,  393,  394,  395,  396,  397, 
    4839   398,  399,   -1,  401,  402,  403,  404,  405,   -1,   -1, 
    4840   408,   -1,   -1,  256,   -1,   -1,   -1,  415,  416,  417, 
    4841    -1,   -1,   -1,   -1,   -1,   -1,  424,  425,  271,   -1, 
    4842    -1,   -1,  275,   -1,  277,   -1,   -1,  280,  281,  282, 
    4843   283,  284,  285,  286,   -1,   -1,  289,  290,  291,   -1, 
    4844    -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302, 
    4845    -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,  311,   -1, 
    4846    -1,   -1,  315,  316,   -1,   10,   -1,  320,   -1,   -1, 
    4847    -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1, 
    4848   333,  334,  335,  336,  337,   -1,  339,  340,  341,  342, 
    4849   343,  344,  345,  346,  347,  348,  349,  350,  351,  352, 
    4850   353,  354,   -1,   -1,  357,  358,  359,   -1,  361,  362, 
    4851   363,   -1,  365,  366,  367,   -1,   -1,  370,   -1,  372, 
    4852    -1,   -1,  375,  376,  377,  378,   -1,   -1,  381,  382, 
    4853   383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392, 
    4854   393,  394,  395,  396,  397,  398,  399,   -1,  401,  402, 
    4855   403,  404,  405,   -1,   -1,  408,   -1,   -1,   -1,   -1, 
    4856   256,   -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1, 
    4857    -1,  424,  425,   -1,   -1,  271,  272,   -1,   -1,  275, 
    4858    -1,  277,   -1,   -1,  280,  281,  282,  283,  284,  285, 
    4859   286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1, 
    4860   296,  297,   -1,   -1,   -1,  301,  302,   -1,   -1,   -1, 
    4861    -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   -1,  315, 
    4862   316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1, 
    4863   326,   -1,  328,  329,   -1,  331,   -1,  333,  334,  335, 
    4864   336,  337,   -1,  339,  340,  341,  342,  343,  344,  345, 
    4865   346,  347,  348,  349,  350,  351,  352,  353,  354,   -1, 
    4866    -1,  357,  358,  359,   -1,  361,  362,  363,   -1,  365, 
    4867   366,  367,   -1,    0,  370,   -1,  372,   -1,   -1,  375, 
    4868   376,  377,  378,   10,   -1,  381,  382,  383,   -1,   -1, 
    4869    -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394,  395, 
    4870   396,  397,  398,  399,   -1,  401,  402,  403,  404,  405, 
    4871    -1,  256,  408,   -1,   41,   -1,   -1,   -1,   -1,  415, 
    4872   416,  417,   -1,   -1,   -1,   -1,  271,  272,  424,  425, 
    4873   275,   58,  277,   -1,   -1,  280,  281,  282,  283,  284, 
    4874   285,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1, 
    4875    -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1,   -1, 
    4876    -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   -1, 
    4877   315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1, 
    4878    -1,  326,   -1,  328,  329,   -1,  331,   -1,  333,  334, 
    4879   335,  336,  337,   -1,  339,  340,  341,  342,  343,  344, 
    4880   345,  346,  347,  348,  349,  350,  351,  352,  353,  354, 
    4881    -1,   -1,  357,  358,  359,   -1,  361,  362,  363,   -1, 
    4882   365,  366,  367,   -1,    0,  370,   -1,  372,   -1,   -1, 
    4883   375,  376,  377,  378,   10,   -1,  381,  382,  383,   -1, 
    4884    -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394, 
    4885   395,  396,  397,  398,  399,   -1,  401,  402,  403,  404, 
    4886   405,   -1,   -1,  408,   -1,   -1,   -1,   -1,   44,   -1, 
    4887   415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424, 
    4888   425,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4889    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4890    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4891    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4892    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  256, 
    4893    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4894    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  275,   -1, 
    4895   277,   -1,   -1,  280,  281,  282,  283,  284,  285,  286, 
    4896    -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296, 
    4897   297,   -1,   -1,   -1,  301,  302,   -1,   -1,   -1,   -1, 
    4898     0,   -1,   -1,   -1,  311,   -1,   -1,   -1,  315,  316, 
    4899    10,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326, 
    4900    -1,  328,  329,   -1,  331,   -1,  333,  334,  335,  336, 
    4901   337,   -1,  339,  340,  341,  342,  343,  344,  345,  346, 
    4902   347,  348,  349,  350,  351,  352,  353,  354,   -1,   -1, 
    4903   357,  358,  359,   -1,  361,  362,  363,   -1,  365,  366, 
    4904   367,   -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376, 
    4905   377,  378,   -1,   -1,  381,  382,  383,   -1,   -1,   -1, 
    4906    -1,   -1,  389,   -1,   -1,  392,  393,  394,  395,  396, 
    4907   397,  398,  399,   -1,  401,  402,  403,  404,  405,   -1, 
    4908   256,  408,   -1,   -1,   -1,   -1,   -1,   -1,  415,  416, 
    4909   417,   -1,   -1,   -1,   -1,  271,  272,  424,  425,  275, 
    4910    -1,  277,   -1,   -1,  280,  281,  282,  283,  284,  285, 
    4911   286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1, 
    4912   296,  297,   -1,   -1,   -1,  301,  302,   -1,   -1,   -1, 
    4913    -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   -1,  315, 
    4914   316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1, 
    4915   326,   -1,  328,  329,   -1,  331,   -1,  333,  334,  335, 
    4916   336,  337,   -1,  339,  340,  341,  342,  343,  344,  345, 
    4917   346,  347,  348,  349,  350,  351,  352,  353,  354,   -1, 
    4918    -1,  357,  358,  359,   -1,  361,  362,  363,   -1,  365, 
    4919   366,  367,   -1,    0,  370,   -1,  372,   -1,   -1,  375, 
    4920   376,  377,  378,   10,   -1,  381,  382,  383,   -1,   -1, 
    4921    -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394,  395, 
    4922   396,  397,  398,  399,   -1,  401,  402,  403,  404,  405, 
    4923    -1,   -1,  408,   -1,   -1,   42,  256,   44,   -1,  415, 
    4924   416,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425, 
    4925    -1,  271,  272,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4926   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4927   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4928    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4929    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4930   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4931    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4932   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4933   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4934    -1,  361,  362,  363,    0,  365,  366,  367,   -1,   -1, 
    4935   370,   -1,  372,   -1,   10,  375,  376,  377,  378,   -1, 
    4936    -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389, 
    4937    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4938    -1,  401,  402,  403,  404,  405,   -1,   -1,  408,   -1, 
    4939    -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1,   -1, 
    4940    -1,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1,   -1, 
    4941    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4942    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4943    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4944    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  256, 
    4945    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4946    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  275,   -1, 
    4947   277,   -1,   -1,  280,  281,  282,  283,  284,  285,  286, 
    4948    -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296, 
    4949   297,   -1,   -1,   -1,  301,  302,   -1,   -1,   -1,   -1, 
    4950     0,   -1,   -1,   -1,  311,   -1,   -1,   -1,  315,  316, 
    4951    10,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326, 
    4952    -1,  328,  329,   -1,  331,   -1,  333,  334,  335,  336, 
    4953   337,   -1,  339,  340,  341,  342,  343,  344,  345,  346, 
    4954   347,  348,  349,  350,  351,  352,  353,  354,   -1,   -1, 
    4955   357,  358,  359,   -1,  361,  362,  363,   -1,  365,  366, 
    4956   367,   -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376, 
    4957   377,  378,   -1,   -1,  381,  382,  383,   -1,   -1,   -1, 
    4958    -1,   -1,  389,   -1,   -1,  392,  393,  394,  395,  396, 
    4959   397,  398,  399,   -1,  401,  402,  403,  404,  405,   -1, 
    4960   256,  408,   -1,   -1,   -1,   -1,   -1,   -1,  415,  416, 
    4961   417,   -1,   -1,   -1,   -1,  271,  272,  424,  425,  275, 
    4962    -1,  277,   -1,   -1,  280,  281,  282,  283,  284,  285, 
    4963   286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1, 
    4964   296,  297,   -1,   -1,   -1,  301,  302,   -1,   -1,   -1, 
    4965    -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   -1,  315, 
    4966   316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1, 
    4967   326,   -1,  328,  329,   -1,  331,   -1,  333,  334,  335, 
    4968   336,  337,   -1,  339,  340,  341,  342,  343,  344,  345, 
    4969   346,  347,  348,  349,  350,  351,  352,  353,  354,   -1, 
    4970    -1,  357,  358,  359,   -1,  361,  362,  363,   -1,  365, 
    4971   366,  367,   -1,    0,  370,   -1,  372,   -1,   -1,  375, 
    4972   376,  377,  378,   10,   -1,  381,  382,  383,   -1,   -1, 
    4973    -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394,  395, 
    4974   396,  397,  398,  399,   -1,  401,  402,  403,  404,  405, 
    4975    -1,   -1,  408,   -1,   41,   -1,  256,   44,   -1,  415, 
    4976   416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425, 
    4977    -1,  271,  272,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    4978   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    4979   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    4980    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4981    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    4982   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    4983    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    4984   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    4985   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    4986    -1,  361,  362,  363,   -1,  365,  366,  367,   -1,    0, 
    4987   370,   -1,  372,   -1,   -1,  375,  376,  377,  378,   10, 
    4988    -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389, 
    4989    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    4990    -1,  401,  402,  403,  404,  405,   -1,   -1,  408,   -1, 
    4991    41,   -1,   -1,   44,   -1,  415,  416,  417,   -1,   -1, 
    4992    -1,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1,   -1, 
    4993    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4994    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4995    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4996    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  256, 
    4997    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    4998    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  275,   -1, 
    4999   277,   -1,   -1,  280,  281,  282,  283,  284,  285,  286, 
    5000    -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296, 
    5001   297,   -1,   -1,   -1,  301,  302,   -1,   -1,   -1,   -1, 
    5002    -1,   -1,   -1,   -1,  311,   -1,   -1,   -1,  315,  316, 
    5003    -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326, 
    5004    -1,  328,  329,   -1,  331,   -1,  333,  334,  335,  336, 
    5005   337,   -1,  339,  340,  341,  342,  343,  344,  345,  346, 
    5006   347,  348,  349,  350,  351,  352,  353,  354,   -1,   -1, 
    5007   357,  358,  359,   -1,  361,  362,  363,   -1,  365,  366, 
    5008   367,   -1,    0,  370,   -1,  372,   -1,   -1,  375,  376, 
    5009   377,  378,   10,   -1,  381,  382,  383,   -1,   -1,   -1, 
    5010    -1,   -1,  389,   -1,   -1,  392,  393,  394,  395,  396, 
    5011   397,  398,  399,   -1,  401,  402,  403,  404,  405,   -1, 
    5012    -1,  408,   -1,   41,   -1,  256,   44,   -1,  415,  416, 
    5013   417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425,   -1, 
    5014    -1,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1,  280, 
    5015   281,  282,  283,  284,  285,  286,   -1,   -1,  289,  290, 
    5016   291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1, 
    5017   301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5018   311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1,  320, 
    5019    -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1, 
    5020   331,   -1,  333,  334,  335,  336,  337,   -1,  339,  340, 
    5021   341,  342,  343,  344,  345,  346,  347,  348,  349,  350, 
    5022   351,  352,  353,  354,   -1,   -1,  357,  358,  359,   -1, 
    5023   361,  362,  363,   -1,  365,  366,  367,   -1,    0,  370, 
    5024    -1,  372,   -1,   -1,  375,  376,  377,  378,   10,   -1, 
    5025   381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1, 
    5026    -1,  392,  393,  394,  395,  396,  397,  398,  399,   -1, 
    5027   401,  402,  403,  404,  405,   -1,   -1,  408,   -1,   41, 
    5028    -1,   -1,   44,   -1,  415,  416,  417,   -1,   -1,   -1, 
    5029    -1,   -1,   -1,  424,  425,   -1,   -1,   -1,   -1,   -1, 
    5030    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5031    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5032    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5033    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  256,   -1, 
    5034    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5035    -1,   -1,   -1,   -1,   -1,   -1,   -1,  275,   -1,  277, 
    5036    -1,   -1,  280,  281,  282,  283,  284,  285,  286,   -1, 
    5037    -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296,  297, 
    5038    -1,   -1,   -1,  301,  302,   -1,   -1,   -1,   -1,   -1, 
    5039    -1,   -1,   -1,  311,   -1,   -1,   -1,  315,  316,   -1, 
    5040    -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1, 
    5041   328,  329,   -1,  331,   -1,  333,  334,  335,  336,  337, 
    5042    -1,  339,  340,  341,  342,  343,  344,  345,  346,  347, 
    5043   348,  349,  350,  351,  352,  353,  354,   -1,   -1,  357, 
    5044   358,  359,   -1,  361,  362,  363,   -1,  365,  366,  367, 
    5045    -1,    0,  370,   -1,  372,   -1,   -1,  375,  376,  377, 
    5046   378,   10,   -1,  381,  382,  383,   -1,   -1,   -1,   -1, 
    5047    -1,  389,   -1,   -1,  392,  393,  394,  395,  396,  397, 
    5048   398,  399,   -1,  401,  402,  403,  404,  405,   -1,   -1, 
    5049   408,   -1,   41,   -1,  256,   44,   -1,  415,  416,  417, 
    5050    -1,   -1,   -1,   -1,   -1,   -1,  424,  425,   -1,   -1, 
    5051    -1,   -1,   -1,  275,   -1,  277,   -1,   -1,  280,  281, 
    5052   282,  283,  284,  285,  286,   -1,   -1,  289,  290,  291, 
    5053    -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301, 
    5054   302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  311, 
    5055    -1,   -1,   -1,  315,  316,   -1,   -1,   -1,  320,   -1, 
    5056    -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331, 
    5057    -1,  333,  334,  335,  336,  337,   -1,  339,  340,  341, 
    5058   342,  343,  344,  345,  346,  347,  348,  349,  350,  351, 
    5059   352,  353,  354,   -1,   -1,  357,  358,  359,   -1,  361, 
    5060   362,  363,   -1,  365,  366,  367,   -1,    0,  370,   -1, 
    5061   372,   -1,   -1,  375,  376,  377,  378,   10,   -1,  381, 
    5062   382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1, 
    5063   392,  393,  394,  395,  396,  397,  398,  399,   -1,  401, 
    5064   402,  403,  404,  405,   -1,   -1,  408,   -1,   -1,   -1, 
    5065    -1,   44,   -1,  415,  416,  417,   -1,   -1,   -1,   -1, 
    5066    -1,   -1,  424,  425,   -1,   -1,   -1,   -1,   -1,   -1, 
    5067    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5068    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5069    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5070    -1,   -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,   -1, 
    5071    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5072    -1,   -1,   -1,   -1,   -1,   -1,  275,   -1,  277,   -1, 
    5073    -1,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    5074   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    5075    -1,   -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1, 
    5076    -1,   -1,  311,    0,   -1,   -1,  315,  316,   -1,   -1, 
    5077    -1,  320,   -1,   10,   -1,   -1,   -1,  326,   -1,  328, 
    5078   329,   -1,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    5079   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    5080   349,  350,  351,  352,  353,  354,   -1,   44,  357,  358, 
    5081   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    5082    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    5083    -1,   -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    5084   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    5085   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    5086    -1,   -1,   -1,  256,   -1,   -1,  415,  416,  417,   -1, 
    5087    -1,   -1,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1, 
    5088    -1,   -1,  275,   -1,  277,   -1,   -1,  280,  281,  282, 
    5089   283,  284,  285,  286,   -1,   -1,  289,  290,  291,   -1, 
    5090    -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302, 
    5091    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  311,    0, 
    5092    -1,   -1,  315,  316,   -1,   -1,   -1,  320,   -1,   10, 
    5093    -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1, 
    5094   333,  334,  335,  336,  337,   -1,  339,  340,  341,  342, 
    5095   343,  344,  345,  346,  347,  348,  349,  350,  351,  352, 
    5096   353,  354,   -1,   44,  357,  358,  359,   -1,  361,  362, 
    5097   363,   -1,  365,  366,  367,   -1,   -1,  370,   -1,  372, 
    5098    -1,   -1,  375,  376,  377,  378,   -1,  380,  381,  382, 
    5099   383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392, 
    5100   393,  394,  395,  396,  397,  398,  399,   -1,  401,  402, 
    5101   403,  404,  405,   -1,   -1,  408,   -1,   -1,   -1,  256, 
    5102    -1,   -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1, 
    5103    -1,  424,  425,   -1,   -1,   -1,   -1,   -1,  275,   -1, 
    5104   277,   -1,   -1,  280,  281,  282,  283,  284,  285,  286, 
    5105    -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296, 
    5106   297,   -1,   -1,   -1,  301,  302,   -1,   -1,   -1,   -1, 
    5107    -1,   -1,   -1,   -1,  311,    0,   -1,   -1,  315,  316, 
    5108    -1,   -1,   -1,  320,   -1,   10,   -1,   -1,   -1,  326, 
    5109    -1,  328,  329,   -1,  331,   -1,  333,  334,  335,  336, 
    5110   337,   -1,  339,  340,  341,  342,  343,  344,  345,  346, 
    5111   347,  348,  349,  350,  351,  352,  353,  354,   -1,   44, 
    5112   357,  358,  359,   -1,  361,  362,  363,   -1,  365,  366, 
    5113   367,   -1,   -1,  370,   -1,  372,   61,   -1,  375,  376, 
    5114   377,  378,   -1,  380,  381,  382,  383,   -1,   -1,   -1, 
    5115    -1,   -1,  389,   -1,   -1,  392,  393,  394,  395,  396, 
    5116   397,  398,  399,   -1,  401,  402,  403,  404,  405,   -1, 
    5117    -1,  408,   -1,   -1,   -1,  256,   -1,   -1,  415,  416, 
    5118   417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425,   -1, 
    5119    -1,   -1,   -1,   -1,  275,   -1,  277,   -1,   -1,  280, 
    5120   281,  282,  283,  284,  285,  286,   -1,   -1,  289,  290, 
    5121   291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1, 
    5122   301,  302,   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1, 
    5123   311,   -1,   -1,   -1,  315,  316,   10,   -1,   -1,  320, 
    5124    -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1, 
    5125   331,   -1,  333,  334,  335,  336,  337,   -1,  339,  340, 
    5126   341,  342,  343,  344,  345,  346,  347,  348,  349,  350, 
    5127   351,  352,  353,  354,   -1,   -1,  357,  358,  359,   -1, 
    5128   361,  362,  363,   -1,  365,  366,  367,   -1,   -1,  370, 
    5129    -1,  372,   -1,   -1,  375,  376,  377,  378,   -1,  380, 
    5130   381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1, 
    5131    -1,  392,  393,  394,  395,  396,  397,  398,  399,   -1, 
    5132   401,  402,  403,  404,  405,   -1,   -1,  408,   -1,   -1, 
    5133    -1,  256,   -1,   -1,  415,  416,  417,   -1,   -1,   -1, 
    5134    -1,   -1,   -1,  424,  425,   -1,   -1,   -1,   -1,   -1, 
    5135   275,   -1,  277,   -1,   -1,  280,  281,  282,  283,  284, 
    5136   285,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1, 
    5137    -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1,   -1, 
    5138    -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   -1, 
    5139   315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1, 
    5140    -1,  326,   -1,  328,  329,   -1,  331,   -1,  333,  334, 
    5141   335,  336,  337,   -1,  339,  340,  341,  342,  343,  344, 
    5142   345,  346,  347,  348,  349,  350,  351,  352,  353,  354, 
    5143    -1,   -1,  357,  358,  359,   -1,  361,  362,  363,   -1, 
    5144   365,  366,  367,   -1,    0,  370,   -1,  372,   -1,   -1, 
    5145   375,  376,  377,  378,   10,   -1,  381,  382,  383,   -1, 
    5146    -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394, 
    5147   395,  396,  397,  398,  399,   -1,  401,  402,  403,  404, 
    5148   405,   -1,  256,  408,   -1,   -1,   -1,   -1,   44,   -1, 
    5149   415,  416,  417,   -1,   -1,   -1,   -1,  271,  272,  424, 
    5150   425,  275,   -1,  277,   -1,   61,  280,  281,  282,  283, 
    5151   284,  285,  286,   -1,   -1,  289,  290,  291,   -1,   -1, 
    5152    -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1, 
    5153    -1,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1, 
    5154    -1,  315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1, 
    5155    -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1,  333, 
    5156   334,  335,  336,  337,   -1,  339,  340,  341,  342,  343, 
    5157   344,  345,  346,  347,  348,  349,  350,  351,  352,  353, 
    5158   354,   -1,   -1,  357,  358,  359,   -1,  361,  362,  363, 
    5159    -1,  365,  366,  367,   -1,    0,  370,   -1,  372,   -1, 
    5160    -1,  375,  376,  377,  378,   10,   -1,  381,  382,  383, 
    5161    -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393, 
    5162   394,  395,  396,  397,  398,  399,   -1,  401,  402,  403, 
    5163   404,  405,   -1,   -1,  408,   -1,   41,   -1,   -1,   44, 
    5164    -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1, 
    5165   424,  425,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5166    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5167    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5168    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5169    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5170   256,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5171    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  275, 
    5172    -1,  277,   -1,   -1,  280,  281,  282,  283,  284,  285, 
    5173   286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1, 
    5174   296,  297,   -1,   -1,   -1,  301,  302,   -1,    0,   -1, 
    5175    -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   10,  315, 
    5176   316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1, 
    5177   326,   -1,  328,  329,   -1,  331,   -1,  333,  334,  335, 
    5178   336,  337,   -1,  339,  340,  341,  342,  343,  344,  345, 
    5179   346,  347,  348,  349,  350,  351,  352,  353,  354,   -1, 
    5180    -1,  357,  358,  359,   -1,  361,  362,  363,   -1,  365, 
    5181   366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1,  375, 
    5182   376,  377,  378,   -1,   -1,  381,  382,  383,   -1,   -1, 
    5183    -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394,  395, 
    5184   396,  397,  398,  399,   -1,  401,  402,  403,  404,  405, 
    5185    -1,  256,  408,   -1,   -1,   -1,   -1,   -1,   -1,  415, 
    5186   416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425, 
    5187   275,   -1,  277,   -1,   -1,  280,  281,  282,  283,  284, 
    5188   285,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1, 
    5189    -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1,    0, 
    5190    -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   10, 
    5191   315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1, 
    5192    -1,  326,   -1,  328,  329,   -1,  331,   -1,  333,  334, 
    5193   335,  336,  337,   -1,  339,  340,  341,  342,  343,  344, 
    5194   345,  346,  347,  348,  349,  350,  351,  352,  353,  354, 
    5195    -1,   -1,  357,  358,  359,   -1,  361,  362,  363,   -1, 
    5196   365,  366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1, 
    5197   375,  376,  377,  378,   -1,   -1,  381,  382,  383,   -1, 
    5198    -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394, 
    5199   395,  396,  397,  398,  399,   -1,  401,  402,  403,  404, 
    5200   405,   -1,   -1,  408,  256,   -1,   -1,   -1,   -1,   -1, 
    5201   415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424, 
    5202   425,   -1,   -1,  275,   -1,  277,  278,   -1,  280,  281, 
    5203   282,  283,  284,  285,  286,   -1,   -1,  289,  290,  291, 
    5204    -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301, 
    5205   302,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,  311, 
    5206    -1,   -1,   10,  315,  316,   -1,   -1,   -1,  320,   -1, 
    5207    -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331, 
    5208    -1,  333,  334,  335,  336,  337,   -1,  339,  340,  341, 
    5209   342,  343,  344,  345,  346,  347,  348,  349,  350,  351, 
    5210   352,  353,  354,   -1,   -1,  357,  358,  359,   -1,  361, 
    5211   362,  363,   -1,  365,  366,  367,   -1,   -1,  370,   -1, 
    5212   372,   -1,   -1,  375,  376,  377,  378,   -1,   -1,  381, 
    5213   382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1, 
    5214   392,  393,  394,  395,  396,  397,  398,  399,   -1,  401, 
    5215   402,  403,  404,  405,   -1,  256,  408,   -1,   -1,   -1, 
    5216    -1,   -1,   -1,  415,  416,  417,   -1,   -1,   -1,   -1, 
    5217    -1,   -1,  424,  425,  275,   -1,  277,   -1,   -1,  280, 
    5218   281,  282,  283,  284,  285,  286,   -1,   -1,  289,  290, 
    5219   291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1, 
    5220   301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5221   311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1,  320, 
    5222    -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1, 
    5223   331,   -1,  333,  334,  335,  336,  337,   -1,  339,  340, 
    5224   341,  342,  343,  344,  345,  346,  347,  348,  349,  350, 
    5225   351,  352,  353,  354,   -1,   -1,  357,  358,  359,   -1, 
    5226   361,  362,  363,   -1,  365,  366,  367,   -1,    0,  370, 
    5227    -1,  372,   -1,   -1,  375,  376,  377,  378,   10,  380, 
    5228   381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1, 
    5229    -1,  392,  393,  394,  395,  396,  397,  398,  399,   -1, 
    5230   401,  402,  403,  404,  405,   -1,   -1,  408,  256,   41, 
    5231    -1,   -1,   44,   -1,  415,  416,  417,   -1,   -1,   -1, 
    5232    -1,   -1,   -1,  424,  425,   -1,   -1,  275,   -1,  277, 
    5233    -1,   -1,  280,  281,  282,  283,  284,  285,  286,   -1, 
    5234    -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296,  297, 
    5235    -1,   -1,   -1,  301,  302,   -1,   -1,   -1,   -1,   -1, 
    5236    -1,   -1,   -1,  311,   -1,   -1,   -1,  315,  316,   -1, 
    5237    -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1, 
    5238   328,  329,   -1,  331,   -1,  333,  334,  335,  336,  337, 
    5239    -1,  339,  340,  341,  342,  343,  344,  345,  346,  347, 
    5240   348,  349,  350,  351,  352,  353,  354,   -1,   -1,  357, 
    5241   358,  359,   -1,  361,  362,  363,   -1,  365,  366,  367, 
    5242    -1,    0,  370,   -1,  372,   -1,   -1,  375,  376,  377, 
    5243   378,   10,  380,  381,  382,  383,   -1,   -1,   -1,   -1, 
    5244    -1,  389,   -1,   -1,  392,  393,  394,  395,  396,  397, 
    5245   398,  399,   -1,  401,  402,  403,  404,  405,   -1,   -1, 
    5246   408,   -1,   -1,   -1,   -1,   44,   -1,  415,  416,  417, 
    5247    -1,   -1,   -1,   -1,   -1,   -1,  424,  425,   -1,   -1, 
    5248    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5249    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5250    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5251    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5252    -1,   -1,   -1,   -1,  256,   -1,   -1,   -1,   -1,   -1, 
    5253    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5254    -1,   -1,   -1,  275,   -1,  277,   -1,   -1,  280,  281, 
    5255   282,  283,  284,  285,  286,   -1,   -1,  289,  290,  291, 
    5256    -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301, 
    5257   302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  311, 
    5258    -1,   -1,   -1,  315,  316,   -1,   -1,   -1,  320,   -1, 
    5259    -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331, 
    5260    -1,  333,  334,  335,  336,  337,   -1,  339,  340,  341, 
    5261   342,  343,  344,  345,  346,  347,  348,  349,  350,  351, 
    5262   352,  353,  354,   -1,   -1,  357,  358,  359,   -1,  361, 
    5263   362,  363,   -1,  365,  366,  367,   -1,    0,  370,   -1, 
    5264   372,   -1,   -1,  375,  376,  377,  378,   10,   -1,  381, 
    5265   382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1, 
    5266   392,  393,  394,  395,  396,  397,  398,  399,   -1,  401, 
    5267   402,  403,  404,  405,   -1,   -1,  408,  256,   -1,   -1, 
    5268    -1,   44,   -1,  415,  416,   -1,   -1,   -1,   -1,   -1, 
    5269    -1,   -1,  424,  425,   -1,   -1,  275,   -1,  277,   -1, 
    5270    -1,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    5271   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    5272    -1,   -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1, 
    5273    -1,   -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1, 
    5274    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328, 
    5275   329,   -1,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    5276   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    5277   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    5278   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    5279     0,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    5280    10,   -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    5281   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    5282   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    5283    -1,   -1,   -1,   -1,   44,   -1,  415,  416,  417,   -1, 
    5284    -1,   -1,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1, 
    5285    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5286    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5287    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5288    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5289    -1,   -1,   -1,  256,   -1,   -1,   -1,   -1,   -1,   -1, 
    5290    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5291    -1,   -1,  275,   -1,  277,   -1,   -1,  280,  281,  282, 
    5292   283,  284,  285,  286,   -1,   -1,  289,  290,  291,   -1, 
    5293    -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302, 
    5294    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1, 
    5295    -1,   -1,  315,  316,   -1,   -1,   -1,  320,   -1,   -1, 
    5296    -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1, 
    5297   333,  334,  335,  336,  337,   -1,  339,  340,  341,  342, 
    5298   343,  344,  345,  346,  347,  348,  349,  350,  351,  352, 
    5299   353,  354,   -1,   -1,  357,  358,  359,   -1,  361,  362, 
    5300   363,   -1,  365,  366,  367,   -1,    0,  370,   -1,  372, 
    5301    -1,   -1,  375,  376,  377,  378,   10,   -1,  381,  382, 
    5302   383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392, 
    5303   393,  394,  395,  396,  397,  398,  399,   -1,  401,  402, 
    5304   403,  404,  405,   -1,   -1,  408,  256,   -1,   -1,   -1, 
    5305    44,   -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1, 
    5306    -1,  424,  425,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    5307   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    5308   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    5309    -1,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5310    -1,  311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1, 
    5311   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    5312    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    5313   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    5314   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    5315    -1,  361,  362,  363,   -1,  365,  366,  367,   -1,    0, 
    5316   370,   -1,  372,   -1,   -1,  375,  376,  377,  378,   10, 
    5317    -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389, 
    5318    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    5319    -1,  401,  402,  403,  404,  405,   -1,   -1,  408,   -1, 
    5320    -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1,   -1, 
    5321    -1,   -1,   -1,   -1,  424,  425,   -1,   -1,   -1,   -1, 
    5322    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5323    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5324    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5325    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5326    -1,   -1,  256,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5327    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5328    -1,  275,   -1,  277,   -1,   -1,  280,  281,  282,  283, 
    5329   284,  285,  286,   -1,   -1,  289,  290,  291,   -1,   -1, 
    5330    -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1, 
    5331    -1,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1, 
    5332    -1,  315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1, 
    5333    -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1,  333, 
    5334   334,  335,  336,  337,   -1,  339,  340,  341,  342,  343, 
    5335   344,  345,  346,  347,  348,  349,  350,  351,  352,  353, 
    5336   354,   -1,   -1,  357,  358,  359,   -1,  361,  362,  363, 
    5337    -1,  365,  366,  367,   -1,    0,  370,   -1,  372,   -1, 
    5338    -1,  375,  376,  377,  378,   10,   -1,  381,  382,  383, 
    5339    -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393, 
    5340   394,  395,  396,  397,  398,  399,   -1,  401,  402,  403, 
    5341   404,  405,   -1,   -1,  408,  256,   -1,   -1,   -1,   44, 
    5342    -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1, 
    5343   424,  425,   -1,   -1,  275,   -1,  277,   -1,   -1,  280, 
    5344   281,  282,  283,  284,  285,  286,   -1,   -1,  289,  290, 
    5345   291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1, 
    5346   301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5347   311,   -1,   -1,   -1,  315,  316,   -1,   -1,   -1,  320, 
    5348    -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1, 
    5349   331,   -1,  333,  334,  335,  336,  337,   -1,  339,  340, 
    5350   341,  342,  343,  344,  345,  346,  347,  348,  349,  350, 
    5351   351,  352,  353,  354,   -1,   -1,  357,  358,  359,   -1, 
    5352   361,  362,  363,   -1,  365,  366,  367,   -1,    0,  370, 
    5353    -1,  372,   -1,   -1,  375,  376,  377,  378,   10,   -1, 
    5354   381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1, 
    5355    -1,  392,  393,  394,  395,  396,  397,  398,  399,   -1, 
    5356   401,  402,  403,  404,  405,   -1,   -1,  408,   -1,   -1, 
    5357    -1,   -1,   -1,   -1,  415,  416,  417,   -1,   -1,   -1, 
    5358    -1,   -1,   -1,  424,  425,   -1,   -1,   -1,   -1,   -1, 
    5359    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5360    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5361    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5362    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5363    -1,  256,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5364    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5365   275,   -1,  277,   -1,   -1,  280,  281,  282,  283,  284, 
    5366   285,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1, 
    5367    -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1,    0, 
    5368    -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   10, 
    5369   315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1, 
    5370    -1,  326,   -1,  328,  329,   -1,  331,   -1,  333,  334, 
    5371   335,  336,  337,   -1,  339,  340,  341,  342,  343,  344, 
    5372   345,  346,  347,  348,  349,  350,  351,  352,  353,  354, 
    5373    -1,   -1,  357,  358,  359,   -1,  361,  362,  363,   -1, 
    5374   365,  366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1, 
    5375   375,  376,  377,  378,   -1,   -1,  381,  382,  383,   -1, 
    5376    -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394, 
    5377   395,  396,  397,  398,  399,   -1,  401,  402,  403,  404, 
    5378   405,   -1,   -1,  408,  256,   -1,   -1,   -1,   -1,   -1, 
    5379   415,  416,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  424, 
    5380   425,   -1,   -1,  275,   -1,  277,   -1,   -1,  280,  281, 
    5381   282,  283,  284,  285,  286,   -1,   -1,  289,  290,  291, 
    5382    -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301, 
    5383   302,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,  311, 
    5384    -1,   -1,   10,  315,  316,   -1,   -1,   -1,  320,   -1, 
    5385    -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331, 
    5386    -1,  333,  334,  335,  336,  337,   -1,  339,  340,  341, 
    5387   342,  343,  344,  345,  346,  347,  348,  349,  350,  351, 
    5388   352,  353,  354,   -1,   -1,  357,  358,  359,   -1,  361, 
    5389   362,  363,   -1,  365,  366,  367,   -1,   -1,  370,   -1, 
    5390   372,   -1,   -1,  375,  376,  377,  378,   -1,   -1,  381, 
    5391   382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1, 
    5392   392,  393,  394,  395,  396,  397,  398,  399,   -1,  401, 
    5393   402,  403,  404,  405,   -1,  256,  408,   -1,   -1,   -1, 
    5394    -1,   -1,   -1,  415,  416,  417,   -1,   -1,   -1,   -1, 
    5395    -1,   -1,  424,  425,  275,   -1,  277,   -1,   -1,  280, 
    5396   281,  282,  283,  284,  285,  286,   -1,   -1,  289,  290, 
    5397   291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1, 
    5398   301,  302,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1, 
    5399   311,   -1,   -1,   10,  315,  316,   -1,   -1,   -1,  320, 
    5400    -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1, 
    5401   331,   -1,  333,  334,  335,  336,  337,   -1,  339,  340, 
    5402   341,  342,  343,  344,  345,  346,  347,  348,  349,  350, 
    5403   351,  352,  353,  354,   -1,   -1,  357,  358,  359,   -1, 
    5404   361,  362,  363,   -1,  365,  366,  367,   -1,   -1,  370, 
    5405    -1,  372,   -1,   -1,  375,  376,  377,  378,   -1,   -1, 
    5406   381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1, 
    5407    -1,  392,  393,  394,  395,  396,  397,  398,  399,   -1, 
    5408   401,  402,  403,  404,  405,   -1,   -1,  408,  256,   -1, 
    5409    -1,   -1,   -1,   -1,  415,  416,  417,   -1,   -1,   -1, 
    5410    -1,   -1,   -1,  424,  425,   -1,   -1,  275,   -1,  277, 
    5411    -1,   -1,  280,  281,  282,  283,  284,  285,  286,   -1, 
    5412    -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296,  297, 
    5413    -1,   -1,   -1,  301,  302,   -1,    0,   -1,   -1,   -1, 
    5414    -1,   -1,   -1,  311,   -1,   -1,   10,  315,  316,   -1, 
    5415    -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1, 
    5416   328,  329,   -1,  331,   -1,  333,  334,  335,  336,  337, 
    5417    -1,  339,  340,  341,  342,  343,  344,  345,  346,  347, 
    5418   348,  349,  350,  351,  352,  353,  354,   -1,   -1,  357, 
    5419   358,  359,   -1,  361,  362,  363,   -1,  365,  366,  367, 
    5420    -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376,  377, 
    5421   378,   -1,   -1,  381,  382,  383,   -1,   -1,   -1,   -1, 
    5422    -1,  389,   -1,   -1,  392,  393,  394,  395,  396,  397, 
    5423   398,  399,   -1,  401,  402,  403,  404,  405,   -1,  256, 
    5424   408,   -1,   -1,   -1,   -1,   -1,   -1,  415,  416,  417, 
    5425    -1,   -1,   -1,   -1,   -1,   -1,  424,  425,  275,   -1, 
    5426   277,   -1,   -1,  280,  281,  282,  283,  284,  285,  286, 
    5427    -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296, 
    5428   297,   -1,   -1,   -1,  301,  302,   -1,    0,   -1,   -1, 
    5429    -1,   -1,   -1,   -1,  311,   -1,   -1,   10,  315,  316, 
    5430    -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326, 
    5431    -1,  328,  329,   -1,  331,   -1,  333,  334,  335,  336, 
    5432   337,   -1,  339,  340,  341,  342,  343,  344,  345,  346, 
    5433   347,  348,  349,  350,  351,  352,  353,  354,   -1,   -1, 
    5434   357,  358,  359,   -1,  361,  362,  363,   -1,  365,  366, 
    5435   367,   -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376, 
    5436   377,  378,   -1,   -1,  381,  382,  383,   -1,   -1,   -1, 
    5437    -1,   -1,  389,   -1,   -1,  392,  393,  394,  395,  396, 
    5438   397,  398,  399,   -1,  401,  402,  403,  404,  405,   -1, 
    5439    -1,  408,  256,   -1,   -1,   -1,   -1,   -1,  415,  416, 
    5440   417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425,   -1, 
    5441    -1,  275,   -1,  277,   -1,   -1,  280,  281,  282,  283, 
    5442   284,  285,  286,   -1,   -1,  289,  290,  291,   -1,   -1, 
    5443    -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1, 
    5444     0,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1, 
    5445    10,  315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1, 
    5446    -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1,  333, 
    5447   334,  335,  336,  337,   -1,  339,  340,  341,  342,  343, 
    5448   344,  345,  346,  347,  348,  349,  350,  351,  352,  353, 
    5449   354,   -1,   -1,  357,  358,  359,   -1,  361,  362,  363, 
    5450    -1,  365,  366,  367,   -1,   -1,  370,   -1,  372,   -1, 
    5451    -1,  375,  376,  377,  378,   -1,   -1,  381,  382,  383, 
    5452    -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393, 
    5453   394,  395,  396,  397,  398,  399,   -1,  401,  402,  403, 
    5454   404,  405,   -1,  256,  408,   -1,   -1,   -1,   -1,   -1, 
    5455    -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1, 
    5456   424,  425,  275,   -1,  277,   -1,   -1,  280,  281,  282, 
    5457   283,  284,  285,  286,   -1,   -1,  289,  290,  291,   -1, 
    5458    -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302, 
    5459    -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1, 
    5460    -1,   10,  315,  316,   -1,   -1,   -1,  320,   -1,   -1, 
    5461    -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1, 
    5462   333,  334,  335,  336,  337,   -1,  339,  340,  341,  342, 
    5463   343,  344,  345,  346,  347,  348,  349,  350,  351,  352, 
    5464   353,  354,   -1,   -1,  357,  358,  359,   -1,  361,  362, 
    5465   363,   -1,  365,  366,  367,   -1,   -1,  370,   -1,  372, 
    5466    -1,   -1,  375,  376,  377,  378,   -1,   -1,  381,  382, 
    5467   383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392, 
    5468   393,  394,  395,  396,  397,  398,  399,   -1,  401,  402, 
    5469   403,  404,  405,   -1,   -1,  408,  256,   -1,   -1,   -1, 
    5470    -1,   -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1, 
    5471    -1,  424,  425,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    5472   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    5473   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    5474    -1,  301,  302,   -1,    0,   -1,   -1,   -1,   -1,   -1, 
    5475    -1,  311,   -1,   -1,   10,  315,  316,   -1,   -1,   -1, 
    5476   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    5477    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    5478   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    5479   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    5480    -1,  361,  362,  363,   -1,  365,  366,  367,   -1,   -1, 
    5481   370,   -1,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    5482    -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389, 
    5483    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    5484    -1,  401,  402,  403,  404,  405,   -1,  256,  408,   -1, 
    5485    -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1,   -1, 
    5486    -1,   -1,   -1,   -1,  424,  425,  275,   -1,  277,   -1, 
    5487    -1,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    5488   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    5489    -1,   -1,  301,  302,   -1,    0,   -1,   -1,   -1,   -1, 
    5490    -1,   -1,  311,   -1,   -1,   10,  315,  316,   -1,   -1, 
    5491    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328, 
    5492   329,   -1,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    5493   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    5494   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    5495   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    5496    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    5497    -1,   -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    5498   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    5499   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    5500   256,   -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1, 
    5501    -1,   -1,   -1,   -1,   -1,  424,  425,   -1,   -1,  275, 
    5502    -1,  277,   -1,   -1,  280,  281,  282,  283,  284,  285, 
    5503   286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1, 
    5504   296,  297,   -1,   -1,   -1,  301,  302,   -1,    0,   -1, 
    5505    -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   10,  315, 
    5506   316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1, 
    5507   326,   -1,  328,  329,   -1,  331,   -1,  333,  334,  335, 
    5508   336,  337,   -1,  339,  340,  341,  342,  343,  344,  345, 
    5509   346,  347,  348,  349,  350,  351,  352,  353,  354,   -1, 
    5510    -1,  357,  358,  359,   -1,  361,  362,  363,   -1,  365, 
    5511   366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1,  375, 
    5512   376,  377,  378,   -1,   -1,  381,  382,  383,   -1,   -1, 
    5513    -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394,  395, 
    5514   396,  397,  398,  399,   -1,  401,  402,  403,  404,  405, 
    5515    -1,  256,  408,   -1,   -1,   -1,   -1,   -1,   -1,  415, 
    5516   416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425, 
    5517   275,   -1,  277,   -1,   -1,  280,  281,  282,  283,  284, 
    5518   285,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1, 
    5519    -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1,    0, 
    5520    -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   10, 
    5521   315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1, 
    5522    -1,  326,   -1,  328,  329,   -1,  331,   -1,  333,  334, 
    5523   335,  336,  337,   -1,  339,  340,  341,  342,  343,  344, 
    5524   345,  346,  347,  348,  349,  350,  351,  352,  353,  354, 
    5525    -1,   -1,  357,  358,  359,   -1,  361,  362,  363,   -1, 
    5526   365,  366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1, 
    5527   375,  376,  377,  378,   -1,   -1,  381,  382,  383,   -1, 
    5528    -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394, 
    5529   395,  396,  397,  398,  399,   -1,  401,  402,  403,  404, 
    5530   405,   -1,   -1,  408,  256,   -1,   -1,   -1,   -1,   -1, 
    5531   415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424, 
    5532   425,   -1,   -1,  275,   -1,  277,   -1,   -1,  280,  281, 
    5533   282,  283,  284,  285,  286,   -1,   -1,  289,  290,  291, 
    5534    -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301, 
    5535   302,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,  311, 
    5536    -1,   -1,   10,  315,  316,   -1,   -1,   -1,  320,   -1, 
    5537    -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331, 
    5538    -1,  333,  334,  335,  336,  337,   -1,  339,  340,  341, 
    5539   342,  343,  344,  345,  346,  347,  348,  349,  350,  351, 
    5540   352,  353,  354,   -1,   -1,  357,  358,  359,   -1,  361, 
    5541   362,  363,   -1,  365,  366,  367,   -1,   -1,  370,   -1, 
    5542   372,   -1,   -1,  375,  376,  377,  378,   -1,   -1,  381, 
    5543   382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1, 
    5544   392,  393,  394,  395,  396,  397,  398,  399,   -1,  401, 
    5545   402,  403,  404,  405,   -1,  256,  408,   -1,   -1,   -1, 
    5546    -1,   -1,   -1,  415,  416,  417,   -1,   -1,   -1,   -1, 
    5547    -1,   -1,  424,  425,  275,   -1,  277,   -1,   -1,  280, 
    5548   281,  282,  283,  284,  285,  286,   -1,   -1,  289,  290, 
    5549   291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1, 
    5550   301,  302,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1, 
    5551   311,   -1,   -1,   10,  315,  316,   -1,   -1,   -1,  320, 
    5552    -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1, 
    5553   331,   -1,  333,  334,  335,  336,  337,   -1,  339,  340, 
    5554   341,  342,  343,  344,  345,  346,  347,  348,  349,  350, 
    5555   351,  352,  353,  354,   -1,   -1,  357,  358,  359,   -1, 
    5556   361,  362,  363,   -1,  365,  366,  367,   -1,   -1,  370, 
    5557    -1,  372,   -1,   -1,  375,  376,  377,  378,   -1,   -1, 
    5558   381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1, 
    5559    -1,  392,  393,  394,  395,  396,  397,  398,  399,   -1, 
    5560   401,  402,  403,  404,  405,   -1,   -1,  408,  256,   -1, 
    5561    -1,   -1,   -1,   -1,  415,  416,  417,   -1,   -1,   -1, 
    5562    -1,   -1,   -1,  424,  425,   -1,   -1,  275,   -1,  277, 
    5563    -1,   -1,  280,  281,  282,  283,  284,  285,  286,   -1, 
    5564    -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296,  297, 
    5565    -1,   -1,   -1,  301,  302,   -1,    0,   -1,   -1,   -1, 
    5566    -1,   -1,   -1,  311,   -1,   -1,   10,  315,  316,   -1, 
    5567    -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1, 
    5568   328,  329,   -1,  331,   -1,  333,  334,  335,  336,  337, 
    5569    -1,  339,  340,  341,  342,  343,  344,  345,  346,  347, 
    5570   348,  349,  350,  351,  352,  353,  354,   -1,   -1,  357, 
    5571   358,  359,   -1,  361,  362,  363,   -1,  365,  366,  367, 
    5572    -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376,  377, 
    5573   378,   -1,   -1,  381,  382,  383,   -1,   -1,   -1,   -1, 
    5574    -1,  389,   -1,   -1,  392,  393,  394,  395,  396,  397, 
    5575   398,  399,   -1,  401,  402,  403,  404,  405,   -1,  256, 
    5576   408,   -1,   -1,   -1,   -1,   -1,   -1,  415,  416,  417, 
    5577    -1,   -1,   -1,   -1,   -1,   -1,  424,  425,  275,   -1, 
    5578   277,   -1,   -1,  280,  281,  282,  283,  284,  285,  286, 
    5579    -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296, 
    5580   297,   -1,   -1,   -1,  301,  302,   -1,    0,   -1,   -1, 
    5581    -1,   -1,   -1,   -1,  311,   -1,   -1,   10,  315,  316, 
    5582    -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326, 
    5583    -1,  328,  329,   -1,  331,   -1,  333,  334,  335,  336, 
    5584   337,   -1,  339,  340,  341,  342,  343,  344,  345,  346, 
    5585   347,  348,  349,  350,  351,  352,  353,  354,   -1,   -1, 
    5586   357,  358,  359,   -1,  361,  362,  363,   -1,  365,  366, 
    5587   367,   -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376, 
    5588   377,  378,   -1,   -1,  381,  382,  383,   -1,   -1,   -1, 
    5589    -1,   -1,  389,   -1,   -1,  392,  393,  394,  395,  396, 
    5590   397,  398,  399,   -1,  401,  402,  403,  404,  405,   -1, 
    5591    -1,  408,  256,   -1,   -1,   -1,   -1,   -1,  415,  416, 
    5592   417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425,   -1, 
    5593    -1,  275,   -1,  277,   -1,   -1,  280,  281,  282,  283, 
    5594   284,  285,  286,   -1,   -1,  289,  290,  291,   -1,   -1, 
    5595    -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1, 
    5596     0,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1, 
    5597    10,  315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1, 
    5598    -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1,  333, 
    5599   334,  335,  336,  337,   -1,  339,  340,  341,  342,  343, 
    5600   344,  345,  346,  347,  348,  349,  350,  351,  352,  353, 
    5601   354,   -1,   -1,  357,  358,  359,   -1,  361,  362,  363, 
    5602    -1,  365,  366,  367,   -1,   -1,  370,   -1,  372,   -1, 
    5603    -1,  375,  376,  377,  378,   -1,   -1,  381,  382,  383, 
    5604    -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393, 
    5605   394,  395,  396,  397,  398,  399,   -1,  401,  402,  403, 
    5606   404,  405,   -1,  256,  408,   -1,   -1,   -1,   -1,   -1, 
    5607    -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1, 
    5608   424,  425,  275,   -1,  277,   -1,   -1,  280,  281,  282, 
    5609   283,  284,  285,  286,   -1,   -1,  289,  290,  291,   -1, 
    5610    -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302, 
    5611    -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1, 
    5612    -1,   10,  315,  316,   -1,   -1,   -1,  320,   -1,   -1, 
    5613    -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1, 
    5614   333,  334,  335,  336,  337,   -1,  339,  340,  341,  342, 
    5615   343,  344,  345,  346,  347,  348,  349,  350,  351,  352, 
    5616   353,  354,   -1,   -1,  357,  358,  359,   -1,  361,  362, 
    5617   363,   -1,  365,  366,  367,   -1,   -1,  370,   -1,  372, 
    5618    -1,   -1,  375,  376,  377,  378,   -1,   -1,  381,  382, 
    5619   383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392, 
    5620   393,  394,  395,  396,  397,  398,  399,   -1,  401,  402, 
    5621   403,  404,  405,   -1,   -1,  408,  256,   -1,   -1,   -1, 
    5622    -1,   -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1, 
    5623    -1,  424,  425,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    5624   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    5625   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    5626    -1,  301,  302,   -1,    0,   -1,   -1,   -1,   -1,   -1, 
    5627    -1,  311,   -1,   -1,   10,  315,  316,   -1,   -1,   -1, 
    5628   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    5629    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    5630   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    5631   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    5632    -1,  361,  362,  363,   -1,  365,  366,  367,   -1,   -1, 
    5633   370,   -1,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    5634    -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389, 
    5635    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    5636    -1,  401,  402,  403,  404,  405,   -1,  256,  408,   -1, 
    5637    -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1,   -1, 
    5638    -1,   -1,   -1,   -1,  424,  425,  275,   -1,  277,   -1, 
    5639    -1,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    5640   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    5641    -1,   -1,  301,  302,   -1,    0,   -1,   -1,   -1,   -1, 
    5642    -1,   -1,  311,   -1,   -1,   10,  315,  316,   -1,   -1, 
    5643    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328, 
    5644   329,   -1,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    5645   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    5646   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    5647   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    5648    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    5649    -1,   -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    5650   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    5651   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    5652   256,   -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1, 
    5653    -1,   -1,   -1,   -1,   -1,  424,  425,   -1,   -1,  275, 
    5654    -1,  277,   -1,   -1,  280,  281,  282,  283,  284,  285, 
    5655   286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1, 
    5656   296,  297,   -1,   -1,   -1,  301,  302,   -1,    0,   -1, 
    5657    -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   10,  315, 
    5658   316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1, 
    5659   326,   -1,  328,  329,   -1,  331,   -1,  333,  334,  335, 
    5660   336,  337,   -1,  339,  340,  341,  342,  343,  344,  345, 
    5661   346,  347,  348,  349,  350,  351,  352,  353,  354,   -1, 
    5662    -1,  357,  358,  359,   -1,  361,  362,  363,   -1,  365, 
    5663   366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1,  375, 
    5664   376,  377,  378,   -1,   -1,  381,  382,  383,   -1,   -1, 
    5665    -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394,  395, 
    5666   396,  397,  398,  399,   -1,  401,  402,  403,  404,  405, 
    5667    -1,  256,  408,   -1,   -1,   -1,   -1,   -1,   -1,  415, 
    5668   416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425, 
    5669   275,   -1,  277,   -1,   -1,  280,  281,  282,  283,  284, 
    5670   285,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1, 
    5671    -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1,    0, 
    5672    -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   10, 
    5673   315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1, 
    5674    -1,  326,   -1,  328,  329,   -1,  331,   -1,  333,  334, 
    5675   335,  336,  337,   -1,  339,  340,  341,  342,  343,  344, 
    5676   345,  346,  347,  348,  349,  350,  351,  352,  353,  354, 
    5677    -1,   -1,  357,  358,  359,   -1,  361,  362,  363,   -1, 
    5678   365,  366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1, 
    5679   375,  376,  377,  378,   -1,   -1,  381,  382,  383,   -1, 
    5680    -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394, 
    5681   395,  396,  397,  398,  399,   -1,  401,  402,  403,  404, 
    5682   405,   -1,   -1,  408,  256,   -1,   -1,   -1,   -1,   -1, 
    5683   415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424, 
    5684   425,   -1,   -1,  275,   -1,  277,   -1,   -1,  280,  281, 
    5685   282,  283,  284,  285,  286,   -1,   -1,  289,  290,  291, 
    5686    -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301, 
    5687   302,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,  311, 
    5688    -1,   -1,   10,  315,  316,   -1,   -1,   -1,  320,   -1, 
    5689    -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331, 
    5690    -1,  333,  334,  335,  336,  337,   -1,  339,  340,  341, 
    5691   342,  343,  344,  345,  346,  347,  348,  349,  350,  351, 
    5692   352,  353,  354,   -1,   -1,  357,  358,  359,   -1,  361, 
    5693   362,  363,   -1,  365,  366,  367,   -1,   -1,  370,   -1, 
    5694   372,   -1,   -1,  375,  376,  377,  378,   -1,   -1,  381, 
    5695   382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1, 
    5696   392,  393,  394,  395,  396,  397,  398,  399,   -1,  401, 
    5697   402,  403,  404,  405,   -1,  256,  408,   -1,   -1,   -1, 
    5698    -1,   -1,   -1,  415,  416,  417,   -1,   -1,   -1,   -1, 
    5699    -1,   -1,  424,  425,  275,   -1,  277,   -1,   -1,  280, 
    5700   281,  282,  283,  284,  285,  286,   -1,   -1,  289,  290, 
    5701   291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1, 
    5702   301,  302,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1, 
    5703   311,   -1,   -1,   10,  315,  316,   -1,   -1,   -1,  320, 
    5704    -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1, 
    5705   331,   -1,  333,  334,  335,  336,  337,   -1,  339,  340, 
    5706   341,  342,  343,  344,  345,  346,  347,  348,  349,  350, 
    5707   351,  352,  353,  354,   -1,   -1,  357,  358,  359,   -1, 
    5708   361,  362,  363,   -1,  365,  366,  367,   -1,   -1,  370, 
    5709    -1,  372,   -1,   -1,  375,  376,  377,  378,   -1,   -1, 
    5710   381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1, 
    5711    -1,  392,  393,  394,  395,  396,  397,  398,  399,   -1, 
    5712   401,  402,  403,  404,  405,   -1,   -1,  408,  256,   -1, 
    5713    -1,   -1,   -1,   -1,  415,  416,  417,   -1,   -1,   -1, 
    5714    -1,   -1,   -1,  424,  425,   -1,   -1,  275,   -1,  277, 
    5715    -1,   -1,  280,  281,  282,  283,  284,  285,  286,   -1, 
    5716    -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296,  297, 
    5717    -1,   -1,   -1,  301,  302,   -1,    0,   -1,   -1,   -1, 
    5718    -1,   -1,   -1,  311,   -1,   -1,   10,  315,  316,   -1, 
    5719    -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1, 
    5720   328,  329,   -1,  331,   -1,  333,  334,  335,  336,  337, 
    5721    -1,  339,  340,  341,  342,  343,  344,  345,  346,  347, 
    5722   348,  349,  350,  351,  352,  353,  354,   -1,   -1,  357, 
    5723   358,  359,   -1,  361,  362,  363,   -1,  365,  366,  367, 
    5724    -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376,  377, 
    5725   378,   -1,   -1,  381,  382,  383,   -1,   -1,   -1,   -1, 
    5726    -1,  389,   -1,   -1,  392,  393,  394,  395,  396,  397, 
    5727   398,  399,   -1,  401,  402,  403,  404,  405,   -1,  256, 
    5728   408,   -1,   -1,   -1,   -1,   -1,   -1,  415,  416,  417, 
    5729    -1,   -1,   -1,   -1,   -1,   -1,  424,  425,  275,   -1, 
    5730   277,   -1,   -1,  280,  281,  282,  283,  284,  285,  286, 
    5731    -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296, 
    5732   297,   -1,   -1,   -1,  301,  302,   -1,    0,   -1,   -1, 
    5733    -1,   -1,   -1,   -1,  311,   -1,   -1,   10,  315,  316, 
    5734    -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326, 
    5735    -1,  328,  329,   -1,  331,   -1,  333,  334,  335,  336, 
    5736   337,   -1,  339,  340,  341,  342,  343,  344,  345,  346, 
    5737   347,  348,  349,  350,  351,  352,  353,  354,   -1,   -1, 
    5738   357,  358,  359,   -1,  361,  362,  363,   -1,  365,  366, 
    5739   367,   -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376, 
    5740   377,  378,   -1,   -1,  381,  382,  383,   -1,   -1,   -1, 
    5741    -1,   -1,  389,   -1,   -1,  392,  393,  394,  395,  396, 
    5742   397,  398,  399,   -1,  401,  402,  403,  404,  405,   -1, 
    5743    -1,  408,  256,   -1,   -1,   -1,   -1,   -1,  415,  416, 
    5744   417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425,   -1, 
    5745    -1,  275,   -1,  277,   -1,   -1,  280,  281,  282,  283, 
    5746   284,  285,  286,   -1,   -1,  289,  290,  291,   -1,   -1, 
    5747    -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1, 
    5748     0,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1, 
    5749    10,  315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1, 
    5750    -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1,  333, 
    5751   334,  335,  336,  337,   -1,  339,  340,  341,  342,  343, 
    5752   344,  345,  346,  347,  348,  349,  350,  351,  352,  353, 
    5753   354,   -1,   -1,  357,  358,  359,   -1,  361,  362,  363, 
    5754    -1,  365,  366,  367,   -1,   -1,  370,   -1,  372,   -1, 
    5755    -1,  375,  376,  377,  378,   -1,   -1,  381,  382,  383, 
    5756    -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392,  393, 
    5757   394,  395,  396,  397,  398,  399,   -1,  401,  402,  403, 
    5758   404,  405,   -1,  256,  408,   -1,   -1,   -1,   -1,   -1, 
    5759    -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1, 
    5760   424,  425,  275,   -1,  277,   -1,   -1,  280,  281,  282, 
    5761   283,  284,  285,  286,   -1,   -1,  289,  290,  291,   -1, 
    5762    -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302, 
    5763    -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1, 
    5764    -1,   10,  315,  316,   -1,   -1,   -1,  320,   -1,   -1, 
    5765    -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1, 
    5766   333,  334,  335,  336,  337,   -1,  339,  340,  341,  342, 
    5767   343,  344,  345,  346,  347,  348,  349,  350,  351,  352, 
    5768   353,  354,   -1,   -1,  357,  358,  359,   -1,  361,  362, 
    5769   363,   -1,  365,  366,  367,   -1,   -1,  370,   -1,  372, 
    5770    -1,   -1,  375,  376,  377,  378,   -1,   -1,  381,  382, 
    5771   383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392, 
    5772   393,  394,  395,  396,  397,  398,  399,   -1,  401,  402, 
    5773   403,  404,  405,   -1,   -1,  408,  256,   -1,   -1,   -1, 
    5774    -1,   -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1, 
    5775    -1,  424,  425,   -1,   -1,  275,   -1,  277,   -1,   -1, 
    5776   280,  281,  282,  283,  284,  285,  286,   -1,   -1,  289, 
    5777   290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1,   -1, 
    5778    -1,  301,  302,   -1,    0,   -1,   -1,   -1,   -1,   -1, 
    5779    -1,  311,   -1,   -1,   10,  315,  316,   -1,   -1,   -1, 
    5780   320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328,  329, 
    5781    -1,  331,   -1,  333,  334,  335,  336,  337,   -1,  339, 
    5782   340,  341,  342,  343,  344,  345,  346,  347,  348,  349, 
    5783   350,  351,  352,  353,  354,   -1,   -1,  357,  358,  359, 
    5784    -1,  361,  362,  363,   -1,  365,  366,  367,   -1,   -1, 
    5785   370,   -1,  372,   -1,   -1,  375,  376,  377,  378,   -1, 
    5786    -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1,  389, 
    5787    -1,   -1,  392,  393,  394,  395,  396,  397,  398,  399, 
    5788    -1,  401,  402,  403,  404,  405,   -1,  256,  408,   -1, 
    5789    -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1,   -1, 
    5790    -1,   -1,   -1,   -1,  424,  425,  275,   -1,  277,   -1, 
    5791    -1,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    5792   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    5793    -1,   -1,  301,  302,    0,   -1,   -1,   -1,   -1,   -1, 
    5794    -1,   -1,  311,   -1,   10,   -1,  315,  316,   -1,   -1, 
    5795    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328, 
    5796   329,   -1,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    5797   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    5798   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    5799   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    5800    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    5801    -1,   -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    5802   389,   -1,   -1,  392,  393,  394,  395,  396,  397,  398, 
    5803   399,   -1,  401,  402,  403,  404,  405,   -1,   -1,  408, 
    5804   256,   -1,   -1,   -1,   -1,   -1,  415,  416,  417,   -1, 
    5805    -1,   -1,   -1,   -1,   -1,  424,  425,   -1,   -1,  275, 
    5806    -1,  277,   -1,   -1,  280,  281,  282,  283,  284,  285, 
    5807   286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1, 
    5808   296,  297,   -1,   -1,   -1,  301,  302,    0,   -1,   -1, 
    5809    -1,   -1,   -1,   -1,   -1,  311,   -1,   10,   -1,  315, 
    5810   316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1, 
    5811   326,   -1,  328,  329,   -1,  331,   -1,  333,  334,  335, 
    5812   336,  337,   -1,  339,  340,  341,  342,  343,  344,  345, 
    5813   346,  347,  348,  349,  350,  351,  352,  353,  354,   -1, 
    5814    -1,  357,  358,  359,   -1,  361,  362,  363,   -1,  365, 
    5815   366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1,  375, 
    5816   376,  377,  378,   -1,   -1,  381,  382,  383,   -1,   -1, 
    5817    -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394,  395, 
    5818   396,  397,  398,  399,   -1,  401,  402,  403,  404,  405, 
    5819   256,   -1,  408,   -1,   -1,   -1,   -1,   -1,   -1,  415, 
    5820   416,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425, 
    5821    -1,  277,   -1,   -1,  280,  281,  282,  283,  284,  285, 
    5822   286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1,   -1, 
    5823   296,  297,   -1,   -1,   -1,  301,  302,   -1,    0,   -1, 
    5824    -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,   10,  315, 
    5825   316,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1, 
    5826   326,   -1,  328,  329,   -1,  331,   -1,  333,  334,  335, 
    5827   336,  337,   -1,  339,  340,  341,  342,  343,  344,  345, 
    5828   346,  347,  348,  349,  350,  351,  352,  353,  354,   -1, 
    5829    -1,  357,  358,  359,   -1,  361,  362,  363,   -1,  365, 
    5830   366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1,  375, 
    5831   376,  377,  378,   -1,   -1,  381,  382,  383,   -1,   -1, 
    5832    -1,   -1,   -1,  389,   -1,   -1,  392,  393,  394,  395, 
    5833   396,  397,  398,  399,   -1,  401,  402,  403,  404,  405, 
    5834    -1,   -1,  408,  256,   -1,   -1,   -1,   -1,   -1,  415, 
    5835   416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424,  425, 
    5836    -1,   -1,  275,   -1,  277,   -1,   -1,  280,  281,  282, 
    5837   283,  284,  285,  286,   -1,   -1,  289,  290,  291,   -1, 
    5838    -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301,  302, 
    5839    -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1, 
    5840    -1,   10,  315,  316,   -1,   -1,   -1,  320,   -1,   -1, 
    5841    -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1, 
    5842   333,  334,  335,  336,  337,   -1,  339,  340,  341,  342, 
    5843   343,  344,  345,  346,  347,  348,  349,  350,  351,  352, 
    5844   353,  354,   -1,   -1,  357,  358,  359,   -1,  361,  362, 
    5845   363,   -1,  365,  366,  367,   -1,   -1,  370,   -1,  372, 
    5846    -1,   -1,  375,  376,  377,  378,   -1,   -1,  381,  382, 
    5847   383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,  392, 
    5848   393,  394,  395,  396,  397,  398,  399,   -1,  401,  402, 
    5849   403,  404,  405,   -1,  256,  408,   -1,   -1,   -1,   -1, 
    5850    -1,   -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1, 
    5851    -1,   -1,  425,  275,   -1,  277,   -1,   -1,  280,  281, 
    5852   282,  283,  284,  285,  286,   -1,   -1,  289,  290,  291, 
    5853    -1,   -1,   -1,   -1,  296,  297,   -1,   -1,   -1,  301, 
    5854   302,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,  311, 
    5855    -1,   -1,   10,  315,  316,   -1,   -1,   -1,  320,   -1, 
    5856    -1,   -1,   -1,   -1,  326,   -1,  328,  329,   -1,  331, 
    5857    -1,  333,  334,  335,  336,  337,   -1,  339,  340,  341, 
    5858   342,  343,  344,  345,  346,  347,  348,  349,  350,  351, 
    5859   352,  353,  354,   -1,   -1,  357,  358,  359,   -1,  361, 
    5860   362,  363,   -1,  365,  366,  367,   -1,   -1,  370,   -1, 
    5861   372,   -1,   -1,  375,  376,  377,  378,   -1,   -1,  381, 
    5862   382,  383,   -1,   -1,   -1,   -1,   -1,  389,   -1,   -1, 
    5863   392,  393,  394,  395,  396,  397,  398,  399,   -1,  401, 
    5864   402,  403,  404,  405,   -1,   -1,  408,  256,   -1,   -1, 
    5865    -1,   -1,   -1,  415,  416,   -1,   -1,   -1,   -1,   -1, 
    5866    -1,   -1,  424,  425,   -1,   -1,  275,   -1,  277,   -1, 
    5867    -1,  280,  281,  282,  283,  284,  285,  286,   -1,   -1, 
    5868   289,  290,  291,   -1,   -1,   -1,   -1,  296,  297,   -1, 
    5869    -1,   -1,  301,  302,   -1,    0,   -1,   -1,   -1,   -1, 
    5870    -1,   -1,  311,   -1,   -1,   10,  315,  316,   -1,   -1, 
    5871    -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1,  328, 
    5872   329,   -1,  331,   -1,  333,  334,  335,  336,  337,   -1, 
    5873   339,  340,  341,  342,  343,  344,  345,  346,  347,  348, 
    5874   349,  350,  351,  352,  353,  354,   -1,   -1,  357,  358, 
    5875   359,   -1,  361,  362,  363,   -1,  365,  366,  367,   -1, 
    5876    -1,  370,   -1,  372,   -1,   -1,  375,  376,  377,  378, 
    5877    -1,   -1,  381,  382,  383,   -1,   -1,   -1,   -1,   -1, 
    5878   389,   -1,   -1,  392,  393,  394,  395,   -1,  397,  398, 
    5879   399,   -1,  401,  402,  403,  404,  405,   -1,  256,  408, 
    5880    -1,   -1,   -1,   -1,   -1,   -1,  415,  416,   -1,   -1, 
    5881    -1,   -1,   -1,   -1,   -1,   -1,  425,  275,   -1,  277, 
    5882    -1,   -1,  280,  281,  282,  283,  284,  285,  286,   -1, 
    5883    -1,  289,  290,  291,   -1,   -1,   -1,   -1,  296,  297, 
    5884    -1,   -1,   -1,  301,  302,   -1,   -1,   -1,   -1,   -1, 
    5885    -1,   -1,   -1,  311,   -1,   -1,   -1,  315,  316,   -1, 
    5886    -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,  326,   -1, 
    5887   328,  329,   -1,  331,   -1,  333,  334,  335,  336,  337, 
    5888    -1,  339,  340,  341,  342,  343,  344,  345,  346,  347, 
    5889   348,  349,  350,  351,  352,  353,  354,   -1,   -1,  357, 
    5890   358,  359,   -1,  361,  362,  363,   -1,  365,  366,  367, 
    5891    -1,   -1,  370,   -1,  372,   -1,   -1,  375,  376,  377, 
    5892   378,   -1,   -1,  381,  382,  383,   -1,   40,   -1,   42, 
    5893    43,  389,   45,   -1,  392,  393,  394,  395,   -1,  397, 
    5894   398,  399,   -1,  401,  402,  403,  404,  405,   61,   -1, 
    5895   408,  256,   -1,   -1,   -1,   -1,   -1,  415,  416,   -1, 
    5896    -1,   -1,   -1,   -1,   -1,   -1,   -1,  425,   -1,   -1, 
    5897   275,   -1,  277,   -1,   -1,  280,  281,  282,  283,  284, 
    5898   285,  286,   -1,   -1,  289,  290,  291,   -1,   -1,   -1, 
    5899    -1,  296,  297,   -1,   -1,   -1,  301,  302,   -1,   41, 
    5900    42,   43,   -1,   45,   -1,   -1,  311,   -1,   -1,   -1, 
    5901   315,  316,   -1,   -1,   -1,  320,   58,   -1,   60,   61, 
    5902    62,  326,   -1,  328,  329,   -1,  331,   -1,  333,  334, 
    5903   335,  336,  337,   -1,  339,  340,  341,  342,  343,  344, 
    5904   345,  346,  347,  348,  349,  350,  351,  352,  353,  354, 
    5905    -1,   -1,  357,  358,  359,   -1,  361,  362,  363,   -1, 
    5906   365,  366,  367,   -1,   -1,  370,   -1,  372,   -1,   -1, 
    5907   375,  376,  377,  378,   -1,   -1,  381,  382,  383,   -1, 
    5908    40,   -1,   42,   43,  389,   45,   -1,  392,  393,  394, 
    5909   395,  396,  397,  398,  399,   -1,  401,  402,  403,  404, 
    5910   405,   61,   -1,  408,   -1,   -1,   -1,   -1,   -1,   -1, 
    5911   415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424, 
    5912    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1, 
    5913    -1,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1, 
    5914    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   61, 
    5915   263,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5916    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5917    -1,   -1,   -1,   -1,  287,  288,   -1,   -1,   -1,  292, 
    5918   293,  294,  295,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5919    -1,  304,  305,  306,  307,  308,  309,  310,   -1,  312, 
    5920   313,  314,   -1,   -1,  317,  318,  319,   -1,  321,  322, 
    5921   323,  324,  325,   -1,  327,   -1,  258,  259,  260,  261, 
    5922   262,   -1,  264,  265,  266,  267,  268,  269,   -1,   -1, 
    5923   272,  273,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5924    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5925    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5926    -1,   -1,   -1,   -1,   -1,   -1,  379,   40,   -1,   -1, 
    5927    43,   -1,   45,   -1,   -1,   -1,   -1,  390,  391,   -1, 
    5928    -1,   -1,   -1,  396,   -1,   -1,   -1,   -1,   61,   -1, 
    5929    -1,   -1,   -1,  406,  407,   -1,   -1,  410,  411,  412, 
    5930   413,   -1,   -1,  263,  417,   -1,   -1,   -1,   -1,   -1, 
    5931    -1,  424,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1, 
    5932    45,   -1,   -1,   -1,   -1,   -1,   -1,  287,  288,   -1, 
    5933    -1,   -1,  292,  293,  294,  295,   61,   -1,   -1,   -1, 
    5934    -1,   -1,   -1,   -1,  304,  305,  306,  307,  308,  309, 
    5935   310,  263,  312,  313,  314,   -1,   -1,  317,  318,  319, 
    5936    -1,  321,  322,  323,  324,  325,   -1,  327,   -1,   -1, 
    5937    -1,   -1,   -1,   -1,   -1,  287,  288,   -1,   -1,   -1, 
    5938   292,  293,  294,  295,   -1,   -1,   -1,   -1,   -1,   -1, 
    5939    -1,   -1,  304,  305,  306,  307,  308,  309,  310,   -1, 
    5940   312,  313,  314,   -1,   -1,  317,  318,  319,   -1,  321, 
    5941   322,  323,  324,  325,   -1,  327,   -1,   -1,   -1,  379, 
    5942    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5943   390,  391,   -1,   -1,   -1,   -1,  396,   -1,   -1,   -1, 
    5944    -1,   -1,   -1,   -1,   -1,   -1,  406,  407,   -1,   -1, 
    5945   410,  411,  412,  413,   -1,   -1,   40,  417,   42,   43, 
    5946    -1,   45,   -1,   -1,  424,   -1,   -1,  379,   -1,   -1, 
    5947    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  390,  391, 
    5948    -1,   -1,   -1,   -1,  396,   -1,   -1,   -1,   -1,   -1, 
    5949   263,   -1,   -1,   -1,  406,  407,   -1,   -1,  410,  411, 
    5950   412,  413,   -1,   -1,   40,  417,   42,   43,   -1,   45, 
    5951    -1,   -1,  424,   -1,  287,  288,   -1,   -1,   -1,  292, 
    5952   293,  294,  295,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5953    -1,  304,  305,  306,  307,  308,  309,  310,  263,  312, 
    5954   313,  314,   -1,   -1,  317,  318,  319,   -1,  321,  322, 
    5955   323,  324,  325,   -1,  327,   -1,   -1,   -1,   -1,   -1, 
    5956    -1,   -1,  287,  288,   -1,   -1,   -1,  292,  293,  294, 
    5957   295,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  304, 
    5958   305,  306,  307,  308,  309,  310,   -1,  312,  313,  314, 
    5959    -1,   -1,  317,  318,  319,   -1,  321,  322,  323,  324, 
    5960   325,   -1,  327,   -1,   -1,   -1,  379,   -1,   -1,   -1, 
    5961    -1,   -1,   -1,   -1,   -1,   -1,   -1,  390,  391,   -1, 
    5962    -1,   -1,   -1,  396,   -1,   -1,   -1,   -1,   -1,   -1, 
    5963    -1,   -1,   -1,  406,  407,   -1,   -1,  410,  411,  412, 
    5964   413,   -1,   40,   -1,  417,   43,   -1,   45,   -1,   -1, 
    5965    -1,  424,   -1,   -1,  379,   -1,   -1,   -1,   -1,   -1, 
    5966    58,   -1,   -1,   -1,   -1,  390,  391,   -1,   -1,   -1, 
    5967    -1,  396,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  263, 
    5968    -1,  406,  407,   -1,   -1,  410,  411,  412,  413,   -1, 
    5969    -1,   -1,  417,   -1,   -1,   40,   -1,   -1,   43,  424, 
    5970    45,   -1,   -1,  287,  288,   -1,   -1,   -1,  292,  293, 
    5971   294,  295,   -1,   58,   -1,   -1,   -1,   -1,   -1,   -1, 
    5972   304,  305,  306,  307,  308,  309,  310,  263,  312,  313, 
    5973   314,   -1,   -1,  317,  318,  319,   -1,  321,  322,  323, 
    5974   324,  325,   -1,  327,   -1,   -1,   -1,   -1,   -1,   -1, 
    5975    -1,  287,  288,   -1,   -1,   -1,  292,  293,  294,  295, 
    5976    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  304,  305, 
    5977   306,  307,  308,  309,  310,   -1,  312,  313,  314,   -1, 
    5978    -1,  317,  318,  319,   -1,  321,  322,  323,  324,  325, 
    5979    -1,  327,   -1,   -1,   -1,  379,   -1,   -1,   -1,   -1, 
    5980    -1,   -1,   -1,   -1,   -1,   -1,  390,  391,   -1,   -1, 
    5981    -1,   -1,  396,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5982    -1,   -1,  406,  407,   -1,   -1,  410,  411,  412,  413, 
    5983    -1,   -1,   -1,  417,   40,   -1,   42,   43,   -1,   45, 
    5984   424,   -1,   -1,  379,   -1,   -1,   -1,   -1,   -1,   -1, 
    5985    -1,   -1,   -1,   -1,  390,  391,   -1,   -1,   -1,   -1, 
    5986   396,   -1,   -1,   -1,   -1,  263,   -1,   -1,   -1,   -1, 
    5987   406,  407,   -1,   -1,  410,  411,  412,  413,   -1,   -1, 
    5988    -1,  417,   40,   -1,   42,   43,   -1,   45,  424,  287, 
    5989   288,   -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1, 
    5990    -1,   -1,   -1,   -1,   -1,   -1,  304,  305,  306,  307, 
    5991   308,  309,  310,   -1,  312,  313,  314,   -1,  263,  317, 
    5992   318,  319,   -1,  321,  322,  323,  324,  325,   -1,  327, 
    5993    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5994    -1,   -1,  287,  288,   -1,   -1,   -1,  292,  293,  294, 
    5995   295,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  304, 
    5996   305,  306,  307,  308,  309,  310,   -1,  312,  313,  314, 
    5997    -1,   -1,  317,  318,  319,   -1,  321,  322,  323,  324, 
    5998   325,  379,  327,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    5999    -1,   -1,  390,  391,   -1,   -1,   -1,   -1,  396,   -1, 
    6000    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  406,  407, 
    6001    -1,   -1,  410,  411,  412,  413,   -1,   40,   -1,  417, 
    6002    43,   -1,   45,   -1,   -1,   -1,  424,   -1,   -1,   -1, 
    6003    -1,   -1,   -1,   -1,  379,   -1,   -1,   -1,   -1,   -1, 
    6004    -1,   -1,   -1,   -1,   -1,  390,  391,   -1,   -1,   -1, 
    6005    -1,  396,   -1,   -1,   -1,   -1,   -1,  263,   -1,   -1, 
    6006    -1,  406,  407,   -1,   -1,  410,  411,  412,  413,   -1, 
    6007    40,   -1,  417,   43,   -1,   45,   -1,   -1,   -1,  424, 
    6008    -1,  287,  288,   -1,   -1,   -1,  292,  293,  294,  295, 
    6009    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  304,  305, 
    6010   306,  307,  308,  309,  310,  263,  312,  313,  314,   -1, 
    6011    -1,  317,  318,  319,   -1,  321,  322,  323,  324,  325, 
    6012    -1,  327,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  287, 
    6013   288,   -1,   -1,   -1,  292,  293,  294,  295,   -1,   -1, 
    6014    -1,   -1,   -1,   -1,   -1,   -1,  304,  305,  306,  307, 
    6015   308,  309,  310,   -1,  312,  313,  314,   -1,   -1,  317, 
    6016   318,  319,   -1,  321,  322,  323,  324,  325,   -1,  327, 
    6017    -1,   -1,   -1,  379,   -1,   -1,   -1,   -1,   -1,   -1, 
    6018    -1,   -1,   -1,   -1,  390,  391,   -1,   -1,   -1,   -1, 
    6019   396,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6020   406,  407,   -1,   -1,  410,  411,  412,  413,   -1,   40, 
    6021    -1,  417,   43,   -1,   45,   -1,   -1,   -1,  424,   -1, 
    6022    -1,  379,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6023    -1,   -1,  390,  391,   -1,   -1,   -1,   -1,  396,   -1, 
    6024   263,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  406,  407, 
    6025    -1,   -1,  410,  411,  412,  413,   -1,   40,   -1,  417, 
    6026    43,   -1,   45,   -1,  287,  288,  424,   -1,   -1,  292, 
    6027   293,  294,  295,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6028    -1,  304,  305,  306,  307,  308,  309,  310,   -1,  312, 
    6029   313,  314,   -1,  263,  317,  318,  319,   -1,  321,  322, 
    6030   323,  324,  325,   -1,  327,   -1,   -1,   -1,   -1,   -1, 
    6031    -1,   -1,   -1,   -1,   -1,   -1,   -1,  287,  288,   -1, 
    6032    -1,   -1,  292,  293,  294,  295,   -1,   -1,   -1,   -1, 
    6033    -1,   -1,   -1,   -1,  304,  305,  306,  307,  308,  309, 
    6034   310,   -1,  312,  313,  314,   -1,   -1,  317,  318,  319, 
    6035    -1,  321,  322,  323,  324,  325,  379,  327,   -1,   -1, 
    6036    -1,   -1,   -1,   -1,   -1,   -1,   -1,  390,  391,   -1, 
    6037    -1,   -1,   -1,  396,   -1,   -1,   -1,   -1,   -1,   -1, 
    6038    -1,   -1,   -1,  406,  407,   -1,   -1,  410,  411,  412, 
    6039   413,   -1,   40,   -1,  417,   43,   -1,   45,   -1,   -1, 
    6040    -1,  424,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  379, 
    6041    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6042   390,  391,   -1,   -1,   -1,   -1,  396,   -1,   -1,   -1, 
    6043    -1,   -1,  263,   -1,   -1,   -1,  406,  407,   -1,   -1, 
    6044   410,  411,  412,  413,   -1,   40,   -1,  417,   43,   -1, 
    6045    45,   -1,   -1,   -1,  424,   -1,  287,  288,   -1,   -1, 
    6046    -1,  292,  293,  294,  295,   -1,   -1,   -1,   -1,   -1, 
    6047    -1,   -1,   -1,  304,  305,  306,  307,  308,  309,  310, 
    6048   263,  312,  313,  314,   -1,   -1,  317,  318,  319,   -1, 
    6049   321,  322,  323,  324,  325,   -1,  327,   -1,   -1,   -1, 
    6050    -1,   -1,   -1,   -1,  287,  288,   -1,   -1,   -1,  292, 
    6051   293,  294,  295,   -1,   40,   -1,   42,   43,   -1,   45, 
    6052    -1,  304,  305,  306,  307,  308,  309,  310,   -1,  312, 
    6053   313,  314,   -1,   -1,  317,  318,  319,   -1,  321,  322, 
    6054   323,  324,  325,   -1,  327,   -1,   -1,   -1,  379,   -1, 
    6055    40,   -1,   42,   43,   -1,   45,   -1,   -1,   -1,  390, 
    6056   391,   -1,   -1,   -1,   -1,  396,   -1,   -1,   -1,   -1, 
    6057    -1,   -1,   -1,   -1,   -1,  406,  407,   -1,   -1,  410, 
    6058   411,  412,  413,   -1,   -1,   -1,  417,   -1,   -1,   -1, 
    6059    -1,   -1,   -1,  424,   -1,   -1,  379,   -1,   -1,   -1, 
    6060    -1,   -1,   -1,   -1,   -1,   -1,   -1,  390,  391,   -1, 
    6061    -1,   -1,   -1,  396,   -1,  263,   41,   42,   43,   -1, 
    6062    45,   -1,   -1,  406,  407,   -1,   -1,  410,  411,  412, 
    6063   413,   -1,   -1,   58,  417,   60,   61,   62,   -1,  287, 
    6064   288,  424,   -1,   -1,  292,  293,  294,  295,   -1,   -1, 
    6065    -1,   -1,   -1,   -1,   -1,   -1,  304,  305,  306,  307, 
    6066   308,  309,  310,   -1,  312,  313,  314,   -1,  263,  317, 
    6067   318,  319,   -1,  321,  322,  323,  324,  325,   -1,  327, 
    6068    -1,   -1,   -1,   -1,   -1,   -1,   -1,   41,   42,   43, 
    6069    44,   45,  287,  288,   -1,   -1,   -1,  292,  293,  294, 
    6070   295,   -1,   -1,   -1,   -1,   -1,   60,   61,   62,  304, 
    6071   305,  306,  307,  308,  309,  310,   -1,  312,  313,  314, 
    6072    -1,   -1,  317,  318,  319,   -1,  321,  322,  323,  324, 
    6073   325,  379,  327,   41,   42,   43,   -1,   45,   -1,   -1, 
    6074    -1,   -1,  390,  391,   -1,   -1,   -1,  273,  396,   -1, 
    6075    -1,   -1,   60,   61,   62,   -1,   -1,   -1,  406,  407, 
    6076    -1,   -1,  410,  411,  412,  413,   41,   42,   43,  417, 
    6077    45,   -1,  298,  299,  300,   -1,  424,  303,   -1,   -1, 
    6078    -1,   -1,   -1,   -1,  379,   60,   61,   62,   -1,   -1, 
    6079    -1,   -1,   -1,   -1,   -1,  390,  391,   -1,   -1,   -1, 
    6080    -1,  396,   -1,   -1,   -1,   -1,   -1,   -1,  298,  299, 
    6081   300,  406,  407,  303,   -1,  410,  411,  412,  413,   -1, 
    6082    -1,   -1,  417,   -1,   -1,   -1,   -1,   -1,   -1,  424, 
    6083    -1,   -1,   -1,  258,  259,  260,  261,  262,   -1,  264, 
    6084   265,  266,  267,  268,  269,   -1,   -1,  272,  273,   41, 
    6085    42,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1, 
    6086    -1,   -1,   -1,   -1,  390,  391,   -1,   -1,   60,   61, 
    6087    62,   -1,   -1,   41,   42,   43,   -1,   45,   -1,   -1, 
    6088   406,  407,   -1,   -1,  410,  411,  412,  413,   -1,   -1, 
    6089    -1,  417,   60,   61,   62,   -1,   -1,   -1,  424,   -1, 
    6090   390,  391,   -1,   -1,  258,  259,  260,  261,  262,   -1, 
    6091   264,  265,  266,  267,  268,  269,  406,  407,  272,  273, 
    6092   410,  411,  412,  413,   41,   42,   43,  417,   45,   -1, 
    6093    -1,   -1,   -1,   -1,  424,   -1,   -1,   -1,   -1,   -1, 
    6094    -1,   -1,   -1,   60,   61,   62,   -1,   -1,   -1,   -1, 
    6095   258,  259,  260,  261,  262,   -1,  264,  265,  266,  267, 
    6096   268,  269,   -1,   -1,  272,  273,   -1,   -1,   -1,   -1, 
    6097    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6098    -1,   -1,   -1,  258,  259,  260,  261,  262,   -1,  264, 
    6099   265,  266,  267,  268,  269,   -1,   -1,  272,  273,   41, 
    6100    42,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1, 
    6101    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,   61, 
    6102    62,   41,   42,   43,   -1,   45,   -1,   -1,   -1,   -1, 
    6103    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6104    60,   61,   62,   41,   42,   43,   -1,   45,   -1,   -1, 
    6105    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6106    -1,   -1,   60,   61,   62,   -1,  258,  259,  260,  261, 
    6107   262,   -1,  264,  265,  266,  267,  268,  269,   -1,   -1, 
    6108   272,  273,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6109   258,  259,  260,  261,  262,   -1,  264,  265,  266,  267, 
    6110   268,  269,   -1,   -1,  272,  273,   41,   42,   43,   -1, 
    6111    45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6112    -1,   -1,   -1,   -1,   -1,   60,   61,   62,   -1,   -1, 
    6113    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6114    -1,  258,  259,  260,  261,  262,   -1,  264,  265,  266, 
    6115   267,  268,  269,   -1,   -1,  272,  273,   41,   42,   43, 
    6116    -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6117    -1,   -1,   -1,   -1,   -1,   -1,   60,   61,   62,   41, 
    6118    42,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1, 
    6119    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,   61, 
    6120    62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6121    -1,   -1,   -1,   -1,   -1,   -1,  258,  259,  260,  261, 
    6122   262,   -1,  264,  265,  266,  267,  268,  269,   -1,   -1, 
    6123   272,  273,   -1,   -1,   -1,   -1,   -1,   -1,  258,  259, 
    6124   260,  261,  262,   -1,  264,  265,  266,  267,  268,  269, 
    6125    -1,   -1,  272,  273,   -1,   -1,   -1,   -1,   -1,   -1, 
    6126   258,  259,  260,  261,  262,   -1,  264,  265,  266,  267, 
    6127   268,  269,   -1,   -1,  272,  273,   41,   42,   43,   -1, 
    6128    45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6129    -1,   -1,   -1,   -1,   -1,   60,   61,   62,   41,   42, 
    6130    43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6131    -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,   61,   62, 
    6132    -1,   -1,   -1,  258,  259,  260,  261,  262,   -1,  264, 
    6133   265,  266,  267,  268,  269,   -1,   -1,  272,  273,   41, 
    6134    42,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1, 
    6135    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,   61, 
    6136    62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6137    -1,   -1,   -1,   -1,  258,  259,  260,  261,  262,   -1, 
    6138   264,  265,  266,  267,  268,  269,   -1,   -1,  272,  273, 
    6139    -1,   -1,   -1,   -1,   -1,   -1,  258,  259,  260,  261, 
    6140   262,   -1,  264,  265,  266,  267,  268,  269,   -1,   -1, 
    6141   272,  273,   41,   42,   43,   -1,   45,   -1,   -1,   -1, 
    6142    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6143    -1,   60,   61,   62,   41,   42,   43,   -1,   45,   -1, 
    6144    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6145    -1,   -1,   -1,   60,   61,   62,   41,   42,   43,   -1, 
    6146    45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6147    -1,   -1,   -1,   -1,   -1,   60,   61,   62,   -1,   -1, 
    6148    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6149    -1,   -1,   -1,  258,  259,  260,  261,  262,   -1,  264, 
    6150   265,  266,  267,  268,  269,   -1,   -1,  272,  273,   -1, 
    6151    -1,   -1,   -1,   -1,   -1,  258,  259,  260,  261,  262, 
    6152    -1,  264,  265,  266,  267,  268,  269,   -1,   -1,  272, 
    6153   273,   41,   42,   43,   -1,   45,   -1,   -1,   -1,   -1, 
    6154    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6155    60,   61,   62,   -1,   -1,   -1,  258,  259,  260,  261, 
    6156   262,   -1,  264,  265,  266,  267,  268,  269,   -1,   -1, 
    6157   272,  273,   41,   42,   43,   -1,   45,   -1,   -1,   -1, 
    6158    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6159    -1,   60,   61,   62,   41,   42,   43,   -1,   45,   -1, 
    6160    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6161    -1,   -1,   -1,   60,   61,   62,   -1,   -1,   -1,   -1, 
    6162    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  258, 
    6163   259,  260,  261,  262,   -1,  264,  265,  266,  267,  268, 
    6164   269,   -1,   -1,  272,  273,   -1,   -1,   -1,   -1,   -1, 
    6165    -1,  258,  259,  260,  261,  262,   -1,  264,  265,  266, 
    6166   267,  268,  269,   -1,   -1,  272,  273,   -1,   -1,   -1, 
    6167    -1,   -1,   -1,  258,  259,  260,  261,  262,   -1,  264, 
    6168   265,  266,  267,  268,  269,   -1,   -1,  272,  273,   41, 
    6169    42,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1, 
    6170    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,   61, 
    6171    62,   41,   42,   43,   -1,   45,   -1,   -1,   -1,   -1, 
    6172    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6173    60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6174    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  258,  259, 
    6175   260,  261,  262,   -1,  264,  265,  266,  267,  268,  269, 
    6176    -1,   -1,  272,  273,   41,   42,   43,   -1,   45,   -1, 
    6177    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6178    -1,   -1,   -1,   60,   61,   62,   -1,   -1,   -1,  258, 
    6179   259,  260,  261,  262,   -1,  264,  265,  266,  267,  268, 
    6180   269,   -1,   -1,  272,  273,   -1,   -1,   -1,   -1,   -1, 
    6181    -1,  258,  259,  260,  261,  262,   -1,  264,  265,  266, 
    6182   267,  268,  269,   -1,   -1,  272,  273,   41,   42,   43, 
    6183    -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6184    -1,   -1,   -1,   -1,   -1,   -1,   60,   61,   62,   41, 
    6185    42,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1, 
    6186    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,   61, 
    6187    62,   42,   43,   44,   45,   -1,   -1,   -1,   -1,   -1, 
    6188    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60, 
    6189    61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6190    -1,   -1,   -1,   -1,   -1,   -1,  258,  259,  260,  261, 
    6191   262,   -1,  264,  265,  266,  267,  268,  269,   -1,   -1, 
    6192   272,  273,   -1,   -1,   -1,   -1,   -1,   -1,  258,  259, 
    6193   260,  261,  262,   -1,  264,  265,  266,  267,  268,  269, 
    6194    -1,   -1,  272,  273,   42,   43,   44,   45,   -1,   -1, 
    6195    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6196    -1,   -1,   60,   61,   62,   -1,   -1,   -1,   -1,   -1, 
    6197    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6198    -1,  258,  259,  260,  261,  262,   -1,  264,  265,  266, 
    6199   267,  268,  269,   -1,   -1,  272,  273,   42,   43,   44, 
    6200    45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6201    -1,   -1,   -1,   -1,   -1,   60,   61,   62,   42,   43, 
    6202    44,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6203    -1,   -1,   -1,   -1,   -1,   -1,   60,   61,   62,   -1, 
    6204    -1,   -1,   -1,   -1,  258,  259,  260,  261,  262,   -1, 
    6205   264,  265,  266,  267,  268,  269,   -1,   -1,  272,  273, 
    6206    -1,   -1,   -1,   -1,   -1,   -1,  258,  259,  260,  261, 
    6207   262,   -1,  264,  265,  266,  267,  268,  269,   -1,   -1, 
    6208   272,  273,   -1,   -1,   -1,   -1,   -1,  258,  259,  260, 
    6209   261,  262,   -1,  264,  265,  266,  267,  268,  269,   -1, 
    6210    -1,  272,  273,   42,   43,   44,   45,   -1,   -1,   -1, 
    6211    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6212    -1,   60,   61,   62,   42,   43,   44,   45,   -1,   -1, 
    6213    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6214    -1,   -1,   60,   61,   62,   -1,   -1,   -1,   -1,   -1, 
    6215    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6216   258,  259,  260,  261,  262,   -1,  264,  265,  266,  267, 
    6217   268,  269,   -1,   -1,  272,  273,   -1,   -1,   -1,   -1, 
    6218    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6219    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6220    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6221    -1,   -1,   -1,  258,  259,  260,  261,  262,   -1,  264, 
    6222   265,  266,  267,  268,  269,   -1,   -1,  272,  273,   -1, 
    6223    -1,   -1,   -1,   -1,  258,  259,  260,  261,  262,   -1, 
    6224   264,  265,  266,  267,  268,  269,   -1,   -1,  272,  273, 
    6225    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6226    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6227    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6228    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6229    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6230    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, 
    6231    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  258, 
    6232   259,  260,  261,  262,   -1,  264,  265,  266,  267,  268, 
    6233   269,   -1,   -1,  272,  273,   -1,   -1,   -1,   -1,   -1, 
    6234   258,  259,  260,  261,  262,   -1,  264,  265,  266,  267, 
    6235   268,  269,   -1,  277,  272,  273,  280,   -1,  282,  283, 
    6236    -1,   -1,  286,   -1,   -1,  289,  290,  291,   -1,   -1, 
    6237    -1,   -1,  296,  297,   -1,   -1,   -1,   -1,   -1,   -1, 
    6238    -1,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1, 
    6239    -1,  315,  316,   -1,   -1,   -1,  320,   -1,   -1,   -1, 
    6240    -1,   -1,  326,   -1,  328,  329,   -1,  331,   -1,  333, 
    6241   334,  335,  336,  337,   -1,  339,  340,  341,  342,  343, 
    6242   344,  345,  346,  347,  348,  349,  350,  351,  352,  353, 
    6243   354,   -1,   -1,  357,  358,  359,   -1,  361,  362,  363, 
    6244    -1,  365,  366,  367,   -1,   -1,  370,   -1,  372,   -1, 
    6245    -1,  375,  376,  377,  378,   -1,   -1,  381,  382,  383, 
    6246    -1,   -1,   -1,   -1,   -1,  389,   -1,   -1,   -1,  393, 
    6247   394,  395,  396,  397,  398,  399,   -1,  401,  402,  403, 
    6248   404,  405,   -1,   -1,  408,   -1,   -1,   -1,   -1,   -1, 
    6249    -1,  415,  416,  417,   -1,   -1,   -1,   -1,   -1,   -1, 
    6250   424, 
     2752 
     2753/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 
     2754   symbol of state STATE-NUM.  */ 
     2755static const yytype_uint16 yystos[] = 
     2756{ 
     2757       0,   191,     0,     1,    36,    37,    53,    54,   144,   177, 
     2758     187,   192,   197,   199,   205,   201,   198,   177,   200,    29, 
     2759      32,    34,    35,    38,    41,    42,    43,    48,    49,    63, 
     2760      67,    68,    72,    78,    80,    81,    83,    85,    86,    87, 
     2761      88,    89,    91,    92,    93,    94,    95,    96,    97,    98, 
     2762      99,   100,   101,   102,   103,   104,   105,   106,   109,   110, 
     2763     111,   113,   114,   115,   117,   118,   119,   122,   124,   127, 
     2764     128,   129,   130,   133,   134,   135,   141,   145,   146,   147, 
     2765     148,   149,   150,   151,   153,   154,   155,   156,   157,   160, 
     2766     167,   168,   169,   176,   193,   194,   195,   202,   203,   206, 
     2767     212,   224,   225,   228,   229,   234,   235,   237,   238,   239, 
     2768     240,   241,   243,   244,   251,   253,   257,   258,   261,   262, 
     2769     263,   298,   308,   309,   315,   316,   317,   318,   319,   321, 
     2770     326,   327,   328,   330,   331,   333,   336,   337,   340,   341, 
     2771     349,   351,   352,   365,   372,   201,   205,   169,   204,   204, 
     2772     179,    12,    21,    22,    39,    40,    44,    45,    46,    47, 
     2773      56,    57,    58,    59,    60,    61,    62,    64,    65,    66, 
     2774      69,    70,    71,    73,    74,    75,    76,    77,    79,   131, 
     2775     142,   143,   148,   158,   159,   162,   163,   164,   165,   176, 
     2776     179,   280,   281,   283,   284,   288,   290,   291,   292,   293, 
     2777     298,   299,   300,   307,   320,   179,   187,   280,   304,   179, 
     2778     217,   218,   179,   280,   303,     4,   187,   221,   187,   221, 
     2779     304,   179,   169,   187,   324,   176,   179,   364,   280,   169, 
     2780     325,   169,   324,   179,   169,   176,   179,   346,   179,   179, 
     2781     221,   221,    20,    24,   247,   298,   179,   216,   123,   137, 
     2782     127,   324,   324,   169,   252,    80,    81,   213,   275,   324, 
     2783      27,   196,   198,    33,   196,   158,   207,   196,   169,   179, 
     2784     249,   250,   169,   226,   231,     3,   248,   169,   230,   247, 
     2785       3,   236,   248,     3,   248,     3,   248,   169,   245,   246, 
     2786     247,     3,     4,    35,   222,   223,   255,   271,   169,   176, 
     2787     268,    23,   179,   259,    23,   179,   266,    23,     4,   329, 
     2788     169,   310,   200,   324,   324,   324,   176,   323,   280,     5, 
     2789     126,   189,   332,     3,   179,   334,   169,   304,   179,   345, 
     2790      21,    22,    23,    50,    51,    52,    55,   169,   179,   288, 
     2791     299,   343,   345,   350,   353,   354,   355,   345,    84,    98, 
     2792     105,   298,   328,   179,   208,   280,   280,   280,   282,   179, 
     2793     179,   179,   282,   280,   282,   179,   179,   179,   179,   179, 
     2794     179,   179,   179,   179,   179,   179,   179,   280,   179,   179, 
     2795     179,   179,   179,   179,   280,   281,   283,   307,   360,   361, 
     2796     362,   179,   280,   283,     5,     7,     8,     9,    10,    11, 
     2797      13,    14,    15,    16,    17,    18,    21,    22,    23,    24, 
     2798      25,   185,   186,   285,   280,   189,   179,   302,   179,   179, 
     2799     169,   158,   301,   302,     3,     4,   180,   280,   219,   298, 
     2800       3,   280,     4,   169,   242,   242,   280,   280,   180,   288, 
     2801     292,   298,   330,   366,   367,   368,   176,   283,   298,   298, 
     2802     367,   369,   298,   371,   242,    40,    44,    45,    46,    47, 
     2803      56,    57,    58,    59,    60,    61,    62,    64,    65,    66, 
     2804      69,    70,    71,    74,    75,    76,    77,    79,   169,   214, 
     2805     215,   169,   298,   220,   280,     3,     3,   221,   194,   200, 
     2806     204,   196,     5,   249,     3,    24,   179,   187,   248,     3, 
     2807      24,   230,   247,   179,   276,   230,   298,   247,   169,   169, 
     2808     247,   276,     3,   245,    29,    82,   109,   111,   112,   113, 
     2809     116,   117,   119,   120,   272,   273,   275,     4,   204,     3, 
     2810     256,   254,     5,    23,   269,   280,   180,   176,   179,   169, 
     2811     260,   269,   179,   267,   280,   268,   176,   276,     3,   205, 
     2812     248,   298,   322,   373,   280,   280,   298,   176,    23,   280, 
     2813     335,   338,   339,    23,    25,   179,   298,   347,   348,   353, 
     2814     354,   280,   280,   280,   280,     5,   353,   179,   281,   288, 
     2815     299,   342,   356,   357,   358,     3,   344,    20,    23,    24, 
     2816      25,   355,   353,   360,   179,   179,    23,   169,   180,   210, 
     2817     211,    30,   180,     3,   180,   282,   282,   280,   180,   180, 
     2818     180,   280,   280,   280,   280,   280,   280,   280,   280,   280, 
     2819     280,   280,   280,   180,   282,   282,   282,   282,   282,   280, 
     2820     283,   361,   362,     3,   132,     3,     3,   282,   180,     3, 
     2821       5,   280,   287,   280,   280,   280,   280,   280,   280,   280, 
     2822     280,   280,   280,   280,   280,   280,   280,     5,    24,   280, 
     2823     286,   280,     5,   280,     5,   280,   288,   303,   289,   294, 
     2824     294,   280,   280,   180,     3,   180,   276,   218,   180,     3, 
     2825     180,     3,   179,     3,   370,   180,   180,   180,     3,   370, 
     2826       3,   180,     3,    24,     3,   180,   179,   169,   324,   208, 
     2827     280,   180,   250,   227,   232,   233,   284,   280,   169,   169, 
     2828     231,   227,   248,     4,    23,   277,   278,   279,   280,   248, 
     2829     276,   276,   248,   246,   276,   179,     3,     4,   208,   254, 
     2830     169,   269,   260,     5,   269,   180,     3,   270,    23,   180, 
     2831     276,    31,   169,   311,   312,     5,   329,   364,   180,     3, 
     2832     353,    23,    25,   179,   280,     3,   180,   180,   280,   180, 
     2833     356,   285,   359,   359,     3,   359,   356,   353,   353,   353, 
     2834     353,   353,   366,   369,     3,   180,   179,   209,   304,   280, 
     2835     180,   180,   180,   180,   180,   180,   180,   180,   180,   180, 
     2836     180,   180,   180,   180,   180,   180,   180,   180,   180,   180, 
     2837     180,     3,     3,     3,   280,   362,   280,   362,   280,   362, 
     2838     180,   283,   280,   280,   280,   280,   280,     4,     4,   280, 
     2839     295,   296,   297,   180,   180,   298,   169,    84,   280,   295, 
     2840     125,   367,   180,   367,   180,   298,   214,   280,   220,    24, 
     2841       3,    21,    22,    23,   188,   299,   180,    24,    24,   230, 
     2842     280,     3,   180,     4,   298,    23,   264,   264,   245,   138, 
     2843     139,   140,   274,   273,     4,   169,   276,   180,   269,   270, 
     2844     169,   180,     4,   126,     3,   280,   276,   339,   180,   280, 
     2845     297,   189,   348,   353,     3,   180,   285,   358,   370,   370, 
     2846     211,   180,   210,   169,   363,   363,   363,   180,   303,     4, 
     2847     280,     4,     3,   302,   276,   180,   180,     5,   180,   227, 
     2848     232,   232,   232,   232,   227,   278,   279,   280,   179,   265, 
     2849     280,   180,   276,   264,   270,   269,   169,   187,   313,   314, 
     2850     169,   312,     3,   276,   180,   330,   363,   359,   180,   180, 
     2851     180,     5,   180,   180,   180,   180,   280,     4,   280,   296, 
     2852       3,   298,    24,    23,   264,   305,   306,   126,     3,   280, 
     2853     180,   280,   280,     4,   280,   180,   305,     5,   169,   314, 
     2854       3,     3,   280,   280,   280,   280,     3,   280 
    62512855}; 
    6252 #define YYFINAL 1 
    6253 #ifndef YYDEBUG 
    6254 #define YYDEBUG 1 
     2856 
     2857#define yyerrok      (yyerrstatus = 0) 
     2858#define yyclearin (yychar = YYEMPTY) 
     2859#define YYEMPTY      (-2) 
     2860#define YYEOF     0 
     2861 
     2862#define YYACCEPT  goto yyacceptlab 
     2863#define YYABORT      goto yyabortlab 
     2864#define YYERROR      goto yyerrorlab 
     2865 
     2866 
     2867/* Like YYERROR except do call yyerror.  This remains here temporarily 
     2868   to ease the transition to the new meaning of YYERROR, for GCC. 
     2869   Once GCC version 2 has supplanted version 1, this can go.  */ 
     2870 
     2871#define YYFAIL    goto yyerrlab 
     2872 
     2873#define YYRECOVERING()  (!!yyerrstatus) 
     2874 
     2875#define YYBACKUP(Token, Value)               \ 
     2876do                      \ 
     2877  if (yychar == YYEMPTY && yylen == 1)          \ 
     2878    {                      \ 
     2879      yychar = (Token);                \ 
     2880      yylval = (Value);                \ 
     2881      yytoken = YYTRANSLATE (yychar);           \ 
     2882      YYPOPSTACK (1);                  \ 
     2883      goto yybackup;                \ 
     2884    }                      \ 
     2885  else                        \ 
     2886    {                      \ 
     2887      yyerror (YY_("syntax error: cannot back up")); \ 
     2888      YYERROR;                   \ 
     2889    }                      \ 
     2890while (YYID (0)) 
     2891 
     2892 
     2893#define YYTERROR  1 
     2894#define YYERRCODE 256 
     2895 
     2896 
     2897/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 
     2898   If N is 0, then set CURRENT to the empty location which ends 
     2899   the previous symbol: RHS[0] (always defined).  */ 
     2900 
     2901#define YYRHSLOC(Rhs, K) ((Rhs)[K]) 
     2902#ifndef YYLLOC_DEFAULT 
     2903# define YYLLOC_DEFAULT(Current, Rhs, N)           \ 
     2904    do                           \ 
     2905      if (YYID (N))                                                    \ 
     2906   {                       \ 
     2907     (Current).first_line   = YYRHSLOC (Rhs, 1).first_line; \ 
     2908     (Current).first_column = YYRHSLOC (Rhs, 1).first_column;  \ 
     2909     (Current).last_line    = YYRHSLOC (Rhs, N).last_line;     \ 
     2910     (Current).last_column  = YYRHSLOC (Rhs, N).last_column;   \ 
     2911   }                       \ 
     2912      else                       \ 
     2913   {                       \ 
     2914     (Current).first_line   = (Current).last_line   =    \ 
     2915       YYRHSLOC (Rhs, 0).last_line;          \ 
     2916     (Current).first_column = (Current).last_column =    \ 
     2917       YYRHSLOC (Rhs, 0).last_column;           \ 
     2918   }                       \ 
     2919    while (YYID (0)) 
    62552920#endif 
    6256 #define YYMAXTOKEN 426 
     2921 
     2922 
     2923/* YY_LOCATION_PRINT -- Print the location on the stream. 
     2924   This macro was not mandated originally: define only if we know 
     2925   we won't break user code: when these are the locations we know.  */ 
     2926 
     2927#ifndef YY_LOCATION_PRINT 
     2928# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL 
     2929#  define YY_LOCATION_PRINT(File, Loc)       \ 
     2930     fprintf (File, "%d.%d-%d.%d",        \ 
     2931         (Loc).first_line, (Loc).first_column,  \ 
     2932         (Loc).last_line,  (Loc).last_column) 
     2933# else 
     2934#  define YY_LOCATION_PRINT(File, Loc) ((void) 0) 
     2935# endif 
     2936#endif 
     2937 
     2938 
     2939/* YYLEX -- calling `yylex' with the right arguments.  */ 
     2940 
     2941#ifdef YYLEX_PARAM 
     2942# define YYLEX yylex (YYLEX_PARAM) 
     2943#else 
     2944# define YYLEX yylex () 
     2945#endif 
     2946 
     2947/* Enable debugging if requested.  */ 
    62572948#if YYDEBUG 
    6258 char *fortranname[] = { 
    6259 "end-of-file",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
    6260 0,0,"'!'",0,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,0,0, 
    6261 0,0,0,0,0,"':'",0,"'<'","'='","'>'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
    6262 0,0,0,0,0,0,"'['",0,"']'",0,"'_'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
    6263 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
    6264 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
    6265 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
    6266 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"TOK_BINARY_OP","TOK_EQV","TOK_NEQV", 
    6267 "TOK_OR","TOK_XOR","TOK_AND","TOK_NOT","TOK_LT","TOK_GT","TOK_LE","TOK_GE", 
    6268 "TOK_EQ","TOK_NE","TOK_UNARY_OP","TOK_DSLASH","TOK_SLASH","TOK_DASTER", 
    6269 "TOK_SEP","TOK_SEMICOLON","TOK_NEXTLINE","TOK_PARAMETER","TOK_RESULT", 
    6270 "TOK_ONLY","TOK_INCLUDE","TOK_SUBROUTINE","TOK_PROGRAM","TOK_FUNCTION", 
    6271 "TOK_OMP","TOK_DOLLAR","TOK_FORMAT","TOK_MAX","TOK_TANH","TOK_WHERE", 
    6272 "TOK_ELSEWHERE","TOK_ENDWHERE","TOK_MAXVAL","TOK_TRIM","TOK_SUM","TOK_SQRT", 
    6273 "TOK_CASE","TOK_SELECTCASE","TOK_FILE","TOK_END","TOK_ERR","TOK_DONOTTREAT", 
    6274 "TOK_ENDDONOTTREAT","TOK_EXIST","TOK_MIN","TOK_FLOAT","TOK_EXP","TOK_COS", 
    6275 "TOK_COSH","TOK_ACOS","TOK_NINT","TOK_CYCLE","TOK_SIN","TOK_SINH","TOK_ASIN", 
    6276 "TOK_EQUIVALENCE","TOK_BACKSPACE","TOK_LOG","TOK_TAN","TOK_ATAN", 
    6277 "TOK_RECURSIVE","TOK_ABS","TOK_MOD","TOK_SIGN","TOK_MINLOC","TOK_MAXLOC", 
    6278 "TOK_EXIT","TOK_MINVAL","TOK_PUBLIC","TOK_PRIVATE","TOK_ALLOCATABLE", 
    6279 "TOK_RETURN","TOK_THEN","TOK_ELSEIF","TOK_ELSE","TOK_ENDIF","TOK_PRINT", 
    6280 "TOK_PLAINGOTO","TOK_CONSTRUCTID","TOK_LOGICALIF","TOK_PLAINDO","TOK_CONTAINS", 
    6281 "TOK_ENDDO","TOK_MODULE","TOK_ENDMODULE","TOK_DOWHILE","TOK_ALLOCATE", 
    6282 "TOK_OPEN","TOK_CLOSE","TOK_INQUIRE","TOK_WRITE","TOK_READ","TOK_REWIND", 
    6283 "TOK_DEALLOCATE","TOK_NULLIFY","TOK_FIN","TOK_DEBUT","TOK_DIMENSION", 
    6284 "TOK_ENDSELECT","TOK_EXTERNAL","TOK_INTENT","TOK_INTRINSIC","TOK_NAMELIST", 
    6285 "TOK_CASEDEFAULT","TOK_OPTIONAL","TOK_POINTER","TOK_CONTINUE","TOK_SAVE", 
    6286 "TOK_TARGET","TOK_QUOTE","TOK_IMPLICIT","TOK_NONE","TOK_CALL","TOK_STAT", 
    6287 "TOK_POINT_TO","TOK_COMMON","TOK_GLOBAL","TOK_INTERFACE","TOK_ENDINTERFACE", 
    6288 "TOK_LEFTAB","TOK_RIGHTAB","TOK_PAUSE","TOK_PROCEDURE","TOK_STOP","TOK_NAMEEQ", 
    6289 "TOK_REAL8","TOK_OUT","TOK_INOUT","TOK_IN","TOK_USE","TOK_TRUE","TOK_FALSE", 
    6290 "TOK_LABEL","TOK_TYPE","TOK_TYPEPAR","TOK_ENDTYPE","TOK_REAL","TOK_INTEGER", 
    6291 "TOK_LOGICAL","TOK_DOUBLEPRECISION","TOK_DOUBLEREAL","TOK_ENDSUBROUTINE", 
    6292 "TOK_ENDFUNCTION","TOK_ENDPROGRAM","TOK_ENDUNIT","TOK_CHARACTER", 
    6293 "TOK_CHAR_CONSTANT","TOK_CHAR_CUT","TOK_DATA","TOK_CHAR_INT","TOK_CHAR_MESSAGE", 
    6294 "TOK_CSTREAL","TOK_CSTREALDP","TOK_CSTREALQP","TOK_SFREAL","TOK_COMPLEX", 
    6295 "TOK_DOUBLECOMPLEX","TOK_NAME","TOK_NAME_CHAR","TOK_PROBTYPE","TOK_INTERPTYPE", 
    6296 "TOK_VARTYPE","TOK_BC","TOK_OP","TOK_CSTINT","TOK_COMMENT","TOK_FILENAME", 
    6297 }; 
    6298 char *fortranrule[] = { 
    6299 "$accept : input", 
    6300 "input :", 
    6301 "input : input line", 
    6302 "line : '\\n' position", 
    6303 "line : thislabel suite_line_list", 
    6304 "line : TOK_COMMENT", 
    6305 "line : keyword cmnt writedeclar", 
    6306 "line : error writedeclar nulcurbuf", 
    6307 "suite_line_list : suite_line", 
    6308 "suite_line_list : suite_line_list TOK_SEMICOLON suite_line", 
    6309 "suite_line : entry fin_line", 
    6310 "suite_line : spec fin_line", 
    6311 "suite_line : before_include filename fin_line", 
    6312 "suite_line : exec cmnt writedeclar", 
    6313 "suite_line : instr fin_line", 
    6314 "instr : ident ':'", 
    6315 "fin_line : position cmnt", 
    6316 "keyword : TOK_DONOTTREAT", 
    6317 "keyword : TOK_ENDDONOTTREAT", 
    6318 "keyword : TOK_OMP", 
    6319 "keyword : TOK_DOLLAR", 
    6320 "position :", 
    6321 "thislabel :", 
    6322 "thislabel : TOK_LABEL nulcurbuf", 
    6323 "cmnt :", 
    6324 "cmnt : TOK_COMMENT", 
    6325 "incomment :", 
    6326 "nulcurbuf :", 
    6327 "opt_recursive :", 
    6328 "opt_recursive : TOK_RECURSIVE", 
    6329 "entry :", 
    6330 "entry : opt_recursive TOK_SUBROUTINE name_routine arglist", 
    6331 "entry : TOK_PROGRAM name_routine", 
    6332 "entry : TOK_FUNCTION name_routine arglist TOK_RESULT arglist1", 
    6333 "entry : TOK_FUNCTION name_routine arglist", 
    6334 "entry : TOK_MODULE TOK_NAME", 
    6335 "name_routine : TOK_NAME", 
    6336 "writedeclar :", 
    6337 "before_include : TOK_INCLUDE", 
    6338 "filename : TOK_CHAR_CONSTANT", 
    6339 "arglist :", 
    6340 "arglist : '(' ')'", 
    6341 "arglist : '(' args ')'", 
    6342 "arglist1 :", 
    6343 "arglist1 : '(' ')'", 
    6344 "arglist1 : '(' args ')'", 
    6345 "args : arg", 
    6346 "args : args ',' arg", 
    6347 "arg : TOK_NAME", 
    6348 "arg : '*'", 
    6349 "spec : type after_type", 
    6350 "spec : TOK_TYPE opt_spec opt_sep opt_name", 
    6351 "spec : TOK_ENDTYPE opt_name", 
    6352 "spec : TOK_POINTER list_couple", 
    6353 "spec : before_parameter '(' paramlist ')'", 
    6354 "spec : before_parameter paramlist", 
    6355 "spec : common", 
    6356 "spec : save", 
    6357 "spec : implicit", 
    6358 "spec : dimension", 
    6359 "spec : public", 
    6360 "spec : private", 
    6361 "spec : use_stat", 
    6362 "spec : module_proc_stmt", 
    6363 "spec : interface", 
    6364 "spec : namelist", 
    6365 "spec : TOK_BACKSPACE '(' expr ')'", 
    6366 "spec : TOK_EXTERNAL opt_sep use_name_list", 
    6367 "spec : TOK_INTRINSIC opt_sep use_intrinsic_list", 
    6368 "spec : TOK_EQUIVALENCE list_expr_equi", 
    6369 "spec : before_data data '\\n'", 
    6370 "opt_spec :", 
    6371 "opt_spec : access_spec", 
    6372 "name_intrinsic : TOK_SUM", 
    6373 "name_intrinsic : TOK_TANH", 
    6374 "name_intrinsic : TOK_MAXVAL", 
    6375 "name_intrinsic : TOK_MIN", 
    6376 "name_intrinsic : TOK_MINVAL", 
    6377 "name_intrinsic : TOK_TRIM", 
    6378 "name_intrinsic : TOK_SQRT", 
    6379 "name_intrinsic : TOK_NINT", 
    6380 "name_intrinsic : TOK_FLOAT", 
    6381 "name_intrinsic : TOK_EXP", 
    6382 "name_intrinsic : TOK_COS", 
    6383 "name_intrinsic : TOK_COSH", 
    6384 "name_intrinsic : TOK_ACOS", 
    6385 "name_intrinsic : TOK_SIN", 
    6386 "name_intrinsic : TOK_SINH", 
    6387 "name_intrinsic : TOK_ASIN", 
    6388 "name_intrinsic : TOK_LOG", 
    6389 "name_intrinsic : TOK_TAN", 
    6390 "name_intrinsic : TOK_ATAN", 
    6391 "name_intrinsic : TOK_MOD", 
    6392 "name_intrinsic : TOK_SIGN", 
    6393 "name_intrinsic : TOK_MINLOC", 
    6394 "name_intrinsic : TOK_MAXLOC", 
    6395 "name_intrinsic : TOK_NAME", 
    6396 "use_intrinsic_list : name_intrinsic", 
    6397 "use_intrinsic_list : use_intrinsic_list ',' name_intrinsic", 
    6398 "list_couple : '(' list_expr ')'", 
    6399 "list_couple : list_couple ',' '(' list_expr ')'", 
    6400 "list_expr_equi : expr_equi", 
    6401 "list_expr_equi : list_expr_equi ',' expr_equi", 
    6402 "expr_equi : '(' list_expr_equi1 ')'", 
    6403 "list_expr_equi1 : ident dims", 
    6404 "list_expr_equi1 : list_expr_equi1 ',' ident dims", 
    6405 "list_expr : expr", 
    6406 "list_expr : list_expr ',' expr", 
    6407 "opt_sep :", 
    6408 "opt_sep : ':' ':'", 
    6409 "after_type : dcl nodimsgiven", 
    6410 "after_type : before_function name_routine arglist", 
    6411 "before_function : TOK_FUNCTION", 
    6412 "before_parameter : TOK_PARAMETER", 
    6413 "before_data : TOK_DATA", 
    6414 "data : TOK_NAME TOK_SLASH datavallist TOK_SLASH", 
    6415 "data : data opt_comma TOK_NAME TOK_SLASH datavallist TOK_SLASH", 
    6416 "data : datanamelist TOK_SLASH datavallist TOK_SLASH", 
    6417 "datavallist : expr_data", 
    6418 "datavallist : expr_data ',' datavallist", 
    6419 "save : before_save varsave", 
    6420 "save : before_save comblock varsave", 
    6421 "save : save opt_comma comblock opt_comma varsave", 
    6422 "save : save ',' varsave", 
    6423 "before_save : TOK_SAVE", 
    6424 "varsave :", 
    6425 "varsave : TOK_NAME dims", 
    6426 "datanamelist : TOK_NAME", 
    6427 "datanamelist : TOK_NAME '(' expr ')'", 
    6428 "datanamelist : datanamelist ',' datanamelist", 
    6429 "expr_data : opt_signe simple_const", 
    6430 "expr_data : expr_data '+' expr_data", 
    6431 "expr_data : expr_data '-' expr_data", 
    6432 "expr_data : expr_data '*' expr_data", 
    6433 "expr_data : expr_data '/' expr_data", 
    6434 "opt_signe :", 
    6435 "opt_signe : signe", 
    6436 "namelist : namelist_action after_namelist", 
    6437 "namelist_action : TOK_NAMELIST ident", 
    6438 "namelist_action : TOK_NAMELIST comblock ident", 
    6439 "namelist_action : namelist_action opt_comma comblock opt_comma ident", 
    6440 "namelist_action : namelist_action ',' ident", 
    6441 "after_namelist :", 
    6442 "interface : TOK_INTERFACE opt_name", 
    6443 "interface : TOK_ENDINTERFACE opt_name", 
    6444 "before_dimension : TOK_DIMENSION", 
    6445 "dimension : before_dimension opt_comma TOK_NAME dims lengspec", 
    6446 "dimension : dimension ',' TOK_NAME dims lengspec", 
    6447 "private : TOK_PRIVATE '\\n'", 
    6448 "private : TOK_PRIVATE opt_sep use_name_list", 
    6449 "public : TOK_PUBLIC '\\n'", 
    6450 "public : TOK_PUBLIC opt_sep use_name_list", 
    6451 "use_name_list : TOK_NAME", 
    6452 "use_name_list : use_name_list ',' TOK_NAME", 
    6453 "common : before_common var_common_list", 
    6454 "common : before_common comblock var_common_list", 
    6455 "common : common opt_comma comblock opt_comma var_common_list", 
    6456 "before_common : TOK_COMMON", 
    6457 "before_common : TOK_GLOBAL TOK_COMMON", 
    6458 "var_common_list : var_common", 
    6459 "var_common_list : var_common_list ',' var_common", 
    6460 "var_common : TOK_NAME dims", 
    6461 "comblock : TOK_DSLASH", 
    6462 "comblock : TOK_SLASH TOK_NAME TOK_SLASH", 
    6463 "opt_comma :", 
    6464 "opt_comma : ','", 
    6465 "paramlist : paramitem", 
    6466 "paramlist : paramlist ',' paramitem", 
    6467 "paramitem : TOK_NAME '=' expr", 
    6468 "module_proc_stmt : TOK_PROCEDURE proc_name_list", 
    6469 "proc_name_list : TOK_NAME", 
    6470 "proc_name_list : proc_name_list ',' TOK_NAME", 
    6471 "implicit : TOK_IMPLICIT TOK_NONE", 
    6472 "implicit : TOK_IMPLICIT TOK_REAL8", 
    6473 "opt_retour :", 
    6474 "dcl : options opt_retour TOK_NAME dims lengspec initial_value", 
    6475 "dcl : dcl ',' opt_retour TOK_NAME dims lengspec initial_value", 
    6476 "nodimsgiven :", 
    6477 "type : typespec selector", 
    6478 "type : before_character c_selector", 
    6479 "type : typename '*' TOK_CSTINT", 
    6480 "type : before_typepar attribute ')'", 
    6481 "before_typepar : TOK_TYPEPAR", 
    6482 "c_selector :", 
    6483 "c_selector : '*' TOK_CSTINT", 
    6484 "c_selector : '*' '(' c_attribute ')'", 
    6485 "c_selector : '(' c_attribute ')'", 
    6486 "c_attribute : TOK_NAME clause opt_clause", 
    6487 "c_attribute : TOK_NAME '=' clause opt_clause", 
    6488 "c_attribute : clause opt_clause", 
    6489 "before_character : TOK_CHARACTER", 
    6490 "typespec : typename", 
    6491 "typename : TOK_INTEGER", 
    6492 "typename : TOK_REAL", 
    6493 "typename : TOK_COMPLEX", 
    6494 "typename : TOK_DOUBLEPRECISION", 
    6495 "typename : TOK_DOUBLECOMPLEX", 
    6496 "typename : TOK_LOGICAL", 
    6497 "lengspec :", 
    6498 "lengspec : '*' proper_lengspec", 
    6499 "proper_lengspec : expr", 
    6500 "proper_lengspec : '(' '*' ')'", 
    6501 "selector :", 
    6502 "selector : '*' proper_selector", 
    6503 "selector : '(' attribute ')'", 
    6504 "proper_selector : expr", 
    6505 "proper_selector : '(' '*' ')'", 
    6506 "attribute : TOK_NAME clause", 
    6507 "attribute : TOK_NAME '=' clause", 
    6508 "attribute : TOK_NAME", 
    6509 "attribute : TOK_CSTINT", 
    6510 "clause : expr", 
    6511 "clause : '*'", 
    6512 "opt_clause :", 
    6513 "opt_clause : ',' TOK_NAME clause", 
    6514 "options :", 
    6515 "options : ':' ':'", 
    6516 "options : ',' attr_spec_list ':' ':'", 
    6517 "attr_spec_list : attr_spec", 
    6518 "attr_spec_list : attr_spec_list ',' attr_spec", 
    6519 "attr_spec : TOK_PARAMETER", 
    6520 "attr_spec : access_spec", 
    6521 "attr_spec : TOK_ALLOCATABLE", 
    6522 "attr_spec : TOK_DIMENSION dims", 
    6523 "attr_spec : TOK_EXTERNAL", 
    6524 "attr_spec : TOK_INTENT '(' intent_spec ')'", 
    6525 "attr_spec : TOK_INTRINSIC", 
    6526 "attr_spec : TOK_OPTIONAL", 
    6527 "attr_spec : TOK_POINTER", 
    6528 "attr_spec : TOK_SAVE", 
    6529 "attr_spec : TOK_TARGET", 
    6530 "intent_spec : TOK_IN", 
    6531 "intent_spec : TOK_OUT", 
    6532 "intent_spec : TOK_INOUT", 
    6533 "access_spec : TOK_PUBLIC", 
    6534 "access_spec : TOK_PRIVATE", 
    6535 "dims :", 
    6536 "dims : '(' dimlist ')'", 
    6537 "dimlist : dim", 
    6538 "dimlist : dimlist ',' dim", 
    6539 "dim : ubound", 
    6540 "dim : ':'", 
    6541 "dim : expr ':'", 
    6542 "dim : ':' expr", 
    6543 "dim : expr ':' ubound", 
    6544 "ubound : '*'", 
    6545 "ubound : expr", 
    6546 "expr : uexpr", 
    6547 "expr : '(' expr ')'", 
    6548 "expr : complex_const", 
    6549 "expr : predefinedfunction", 
    6550 "predefinedfunction : TOK_SUM minmaxlist ')'", 
    6551 "predefinedfunction : TOK_MAX minmaxlist ')'", 
    6552 "predefinedfunction : TOK_TANH '(' minmaxlist ')'", 
    6553 "predefinedfunction : TOK_MAXVAL '(' minmaxlist ')'", 
    6554 "predefinedfunction : TOK_MIN minmaxlist ')'", 
    6555 "predefinedfunction : TOK_MINVAL '(' minmaxlist ')'", 
    6556 "predefinedfunction : TOK_TRIM '(' expr ')'", 
    6557 "predefinedfunction : TOK_SQRT expr ')'", 
    6558 "predefinedfunction : TOK_REAL '(' minmaxlist ')'", 
    6559 "predefinedfunction : TOK_NINT '(' expr ')'", 
    6560 "predefinedfunction : TOK_FLOAT '(' expr ')'", 
    6561 "predefinedfunction : TOK_EXP '(' expr ')'", 
    6562 "predefinedfunction : TOK_COS '(' expr ')'", 
    6563 "predefinedfunction : TOK_COSH '(' expr ')'", 
    6564 "predefinedfunction : TOK_ACOS '(' expr ')'", 
    6565 "predefinedfunction : TOK_SIN '(' expr ')'", 
    6566 "predefinedfunction : TOK_SINH '(' expr ')'", 
    6567 "predefinedfunction : TOK_ASIN '(' expr ')'", 
    6568 "predefinedfunction : TOK_LOG '(' expr ')'", 
    6569 "predefinedfunction : TOK_TAN '(' expr ')'", 
    6570 "predefinedfunction : TOK_ATAN '(' expr ')'", 
    6571 "predefinedfunction : TOK_ABS expr ')'", 
    6572 "predefinedfunction : TOK_MOD '(' minmaxlist ')'", 
    6573 "predefinedfunction : TOK_SIGN '(' minmaxlist ')'", 
    6574 "predefinedfunction : TOK_MINLOC '(' minmaxlist ')'", 
    6575 "predefinedfunction : TOK_MAXLOC '(' minmaxlist ')'", 
    6576 "minmaxlist : expr", 
    6577 "minmaxlist : minmaxlist ',' expr", 
    6578 "uexpr : lhs", 
    6579 "uexpr : simple_const", 
    6580 "uexpr : vec", 
    6581 "uexpr : expr operation", 
    6582 "uexpr : signe expr", 
    6583 "uexpr : TOK_NOT expr", 
    6584 "signe : '+'", 
    6585 "signe : '-'", 
    6586 "operation : '+' expr", 
    6587 "operation : '-' expr", 
    6588 "operation : '*' expr", 
    6589 "operation : TOK_DASTER expr", 
    6590 "operation : TOK_EQ expr", 
    6591 "operation : TOK_EQV expr", 
    6592 "operation : TOK_GT expr", 
    6593 "operation : '>' expr", 
    6594 "operation : TOK_LT expr", 
    6595 "operation : '<' expr", 
    6596 "operation : TOK_GE expr", 
    6597 "operation : '>' '=' expr", 
    6598 "operation : TOK_LE expr", 
    6599 "operation : '<' '=' expr", 
    6600 "operation : TOK_NE expr", 
    6601 "operation : TOK_NEQV expr", 
    6602 "operation : TOK_XOR expr", 
    6603 "operation : TOK_OR expr", 
    6604 "operation : TOK_AND expr", 
    6605 "operation : TOK_SLASH after_slash", 
    6606 "operation : '=' after_equal", 
    6607 "after_slash :", 
    6608 "after_slash : expr", 
    6609 "after_slash : '=' expr", 
    6610 "after_slash : TOK_SLASH expr", 
    6611 "after_equal : '=' expr", 
    6612 "after_equal : expr", 
    6613 "lhs : ident", 
    6614 "lhs : structure_component", 
    6615 "lhs : array_ele_substring_func_ref", 
    6616 "beforefunctionuse :", 
    6617 "array_ele_substring_func_ref : begin_array", 
    6618 "array_ele_substring_func_ref : begin_array substring", 
    6619 "array_ele_substring_func_ref : structure_component '(' funarglist ')'", 
    6620 "array_ele_substring_func_ref : structure_component '(' funarglist ')' substring", 
    6621 "begin_array : ident '(' funarglist ')'", 
    6622 "structure_component : lhs '%' lhs", 
    6623 "vec : TOK_LEFTAB outlist TOK_RIGHTAB", 
    6624 "funarglist : beforefunctionuse", 
    6625 "funarglist : beforefunctionuse funargs", 
    6626 "funargs : funarg", 
    6627 "funargs : funargs ',' funarg", 
    6628 "funarg : expr", 
    6629 "funarg : triplet", 
    6630 "triplet : expr ':' expr", 
    6631 "triplet : expr ':' expr ':' expr", 
    6632 "triplet : ':' expr ':' expr", 
    6633 "triplet : ':' ':' expr", 
    6634 "triplet : ':' expr", 
    6635 "triplet : expr ':'", 
    6636 "triplet : ':'", 
    6637 "ident : TOK_NAME", 
    6638 "simple_const : TOK_TRUE", 
    6639 "simple_const : TOK_FALSE", 
    6640 "simple_const : TOK_CSTINT", 
    6641 "simple_const : TOK_CSTREAL", 
    6642 "simple_const : TOK_CSTREALDP", 
    6643 "simple_const : TOK_CSTREALQP", 
    6644 "simple_const : simple_const TOK_NAME", 
    6645 "simple_const : string_constant opt_substring", 
    6646 "string_constant : TOK_CHAR_CONSTANT", 
    6647 "string_constant : string_constant TOK_CHAR_CONSTANT", 
    6648 "string_constant : TOK_CHAR_MESSAGE", 
    6649 "string_constant : TOK_CHAR_CUT", 
    6650 "opt_substring :", 
    6651 "opt_substring : substring", 
    6652 "substring : '(' optexpr ':' optexpr ')'", 
    6653 "optexpr :", 
    6654 "optexpr : expr", 
    6655 "opt_expr : '\\n'", 
    6656 "opt_expr : expr", 
    6657 "initial_value :", 
    6658 "initial_value : before_initial '=' expr", 
    6659 "before_initial :", 
    6660 "complex_const : '(' uexpr ',' uexpr ')'", 
    6661 "use_stat : word_use module_name", 
    6662 "use_stat : word_use module_name ',' rename_list", 
    6663 "use_stat : word_use module_name ',' TOK_ONLY ':' '\\n'", 
    6664 "use_stat : word_use module_name ',' TOK_ONLY ':' only_list", 
    6665 "word_use : TOK_USE", 
    6666 "module_name : TOK_NAME", 
    6667 "rename_list : rename_name", 
    6668 "rename_list : rename_list ',' rename_name", 
    6669 "rename_name : TOK_NAME TOK_POINT_TO TOK_NAME", 
    6670 "only_list : only_name", 
    6671 "only_list : only_list ',' only_name", 
    6672 "only_name : TOK_NAME TOK_POINT_TO TOK_NAME", 
    6673 "only_name : TOK_NAME", 
    6674 "exec : iffable", 
    6675 "exec : TOK_ALLOCATE '(' allocation_list opt_stat_spec ')'", 
    6676 "exec : TOK_DEALLOCATE '(' allocate_object_list opt_stat_spec ')'", 
    6677 "exec : TOK_NULLIFY '(' pointer_name_list ')'", 
    6678 "exec : word_endunit", 
    6679 "exec : word_endprogram opt_name", 
    6680 "exec : word_endsubroutine opt_name", 
    6681 "exec : word_endfunction opt_name", 
    6682 "exec : TOK_ENDMODULE opt_name", 
    6683 "exec : boucledo", 
    6684 "exec : logif iffable", 
    6685 "exec : TOK_WHERE '(' expr ')' opt_expr", 
    6686 "exec : TOK_ELSEWHERE", 
    6687 "exec : TOK_ENDWHERE", 
    6688 "exec : logif TOK_THEN", 
    6689 "exec : TOK_ELSEIF '(' expr ')' TOK_THEN", 
    6690 "exec : TOK_ELSE", 
    6691 "exec : TOK_ENDIF opt_name", 
    6692 "exec : TOK_CASE caselist ')'", 
    6693 "exec : TOK_SELECTCASE '(' expr ')'", 
    6694 "exec : TOK_CASEDEFAULT", 
    6695 "exec : TOK_ENDSELECT", 
    6696 "exec : TOK_CONTAINS", 
    6697 "word_endsubroutine : TOK_ENDSUBROUTINE", 
    6698 "word_endunit : TOK_ENDUNIT", 
    6699 "word_endprogram : TOK_ENDPROGRAM", 
    6700 "word_endfunction : TOK_ENDFUNCTION", 
    6701 "caselist : expr", 
    6702 "caselist : caselist ',' expr", 
    6703 "caselist : caselist ':' expr", 
    6704 "boucledo : worddo opt_int do_arg", 
    6705 "boucledo : wordwhile expr", 
    6706 "boucledo : TOK_ENDDO optname", 
    6707 "do_arg :", 
    6708 "do_arg : do_var '=' expr ',' expr", 
    6709 "do_arg : do_var '=' expr ',' expr ',' expr", 
    6710 "opt_int :", 
    6711 "opt_int : TOK_CSTINT opt_comma", 
    6712 "opt_name : '\\n'", 
    6713 "opt_name : TOK_NAME", 
    6714 "optname :", 
    6715 "optname : TOK_NAME", 
    6716 "worddo : TOK_PLAINDO", 
    6717 "wordwhile : TOK_DOWHILE", 
    6718 "dotarget :", 
    6719 "dotarget : TOK_CSTINT", 
    6720 "iffable : TOK_CONTINUE", 
    6721 "iffable : ident_dims after_ident_dims", 
    6722 "iffable : goto", 
    6723 "iffable : io", 
    6724 "iffable : call", 
    6725 "iffable : TOK_ALLOCATE '(' allocation_list opt_stat_spec ')'", 
    6726 "iffable : TOK_DEALLOCATE '(' allocate_object_list opt_stat_spec ')'", 
    6727 "iffable : TOK_EXIT optexpr", 
    6728 "iffable : TOK_RETURN opt_expr", 
    6729 "iffable : TOK_CYCLE opt_expr", 
    6730 "iffable : stop opt_expr", 
    6731 "iffable : int_list", 
    6732 "before_dims :", 
    6733 "ident_dims : ident before_dims dims dims", 
    6734 "ident_dims : ident_dims '%' ident before_dims dims dims", 
    6735 "int_list : TOK_CSTINT", 
    6736 "int_list : int_list ',' TOK_CSTINT", 
    6737 "after_ident_dims : '=' expr", 
    6738 "after_ident_dims : TOK_POINT_TO expr", 
    6739 "call : keywordcall opt_call", 
    6740 "opt_call :", 
    6741 "opt_call : '(' opt_callarglist ')'", 
    6742 "opt_callarglist :", 
    6743 "opt_callarglist : callarglist", 
    6744 "keywordcall : before_call TOK_NAME", 
    6745 "before_call : TOK_CALL", 
    6746 "callarglist : callarg", 
    6747 "callarglist : callarglist ',' callarg", 
    6748 "callarg : expr", 
    6749 "callarg : '*' label", 
    6750 "stop : TOK_PAUSE", 
    6751 "stop : TOK_STOP", 
    6752 "io : iofctl ioctl", 
    6753 "io : read option_read", 
    6754 "io : write ioctl", 
    6755 "io : write ioctl outlist", 
    6756 "io : TOK_REWIND after_rewind", 
    6757 "io : TOK_FORMAT", 
    6758 "opt_CHAR_INT :", 
    6759 "opt_CHAR_INT : TOK_CSTINT TOK_NAME", 
    6760 "idfile : '*'", 
    6761 "idfile : TOK_CSTINT", 
    6762 "idfile : ident", 
    6763 "option_print :", 
    6764 "option_print : ',' outlist", 
    6765 "option_inlist :", 
    6766 "option_inlist : inlist", 
    6767 "option_read : ioctl option_inlist", 
    6768 "option_read : infmt opt_inlist", 
    6769 "opt_outlist :", 
    6770 "opt_outlist : outlist", 
    6771 "opt_inlist :", 
    6772 "opt_inlist : ',' inlist", 
    6773 "ioctl : '(' ctllist ')'", 
    6774 "ioctl : '(' fexpr ')'", 
    6775 "after_rewind : '(' ident ')'", 
    6776 "after_rewind : '(' TOK_CSTINT ')'", 
    6777 "after_rewind : TOK_CSTINT", 
    6778 "after_rewind : '(' uexpr ')'", 
    6779 "after_rewind : TOK_NAME", 
    6780 "ctllist : ioclause", 
    6781 "ctllist : ctllist ',' ioclause", 
    6782 "ioclause : fexpr", 
    6783 "ioclause : '*'", 
    6784 "ioclause : TOK_DASTER", 
    6785 "ioclause : TOK_NAME expr", 
    6786 "ioclause : TOK_NAME expr '%' ident_dims", 
    6787 "ioclause : TOK_NAME '(' triplet ')'", 
    6788 "ioclause : TOK_NAME '*'", 
    6789 "ioclause : TOK_NAME TOK_DASTER", 
    6790 "iofctl : TOK_OPEN", 
    6791 "iofctl : TOK_CLOSE", 
    6792 "infmt : unpar_fexpr", 
    6793 "infmt : '*'", 
    6794 "read : TOK_READ", 
    6795 "read : TOK_INQUIRE", 
    6796 "read : TOK_PRINT", 
    6797 "write : TOK_WRITE", 
    6798 "fexpr : unpar_fexpr", 
    6799 "fexpr : '(' fexpr ')'", 
    6800 "unpar_fexpr : lhs", 
    6801 "unpar_fexpr : simple_const", 
    6802 "unpar_fexpr : fexpr addop fexpr", 
    6803 "unpar_fexpr : fexpr '*' fexpr", 
    6804 "unpar_fexpr : fexpr TOK_SLASH fexpr", 
    6805 "unpar_fexpr : fexpr TOK_DASTER fexpr", 
    6806 "unpar_fexpr : addop fexpr", 
    6807 "unpar_fexpr : fexpr TOK_DSLASH fexpr", 
    6808 "unpar_fexpr : TOK_FILE expr", 
    6809 "unpar_fexpr : TOK_EXIST expr", 
    6810 "unpar_fexpr : TOK_ERR expr", 
    6811 "unpar_fexpr : TOK_END expr", 
    6812 "unpar_fexpr : TOK_NAME '=' expr", 
    6813 "addop : '+'", 
    6814 "addop : '-'", 
    6815 "inlist : inelt", 
    6816 "inlist : inlist ',' inelt", 
    6817 "opt_lhs :", 
    6818 "opt_lhs : lhs", 
    6819 "inelt : opt_lhs opt_operation", 
    6820 "inelt : '(' inlist ')' opt_operation", 
    6821 "inelt : predefinedfunction opt_operation", 
    6822 "inelt : simple_const opt_operation", 
    6823 "inelt : '(' inlist ',' dospec ')'", 
    6824 "opt_operation :", 
    6825 "opt_operation : operation", 
    6826 "opt_operation : opt_operation operation", 
    6827 "outlist : uexpr", 
    6828 "outlist : other", 
    6829 "outlist : out2", 
    6830 "out2 : uexpr ',' expr", 
    6831 "out2 : uexpr ',' other", 
    6832 "out2 : other ',' expr", 
    6833 "out2 : other ',' other", 
    6834 "out2 : out2 ',' expr", 
    6835 "out2 : out2 ',' other", 
    6836 "out2 : uexpr", 
    6837 "out2 : predefinedfunction", 
    6838 "other : complex_const", 
    6839 "other : '(' expr ')'", 
    6840 "other : '(' uexpr ',' dospec ')'", 
    6841 "other : '(' other ',' dospec ')'", 
    6842 "other : '(' out2 ',' dospec ')'", 
    6843 "dospec : TOK_NAME '=' expr ',' expr", 
    6844 "dospec : TOK_NAME '=' expr ',' expr ',' expr", 
    6845 "labellist : label", 
    6846 "labellist : labellist ',' label", 
    6847 "label : TOK_CSTINT", 
    6848 "goto : TOK_PLAINGOTO '(' expr ',' expr ')' ',' expr", 
    6849 "goto : TOK_PLAINGOTO label", 
    6850 "allocation_list : allocate_object", 
    6851 "allocation_list : ident_dims", 
    6852 "allocation_list : allocation_list ',' allocate_object", 
    6853 "allocate_object : ident", 
    6854 "allocate_object : structure_component", 
    6855 "allocate_object : array_element", 
    6856 "array_element : ident '(' funargs ')'", 
    6857 "subscript_list : expr", 
    6858 "subscript_list : subscript_list ',' expr", 
    6859 "allocate_object_list : allocate_object", 
    6860 "allocate_object_list : allocate_object_list ',' allocate_object", 
    6861 "opt_stat_spec :", 
    6862 "opt_stat_spec : ',' TOK_STAT '=' ident", 
    6863 "pointer_name_list : ident", 
    6864 "pointer_name_list : pointer_name_list ',' ident", 
    6865 "opt_construct_name :", 
    6866 "opt_construct_name : TOK_NAME", 
    6867 "opt_construct_name_colon :", 
    6868 "opt_construct_name_colon : TOK_CONSTRUCTID ':'", 
    6869 "logif : TOK_LOGICALIF expr ')'", 
    6870 "do_var : ident", 
    6871 }; 
     2949 
     2950# ifndef YYFPRINTF 
     2951#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 
     2952#  define YYFPRINTF fprintf 
     2953# endif 
     2954 
     2955# define YYDPRINTF(Args)         \ 
     2956do {                 \ 
     2957  if (yydebug)             \ 
     2958    YYFPRINTF Args;           \ 
     2959} while (YYID (0)) 
     2960 
     2961# define YY_SYMBOL_PRINT(Title, Type, Value, Location)           \ 
     2962do {                            \ 
     2963  if (yydebug)                        \ 
     2964    {                           \ 
     2965      YYFPRINTF (stderr, "%s ", Title);                 \ 
     2966      yy_symbol_print (stderr,                    \ 
     2967        Type, Value); \ 
     2968      YYFPRINTF (stderr, "\n");                   \ 
     2969    }                           \ 
     2970} while (YYID (0)) 
     2971 
     2972 
     2973/*--------------------------------. 
     2974| Print this symbol on YYOUTPUT.  | 
     2975`--------------------------------*/ 
     2976 
     2977/*ARGSUSED*/ 
     2978#if (defined __STDC__ || defined __C99__FUNC__ \ 
     2979     || defined __cplusplus || defined _MSC_VER) 
     2980static void 
     2981yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 
     2982#else 
     2983static void 
     2984yy_symbol_value_print (yyoutput, yytype, yyvaluep) 
     2985    FILE *yyoutput; 
     2986    int yytype; 
     2987    YYSTYPE const * const yyvaluep; 
    68722988#endif 
    6873 #ifdef YYSTACKSIZE 
    6874 #undef YYMAXDEPTH 
    6875 #define YYMAXDEPTH YYSTACKSIZE 
     2989{ 
     2990  if (!yyvaluep) 
     2991    return; 
     2992# ifdef YYPRINT 
     2993  if (yytype < YYNTOKENS) 
     2994    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 
     2995# else 
     2996  YYUSE (yyoutput); 
     2997# endif 
     2998  switch (yytype) 
     2999    { 
     3000      default: 
     3001   break; 
     3002    } 
     3003} 
     3004 
     3005 
     3006/*--------------------------------. 
     3007| Print this symbol on YYOUTPUT.  | 
     3008`--------------------------------*/ 
     3009 
     3010#if (defined __STDC__ || defined __C99__FUNC__ \ 
     3011     || defined __cplusplus || defined _MSC_VER) 
     3012static void 
     3013yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 
    68763014#else 
    6877 #ifdef YYMAXDEPTH 
    6878 #define YYSTACKSIZE YYMAXDEPTH 
     3015static void 
     3016yy_symbol_print (yyoutput, yytype, yyvaluep) 
     3017    FILE *yyoutput; 
     3018    int yytype; 
     3019    YYSTYPE const * const yyvaluep; 
     3020#endif 
     3021{ 
     3022  if (yytype < YYNTOKENS) 
     3023    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 
     3024  else 
     3025    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 
     3026 
     3027  yy_symbol_value_print (yyoutput, yytype, yyvaluep); 
     3028  YYFPRINTF (yyoutput, ")"); 
     3029} 
     3030 
     3031/*------------------------------------------------------------------. 
     3032| yy_stack_print -- Print the state stack from its BOTTOM up to its | 
     3033| TOP (included).                                                   | 
     3034`------------------------------------------------------------------*/ 
     3035 
     3036#if (defined __STDC__ || defined __C99__FUNC__ \ 
     3037     || defined __cplusplus || defined _MSC_VER) 
     3038static void 
     3039yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) 
    68793040#else 
    6880 #define YYSTACKSIZE 500 
    6881 #define YYMAXDEPTH 500 
     3041static void 
     3042yy_stack_print (bottom, top) 
     3043    yytype_int16 *bottom; 
     3044    yytype_int16 *top; 
    68823045#endif 
     3046{ 
     3047  YYFPRINTF (stderr, "Stack now"); 
     3048  for (; bottom <= top; ++bottom) 
     3049    YYFPRINTF (stderr, " %d", *bottom); 
     3050  YYFPRINTF (stderr, "\n"); 
     3051} 
     3052 
     3053# define YY_STACK_PRINT(Bottom, Top)            \ 
     3054do {                       \ 
     3055  if (yydebug)                   \ 
     3056    yy_stack_print ((Bottom), (Top));           \ 
     3057} while (YYID (0)) 
     3058 
     3059 
     3060/*------------------------------------------------. 
     3061| Report that the YYRULE is going to be reduced.  | 
     3062`------------------------------------------------*/ 
     3063 
     3064#if (defined __STDC__ || defined __C99__FUNC__ \ 
     3065     || defined __cplusplus || defined _MSC_VER) 
     3066static void 
     3067yy_reduce_print (YYSTYPE *yyvsp, int yyrule) 
     3068#else 
     3069static void 
     3070yy_reduce_print (yyvsp, yyrule) 
     3071    YYSTYPE *yyvsp; 
     3072    int yyrule; 
    68833073#endif 
     3074{ 
     3075  int yynrhs = yyr2[yyrule]; 
     3076  int yyi; 
     3077  unsigned long int yylno = yyrline[yyrule]; 
     3078  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 
     3079        yyrule - 1, yylno); 
     3080  /* The symbols being reduced.  */ 
     3081  for (yyi = 0; yyi < yynrhs; yyi++) 
     3082    { 
     3083      fprintf (stderr, "   $%d = ", yyi + 1); 
     3084      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 
     3085             &(yyvsp[(yyi + 1) - (yynrhs)]) 
     3086                         ); 
     3087      fprintf (stderr, "\n"); 
     3088    } 
     3089} 
     3090 
     3091# define YY_REDUCE_PRINT(Rule)      \ 
     3092do {              \ 
     3093  if (yydebug)          \ 
     3094    yy_reduce_print (yyvsp, Rule); \ 
     3095} while (YYID (0)) 
     3096 
     3097/* Nonzero means print parse trace.  It is left uninitialized so that 
     3098   multiple parsers can coexist.  */ 
    68843099int yydebug; 
    6885 int yynerrs; 
    6886 int yyerrflag; 
    6887 int yychar; 
    6888 short *yyssp; 
    6889 YYSTYPE *yyvsp; 
    6890 YYSTYPE yyval; 
    6891 YYSTYPE yylval; 
    6892 short yyss[YYSTACKSIZE]; 
    6893 YYSTYPE yyvs[YYSTACKSIZE]; 
    6894 #define yystacksize YYSTACKSIZE 
    6895 #line 2567 "fortran.y" 
    6896  
    6897 void processfortran(char *fichier_entree) 
     3100#else /* !YYDEBUG */ 
     3101# define YYDPRINTF(Args) 
     3102# define YY_SYMBOL_PRINT(Title, Type, Value, Location) 
     3103# define YY_STACK_PRINT(Bottom, Top) 
     3104# define YY_REDUCE_PRINT(Rule) 
     3105#endif /* !YYDEBUG */ 
     3106 
     3107 
     3108/* YYINITDEPTH -- initial size of the parser's stacks.  */ 
     3109#ifndef  YYINITDEPTH 
     3110# define YYINITDEPTH 200 
     3111#endif 
     3112 
     3113/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 
     3114   if the built-in stack extension method is used). 
     3115 
     3116   Do not make this value too large; the results are undefined if 
     3117   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 
     3118   evaluated with infinite-precision integer arithmetic.  */ 
     3119 
     3120#ifndef YYMAXDEPTH 
     3121# define YYMAXDEPTH 10000 
     3122#endif 
     3123 
     3124 
     3125 
     3126 
     3127#if YYERROR_VERBOSE 
     3128 
     3129# ifndef yystrlen 
     3130#  if defined __GLIBC__ && defined _STRING_H 
     3131#   define yystrlen strlen 
     3132#  else 
     3133/* Return the length of YYSTR.  */ 
     3134#if (defined __STDC__ || defined __C99__FUNC__ \ 
     3135     || defined __cplusplus || defined _MSC_VER) 
     3136static YYSIZE_T 
     3137yystrlen (const char *yystr) 
     3138#else 
     3139static YYSIZE_T 
     3140yystrlen (yystr) 
     3141    const char *yystr; 
     3142#endif 
    68983143{ 
    6899    extern FILE *fortranin; 
    6900    extern FILE *fortranout; 
    6901    char nomfile[LONG_C]; 
    6902    int c; 
    6903    int confirmyes; 
    6904  
    6905    /*fortrandebug = 1;*/ 
    6906    if ( mark == 1 ) printf("Firstpass == %d \n",firstpass); 
    6907 /******************************************************************************/ 
    6908 /*  1-  Open input and output files                                           */ 
    6909 /******************************************************************************/ 
    6910    strcpy(nomfile,commondirin); 
    6911    strcat(nomfile,"/"); 
    6912    strcat(nomfile,fichier_entree); 
    6913    fortranin=fopen( nomfile,"r"); 
    6914    if (! fortranin) 
     3144  YYSIZE_T yylen; 
     3145  for (yylen = 0; yystr[yylen]; yylen++) 
     3146    continue; 
     3147  return yylen; 
     3148} 
     3149#  endif 
     3150# endif 
     3151 
     3152# ifndef yystpcpy 
     3153#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 
     3154#   define yystpcpy stpcpy 
     3155#  else 
     3156/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 
     3157   YYDEST.  */ 
     3158#if (defined __STDC__ || defined __C99__FUNC__ \ 
     3159     || defined __cplusplus || defined _MSC_VER) 
     3160static char * 
     3161yystpcpy (char *yydest, const char *yysrc) 
     3162#else 
     3163static char * 
     3164yystpcpy (yydest, yysrc) 
     3165    char *yydest; 
     3166    const char *yysrc; 
     3167#endif 
     3168{ 
     3169  char *yyd = yydest; 
     3170  const char *yys = yysrc; 
     3171 
     3172  while ((*yyd++ = *yys++) != '\0') 
     3173    continue; 
     3174 
     3175  return yyd - 1; 
     3176} 
     3177#  endif 
     3178# endif 
     3179 
     3180# ifndef yytnamerr 
     3181/* Copy to YYRES the contents of YYSTR after stripping away unnecessary 
     3182   quotes and backslashes, so that it's suitable for yyerror.  The 
     3183   heuristic is that double-quoting is unnecessary unless the string 
     3184   contains an apostrophe, a comma, or backslash (other than 
     3185   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is 
     3186   null, do not copy; instead, return the length of what the result 
     3187   would have been.  */ 
     3188static YYSIZE_T 
     3189yytnamerr (char *yyres, const char *yystr) 
     3190{ 
     3191  if (*yystr == '"') 
    69153192   { 
    6916       printf("Error : File %s does not exist\n",nomfile); 
    6917       exit(1); 
     3193      YYSIZE_T yyn = 0; 
     3194      char const *yyp = yystr; 
     3195 
     3196      for (;;) 
     3197   switch (*++yyp) 
     3198     { 
     3199     case '\'': 
     3200     case ',': 
     3201       goto do_not_strip_quotes; 
     3202 
     3203     case '\\': 
     3204       if (*++yyp != '\\') 
     3205         goto do_not_strip_quotes; 
     3206       /* Fall through.  */ 
     3207     default: 
     3208       if (yyres) 
     3209         yyres[yyn] = *yyp; 
     3210       yyn++; 
     3211       break; 
     3212 
     3213     case '"': 
     3214       if (yyres) 
     3215         yyres[yyn] = '\0'; 
     3216       return yyn; 
    69183217   } 
    6919  
    6920    strcpy(curfile,nomfile); 
    6921    strcpy(nomfile,commondirout); 
    6922    strcat(nomfile,"/"); 
    6923    strcat(nomfile,fichier_entree); 
    6924    strcpy(nomfileoutput,nomfile); 
    6925    Save_Length(nomfileoutput,31); 
    6926    if (firstpass == 1) 
     3218    do_not_strip_quotes: ; 
     3219    } 
     3220 
     3221  if (! yyres) 
     3222    return yystrlen (yystr); 
     3223 
     3224  return yystpcpy (yyres, yystr) - yyres; 
     3225} 
     3226# endif 
     3227 
     3228/* Copy into YYRESULT an error message about the unexpected token 
     3229   YYCHAR while in state YYSTATE.  Return the number of bytes copied, 
     3230   including the terminating null byte.  If YYRESULT is null, do not 
     3231   copy anything; just return the number of bytes that would be 
     3232   copied.  As a special case, return 0 if an ordinary "syntax error" 
     3233   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during 
     3234   size calculation.  */ 
     3235static YYSIZE_T 
     3236yysyntax_error (char *yyresult, int yystate, int yychar) 
     3237{ 
     3238  int yyn = yypact[yystate]; 
     3239 
     3240  if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) 
     3241    return 0; 
     3242  else 
    69273243   { 
    6928       if (checkexistcommon == 1) 
     3244      int yytype = YYTRANSLATE (yychar); 
     3245      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); 
     3246      YYSIZE_T yysize = yysize0; 
     3247      YYSIZE_T yysize1; 
     3248      int yysize_overflow = 0; 
     3249      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 
     3250      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 
     3251      int yyx; 
     3252 
     3253# if 0 
     3254      /* This is so xgettext sees the translatable formats that are 
     3255    constructed on the fly.  */ 
     3256      YY_("syntax error, unexpected %s"); 
     3257      YY_("syntax error, unexpected %s, expecting %s"); 
     3258      YY_("syntax error, unexpected %s, expecting %s or %s"); 
     3259      YY_("syntax error, unexpected %s, expecting %s or %s or %s"); 
     3260      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); 
     3261# endif 
     3262      char *yyfmt; 
     3263      char const *yyf; 
     3264      static char const yyunexpected[] = "syntax error, unexpected %s"; 
     3265      static char const yyexpecting[] = ", expecting %s"; 
     3266      static char const yyor[] = " or %s"; 
     3267      char yyformat[sizeof yyunexpected 
     3268          + sizeof yyexpecting - 1 
     3269          + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) 
     3270             * (sizeof yyor - 1))]; 
     3271      char const *yyprefix = yyexpecting; 
     3272 
     3273      /* Start YYX at -YYN if negative to avoid negative indexes in 
     3274    YYCHECK.  */ 
     3275      int yyxbegin = yyn < 0 ? -yyn : 0; 
     3276 
     3277      /* Stay within bounds of both yycheck and yytname.  */ 
     3278      int yychecklim = YYLAST - yyn + 1; 
     3279      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 
     3280      int yycount = 1; 
     3281 
     3282      yyarg[0] = yytname[yytype]; 
     3283      yyfmt = yystpcpy (yyformat, yyunexpected); 
     3284 
     3285      for (yyx = yyxbegin; yyx < yyxend; ++yyx) 
     3286   if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) 
    69293287      { 
    6930          if (fopen(nomfile,"r")) 
     3288       if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 
    69313289         { 
    6932             printf("Warning : file %s already exist\n",nomfile); 
    6933             confirmyes = 0; 
    6934             while (confirmyes==0) 
     3290      yycount = 1; 
     3291      yysize = yysize0; 
     3292      yyformat[sizeof yyunexpected - 1] = '\0'; 
     3293      break; 
     3294         } 
     3295       yyarg[yycount++] = yytname[yyx]; 
     3296       yysize1 = yysize + yytnamerr (0, yytname[yyx]); 
     3297       yysize_overflow |= (yysize1 < yysize); 
     3298       yysize = yysize1; 
     3299       yyfmt = yystpcpy (yyfmt, yyprefix); 
     3300       yyprefix = yyor; 
     3301     } 
     3302 
     3303      yyf = YY_(yyformat); 
     3304      yysize1 = yysize + yystrlen (yyf); 
     3305      yysize_overflow |= (yysize1 < yysize); 
     3306      yysize = yysize1; 
     3307 
     3308      if (yysize_overflow) 
     3309   return YYSIZE_MAXIMUM; 
     3310 
     3311      if (yyresult) 
    69353312            { 
    6936                printf("Override file %s ? [Y/N]\n",nomfile); 
    6937                c=getchar(); 
    6938                getchar(); 
    6939                if (c==79 || c==110) 
     3313     /* Avoid sprintf, as that infringes on the user's name space. 
     3314        Don't have undefined behavior even if the translation 
     3315        produced a string with the wrong number of "%s"s.  */ 
     3316     char *yyp = yyresult; 
     3317     int yyi = 0; 
     3318     while ((*yyp = *yyf) != '\0') 
    69403319               { 
    6941                   printf("We stop\n"); 
    6942                   exit(1); 
     3320         if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) 
     3321      { 
     3322        yyp += yytnamerr (yyp, yyarg[yyi++]); 
     3323        yyf += 2; 
    69433324               } 
    6944                if (c==89 || c==121) 
     3325         else 
    69453326               { 
    6946                   confirmyes=1; 
     3327        yyp++; 
     3328        yyf++; 
    69473329               } 
    69483330            } 
    69493331         } 
     3332      return yysize; 
    69503333      } 
     3334} 
     3335#endif /* YYERROR_VERBOSE */ 
     3336 
     3337 
     3338 
     3339/*-----------------------------------------------. 
     3340| Release the memory associated to this symbol.  | 
     3341`-----------------------------------------------*/ 
     3342 
     3343/*ARGSUSED*/ 
     3344#if (defined __STDC__ || defined __C99__FUNC__ \ 
     3345     || defined __cplusplus || defined _MSC_VER) 
     3346static void 
     3347yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 
     3348#else 
     3349static void 
     3350yydestruct (yymsg, yytype, yyvaluep) 
     3351    const char *yymsg; 
     3352    int yytype; 
     3353    YYSTYPE *yyvaluep; 
     3354#endif 
     3355{ 
     3356  YYUSE (yyvaluep); 
     3357 
     3358  if (!yymsg) 
     3359    yymsg = "Deleting"; 
     3360  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 
     3361 
     3362  switch (yytype) 
     3363   { 
     3364 
     3365      default: 
     3366   break; 
    69513367   } 
    6952  
    6953 /******************************************************************************/ 
    6954 /*  2-  Variables initialization                                              */ 
    6955 /******************************************************************************/ 
    6956  
    6957    line_num_fortran_common=1; 
    6958    line_num_fortran=1; 
    6959    PublicDeclare = 0; 
    6960    PrivateDeclare = 0; 
    6961    ExternalDeclare = 0; 
    6962    SaveDeclare = 0; 
    6963    pointerdeclare = 0; 
    6964    optionaldeclare = 0; 
    6965    incalldeclare = 0; 
    6966    VarType = 0; 
    6967    VarTypepar = 0; 
    6968    Allocatabledeclare = 0 ; 
    6969    strcpy(NamePrecision," "); 
    6970    VariableIsParameter =  0 ; 
    6971    strcpy(NamePrecision,""); 
    6972    c_star = 0 ; 
    6973    functiondeclarationisdone = 0; 
    6974    insubroutinedeclare = 0 ; 
    6975    strcpy(subroutinename," "); 
    6976    InitialValueGiven = 0 ; 
    6977    strcpy(EmptyChar," "); 
    6978    inmoduledeclare = 0; 
    6979    colnum=0; 
    6980    incom=0; 
    6981    couldaddvariable=1; 
    6982    aftercontainsdeclare = 1; 
    6983    strcpy(nameinttypename,""); 
    6984    /* Name of the file without format                                         */ 
    6985    tmp = strchr(fichier_entree, '.'); 
    6986    strncpy(curfilename,fichier_entree,strlen(fichier_entree)-strlen(tmp)); 
    6987    Save_Length(curfilename,30); 
    6988 /******************************************************************************/ 
    6989 /*  3-  Parsing of the input file (1 time)                                    */ 
    6990 /******************************************************************************/ 
    6991    if (firstpass == 0 ) 
    6992    { 
    6993       fortranout=fopen(nomfileoutput,"w"); 
    6994  
    6995       NewModule_Creation_0(); 
    6996    } 
    6997  
    6998    fortranparse(); 
    6999  
    7000    strcpy(curfile,mainfile); 
    7001  
    7002    if (firstpass == 0 ) fclose(fortranout); 
    70033368} 
    7004 #line 7005 "y.tab.c" 
    7005 #define YYABORT goto yyabort 
    7006 #define YYREJECT goto yyabort 
    7007 #define YYACCEPT goto yyaccept 
    7008 #define YYERROR goto yyerrlab 
     3369 
     3370 
     3371 
     3372/* Prevent warnings from -Wmissing-prototypes.  */ 
     3373 
     3374#ifdef YYPARSE_PARAM 
     3375#if defined __STDC__ || defined __cplusplus 
     3376int yyparse (void *YYPARSE_PARAM); 
     3377#else 
     3378int yyparse (); 
     3379#endif 
     3380#else /* ! YYPARSE_PARAM */ 
     3381#if defined __STDC__ || defined __cplusplus 
     3382int yyparse (void); 
     3383#else 
     3384int yyparse (); 
     3385#endif 
     3386#endif /* ! YYPARSE_PARAM */ 
     3387 
     3388 
     3389 
     3390/* The look-ahead symbol.  */ 
     3391int yychar; 
     3392 
     3393/* The semantic value of the look-ahead symbol.  */ 
     3394YYSTYPE yylval; 
     3395 
     3396/* Number of syntax errors so far.  */ 
     3397int yynerrs; 
     3398 
     3399 
     3400 
     3401/*----------. 
     3402| yyparse.  | 
     3403`----------*/ 
     3404 
     3405#ifdef YYPARSE_PARAM 
     3406#if (defined __STDC__ || defined __C99__FUNC__ \ 
     3407     || defined __cplusplus || defined _MSC_VER) 
    70093408int 
    7010 yyparse() 
     3409yyparse (void *YYPARSE_PARAM) 
     3410#else 
     3411int 
     3412yyparse (YYPARSE_PARAM) 
     3413    void *YYPARSE_PARAM; 
     3414#endif 
     3415#else /* ! YYPARSE_PARAM */ 
     3416#if (defined __STDC__ || defined __C99__FUNC__ \ 
     3417     || defined __cplusplus || defined _MSC_VER) 
     3418int 
     3419yyparse (void) 
     3420#else 
     3421int 
     3422yyparse () 
     3423 
     3424#endif 
     3425#endif 
    70113426{ 
    7012     register int yym, yyn, yystate; 
    7013 #if YYDEBUG 
    7014     register char *yys; 
    7015     extern char *getenv(); 
    7016  
    7017     if (yys = getenv("YYDEBUG")) 
    7018     { 
    7019         yyn = *yys; 
    7020         if (yyn >= '0' && yyn <= '9') 
    7021             yydebug = yyn - '0'; 
    7022     } 
     3427   
     3428  int yystate; 
     3429  int yyn; 
     3430  int yyresult; 
     3431  /* Number of tokens to shift before error messages enabled.  */ 
     3432  int yyerrstatus; 
     3433  /* Look-ahead token as an internal (translated) token number.  */ 
     3434  int yytoken = 0; 
     3435#if YYERROR_VERBOSE 
     3436  /* Buffer for error messages, and its allocated size.  */ 
     3437  char yymsgbuf[128]; 
     3438  char *yymsg = yymsgbuf; 
     3439  YYSIZE_T yymsg_alloc = sizeof yymsgbuf; 
    70233440#endif 
    70243441 
     3442  /* Three stacks and their tools: 
     3443     `yyss': related to states, 
     3444     `yyvs': related to semantic values, 
     3445     `yyls': related to locations. 
     3446 
     3447     Refer to the stacks thru separate pointers, to allow yyoverflow 
     3448     to reallocate them elsewhere.  */ 
     3449 
     3450  /* The state stack.  */ 
     3451  yytype_int16 yyssa[YYINITDEPTH]; 
     3452  yytype_int16 *yyss = yyssa; 
     3453  yytype_int16 *yyssp; 
     3454 
     3455  /* The semantic value stack.  */ 
     3456  YYSTYPE yyvsa[YYINITDEPTH]; 
     3457  YYSTYPE *yyvs = yyvsa; 
     3458  YYSTYPE *yyvsp; 
     3459 
     3460 
     3461 
     3462#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N)) 
     3463 
     3464  YYSIZE_T yystacksize = YYINITDEPTH; 
     3465 
     3466  /* The variables used to return semantic value and location from the 
     3467     action routines.  */ 
     3468  YYSTYPE yyval; 
     3469 
     3470 
     3471  /* The number of symbols on the RHS of the reduced rule. 
     3472     Keep to zero when no symbol should be popped.  */ 
     3473  int yylen = 0; 
     3474 
     3475  YYDPRINTF ((stderr, "Starting parse\n")); 
     3476 
     3477  yystate = 0; 
     3478  yyerrstatus = 0; 
    70253479    yynerrs = 0; 
    7026     yyerrflag = 0; 
    7027     yychar = (-1); 
     3480  yychar = YYEMPTY;     /* Cause a token to be read.  */ 
     3481 
     3482  /* Initialize stack pointers. 
     3483     Waste one element of value and location stack 
     3484     so that they stay on the same level as the state stack. 
     3485     The wasted elements are never initialized.  */ 
    70283486 
    70293487    yyssp = yyss; 
    70303488    yyvsp = yyvs; 
    7031     *yyssp = yystate = 0; 
    7032  
    7033 yyloop: 
    7034     if (yyn = yydefred[yystate]) goto yyreduce; 
    7035     if (yychar < 0) 
    7036     { 
    7037         if ((yychar = yylex()) < 0) yychar = 0; 
    7038 #if YYDEBUG 
    7039         if (yydebug) 
     3489 
     3490  goto yysetstate; 
     3491 
     3492/*------------------------------------------------------------. 
     3493| yynewstate -- Push a new state, which is found in yystate.  | 
     3494`------------------------------------------------------------*/ 
     3495 yynewstate: 
     3496  /* In all cases, when you get here, the value and location stacks 
     3497     have just been pushed.  So pushing a state here evens the stacks.  */ 
     3498  yyssp++; 
     3499 
     3500 yysetstate: 
     3501  *yyssp = yystate; 
     3502 
     3503  if (yyss + yystacksize - 1 <= yyssp) 
     3504    { 
     3505      /* Get the current used size of the three stacks, in elements.  */ 
     3506      YYSIZE_T yysize = yyssp - yyss + 1; 
     3507 
     3508#ifdef yyoverflow 
    70403509        { 
    7041             yys = 0; 
    7042             if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; 
    7043             if (!yys) yys = "illegal-symbol"; 
    7044             printf("%sdebug: state %d, reading %d (%s)\n", 
    7045                     YYPREFIX, yystate, yychar, yys); 
     3510   /* Give user a chance to reallocate the stack.  Use copies of 
     3511      these so that the &'s don't force the real ones into 
     3512      memory.  */ 
     3513   YYSTYPE *yyvs1 = yyvs; 
     3514   yytype_int16 *yyss1 = yyss; 
     3515 
     3516 
     3517   /* Each stack pointer address is followed by the size of the 
     3518      data in use in that stack, in bytes.  This used to be a 
     3519      conditional around just the two extra args, but that might 
     3520      be undefined if yyoverflow is a macro.  */ 
     3521   yyoverflow (YY_("memory exhausted"), 
     3522          &yyss1, yysize * sizeof (*yyssp), 
     3523          &yyvs1, yysize * sizeof (*yyvsp), 
     3524 
     3525          &yystacksize); 
     3526 
     3527   yyss = yyss1; 
     3528   yyvs = yyvs1; 
    70463529        } 
    7047 #endif 
     3530#else /* no yyoverflow */ 
     3531# ifndef YYSTACK_RELOCATE 
     3532      goto yyexhaustedlab; 
     3533# else 
     3534      /* Extend the stack our own way.  */ 
     3535      if (YYMAXDEPTH <= yystacksize) 
     3536   goto yyexhaustedlab; 
     3537      yystacksize *= 2; 
     3538      if (YYMAXDEPTH < yystacksize) 
     3539   yystacksize = YYMAXDEPTH; 
     3540 
     3541    { 
     3542   yytype_int16 *yyss1 = yyss; 
     3543   union yyalloc *yyptr = 
     3544     (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 
     3545   if (! yyptr) 
     3546     goto yyexhaustedlab; 
     3547   YYSTACK_RELOCATE (yyss); 
     3548   YYSTACK_RELOCATE (yyvs); 
     3549 
     3550#  undef YYSTACK_RELOCATE 
     3551   if (yyss1 != yyssa) 
     3552     YYSTACK_FREE (yyss1); 
     3553        } 
     3554# endif 
     3555#endif /* no yyoverflow */ 
     3556 
     3557      yyssp = yyss + yysize - 1; 
     3558      yyvsp = yyvs + yysize - 1; 
     3559 
     3560 
     3561      YYDPRINTF ((stderr, "Stack size increased to %lu\n", 
     3562        (unsigned long int) yystacksize)); 
     3563 
     3564      if (yyss + yystacksize - 1 <= yyssp) 
     3565   YYABORT; 
    70483566    } 
    7049     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && 
    7050             yyn <= YYTABLESIZE && yycheck[yyn] == yychar) 
    7051     { 
    7052 #if YYDEBUG 
    7053         if (yydebug) 
    7054             printf("%sdebug: state %d, shifting to state %d\n", 
    7055                     YYPREFIX, yystate, yytable[yyn]); 
    7056 #endif 
    7057         if (yyssp >= yyss + yystacksize - 1) 
    7058         { 
    7059             goto yyoverflow; 
    7060         } 
    7061         *++yyssp = yystate = yytable[yyn]; 
    7062         *++yyvsp = yylval; 
    7063         yychar = (-1); 
    7064         if (yyerrflag > 0)  --yyerrflag; 
    7065         goto yyloop; 
     3567 
     3568  YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 
     3569 
     3570  goto yybackup; 
     3571 
     3572/*-----------. 
     3573| yybackup.  | 
     3574`-----------*/ 
     3575yybackup: 
     3576 
     3577  /* Do appropriate processing given the current state.  Read a 
     3578     look-ahead token if we need one and don't already have one.  */ 
     3579 
     3580  /* First try to decide what to do without reference to look-ahead token.  */ 
     3581  yyn = yypact[yystate]; 
     3582  if (yyn == YYPACT_NINF) 
     3583    goto yydefault; 
     3584 
     3585  /* Not known => get a look-ahead token if don't already have one.  */ 
     3586 
     3587  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */ 
     3588  if (yychar == YYEMPTY) 
     3589    { 
     3590      YYDPRINTF ((stderr, "Reading a token: ")); 
     3591      yychar = YYLEX; 
    70663592    } 
    7067     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && 
    7068             yyn <= YYTABLESIZE && yycheck[yyn] == yychar) 
    7069     { 
    7070         yyn = yytable[yyn]; 
    7071         goto yyreduce; 
    7072     } 
    7073     if (yyerrflag) goto yyinrecovery; 
    7074 #ifdef lint 
    7075     goto yynewerror; 
    7076 #endif 
    7077 yynewerror: 
    7078     yyerror("syntax error"); 
    7079 #ifdef lint 
    7080     goto yyerrlab; 
    7081 #endif 
    7082 yyerrlab: 
    7083     ++yynerrs; 
    7084 yyinrecovery: 
    7085     if (yyerrflag < 3) 
    7086     { 
    7087         yyerrflag = 3; 
    7088         for (;;) 
    7089         { 
    7090             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 && 
    7091                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) 
    7092             { 
    7093 #if YYDEBUG 
    7094                 if (yydebug) 
    7095                     printf("%sdebug: state %d, error recovery shifting\ 
    7096  to state %d\n", YYPREFIX, *yyssp, yytable[yyn]); 
    7097 #endif 
    7098                 if (yyssp >= yyss + yystacksize - 1) 
    7099                 { 
    7100                     goto yyoverflow; 
     3593 
     3594  if (yychar <= YYEOF) 
     3595    { 
     3596      yychar = yytoken = YYEOF; 
     3597      YYDPRINTF ((stderr, "Now at end of input.\n")); 
    71013598                } 
    7102                 *++yyssp = yystate = yytable[yyn]; 
    7103                 *++yyvsp = yylval; 
    7104                 goto yyloop; 
    7105             } 
    71063599            else 
    71073600            { 
    7108 #if YYDEBUG 
    7109                 if (yydebug) 
    7110                     printf("%sdebug: error recovery discarding state %d\n", 
    7111                             YYPREFIX, *yyssp); 
    7112 #endif 
    7113                 if (yyssp <= yyss) goto yyabort; 
    7114                 --yyssp; 
    7115                 --yyvsp; 
     3601      yytoken = YYTRANSLATE (yychar); 
     3602      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 
    71163603            } 
     3604 
     3605  /* If the proper action on seeing token YYTOKEN is to reduce or to 
     3606     detect an error, take that action.  */ 
     3607  yyn += yytoken; 
     3608  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 
     3609    goto yydefault; 
     3610  yyn = yytable[yyn]; 
     3611  if (yyn <= 0) 
     3612    { 
     3613      if (yyn == 0 || yyn == YYTABLE_NINF) 
     3614   goto yyerrlab; 
     3615      yyn = -yyn; 
     3616      goto yyreduce; 
    71173617        } 
    7118     } 
    7119     else 
    7120     { 
    7121         if (yychar == 0) goto yyabort; 
    7122 #if YYDEBUG 
    7123         if (yydebug) 
    7124         { 
    7125             yys = 0; 
    7126             if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; 
    7127             if (!yys) yys = "illegal-symbol"; 
    7128             printf("%sdebug: state %d, error recovery discards token %d (%s)\n", 
    7129                     YYPREFIX, yystate, yychar, yys); 
    7130         } 
    7131 #endif 
    7132         yychar = (-1); 
    7133         goto yyloop; 
    7134     } 
     3618 
     3619  if (yyn == YYFINAL) 
     3620    YYACCEPT; 
     3621 
     3622  /* Count tokens shifted since error; after three, turn off error 
     3623     status.  */ 
     3624  if (yyerrstatus) 
     3625    yyerrstatus--; 
     3626 
     3627  /* Shift the look-ahead token.  */ 
     3628  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 
     3629 
     3630  /* Discard the shifted token unless it is eof.  */ 
     3631  if (yychar != YYEOF) 
     3632    yychar = YYEMPTY; 
     3633 
     3634  yystate = yyn; 
     3635  *++yyvsp = yylval; 
     3636 
     3637  goto yynewstate; 
     3638 
     3639 
     3640/*-----------------------------------------------------------. 
     3641| yydefault -- do the default action for the current state.  | 
     3642`-----------------------------------------------------------*/ 
     3643yydefault: 
     3644  yyn = yydefact[yystate]; 
     3645  if (yyn == 0) 
     3646    goto yyerrlab; 
     3647  goto yyreduce; 
     3648 
     3649 
     3650/*-----------------------------. 
     3651| yyreduce -- Do a reduction.  | 
     3652`-----------------------------*/ 
    71353653yyreduce: 
    7136 #if YYDEBUG 
    7137     if (yydebug) 
    7138         printf("%sdebug: state %d, reducing by rule %d (%s)\n", 
    7139                 YYPREFIX, yystate, yyn, yyrule[yyn]); 
    7140 #endif 
    7141     yym = yylen[yyn]; 
    7142     yyval = yyvsp[1-yym]; 
     3654  /* yyn is the number of a rule to reduce with.  */ 
     3655  yylen = yyr2[yyn]; 
     3656 
     3657  /* If YYLEN is nonzero, implement the default value of the action: 
     3658     `$$ = $1'. 
     3659 
     3660     Otherwise, the following line sets YYVAL to garbage. 
     3661     This behavior is undocumented and Bison 
     3662     users should not rely upon it.  Assigning to YYVAL 
     3663     unconditionally makes the parser a bit smaller, and it avoids a 
     3664     GCC warning that YYVAL may be used uninitialized.  */ 
     3665  yyval = yyvsp[1-yylen]; 
     3666 
     3667 
     3668  YY_REDUCE_PRINT (yyn); 
    71433669    switch (yyn) 
    71443670    { 
    7145 case 7: 
    7146 #line 341 "fortran.y" 
    7147 {yyerrok;yyclearin;} 
    7148 break; 
    7149 case 12: 
    7150 #line 349 "fortran.y" 
    7151 { 
     3671        case 8: 
     3672#line 344 "fortran.y" 
     3673    {yyerrok;yyclearin;;} 
     3674    break; 
     3675 
     3676  case 13: 
     3677#line 352 "fortran.y" 
     3678    { 
    71523679                     if (inmoduledeclare == 0 ) 
    71533680                     { 
     
    71563683                                              pos_end-pos_curinclude); 
    71573684                     } 
    7158                   } 
    7159 break; 
    7160 case 17: 
    7161 #line 365 "fortran.y" 
    7162 { 
     3685                  ;} 
     3686    break; 
     3687 
     3688  case 18: 
     3689#line 368 "fortran.y" 
     3690    { 
    71633691            /* we should ignore the declaration until the keyword             */ 
    71643692            /*    TOK_ENDDONOTTREAT                                           */ 
    71653693            couldaddvariable = 0 ; 
    71663694            RemoveWordCUR_0(fortranout,-20,20); 
    7167          } 
    7168 break; 
    7169 case 18: 
    7170 #line 372 "fortran.y" 
    7171 { 
     3695         ;} 
     3696    break; 
     3697 
     3698  case 19: 
     3699#line 375 "fortran.y" 
     3700    { 
    71723701             couldaddvariable = 1 ; 
    71733702             RemoveWordCUR_0(fortranout,-24,24); 
    7174           } 
    7175 break; 
    7176 case 21: 
    7177 #line 379 "fortran.y" 
    7178 {pos_cur = setposcur();} 
    7179 break; 
    7180 case 26: 
    7181 #line 388 "fortran.y" 
    7182 {incom = 1;} 
    7183 break; 
    7184 case 27: 
    7185 #line 391 "fortran.y" 
    7186 {if (incom !=1) {strcpy(curbuf,"");incom=0;}} 
    7187 break; 
    7188 case 31: 
    7189 #line 398 "fortran.y" 
    7190 { 
    7191                       if ( couldaddvariable == 1 ) 
     3703          ;} 
     3704    break; 
     3705 
     3706  case 22: 
     3707#line 382 "fortran.y" 
     3708    {pos_cur = setposcur();;} 
     3709    break; 
     3710 
     3711  case 27: 
     3712#line 394 "fortran.y" 
     3713    {if (incom !=1) {strcpy(curbuf,"");incom=0;};} 
     3714    break; 
     3715 
     3716  case 28: 
     3717#line 397 "fortran.y" 
     3718    {isrecursive = 0;;} 
     3719    break; 
     3720 
     3721  case 29: 
     3722#line 399 "fortran.y" 
     3723    {isrecursive = 1;;} 
     3724    break; 
     3725 
     3726  case 31: 
     3727#line 403 "fortran.y" 
     3728                      { 
     3729                      if ( couldaddvariable == 1) 
    71923730                      { 
    71933731                      /* open param file                                      */ 
    71943732                      if ( firstpass == 0 ) 
    71953733                      { 
    7196                          sprintf(ligne,"%s/ParamFile%s.h",nomdir,yyvsp[-1].nac); 
     3734                         sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(3) - (4)].nac)); 
    71973735                         paramout=fopen(ligne,"w"); 
    71983736                         if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
     
    72003738 
    72013739                      } 
    7202                       Add_SubroutineArgument_Var_1(yyvsp[0].l); 
     3740                      Add_SubroutineArgument_Var_1((yyvsp[(4) - (4)].l)); 
    72033741                      if ( inmodulemeet == 1 ) 
    72043742                      { 
     
    72143752                      } 
    72153753                      } 
    7216                    } 
    7217 break; 
    7218 case 32: 
    7219 #line 426 "fortran.y" 
    7220 { 
     3754                   ;} 
     3755    break; 
     3756 
     3757  case 32: 
     3758#line 431 "fortran.y" 
     3759    { 
    72213760                      /* open param file                                      */ 
    72223761                      if ( firstpass == 0 ) 
    72233762                      { 
    7224                          sprintf(ligne,"%s/ParamFile%s.h",nomdir,yyvsp[0].nac); 
     3763                         sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(2) - (2)].nac)); 
    72253764                         paramout=fopen(ligne,"w"); 
    72263765                         if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
     
    72283767 
    72293768                      } 
    7230                       strcpy(subroutinename,yyvsp[0].nac); 
     3769                      strcpy(subroutinename,(yyvsp[(2) - (2)].nac)); 
    72313770                      /* Common case                                          */ 
    72323771                      insubroutinedeclare = 1; 
     
    72343773                      /*    the subroutine sub_loop_<subroutinename>          */ 
    72353774                      writeheadnewsub_0(1); 
    7236                    } 
    7237 break; 
    7238 case 33: 
    7239 #line 444 "fortran.y" 
    7240 { 
     3775                   ;} 
     3776    break; 
     3777 
     3778  case 33: 
     3779#line 449 "fortran.y" 
     3780    { 
    72413781                      /* open param file                                      */ 
    72423782                      if ( firstpass == 0 ) 
    72433783                      { 
    7244                          sprintf(ligne,"%s/ParamFile%s.h",nomdir,yyvsp[-3].nac); 
     3784                         sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(2) - (5)].nac)); 
    72453785                         paramout=fopen(ligne,"w"); 
    72463786                         if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
    72473787                         else fprintf(paramout,"C\n"); 
    72483788                      } 
    7249                       strcpy(subroutinename,yyvsp[-3].nac); 
     3789                      strcpy(subroutinename,(yyvsp[(2) - (5)].nac)); 
    72503790                      if ( inmodulemeet == 1 ) 
    72513791                      { 
     
    72533793                         /* we should to list of the subroutine argument the  */ 
    72543794                         /*    name of the function which has to be defined   */ 
    7255                          Add_SubroutineArgument_Var_1(yyvsp[-2].l); 
     3795                         Add_SubroutineArgument_Var_1((yyvsp[(3) - (5)].l)); 
    72563796                         strcpy(DeclType,""); 
    72573797                         /* in the second step we should write the head of    */ 
     
    72643804                            /* we should to list of the subroutine argument   */ 
    72653805                            /* name of the function which has to be defined   */ 
    7266                             Add_SubroutineArgument_Var_1(yyvsp[-2].l); 
     3806                            Add_SubroutineArgument_Var_1((yyvsp[(3) - (5)].l)); 
    72673807                            strcpy(DeclType,""); 
    7268                             Add_FunctionType_Var_1(yyvsp[-3].nac); 
     3808                            Add_FunctionType_Var_1((yyvsp[(2) - (5)].nac)); 
    72693809                            writeheadnewsub_0(2); 
    72703810                      } 
    7271                    } 
    7272 break; 
    7273 case 34: 
    7274 #line 477 "fortran.y" 
    7275 { 
     3811                   ;} 
     3812    break; 
     3813 
     3814  case 34: 
     3815#line 482 "fortran.y" 
     3816    { 
    72763817                      /* open param file                                      */ 
    72773818                      if ( firstpass == 0 ) 
    72783819                      { 
    7279                          sprintf(ligne,"%s/ParamFile%s.h",nomdir,yyvsp[-1].nac); 
     3820                         sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(2) - (3)].nac)); 
    72803821                         paramout=fopen(ligne,"w"); 
    72813822                         if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
    72823823                         else fprintf(paramout,"C\n"); 
    72833824                      } 
    7284                       strcpy(subroutinename,yyvsp[-1].nac); 
     3825                      strcpy(subroutinename,(yyvsp[(2) - (3)].nac)); 
    72853826                      if ( inmodulemeet == 1 ) 
    72863827                      { 
     
    72883829                         /* we should to list of the subroutine argument the  */ 
    72893830                         /*    name of the function which has to be defined   */ 
    7290                          Add_SubroutineArgument_Var_1(yyvsp[0].l); 
     3831                         Add_SubroutineArgument_Var_1((yyvsp[(3) - (3)].l)); 
    72913832                         strcpy(DeclType,""); 
    7292                          Add_FunctionType_Var_1(yyvsp[-1].nac); 
     3833                         Add_FunctionType_Var_1((yyvsp[(2) - (3)].nac)); 
    72933834                         /* in the second step we should write the head of    */ 
    72943835                         /*    the subroutine sub_loop_<subroutinename>       */ 
     
    73003841                            /* we should to list of the subroutine argument   */ 
    73013842                            /* name of the function which has to be defined   */ 
    7302                             Add_SubroutineArgument_Var_1(yyvsp[0].l); 
     3843                            Add_SubroutineArgument_Var_1((yyvsp[(3) - (3)].l)); 
    73033844                            strcpy(DeclType,""); 
    7304                             Add_FunctionType_Var_1(yyvsp[-1].nac); 
     3845                            Add_FunctionType_Var_1((yyvsp[(2) - (3)].nac)); 
    73053846                            writeheadnewsub_0(2); 
    73063847                      } 
    7307                    } 
    7308 break; 
    7309 case 35: 
    7310 #line 511 "fortran.y" 
    7311 { 
     3848                   ;} 
     3849    break; 
     3850 
     3851  case 35: 
     3852#line 516 "fortran.y" 
     3853    { 
    73123854                      GlobalDeclaration = 0; 
    7313                       strcpy(curmodulename,yyvsp[0].nac); 
     3855                      strcpy(curmodulename,(yyvsp[(2) - (2)].nac)); 
    73143856                      strcpy(subroutinename,""); 
    7315                       Add_NameOfModule_1(yyvsp[0].nac); 
     3857                      Add_NameOfModule_1((yyvsp[(2) - (2)].nac)); 
    73163858                      if ( inmoduledeclare == 0 ) 
    73173859                      { 
     
    73233865                         aftercontainsdeclare = 0 ; 
    73243866                      } 
    7325                    } 
    7326 break; 
    7327 case 36: 
    7328 #line 528 "fortran.y" 
    7329 { 
     3867                   ;} 
     3868    break; 
     3869 
     3870  case 36: 
     3871#line 533 "fortran.y" 
     3872    { 
    73303873                      if ( couldaddvariable == 1 ) 
    73313874                      { 
    7332                          strcpy(yyval.nac,yyvsp[0].nac);strcpy(subroutinename,yyvsp[0].nac); 
     3875                         strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));strcpy(subroutinename,(yyvsp[(1) - (1)].nac)); 
    73333876                      } 
    7334                    } 
    7335 break; 
    7336 case 38: 
    7337 #line 537 "fortran.y" 
    7338 { 
     3877                   ;} 
     3878    break; 
     3879 
     3880  case 38: 
     3881#line 542 "fortran.y" 
     3882    { 
    73393883                      pos_curinclude = setposcur()-9; 
    7340                    } 
    7341 break; 
    7342 case 39: 
    7343 #line 541 "fortran.y" 
    7344 { 
    7345                       if ( couldaddvariable == 1 ) Add_Include_1(yyvsp[0].nac); 
    7346                    } 
    7347 break; 
    7348 case 40: 
    7349 #line 545 "fortran.y" 
    7350 { 
    7351                       if ( firstpass == 1 && couldaddvariable == 1) yyval.l=NULL; 
    7352                    } 
    7353 break; 
    7354 case 41: 
    7355 #line 548 "fortran.y" 
    7356 { 
    7357                       if ( firstpass == 1 && couldaddvariable == 1 ) yyval.l=NULL; 
    7358                    } 
    7359 break; 
    7360 case 42: 
    7361 #line 552 "fortran.y" 
    7362 { 
    7363                        if ( firstpass == 1 && couldaddvariable == 1 ) yyval.l=yyvsp[-1].l; 
    7364                    } 
    7365 break; 
    7366 case 45: 
    7367 #line 559 "fortran.y" 
    7368 { 
     3884                   ;} 
     3885    break; 
     3886 
     3887  case 39: 
     3888#line 546 "fortran.y" 
     3889    { 
     3890                      if ( couldaddvariable == 1 ) Add_Include_1((yyvsp[(1) - (1)].nac)); 
     3891                   ;} 
     3892    break; 
     3893 
     3894  case 40: 
     3895#line 550 "fortran.y" 
     3896    { 
     3897                      if ( firstpass == 1 && couldaddvariable == 1) (yyval.l)=NULL; 
     3898                   ;} 
     3899    break; 
     3900 
     3901  case 41: 
     3902#line 553 "fortran.y" 
     3903    { 
     3904                      if ( firstpass == 1 && couldaddvariable == 1 ) (yyval.l)=NULL; 
     3905                   ;} 
     3906    break; 
     3907 
     3908  case 42: 
     3909#line 557 "fortran.y" 
     3910    { 
     3911                       if ( firstpass == 1 && couldaddvariable == 1 ) (yyval.l)=(yyvsp[(2) - (3)].l); 
     3912                   ;} 
     3913    break; 
     3914 
     3915  case 45: 
     3916#line 564 "fortran.y" 
     3917    { 
    73693918                      if ( couldaddvariable == 1 ) 
    73703919                      { 
    7371                          Add_SubroutineArgument_Var_1(yyvsp[-1].l); 
     3920                         Add_SubroutineArgument_Var_1((yyvsp[(2) - (3)].l)); 
    73723921                      } 
    7373                    } 
    7374 break; 
    7375 case 46: 
    7376 #line 566 "fortran.y" 
    7377 { 
     3922                   ;} 
     3923    break; 
     3924 
     3925  case 46: 
     3926#line 571 "fortran.y" 
     3927    { 
    73783928                      if ( firstpass == 1  && couldaddvariable == 1) 
    73793929                      { 
    73803930                         strcpy(nameinttypenameback,nameinttypename); 
    73813931                         strcpy(nameinttypename,""); 
    7382                          curvar=createvar(yyvsp[0].na,NULL); 
     3932                         curvar=createvar((yyvsp[(1) - (1)].na),NULL); 
    73833933                        strcpy(nameinttypename,nameinttypenameback); 
    73843934                         curlistvar=insertvar(NULL,curvar); 
    7385                          yyval.l=settype("",curlistvar); 
     3935                         (yyval.l)=settype("",curlistvar); 
    73863936                      } 
    7387                    } 
    7388 break; 
    7389 case 47: 
    7390 #line 578 "fortran.y" 
    7391 { 
     3937                   ;} 
     3938    break; 
     3939 
     3940  case 47: 
     3941#line 583 "fortran.y" 
     3942    { 
    73923943                      if ( firstpass == 1  && couldaddvariable == 1) 
    73933944                      { 
    73943945                         strcpy(nameinttypenameback,nameinttypename); 
    73953946                         strcpy(nameinttypename,"");                       
    7396                          curvar=createvar(yyvsp[0].na,NULL); 
     3947                         curvar=createvar((yyvsp[(3) - (3)].na),NULL); 
    73973948                         strcpy(nameinttypename,nameinttypenameback);                          
    7398                          yyval.l=insertvar(yyvsp[-2].l,curvar); 
     3949                         (yyval.l)=insertvar((yyvsp[(1) - (3)].l),curvar); 
    73993950                      } 
    7400                    } 
    7401 break; 
    7402 case 48: 
    7403 #line 589 "fortran.y" 
    7404 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].nac);} 
    7405 break; 
    7406 case 49: 
    7407 #line 590 "fortran.y" 
    7408 {if ( couldaddvariable == 1 ) strcpy(yyval.na,"*");} 
    7409 break; 
    7410 case 50: 
    7411 #line 593 "fortran.y" 
    7412 { 
     3951                   ;} 
     3952    break; 
     3953 
     3954  case 48: 
     3955#line 594 "fortran.y" 
     3956    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].nac));;} 
     3957    break; 
     3958 
     3959  case 49: 
     3960#line 595 "fortran.y" 
     3961    {if ( couldaddvariable == 1 ) strcpy((yyval.na),"*");;} 
     3962    break; 
     3963 
     3964  case 50: 
     3965#line 598 "fortran.y" 
     3966    { 
    74133967                      if ( VarTypepar == 1 ) 
    74143968                      { 
     
    74163970                         VarTypepar = 0; 
    74173971                      } 
    7418                    } 
    7419 break; 
    7420 case 51: 
    7421 #line 601 "fortran.y" 
    7422 { 
     3972                   ;} 
     3973    break; 
     3974 
     3975  case 51: 
     3976#line 606 "fortran.y" 
     3977    { 
    74233978                      if ( couldaddvariable == 1 ) 
    74243979                      { 
     
    74263981                         couldaddvariable = 0 ; 
    74273982                      } 
    7428                    } 
    7429 break; 
    7430 case 52: 
    7431 #line 609 "fortran.y" 
    7432 { 
     3983                   ;} 
     3984    break; 
     3985 
     3986  case 52: 
     3987#line 614 "fortran.y" 
     3988    { 
    74333989                      if ( VarType == 1 ) couldaddvariable = 1 ; 
    74343990                      VarType = 0; 
    74353991                      VarTypepar = 0; 
    7436                    } 
    7437 break; 
    7438 case 54: 
    7439 #line 616 "fortran.y" 
    7440 { 
     3992                   ;} 
     3993    break; 
     3994 
     3995  case 54: 
     3996#line 621 "fortran.y" 
     3997    { 
    74413998                      if ( couldaddvariable == 1 ) 
    74423999                      { 
    74434000                         if ( insubroutinedeclare == 0 ) 
    7444                                                   Add_GlobalParameter_Var_1(yyvsp[-1].l); 
    7445                          else Add_Parameter_Var_1(yyvsp[-1].l); 
     4001                         { 
     4002                                                  Add_GlobalParameter_Var_1((yyvsp[(3) - (4)].l)); 
     4003                                                  } 
     4004                         else Add_Parameter_Var_1((yyvsp[(3) - (4)].l)); 
    74464005                         pos_end = setposcur(); 
    74474006                        RemoveWordSET_0(fortranout,pos_cur_decl, 
     
    74494008                      } 
    74504009                      VariableIsParameter =  0 ; 
    7451                    } 
    7452 break; 
    7453 case 55: 
    7454 #line 629 "fortran.y" 
    7455 { 
     4010                   ;} 
     4011    break; 
     4012 
     4013  case 55: 
     4014#line 636 "fortran.y" 
     4015    { 
    74564016                     if ( couldaddvariable == 1 ) 
    74574017                     { 
    74584018                        if ( insubroutinedeclare == 0 ) 
    7459                                                   Add_GlobalParameter_Var_1(yyvsp[0].l); 
    7460                          else Add_Parameter_Var_1(yyvsp[0].l); 
     4019                                                  Add_GlobalParameter_Var_1((yyvsp[(2) - (2)].l)); 
     4020                         else Add_Parameter_Var_1((yyvsp[(2) - (2)].l)); 
    74614021                         pos_end = setposcur(); 
    74624022                         RemoveWordSET_0(fortranout,pos_cur_decl, 
     
    74644024                      } 
    74654025                      VariableIsParameter =  0 ; 
    7466                    } 
    7467 break; 
    7468 case 57: 
    7469 #line 643 "fortran.y" 
    7470 { 
     4026                   ;} 
     4027    break; 
     4028 
     4029  case 57: 
     4030#line 650 "fortran.y" 
     4031    { 
    74714032                     pos_end = setposcur(); 
    74724033                     RemoveWordSET_0(fortranout,pos_cursave, 
    74734034                                                pos_end-pos_cursave); 
    7474                   } 
    7475 break; 
    7476 case 59: 
    7477 #line 650 "fortran.y" 
    7478 { 
     4035                  ;} 
     4036    break; 
     4037 
     4038  case 59: 
     4039#line 657 "fortran.y" 
     4040    { 
    74794041                   /* if the variable is a parameter we can suppose that is   */ 
    74804042                   /*    value is the same on each grid. It is not useless to */ 
     
    74824044                      if ( couldaddvariable == 1 ) 
    74834045                      { 
    7484                          Add_Globliste_1(yyvsp[0].l); 
     4046                         Add_Globliste_1((yyvsp[(1) - (1)].l)); 
    74854047                         /* if variableparamlists has been declared in a      */ 
    74864048                         /*    subroutine                                     */ 
    74874049                         if ( insubroutinedeclare == 1 ) 
    74884050                         { 
    7489                             Add_Dimension_Var_1(yyvsp[0].l); 
     4051                            Add_Dimension_Var_1((yyvsp[(1) - (1)].l)); 
    74904052                         } 
    74914053                         pos_end = setposcur(); 
     
    75034065                      VariableIsParameter =  0 ; 
    75044066                      Allocatabledeclare = 0 ; 
     4067                      Targetdeclare = 0 ; 
    75054068                      SaveDeclare = 0; 
    75064069                      pointerdeclare = 0; 
     
    75104073                      strcpy(nameinttypename,""); 
    75114074                      strcpy(c_selectorname,""); 
    7512                    } 
    7513 break; 
    7514 case 60: 
    7515 #line 686 "fortran.y" 
    7516 { 
     4075                   ;} 
     4076    break; 
     4077 
     4078  case 60: 
     4079#line 694 "fortran.y" 
     4080    { 
    75174081      if (firstpass == 0) 
    75184082      { 
    7519       if (yyvsp[0].lnn) 
     4083      if ((yyvsp[(1) - (1)].lnn)) 
    75204084      { 
    7521       removeglobfromlist(&(yyvsp[0].lnn)); 
     4085      removeglobfromlist(&((yyvsp[(1) - (1)].lnn))); 
    75224086      pos_end = setposcur(); 
    75234087           RemoveWordSET_0(fortranout,pos_cur,pos_end-pos_cur); 
    7524       writelistpublic(yyvsp[0].lnn); 
     4088      writelistpublic((yyvsp[(1) - (1)].lnn)); 
    75254089      } 
    75264090      } 
    7527       } 
    7528 break; 
    7529 case 70: 
    7530 #line 708 "fortran.y" 
    7531 { 
     4091      ;} 
     4092    break; 
     4093 
     4094  case 70: 
     4095#line 716 "fortran.y" 
     4096    { 
    75324097                      /* we should remove the data declaration                */ 
    7533                       if ( couldaddvariable == 1 && aftercontainsdeclare == 0 ) 
     4098                      if ( couldaddvariable == 1 && aftercontainsdeclare != 2 ) 
    75344099                      { 
    75354100                        pos_end = setposcur(); 
     
    75374102                                              pos_end-pos_curdata); 
    75384103                      } 
     4104                      if ( couldaddvariable == 1 && aftercontainsdeclare == 1 ) 
     4105                      { 
     4106                      if (firstpass == 0) 
     4107                      { 
     4108                        ReWriteDataStatement_0(fortranout); 
     4109                        pos_end = setposcur(); 
    75394110                  } 
    7540 break; 
    7541 case 72: 
    7542 #line 720 "fortran.y" 
    7543 { 
     4111                      } 
     4112                  ;} 
     4113    break; 
     4114 
     4115  case 72: 
     4116#line 736 "fortran.y" 
     4117    { 
    75444118         PublicDeclare = 0 ; 
    75454119         PrivateDeclare = 0 ; 
    7546       } 
    7547 break; 
    7548 case 110: 
    7549 #line 771 "fortran.y" 
    7550 { 
     4120      ;} 
     4121    break; 
     4122 
     4123  case 110: 
     4124#line 787 "fortran.y" 
     4125    { 
    75514126                      /* if the variable is a parameter we can suppose that is*/ 
    75524127                      /*    value is the same on each grid. It is not useless */ 
     
    75634138                      else 
    75644139                       {*/ 
    7565                         ReWriteDeclarationAndAddTosubroutine_01(yyvsp[-1].l); 
     4140                        ReWriteDeclarationAndAddTosubroutine_01((yyvsp[(1) - (2)].l)); 
    75664141                        pos_cur_decl = setposcur(); 
    75674142                         
     
    75714146                           insubroutinedeclare == 0 ) 
    75724147                      { 
     4148 
    75734149                         sprintf(ligne,"\n#include \"Module_Declar_%s.h\"\n" 
    75744150                                                                ,curmodulename); 
     
    75794155                         tofich (module_declar, ligne,1); 
    75804156                         GlobalDeclaration = 1 ; 
     4157                         pos_cur_decl = setposcur(); 
     4158 
    75814159                      } 
    7582                          yyval.l = yyvsp[-1].l; 
    7583                          Add_Globliste_1(yyvsp[-1].l); 
     4160                         (yyval.l) = (yyvsp[(1) - (2)].l); 
     4161                         Add_Globliste_1((yyvsp[(1) - (2)].l)); 
    75844162                                                   
    75854163                         if ( insubroutinedeclare == 0 ) 
    7586                                                   Add_GlobalParameter_Var_1(yyvsp[-1].l); 
     4164                                                  Add_GlobalParameter_Var_1((yyvsp[(1) - (2)].l)); 
    75874165                         else 
    75884166                         { 
    75894167                            if ( pointerdeclare == 1 ) 
    7590                                                 Add_Pointer_Var_From_List_1(yyvsp[-1].l); 
    7591                             Add_Parameter_Var_1(yyvsp[-1].l); 
     4168                                                Add_Pointer_Var_From_List_1((yyvsp[(1) - (2)].l)); 
     4169                            Add_Parameter_Var_1((yyvsp[(1) - (2)].l)); 
    75924170                         } 
    75934171 
     
    76044182                              SaveDeclare == 1 && firstpass == 1 ) 
    76054183                         { 
    7606                               if ( inmodulemeet == 0 ) Add_Save_Var_dcl_1(yyvsp[-1].l); 
    7607                               else  Add_SubroutineDeclarationSave_Var_1(yyvsp[-1].l); 
     4184                              if ( inmodulemeet == 0 ) Add_Save_Var_dcl_1((yyvsp[(1) - (2)].l)); 
     4185                              else  Add_SubroutineDeclarationSave_Var_1((yyvsp[(1) - (2)].l)); 
    76084186                         } 
    76094187                      } 
     
    76184196                      VariableIsParameter =  0 ; 
    76194197                      Allocatabledeclare = 0 ; 
     4198                      Targetdeclare = 0 ; 
    76204199                      SaveDeclare = 0; 
    76214200                      pointerdeclare = 0; 
     
    76254204                      strcpy(nameinttypename,""); 
    76264205                      strcpy(c_selectorname,""); 
    7627                    } 
    7628 break; 
    7629 case 111: 
    7630 #line 850 "fortran.y" 
    7631 { 
     4206                   ;} 
     4207    break; 
     4208 
     4209  case 111: 
     4210#line 870 "fortran.y" 
     4211    { 
    76324212                      /* open param file                                      */ 
    76334213                      if ( firstpass == 0 ) 
    76344214                      { 
    7635                          sprintf(ligne,"%s/ParamFile%s.h",nomdir,yyvsp[-1].nac); 
     4215                         sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(2) - (3)].nac)); 
    76364216                         paramout=fopen(ligne,"w"); 
    76374217                         if ( retour77 == 0 ) fprintf(paramout,"!\n"); 
    76384218                         else fprintf(paramout,"C\n"); 
    76394219                      } 
    7640                       strcpy(subroutinename,yyvsp[-1].nac); 
     4220                      strcpy(subroutinename,(yyvsp[(2) - (3)].nac)); 
    76414221                      if ( inmodulemeet == 1 ) 
    76424222                      { 
     
    76444224                         /* we should to list of the subroutine argument the  */ 
    76454225                         /*    name of the function which has to be defined   */ 
    7646                          Add_SubroutineArgument_Var_1(yyvsp[0].l); 
    7647                          Add_FunctionType_Var_1(yyvsp[-1].nac); 
     4226                         Add_SubroutineArgument_Var_1((yyvsp[(3) - (3)].l)); 
     4227                         Add_FunctionType_Var_1((yyvsp[(2) - (3)].nac)); 
    76484228                         /* in the second step we should write the head of    */ 
    76494229                         /*    the subroutine sub_loop_<subroutinename>       */ 
     
    76554235                         /* we should to list of the subroutine argument the  */ 
    76564236                         /*    name of the function which has to be defined   */ 
    7657                          Add_SubroutineArgument_Var_1(yyvsp[0].l); 
    7658                          Add_FunctionType_Var_1(yyvsp[-1].nac); 
     4237                         Add_SubroutineArgument_Var_1((yyvsp[(3) - (3)].l)); 
     4238                         Add_FunctionType_Var_1((yyvsp[(2) - (3)].nac)); 
    76594239                         /* in the second step we should write the head of    */ 
    76604240                         /*    the subroutine sub_loop_<subroutinename>       */ 
     
    76634243                      strcpy(nameinttypename,""); 
    76644244 
    7665                    } 
    7666 break; 
    7667 case 112: 
    7668 #line 887 "fortran.y" 
    7669 { 
     4245                   ;} 
     4246    break; 
     4247 
     4248  case 112: 
     4249#line 907 "fortran.y" 
     4250    { 
    76704251                       functiondeclarationisdone = 1; 
    7671                    } 
    7672 break; 
    7673 case 113: 
    7674 #line 893 "fortran.y" 
    7675 { 
     4252                   ;} 
     4253    break; 
     4254 
     4255  case 113: 
     4256#line 913 "fortran.y" 
     4257    { 
    76764258                      VariableIsParameter = 1; 
    76774259                      pos_curparameter = setposcur()-9; 
    7678                    } 
    7679 break; 
    7680 case 114: 
    7681 #line 898 "fortran.y" 
    7682 { 
    7683                       pos_curdata = setposcur()-strlen(yyvsp[0].nac); 
    7684                    } 
    7685 break; 
    7686 case 115: 
    7687 #line 902 "fortran.y" 
    7688 { 
     4260                   ;} 
     4261    break; 
     4262 
     4263  case 114: 
     4264#line 918 "fortran.y" 
     4265    { 
     4266                      pos_curdata = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 
     4267                      Init_List_Data_Var(); 
     4268                   ;} 
     4269    break; 
     4270 
     4271  case 115: 
     4272#line 923 "fortran.y" 
     4273    { 
    76894274                      if ( couldaddvariable == 1 ) 
    76904275                      { 
    7691                       if ( aftercontainsdeclare == 1 ) strcpy(ligne,""); 
    7692                       else sprintf(ligne,"(/ %s /)",yyvsp[-1].na); 
    7693                       Add_Data_Var_1(yyvsp[-3].nac,ligne); 
     4276/*                      if ( aftercontainsdeclare == 1 ) strcpy(ligne,""); 
     4277                      else */ 
     4278/*                      sprintf(ligne,"%s",$3);*/ 
     4279                      createstringfromlistname(ligne,(yyvsp[(3) - (4)].lnn)); 
     4280                      if (firstpass == 1) 
     4281                      Add_Data_Var_1(&List_Data_Var,(yyvsp[(1) - (4)].nac),ligne); 
     4282                      else 
     4283                      Add_Data_Var_1(&List_Data_Var_Cur,(yyvsp[(1) - (4)].nac),ligne); 
    76944284                      } 
    7695                    } 
    7696 break; 
    7697 case 116: 
    7698 #line 911 "fortran.y" 
    7699 { 
     4285                   ;} 
     4286    break; 
     4287 
     4288  case 116: 
     4289#line 937 "fortran.y" 
     4290    { 
    77004291                      if ( couldaddvariable == 1 ) 
    77014292                      { 
    7702                       if ( aftercontainsdeclare == 1 ) strcpy(ligne,""); 
    7703                       else sprintf(ligne,"(/ %s /)",yyvsp[-1].na); 
    7704                       Add_Data_Var_1(yyvsp[-3].nac,ligne); 
     4293                      /*if ( aftercontainsdeclare == 1 ) strcpy(ligne,""); 
     4294                      else */ 
     4295                      /*sprintf(ligne,"%s",$5);   */ 
     4296                      createstringfromlistname(ligne,(yyvsp[(5) - (6)].lnn));                       
     4297                      if (firstpass == 1)                       
     4298                      Add_Data_Var_1(&List_Data_Var,(yyvsp[(3) - (6)].nac),ligne); 
     4299                      else 
     4300                      Add_Data_Var_1(&List_Data_Var_Cur,(yyvsp[(3) - (6)].nac),ligne);                       
    77054301                      } 
    7706                    } 
    7707 break; 
    7708 case 117: 
    7709 #line 920 "fortran.y" 
    7710 { 
     4302                   ;} 
     4303    break; 
     4304 
     4305  case 117: 
     4306#line 951 "fortran.y" 
     4307    { 
    77114308                       /*******************************************************/ 
    77124309                       /*******************************************************/ 
     
    77164313                       /*******************************************************/ 
    77174314                       /*******************************************************/ 
    7718                    } 
    7719 break; 
    7720 case 118: 
    7721 #line 931 "fortran.y" 
    7722 { 
     4315                       if (firstpass == 1) 
     4316                       Add_Data_Var_Names_01(&List_Data_Var,(yyvsp[(1) - (4)].lnn),(yyvsp[(3) - (4)].lnn)); 
     4317                       else 
     4318                       Add_Data_Var_Names_01(&List_Data_Var_Cur,(yyvsp[(1) - (4)].lnn),(yyvsp[(3) - (4)].lnn)); 
     4319                   ;} 
     4320    break; 
     4321 
     4322  case 118: 
     4323#line 966 "fortran.y" 
     4324    { 
    77234325                      if ( couldaddvariable == 1 ) 
    77244326                      { 
    7725                          strcpy(yyval.na,yyvsp[0].na); 
     4327                         (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].na),0); 
    77264328                      } 
    7727                    } 
    7728 break; 
    7729 case 119: 
    7730 #line 938 "fortran.y" 
    7731 { 
     4329                   ;} 
     4330    break; 
     4331 
     4332  case 119: 
     4333#line 973 "fortran.y" 
     4334    { 
    77324335                      if ( couldaddvariable == 1 ) 
    77334336                      { 
    7734                          sprintf(yyval.na,"%s,%s",yyvsp[-2].na,yyvsp[0].na); 
     4337                         (yyval.lnn) = Insertname((yyvsp[(3) - (3)].lnn),(yyvsp[(1) - (3)].na),1); 
    77354338                      } 
    7736                    } 
    7737 break; 
    7738 case 124: 
    7739 #line 952 "fortran.y" 
    7740 { 
     4339                   ;} 
     4340    break; 
     4341 
     4342  case 124: 
     4343#line 987 "fortran.y" 
     4344    { 
    77414345                     pos_cursave = setposcur()-4; 
    7742                   } 
    7743 break; 
    7744 case 126: 
    7745 #line 958 "fortran.y" 
    7746 { 
    7747                      if ( couldaddvariable == 1 ) Add_Save_Var_1(yyvsp[-1].nac,yyvsp[0].d); 
    7748                   } 
    7749 break; 
    7750 case 130: 
    7751 #line 967 "fortran.y" 
    7752 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].nac);} 
    7753 break; 
    7754 case 131: 
    7755 #line 969 "fortran.y" 
    7756 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s+%s",yyvsp[-2].na,yyvsp[0].na);} 
    7757 break; 
    7758 case 132: 
    7759 #line 971 "fortran.y" 
    7760 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s-%s",yyvsp[-2].na,yyvsp[0].na);} 
    7761 break; 
    7762 case 133: 
    7763 #line 973 "fortran.y" 
    7764 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s*%s",yyvsp[-2].na,yyvsp[0].na);} 
    7765 break; 
    7766 case 134: 
    7767 #line 975 "fortran.y" 
    7768 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s/%s",yyvsp[-2].na,yyvsp[0].na);} 
    7769 break; 
    7770 case 135: 
    7771 #line 978 "fortran.y" 
    7772 {if ( couldaddvariable == 1 ) strcpy(yyval.nac,"");} 
    7773 break; 
    7774 case 136: 
    7775 #line 980 "fortran.y" 
    7776 {if ( couldaddvariable == 1 ) strcpy(yyval.nac,yyvsp[0].nac);} 
    7777 break; 
    7778 case 145: 
    7779 #line 995 "fortran.y" 
    7780 { 
     4346                  ;} 
     4347    break; 
     4348 
     4349  case 126: 
     4350#line 993 "fortran.y" 
     4351    { 
     4352                     if ( couldaddvariable == 1 ) Add_Save_Var_1((yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].d)); 
     4353                  ;} 
     4354    break; 
     4355 
     4356  case 127: 
     4357#line 998 "fortran.y" 
     4358    { 
     4359      (yyval.lnn)=Insertname(NULL,(yyvsp[(1) - (1)].nac),0); 
     4360      ;} 
     4361    break; 
     4362 
     4363  case 128: 
     4364#line 1002 "fortran.y" 
     4365    { 
     4366      printf("INSTRUCTION NON TRAITEE : INITIALISATION DE DATA AVEC EXPRESSION\n"); 
     4367      exit(0); 
     4368      ;} 
     4369    break; 
     4370 
     4371  case 129: 
     4372#line 1007 "fortran.y" 
     4373    { 
     4374      (yyval.lnn) = concat_listname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].lnn)); 
     4375      ;} 
     4376    break; 
     4377 
     4378  case 130: 
     4379#line 1012 "fortran.y" 
     4380    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].nac));;} 
     4381    break; 
     4382 
     4383  case 131: 
     4384#line 1014 "fortran.y" 
     4385    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s+%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
     4386    break; 
     4387 
     4388  case 132: 
     4389#line 1016 "fortran.y" 
     4390    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s-%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
     4391    break; 
     4392 
     4393  case 133: 
     4394#line 1018 "fortran.y" 
     4395    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s*%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
     4396    break; 
     4397 
     4398  case 134: 
     4399#line 1020 "fortran.y" 
     4400    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s/%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
     4401    break; 
     4402 
     4403  case 135: 
     4404#line 1023 "fortran.y" 
     4405    {if ( couldaddvariable == 1 ) strcpy((yyval.nac),"");;} 
     4406    break; 
     4407 
     4408  case 136: 
     4409#line 1025 "fortran.y" 
     4410    {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     4411    break; 
     4412 
     4413  case 143: 
     4414#line 1037 "fortran.y" 
     4415    { 
     4416   ininterfacedeclare = 1 ; 
     4417   printf("INTEFACE entree\n"); 
     4418   ;} 
     4419    break; 
     4420 
     4421  case 144: 
     4422#line 1042 "fortran.y" 
     4423    { 
     4424      ininterfacedeclare = 0; 
     4425      ;} 
     4426    break; 
     4427 
     4428  case 145: 
     4429#line 1047 "fortran.y" 
     4430    { 
    77814431                      positioninblock=0; 
    77824432                      pos_curdimension = setposcur()-9; 
    7783                    } 
    7784 break; 
    7785 case 146: 
    7786 #line 1001 "fortran.y" 
    7787 { 
     4433                   ;} 
     4434    break; 
     4435 
     4436  case 146: 
     4437#line 1053 "fortran.y" 
     4438    { 
    77884439         if ( couldaddvariable == 1 ) 
    77894440         { 
    77904441            /*                                                                */ 
    7791             curvar=createvar(yyvsp[-2].nac,yyvsp[-1].d); 
     4442            curvar=createvar((yyvsp[(3) - (5)].nac),(yyvsp[(4) - (5)].d)); 
    77924443            /*                                                                */ 
    77934444            CreateAndFillin_Curvar("",curvar); 
     
    77954446            curlistvar=insertvar(NULL,curvar); 
    77964447            /*                                                                */ 
    7797             yyval.l=settype("",curlistvar); 
     4448            (yyval.l)=settype("",curlistvar); 
    77984449            /*                                                                */ 
    77994450            strcpy(vallengspec,""); 
    78004451         } 
    7801       } 
    7802 break; 
    7803 case 147: 
    7804 #line 1017 "fortran.y" 
    7805 { 
     4452      ;} 
     4453    break; 
     4454 
     4455  case 147: 
     4456#line 1069 "fortran.y" 
     4457    { 
    78064458         if ( couldaddvariable == 1 ) 
    78074459         { 
    78084460            /*                                                                */ 
    7809             curvar=createvar(yyvsp[-2].nac,yyvsp[-1].d); 
     4461            curvar=createvar((yyvsp[(3) - (5)].nac),(yyvsp[(4) - (5)].d)); 
    78104462            /*                                                                */ 
    78114463            CreateAndFillin_Curvar("",curvar); 
    78124464            /*                                                                */ 
    7813             curlistvar=insertvar(yyvsp[-4].l,curvar); 
     4465            curlistvar=insertvar((yyvsp[(1) - (5)].l),curvar); 
    78144466            /*                                                                */ 
    7815             yyval.l=curlistvar; 
     4467            (yyval.l)=curlistvar; 
    78164468            /*                                                                */ 
    78174469            strcpy(vallengspec,""); 
    78184470         } 
    7819       } 
    7820 break; 
    7821 case 150: 
    7822 #line 1037 "fortran.y" 
    7823 { 
    7824         yyval.lnn=(listname *)NULL; 
    7825         } 
    7826 break; 
    7827 case 151: 
    7828 #line 1041 "fortran.y" 
    7829 { 
    7830           yyval.lnn=yyvsp[0].lnn; 
    7831          } 
    7832 break; 
    7833 case 152: 
    7834 #line 1046 "fortran.y" 
    7835 { 
    7836            yyval.lnn = Insertname(NULL,yyvsp[0].nac); 
    7837            } 
    7838 break; 
    7839 case 153: 
    7840 #line 1050 "fortran.y" 
    7841 { 
    7842           yyval.lnn = Insertname(yyvsp[-2].lnn,yyvsp[0].nac); 
    7843           } 
    7844 break; 
    7845 case 154: 
    7846 #line 1055 "fortran.y" 
    7847 { 
     4471      ;} 
     4472    break; 
     4473 
     4474  case 150: 
     4475#line 1089 "fortran.y" 
     4476    { 
     4477        (yyval.lnn)=(listname *)NULL; 
     4478        ;} 
     4479    break; 
     4480 
     4481  case 151: 
     4482#line 1093 "fortran.y" 
     4483    { 
     4484          (yyval.lnn)=(yyvsp[(3) - (3)].lnn); 
     4485         ;} 
     4486    break; 
     4487 
     4488  case 152: 
     4489#line 1098 "fortran.y" 
     4490    { 
     4491           (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].nac),0); 
     4492           ;} 
     4493    break; 
     4494 
     4495  case 153: 
     4496#line 1102 "fortran.y" 
     4497    { 
     4498          (yyval.lnn) = Insertname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].nac),0); 
     4499          ;} 
     4500    break; 
     4501 
     4502  case 154: 
     4503#line 1107 "fortran.y" 
     4504    { 
    78484505                         pos_end = setposcur(); 
    78494506                         RemoveWordSET_0(fortranout,pos_curcommon, 
    78504507                                                  pos_end-pos_curcommon); 
    7851                    } 
    7852 break; 
    7853 case 155: 
    7854 #line 1061 "fortran.y" 
    7855 { 
     4508                   ;} 
     4509    break; 
     4510 
     4511  case 155: 
     4512#line 1113 "fortran.y" 
     4513    { 
    78564514                         if ( couldaddvariable == 1 ) 
    78574515                         { 
    7858                             sprintf(charusemodule,"%s",yyvsp[-1].nac); 
    7859                             Add_NameOfCommon_1(yyvsp[-1].nac); 
     4516                            sprintf(charusemodule,"%s",(yyvsp[(2) - (3)].nac)); 
     4517                            Add_NameOfCommon_1((yyvsp[(2) - (3)].nac),subroutinename); 
    78604518                            pos_end = setposcur(); 
    78614519                            RemoveWordSET_0(fortranout,pos_curcommon, 
    78624520                                                       pos_end-pos_curcommon); 
    78634521                         } 
    7864                    } 
    7865 break; 
    7866 case 156: 
    7867 #line 1072 "fortran.y" 
    7868 { 
     4522                   ;} 
     4523    break; 
     4524 
     4525  case 156: 
     4526#line 1124 "fortran.y" 
     4527    { 
    78694528                         if ( couldaddvariable == 1 ) 
    78704529                         { 
    7871                             sprintf(charusemodule,"%s",yyvsp[-2].nac); 
    7872                             Add_NameOfCommon_1(yyvsp[-2].nac); 
     4530                            sprintf(charusemodule,"%s",(yyvsp[(3) - (5)].nac)); 
     4531                            Add_NameOfCommon_1((yyvsp[(3) - (5)].nac),subroutinename); 
    78734532                            pos_end = setposcur(); 
    78744533                            RemoveWordSET_0(fortranout,pos_curcommon, 
    78754534                                                       pos_end-pos_curcommon); 
    78764535                         } 
    7877                    } 
    7878 break; 
    7879 case 157: 
    7880 #line 1084 "fortran.y" 
    7881 { 
     4536                   ;} 
     4537    break; 
     4538 
     4539  case 157: 
     4540#line 1136 "fortran.y" 
     4541    { 
    78824542                      positioninblock=0; 
    78834543                      pos_curcommon = setposcur()-6; 
    7884                    } 
    7885 break; 
    7886 case 158: 
    7887 #line 1089 "fortran.y" 
    7888 { 
     4544                   ;} 
     4545    break; 
     4546 
     4547  case 158: 
     4548#line 1141 "fortran.y" 
     4549    { 
    78894550                      positioninblock=0; 
    78904551                      pos_curcommon = setposcur()-6-7; 
    7891                    } 
    7892 break; 
    7893 case 159: 
    7894 #line 1095 "fortran.y" 
    7895 { 
     4552                   ;} 
     4553    break; 
     4554 
     4555  case 159: 
     4556#line 1147 "fortran.y" 
     4557    { 
    78964558                      if ( couldaddvariable == 1 ) Add_Common_var_1(); 
    7897                    } 
    7898 break; 
    7899 case 160: 
    7900 #line 1100 "fortran.y" 
    7901 { 
     4559                   ;} 
     4560    break; 
     4561 
     4562  case 160: 
     4563#line 1152 "fortran.y" 
     4564    { 
    79024565                      if ( couldaddvariable == 1 ) Add_Common_var_1(); 
    7903                    } 
    7904 break; 
    7905 case 161: 
    7906 #line 1104 "fortran.y" 
    7907 { 
     4566                   ;} 
     4567    break; 
     4568 
     4569  case 161: 
     4570#line 1156 "fortran.y" 
     4571    { 
    79084572                      if ( couldaddvariable == 1 ) 
    79094573                      { 
    79104574                         positioninblock = positioninblock + 1 ; 
    7911                          strcpy(commonvar,yyvsp[-1].nac); 
    7912                          commondim = yyvsp[0].d; 
     4575                         strcpy(commonvar,(yyvsp[(1) - (2)].nac)); 
     4576                         commondim = (yyvsp[(2) - (2)].d); 
    79134577                      } 
    7914                    } 
    7915 break; 
    7916 case 162: 
    7917 #line 1114 "fortran.y" 
    7918 { 
     4578                   ;} 
     4579    break; 
     4580 
     4581  case 162: 
     4582#line 1166 "fortran.y" 
     4583    { 
    79194584                      if ( couldaddvariable == 1 ) 
    79204585                      { 
    7921                          strcpy(yyval.nac,""); 
     4586                         strcpy((yyval.nac),""); 
    79224587                         positioninblock=0; 
    79234588                         strcpy(commonblockname,""); 
    79244589                      } 
    7925                    } 
    7926 break; 
    7927 case 163: 
    7928 #line 1123 "fortran.y" 
    7929 { 
     4590                   ;} 
     4591    break; 
     4592 
     4593  case 163: 
     4594#line 1175 "fortran.y" 
     4595    { 
    79304596                      if ( couldaddvariable == 1 ) 
    79314597                      { 
    7932                          strcpy(yyval.nac,yyvsp[-1].nac); 
     4598                         strcpy((yyval.nac),(yyvsp[(2) - (3)].nac)); 
    79334599                         positioninblock=0; 
    7934                          strcpy(commonblockname,yyvsp[-1].nac); 
     4600                         strcpy(commonblockname,(yyvsp[(2) - (3)].nac)); 
    79354601                      } 
    7936                    } 
    7937 break; 
    7938 case 166: 
    7939 #line 1136 "fortran.y" 
    7940 { 
    7941                       if ( couldaddvariable == 1 ) yyval.l=insertvar(NULL,yyvsp[0].v); 
    7942                    } 
    7943 break; 
    7944 case 167: 
    7945 #line 1140 "fortran.y" 
    7946 { 
    7947                       if ( couldaddvariable == 1 ) yyval.l=insertvar(yyvsp[-2].l,yyvsp[0].v); 
    7948                    } 
    7949 break; 
    7950 case 168: 
    7951 #line 1145 "fortran.y" 
    7952 { 
     4602                   ;} 
     4603    break; 
     4604 
     4605  case 166: 
     4606#line 1188 "fortran.y" 
     4607    { 
     4608                      if ( couldaddvariable == 1 ) (yyval.l)=insertvar(NULL,(yyvsp[(1) - (1)].v)); 
     4609                   ;} 
     4610    break; 
     4611 
     4612  case 167: 
     4613#line 1192 "fortran.y" 
     4614    { 
     4615                      if ( couldaddvariable == 1 ) (yyval.l)=insertvar((yyvsp[(1) - (3)].l),(yyvsp[(3) - (3)].v)); 
     4616                   ;} 
     4617    break; 
     4618 
     4619  case 168: 
     4620#line 1197 "fortran.y" 
     4621    { 
    79534622                     if ( couldaddvariable == 1 ) 
    79544623                     { 
     
    79584627                         /*                                                   */ 
    79594628                         curvar->v_VariableIsParameter=1; 
    7960                          strcpy(curvar->v_nomvar,yyvsp[-2].nac); 
    7961                          Save_Length(yyvsp[-2].nac,4); 
     4629                         strcpy(curvar->v_nomvar,(yyvsp[(1) - (3)].nac)); 
     4630                         Save_Length((yyvsp[(1) - (3)].nac),4); 
    79624631                         strcpy(curvar->v_subroutinename,subroutinename); 
    79634632                         Save_Length(subroutinename,11); 
    79644633                         strcpy(curvar->v_modulename,curmodulename); 
    79654634                         Save_Length(curmodulename,6); 
    7966                          strcpy(curvar->v_initialvalue,yyvsp[0].na); 
    7967                          Save_Length(yyvsp[0].na,14); 
     4635                         strcpy(curvar->v_initialvalue,(yyvsp[(3) - (3)].na)); 
     4636                         Save_Length((yyvsp[(3) - (3)].na),14); 
    79684637                         strcpy(curvar->v_commoninfile,mainfile); 
    79694638                         Save_Length(mainfile,10); 
    7970                          yyval.v=curvar; 
     4639                         (yyval.v)=curvar; 
    79714640                      } 
    7972                    } 
    7973 break; 
    7974 case 172: 
    7975 #line 1173 "fortran.y" 
    7976 { 
     4641                   ;} 
     4642    break; 
     4643 
     4644  case 172: 
     4645#line 1225 "fortran.y" 
     4646    { 
    79774647                       if ( insubroutinedeclare == 1 ) 
    79784648                       { 
     
    79824652                                                             13); 
    79834653                       } 
    7984                     } 
    7985 break; 
    7986 case 175: 
    7987 #line 1187 "fortran.y" 
    7988 { 
     4654                    ;} 
     4655    break; 
     4656 
     4657  case 175: 
     4658#line 1239 "fortran.y" 
     4659    { 
    79894660                      if ( couldaddvariable == 1 ) 
    79904661                      { 
     
    79924663                         if (dimsgiven == 1) 
    79934664                         { 
    7994                             curvar=createvar(yyvsp[-3].nac,curdim); 
     4665                            curvar=createvar((yyvsp[(3) - (6)].nac),curdim); 
    79954666                         } 
    79964667                         else 
    79974668                         { 
    7998                             curvar=createvar(yyvsp[-3].nac,yyvsp[-2].d); 
     4669                            curvar=createvar((yyvsp[(3) - (6)].nac),(yyvsp[(4) - (6)].d)); 
    79994670                         } 
    80004671                         /*                                                   */ 
     
    80134684                            } 
    80144685                         } 
    8015                          yyval.l=settype(DeclType,curlistvar); 
     4686                         (yyval.l)=settype(DeclType,curlistvar); 
    80164687                      } 
    80174688                      strcpy(vallengspec,""); 
    8018                    } 
    8019 break; 
    8020 case 176: 
    8021 #line 1219 "fortran.y" 
    8022 { 
     4689                   ;} 
     4690    break; 
     4691 
     4692  case 176: 
     4693#line 1271 "fortran.y" 
     4694    { 
    80234695                      if ( couldaddvariable == 1 ) 
    80244696                      { 
    80254697                         if (dimsgiven == 1) 
    80264698                         { 
    8027                             curvar=createvar(yyvsp[-3].nac,curdim); 
     4699                            curvar=createvar((yyvsp[(4) - (7)].nac),curdim); 
    80284700                         } 
    80294701                         else 
    80304702                         { 
    8031                             curvar=createvar(yyvsp[-3].nac,yyvsp[-2].d); 
     4703                            curvar=createvar((yyvsp[(4) - (7)].nac),(yyvsp[(5) - (7)].d)); 
    80324704                         } 
    80334705                         /*                                                   */ 
    8034                          CreateAndFillin_Curvar(yyvsp[-6].l->var->v_typevar,curvar); 
     4706                         CreateAndFillin_Curvar((yyvsp[(1) - (7)].l)->var->v_typevar,curvar); 
    80354707                         /*                                                   */ 
    8036                          strcpy(curvar->v_typevar,(yyvsp[-6].l->var->v_typevar)); 
    8037                          Save_Length(yyvsp[-6].l->var->v_typevar,3); 
     4708                         strcpy(curvar->v_typevar,((yyvsp[(1) - (7)].l)->var->v_typevar)); 
     4709                         Save_Length((yyvsp[(1) - (7)].l)->var->v_typevar,3); 
    80384710                         /*                                                   */ 
    8039                          curlistvar=insertvar(yyvsp[-6].l,curvar); 
     4711                         curlistvar=insertvar((yyvsp[(1) - (7)].l),curvar); 
    80404712                         if (!strcasecmp(DeclType,"character")) 
    80414713                         { 
     
    80494721                            } 
    80504722                         } 
    8051                          yyval.l=curlistvar; 
     4723                         (yyval.l)=curlistvar; 
    80524724                      } 
    80534725                      strcpy(vallengspec,""); 
    8054                    } 
    8055 break; 
    8056 case 177: 
    8057 #line 1253 "fortran.y" 
    8058 {dimsgiven=0;} 
    8059 break; 
    8060 case 178: 
    8061 #line 1256 "fortran.y" 
    8062 {strcpy(DeclType,yyvsp[-1].nac);} 
    8063 break; 
    8064 case 179: 
    8065 #line 1258 "fortran.y" 
    8066 { 
     4726                   ;} 
     4727    break; 
     4728 
     4729  case 177: 
     4730#line 1305 "fortran.y" 
     4731    {dimsgiven=0;;} 
     4732    break; 
     4733 
     4734  case 178: 
     4735#line 1308 "fortran.y" 
     4736    {strcpy(DeclType,(yyvsp[(1) - (2)].nac));;} 
     4737    break; 
     4738 
     4739  case 179: 
     4740#line 1310 "fortran.y" 
     4741    { 
    80674742                      strcpy(DeclType,"CHARACTER"); 
    8068                    } 
    8069 break; 
    8070 case 180: 
    8071 #line 1262 "fortran.y" 
    8072 { 
    8073                       strcpy(DeclType,yyvsp[-2].nac); 
    8074                       strcpy(nameinttypename,yyvsp[0].nac); 
    8075                    } 
    8076 break; 
    8077 case 181: 
    8078 #line 1267 "fortran.y" 
    8079 { 
     4743                   ;} 
     4744    break; 
     4745 
     4746  case 180: 
     4747#line 1314 "fortran.y" 
     4748    { 
     4749                      strcpy(DeclType,(yyvsp[(1) - (3)].nac)); 
     4750                      strcpy(nameinttypename,(yyvsp[(3) - (3)].nac)); 
     4751                   ;} 
     4752    break; 
     4753 
     4754  case 181: 
     4755#line 1319 "fortran.y" 
     4756    { 
    80804757                      strcpy(DeclType,"TYPE"); 
    8081                    } 
    8082 break; 
    8083 case 182: 
    8084 #line 1272 "fortran.y" 
    8085 { 
     4758                   ;} 
     4759    break; 
     4760 
     4761  case 182: 
     4762#line 1324 "fortran.y" 
     4763    { 
    80864764                 /*     if ( couldaddvariable == 1 ) VarTypepar = 1 ; 
    80874765                      couldaddvariable = 0 ; 
    80884766                      pos_cur_decl = setposcur()-5;*/ 
    80894767                   pos_cur_decl = setposcur()-5; 
    8090                    } 
    8091 break; 
    8092 case 184: 
    8093 #line 1281 "fortran.y" 
    8094 {c_selectorgiven=1;strcpy(c_selectorname,yyvsp[0].nac);} 
    8095 break; 
    8096 case 185: 
    8097 #line 1282 "fortran.y" 
    8098 {c_star = 1;} 
    8099 break; 
    8100 case 190: 
    8101 #line 1290 "fortran.y" 
    8102 { 
     4768                   ;} 
     4769    break; 
     4770 
     4771  case 184: 
     4772#line 1333 "fortran.y" 
     4773    {c_selectorgiven=1;strcpy(c_selectorname,(yyvsp[(2) - (2)].nac));;} 
     4774    break; 
     4775 
     4776  case 185: 
     4777#line 1334 "fortran.y" 
     4778    {c_star = 1;;} 
     4779    break; 
     4780 
     4781  case 190: 
     4782#line 1342 "fortran.y" 
     4783    { 
    81034784                      pos_cur_decl = setposcur()-9; 
    8104                    } 
    8105 break; 
    8106 case 191: 
    8107 #line 1294 "fortran.y" 
    8108 {strcpy(yyval.nac,yyvsp[0].nac);} 
    8109 break; 
    8110 case 192: 
    8111 #line 1297 "fortran.y" 
    8112 { 
    8113                       strcpy(yyval.nac,"INTEGER"); 
     4785                   ;} 
     4786    break; 
     4787 
     4788  case 191: 
     4789#line 1346 "fortran.y" 
     4790    {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     4791    break; 
     4792 
     4793  case 192: 
     4794#line 1349 "fortran.y" 
     4795    { 
     4796                      strcpy((yyval.nac),"INTEGER"); 
    81144797                      pos_cur_decl = setposcur()-7; 
    8115                    } 
    8116 break; 
    8117 case 193: 
    8118 #line 1301 "fortran.y" 
    8119 { 
    8120                       strcpy(yyval.nac,"REAL"); 
     4798                   ;} 
     4799    break; 
     4800 
     4801  case 193: 
     4802#line 1353 "fortran.y" 
     4803    { 
     4804                      strcpy((yyval.nac),"REAL"); 
    81214805                      pos_cur_decl = setposcur()-4; 
    8122                    } 
    8123 break; 
    8124 case 194: 
    8125 #line 1306 "fortran.y" 
    8126 {strcpy(yyval.nac,"COMPLEX"); 
    8127                    pos_cur_decl = setposcur()-7;} 
    8128 break; 
    8129 case 195: 
    8130 #line 1309 "fortran.y" 
    8131 { 
     4806                   ;} 
     4807    break; 
     4808 
     4809  case 194: 
     4810#line 1358 "fortran.y" 
     4811    {strcpy((yyval.nac),"COMPLEX"); 
     4812                   pos_cur_decl = setposcur()-7;;} 
     4813    break; 
     4814 
     4815  case 195: 
     4816#line 1361 "fortran.y" 
     4817    { 
    81324818                      pos_cur_decl = setposcur()-16; 
    8133                       strcpy(yyval.nac,"REAL"); 
     4819                      strcpy((yyval.nac),"REAL"); 
    81344820                      strcpy(nameinttypename,"8"); 
    8135                    } 
    8136 break; 
    8137 case 196: 
    8138 #line 1315 "fortran.y" 
    8139 {strcpy(yyval.nac,"DOUBLE COMPLEX");} 
    8140 break; 
    8141 case 197: 
    8142 #line 1317 "fortran.y" 
    8143 { 
    8144                       strcpy(yyval.nac,"LOGICAL"); 
     4821                   ;} 
     4822    break; 
     4823 
     4824  case 196: 
     4825#line 1367 "fortran.y" 
     4826    {strcpy((yyval.nac),"DOUBLE COMPLEX");;} 
     4827    break; 
     4828 
     4829  case 197: 
     4830#line 1369 "fortran.y" 
     4831    { 
     4832                      strcpy((yyval.nac),"LOGICAL"); 
    81454833                      pos_cur_decl = setposcur()-7; 
    8146                    } 
    8147 break; 
    8148 case 199: 
    8149 #line 1323 "fortran.y" 
    8150 {strcpy(vallengspec,yyvsp[0].na);} 
    8151 break; 
    8152 case 200: 
    8153 #line 1325 "fortran.y" 
    8154 {sprintf(yyval.na,"*%s",yyvsp[0].na);} 
    8155 break; 
    8156 case 201: 
    8157 #line 1326 "fortran.y" 
    8158 {strcpy(yyval.na,"*(*)");} 
    8159 break; 
    8160 case 208: 
    8161 #line 1337 "fortran.y" 
    8162 { 
    8163                       if ( strstr(yyvsp[0].na,"0.d0") ) 
     4834                   ;} 
     4835    break; 
     4836 
     4837  case 199: 
     4838#line 1375 "fortran.y" 
     4839    {strcpy(vallengspec,(yyvsp[(2) - (2)].na));;} 
     4840    break; 
     4841 
     4842  case 200: 
     4843#line 1377 "fortran.y" 
     4844    {sprintf((yyval.na),"*%s",(yyvsp[(1) - (1)].na));;} 
     4845    break; 
     4846 
     4847  case 201: 
     4848#line 1378 "fortran.y" 
     4849    {strcpy((yyval.na),"*(*)");;} 
     4850    break; 
     4851 
     4852  case 208: 
     4853#line 1389 "fortran.y" 
     4854                      { 
     4855                      if ( strstr((yyvsp[(3) - (3)].na),"0.d0") ) 
    81644856                      { 
    81654857                         strcpy(nameinttypename,"8"); 
    81664858                         sprintf(NamePrecision,""); 
    81674859                      } 
    8168                       else sprintf(NamePrecision,"%s = %s",yyvsp[-2].nac,yyvsp[0].na); 
    8169                    } 
    8170 break; 
    8171 case 209: 
    8172 #line 1346 "fortran.y" 
    8173 { 
    8174                       strcpy(NamePrecision,yyvsp[0].nac); 
    8175                    } 
    8176 break; 
    8177 case 210: 
    8178 #line 1350 "fortran.y" 
    8179 { 
    8180                       strcpy(NamePrecision,yyvsp[0].nac); 
    8181                    } 
    8182 break; 
    8183 case 211: 
    8184 #line 1354 "fortran.y" 
    8185 {strcpy(CharacterSize,yyvsp[0].na); 
    8186                     strcpy(yyval.na,yyvsp[0].na);} 
    8187 break; 
    8188 case 212: 
    8189 #line 1356 "fortran.y" 
    8190 {strcpy(CharacterSize,"*"); 
    8191                     strcpy(yyval.na,"*");} 
    8192 break; 
    8193 case 220: 
    8194 #line 1370 "fortran.y" 
    8195 { 
     4860                      else sprintf(NamePrecision,"%s = %s",(yyvsp[(1) - (3)].nac),(yyvsp[(3) - (3)].na)); 
     4861                   ;} 
     4862    break; 
     4863 
     4864  case 209: 
     4865#line 1398 "fortran.y" 
     4866    { 
     4867                      strcpy(NamePrecision,(yyvsp[(1) - (1)].nac)); 
     4868                   ;} 
     4869    break; 
     4870 
     4871  case 210: 
     4872#line 1402 "fortran.y" 
     4873    { 
     4874                      strcpy(NamePrecision,(yyvsp[(1) - (1)].nac)); 
     4875                   ;} 
     4876    break; 
     4877 
     4878  case 211: 
     4879#line 1406 "fortran.y" 
     4880    {strcpy(CharacterSize,(yyvsp[(1) - (1)].na)); 
     4881                    strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     4882    break; 
     4883 
     4884  case 212: 
     4885#line 1408 "fortran.y" 
     4886    {strcpy(CharacterSize,"*"); 
     4887                    strcpy((yyval.na),"*");;} 
     4888    break; 
     4889 
     4890  case 220: 
     4891#line 1422 "fortran.y" 
     4892    { 
    81964893                      VariableIsParameter = 1; 
    8197                    } 
    8198 break; 
    8199 case 222: 
    8200 #line 1375 "fortran.y" 
    8201 {Allocatabledeclare = 1;} 
    8202 break; 
    8203 case 223: 
    8204 #line 1377 "fortran.y" 
    8205 { 
     4894                   ;} 
     4895    break; 
     4896 
     4897  case 222: 
     4898#line 1427 "fortran.y" 
     4899    {Allocatabledeclare = 1;;} 
     4900    break; 
     4901 
     4902  case 223: 
     4903#line 1429 "fortran.y" 
     4904    { 
    82064905                      dimsgiven=1; 
    8207                       curdim=yyvsp[0].d; 
    8208                    } 
    8209 break; 
    8210 case 224: 
    8211 #line 1382 "fortran.y" 
    8212 {ExternalDeclare = 1;} 
    8213 break; 
    8214 case 225: 
    8215 #line 1384 "fortran.y" 
    8216 {strcpy(IntentSpec,yyvsp[-1].nac);} 
    8217 break; 
    8218 case 227: 
    8219 #line 1386 "fortran.y" 
    8220 {optionaldeclare = 1 ;} 
    8221 break; 
    8222 case 228: 
    8223 #line 1387 "fortran.y" 
    8224 {pointerdeclare = 1 ;} 
    8225 break; 
    8226 case 229: 
    8227 #line 1388 "fortran.y" 
    8228 { 
     4906                      curdim=(yyvsp[(2) - (2)].d); 
     4907                   ;} 
     4908    break; 
     4909 
     4910  case 224: 
     4911#line 1434 "fortran.y" 
     4912    {ExternalDeclare = 1;;} 
     4913    break; 
     4914 
     4915  case 225: 
     4916#line 1436 "fortran.y" 
     4917    {strcpy(IntentSpec,(yyvsp[(3) - (4)].nac));;} 
     4918    break; 
     4919 
     4920  case 227: 
     4921#line 1438 "fortran.y" 
     4922    {optionaldeclare = 1 ;;} 
     4923    break; 
     4924 
     4925  case 228: 
     4926#line 1439 "fortran.y" 
     4927    {pointerdeclare = 1 ;;} 
     4928    break; 
     4929 
     4930  case 229: 
     4931#line 1440 "fortran.y" 
     4932    { 
    82294933/*                       if ( inmodulemeet == 1 ) 
    82304934                       {*/ 
    82314935                          SaveDeclare = 1 ; 
    82324936                     /*  }*/ 
    8233                     } 
    8234 break; 
    8235 case 231: 
    8236 #line 1396 "fortran.y" 
    8237 {strcpy(yyval.nac,yyvsp[0].nac);} 
    8238 break; 
    8239 case 232: 
    8240 #line 1397 "fortran.y" 
    8241 {strcpy(yyval.nac,yyvsp[0].nac);} 
    8242 break; 
    8243 case 233: 
    8244 #line 1398 "fortran.y" 
    8245 {strcpy(yyval.nac,yyvsp[0].nac); } 
    8246 break; 
    8247 case 234: 
    8248 #line 1401 "fortran.y" 
    8249 {PublicDeclare = 1;} 
    8250 break; 
    8251 case 235: 
    8252 #line 1403 "fortran.y" 
    8253 {PrivateDeclare = 1;} 
    8254 break; 
    8255 case 236: 
    8256 #line 1405 "fortran.y" 
    8257 {if ( created_dimensionlist == 1 ) 
     4937                    ;} 
     4938    break; 
     4939 
     4940  case 230: 
     4941#line 1447 "fortran.y" 
     4942    {Targetdeclare = 1;;} 
     4943    break; 
     4944 
     4945  case 231: 
     4946#line 1449 "fortran.y" 
     4947    {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     4948    break; 
     4949 
     4950  case 232: 
     4951#line 1450 "fortran.y" 
     4952    {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     4953    break; 
     4954 
     4955  case 233: 
     4956#line 1451 "fortran.y" 
     4957    {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); ;} 
     4958    break; 
     4959 
     4960  case 234: 
     4961#line 1454 "fortran.y" 
     4962    {PublicDeclare = 1;;} 
     4963    break; 
     4964 
     4965  case 235: 
     4966#line 1456 "fortran.y" 
     4967    {PrivateDeclare = 1;;} 
     4968    break; 
     4969 
     4970  case 236: 
     4971#line 1458 "fortran.y" 
     4972    {if ( created_dimensionlist == 1 ) 
    82584973                       { 
    8259                            yyval.d=(listdim *)NULL; 
     4974                           (yyval.d)=(listdim *)NULL; 
    82604975                       } 
    8261                    } 
    8262 break; 
    8263 case 237: 
    8264 #line 1411 "fortran.y" 
    8265 {if ( created_dimensionlist == 1 || 
    8266                          agrif_parentcall      == 1 ) yyval.d=yyvsp[-1].d;} 
    8267 break; 
    8268 case 238: 
    8269 #line 1414 "fortran.y" 
    8270 {if ( created_dimensionlist == 1 || 
    8271                          agrif_parentcall      == 1 ) yyval.d=insertdim(NULL,yyvsp[0].dim1);} 
    8272 break; 
    8273 case 239: 
    8274 #line 1417 "fortran.y" 
    8275 {if ( couldaddvariable == 1 ) 
    8276                          if ( created_dimensionlist == 1 ) yyval.d=insertdim(yyvsp[-2].d,yyvsp[0].dim1);} 
    8277 break; 
    8278 case 240: 
    8279 #line 1420 "fortran.y" 
    8280 { 
    8281                       strcpy(yyval.dim1.first,"1"); 
    8282                       strcpy(yyval.dim1.last,yyvsp[0].na); 
    8283                       Save_Length(yyvsp[0].na,1); 
    8284                    } 
    8285 break; 
    8286 case 241: 
    8287 #line 1425 "fortran.y" 
    8288 { 
    8289                       strcpy(yyval.dim1.first,""); 
    8290                       strcpy(yyval.dim1.last,""); 
    8291                    } 
    8292 break; 
    8293 case 242: 
    8294 #line 1429 "fortran.y" 
    8295 { 
    8296                       strcpy(yyval.dim1.first,yyvsp[-1].na); 
    8297                       Save_Length(yyvsp[-1].na,2); 
    8298                       strcpy(yyval.dim1.last,""); 
    8299                    } 
    8300 break; 
    8301 case 243: 
    8302 #line 1434 "fortran.y" 
    8303 { 
    8304                       strcpy(yyval.dim1.first,""); 
    8305                       strcpy(yyval.dim1.last,yyvsp[0].na); 
    8306                       Save_Length(yyvsp[0].na,1); 
    8307                    } 
    8308 break; 
    8309 case 244: 
    8310 #line 1440 "fortran.y" 
    8311 { 
    8312                       strcpy(yyval.dim1.first,yyvsp[-2].na); 
    8313                       Save_Length(yyvsp[-2].na,2); 
    8314                       strcpy(yyval.dim1.last,yyvsp[0].na); 
    8315                       Save_Length(yyvsp[0].na,1); 
    8316                    } 
    8317 break; 
    8318 case 245: 
    8319 #line 1447 "fortran.y" 
    8320 {strcpy(yyval.na,"*");} 
    8321 break; 
    8322 case 246: 
    8323 #line 1448 "fortran.y" 
    8324 {strcpy(yyval.na,yyvsp[0].na);} 
    8325 break; 
    8326 case 247: 
    8327 #line 1450 "fortran.y" 
    8328 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    8329 break; 
    8330 case 248: 
    8331 #line 1452 "fortran.y" 
    8332 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"(%s)",yyvsp[-1].na);} 
    8333 break; 
    8334 case 249: 
    8335 #line 1454 "fortran.y" 
    8336 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    8337 break; 
    8338 case 250: 
    8339 #line 1456 "fortran.y" 
    8340 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    8341 break; 
    8342 case 251: 
    8343 #line 1460 "fortran.y" 
    8344 {sprintf(yyval.na,"SUM(%s)",yyvsp[-1].na);} 
    8345 break; 
    8346 case 252: 
    8347 #line 1462 "fortran.y" 
    8348 {sprintf(yyval.na,"MAX(%s)",yyvsp[-1].na);} 
    8349 break; 
    8350 case 253: 
     4976                   ;} 
     4977    break; 
     4978 
     4979  case 237: 
    83514980#line 1464 "fortran.y" 
    8352 {sprintf(yyval.na,"TANH(%s)",yyvsp[-1].na);} 
    8353 break; 
    8354 case 254: 
    8355 #line 1466 "fortran.y" 
    8356 {sprintf(yyval.na,"MAXVAL(%s)",yyvsp[-1].na);} 
    8357 break; 
    8358 case 255: 
    8359 #line 1468 "fortran.y" 
    8360 {sprintf(yyval.na,"MIN(%s)",yyvsp[-1].na);} 
    8361 break; 
    8362 case 256: 
     4981    {if ( created_dimensionlist == 1 || 
     4982                         agrif_parentcall      == 1 ) (yyval.d)=(yyvsp[(2) - (3)].d);;} 
     4983    break; 
     4984 
     4985  case 238: 
     4986#line 1467 "fortran.y" 
     4987    {if ( created_dimensionlist == 1 || 
     4988                         agrif_parentcall      == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[(1) - (1)].dim1));;} 
     4989    break; 
     4990 
     4991  case 239: 
    83634992#line 1470 "fortran.y" 
    8364 {sprintf(yyval.na,"MINVAL(%s)",yyvsp[-1].na);} 
    8365 break; 
    8366 case 257: 
    8367 #line 1472 "fortran.y" 
    8368 {sprintf(yyval.na,"TRIM(%s)",yyvsp[-1].na);} 
    8369 break; 
    8370 case 258: 
    8371 #line 1474 "fortran.y" 
    8372 {sprintf(yyval.na,"SQRT(%s)",yyvsp[-1].na);} 
    8373 break; 
    8374 case 259: 
    8375 #line 1476 "fortran.y" 
    8376 {sprintf(yyval.na,"REAL(%s)",yyvsp[-1].na);} 
    8377 break; 
    8378 case 260: 
     4993    {if ( couldaddvariable == 1 ) 
     4994                         if ( created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[(1) - (3)].d),(yyvsp[(3) - (3)].dim1));;} 
     4995    break; 
     4996 
     4997  case 240: 
     4998#line 1473 "fortran.y" 
     4999    { 
     5000                      strcpy((yyval.dim1).first,"1"); 
     5001                      strcpy((yyval.dim1).last,(yyvsp[(1) - (1)].na)); 
     5002                      Save_Length((yyvsp[(1) - (1)].na),1); 
     5003                   ;} 
     5004    break; 
     5005 
     5006  case 241: 
    83795007#line 1478 "fortran.y" 
    8380 {sprintf(yyval.na,"NINT(%s)",yyvsp[-1].na);} 
    8381 break; 
    8382 case 261: 
    8383 #line 1480 "fortran.y" 
    8384 {sprintf(yyval.na,"FLOAT(%s)",yyvsp[-1].na);} 
    8385 break; 
    8386 case 262: 
     5008    { 
     5009                      strcpy((yyval.dim1).first,""); 
     5010                      strcpy((yyval.dim1).last,""); 
     5011                   ;} 
     5012    break; 
     5013 
     5014  case 242: 
    83875015#line 1482 "fortran.y" 
    8388 {sprintf(yyval.na,"EXP(%s)",yyvsp[-1].na);} 
    8389 break; 
    8390 case 263: 
    8391 #line 1484 "fortran.y" 
    8392 {sprintf(yyval.na,"COS(%s)",yyvsp[-1].na);} 
    8393 break; 
    8394 case 264: 
    8395 #line 1486 "fortran.y" 
    8396 {sprintf(yyval.na,"COSH(%s)",yyvsp[-1].na);} 
    8397 break; 
    8398 case 265: 
    8399 #line 1488 "fortran.y" 
    8400 {sprintf(yyval.na,"ACOS(%s)",yyvsp[-1].na);} 
    8401 break; 
    8402 case 266: 
    8403 #line 1490 "fortran.y" 
    8404 {sprintf(yyval.na,"SIN(%s)",yyvsp[-1].na);} 
    8405 break; 
    8406 case 267: 
    8407 #line 1492 "fortran.y" 
    8408 {sprintf(yyval.na,"SINH(%s)",yyvsp[-1].na);} 
    8409 break; 
    8410 case 268: 
    8411 #line 1494 "fortran.y" 
    8412 {sprintf(yyval.na,"ASIN(%s)",yyvsp[-1].na);} 
    8413 break; 
    8414 case 269: 
    8415 #line 1496 "fortran.y" 
    8416 {sprintf(yyval.na,"LOG(%s)",yyvsp[-1].na);} 
    8417 break; 
    8418 case 270: 
    8419 #line 1498 "fortran.y" 
    8420 {sprintf(yyval.na,"TAN(%s)",yyvsp[-1].na);} 
    8421 break; 
    8422 case 271: 
     5016    { 
     5017                      strcpy((yyval.dim1).first,(yyvsp[(1) - (2)].na)); 
     5018                      Save_Length((yyvsp[(1) - (2)].na),2); 
     5019                      strcpy((yyval.dim1).last,""); 
     5020                   ;} 
     5021    break; 
     5022 
     5023  case 243: 
     5024#line 1487 "fortran.y" 
     5025    { 
     5026                      strcpy((yyval.dim1).first,""); 
     5027                      strcpy((yyval.dim1).last,(yyvsp[(2) - (2)].na)); 
     5028                      Save_Length((yyvsp[(2) - (2)].na),1); 
     5029                   ;} 
     5030    break; 
     5031 
     5032  case 244: 
     5033#line 1493 "fortran.y" 
     5034    { 
     5035                      strcpy((yyval.dim1).first,(yyvsp[(1) - (3)].na)); 
     5036                      Save_Length((yyvsp[(1) - (3)].na),2); 
     5037                      strcpy((yyval.dim1).last,(yyvsp[(3) - (3)].na)); 
     5038                      Save_Length((yyvsp[(3) - (3)].na),1); 
     5039                   ;} 
     5040    break; 
     5041 
     5042  case 245: 
    84235043#line 1500 "fortran.y" 
    8424 {sprintf(yyval.na,"ATAN(%s)",yyvsp[-1].na);} 
    8425 break; 
    8426 case 272: 
    8427 #line 1502 "fortran.y" 
    8428 {sprintf(yyval.na,"ABS(%s)",yyvsp[-1].na);} 
    8429 break; 
    8430 case 273: 
    8431 #line 1504 "fortran.y" 
    8432 {sprintf(yyval.na,"MOD(%s)",yyvsp[-1].na);} 
    8433 break; 
    8434 case 274: 
    8435 #line 1506 "fortran.y" 
    8436 {sprintf(yyval.na,"SIGN(%s)",yyvsp[-1].na);} 
    8437 break; 
    8438 case 275: 
    8439 #line 1508 "fortran.y" 
    8440 {sprintf(yyval.na,"MINLOC(%s)",yyvsp[-1].na);} 
    8441 break; 
    8442 case 276: 
    8443 #line 1510 "fortran.y" 
    8444 {sprintf(yyval.na,"MAXLOC(%s)",yyvsp[-1].na);} 
    8445 break; 
    8446 case 277: 
    8447 #line 1512 "fortran.y" 
    8448 {strcpy(yyval.na,yyvsp[0].na);} 
    8449 break; 
    8450 case 278: 
    8451 #line 1514 "fortran.y" 
    8452 {if ( couldaddvariable == 1 ) 
    8453                    { strcpy(yyval.na,yyvsp[-2].na);strcat(yyval.na,",");strcat(yyval.na,yyvsp[0].na);}} 
    8454 break; 
    8455 case 279: 
     5044    {strcpy((yyval.na),"*");;} 
     5045    break; 
     5046 
     5047  case 246: 
     5048#line 1501 "fortran.y" 
     5049    {strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     5050    break; 
     5051 
     5052  case 247: 
     5053#line 1503 "fortran.y" 
     5054    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     5055    break; 
     5056 
     5057  case 248: 
     5058#line 1505 "fortran.y" 
     5059    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s)",(yyvsp[(2) - (3)].na));;} 
     5060    break; 
     5061 
     5062  case 249: 
     5063#line 1507 "fortran.y" 
     5064    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     5065    break; 
     5066 
     5067  case 250: 
     5068#line 1509 "fortran.y" 
     5069    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     5070    break; 
     5071 
     5072  case 251: 
     5073#line 1513 "fortran.y" 
     5074    {sprintf((yyval.na),"SUM(%s)",(yyvsp[(2) - (3)].na));;} 
     5075    break; 
     5076 
     5077  case 252: 
     5078#line 1515 "fortran.y" 
     5079    {sprintf((yyval.na),"MAX(%s)",(yyvsp[(2) - (3)].na));;} 
     5080    break; 
     5081 
     5082  case 253: 
    84565083#line 1517 "fortran.y" 
    8457 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    8458 break; 
    8459 case 280: 
     5084    {sprintf((yyval.na),"TANH(%s)",(yyvsp[(3) - (4)].na));;} 
     5085    break; 
     5086 
     5087  case 254: 
    84605088#line 1519 "fortran.y" 
    8461 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].nac);} 
    8462 break; 
    8463 case 281: 
     5089    {sprintf((yyval.na),"MAXVAL(%s)",(yyvsp[(3) - (4)].na));;} 
     5090    break; 
     5091 
     5092  case 255: 
    84645093#line 1521 "fortran.y" 
    8465 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    8466 break; 
    8467 case 282: 
     5094    {sprintf((yyval.na),"MIN(%s)",(yyvsp[(2) - (3)].na));;} 
     5095    break; 
     5096 
     5097  case 256: 
    84685098#line 1523 "fortran.y" 
    8469 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].na,yyvsp[0].na);} 
    8470 break; 
    8471 case 283: 
     5099    {sprintf((yyval.na),"MINVAL(%s)",(yyvsp[(3) - (4)].na));;} 
     5100    break; 
     5101 
     5102  case 257: 
    84725103#line 1525 "fortran.y" 
    8473 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8474 break; 
    8475 case 284: 
     5104    {sprintf((yyval.na),"TRIM(%s)",(yyvsp[(3) - (4)].na));;} 
     5105    break; 
     5106 
     5107  case 258: 
    84765108#line 1527 "fortran.y" 
    8477 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8478 break; 
    8479 case 285: 
     5109    {sprintf((yyval.na),"SQRT(%s)",(yyvsp[(2) - (3)].na));;} 
     5110    break; 
     5111 
     5112  case 259: 
    84805113#line 1529 "fortran.y" 
    8481 {if ( couldaddvariable == 1 ) strcpy(yyval.nac,"+");} 
    8482 break; 
    8483 case 286: 
    8484 #line 1530 "fortran.y" 
    8485 {if ( couldaddvariable == 1 ) strcpy(yyval.nac,"-");} 
    8486 break; 
    8487 case 287: 
     5114    {sprintf((yyval.na),"REAL(%s)",(yyvsp[(3) - (4)].na));;} 
     5115    break; 
     5116 
     5117  case 260: 
     5118#line 1531 "fortran.y" 
     5119    {sprintf((yyval.na),"NINT(%s)",(yyvsp[(3) - (4)].na));;} 
     5120    break; 
     5121 
     5122  case 261: 
    84885123#line 1533 "fortran.y" 
    8489 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"+%s",yyvsp[0].na);} 
    8490 break; 
    8491 case 288: 
     5124    {sprintf((yyval.na),"FLOAT(%s)",(yyvsp[(3) - (4)].na));;} 
     5125    break; 
     5126 
     5127  case 262: 
    84925128#line 1535 "fortran.y" 
    8493 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"-%s",yyvsp[0].na);} 
    8494 break; 
    8495 case 289: 
     5129    {sprintf((yyval.na),"EXP(%s)",(yyvsp[(3) - (4)].na));;} 
     5130    break; 
     5131 
     5132  case 263: 
    84965133#line 1537 "fortran.y" 
    8497 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"*%s",yyvsp[0].na);} 
    8498 break; 
    8499 case 290: 
     5134    {sprintf((yyval.na),"COS(%s)",(yyvsp[(3) - (4)].na));;} 
     5135    break; 
     5136 
     5137  case 264: 
    85005138#line 1539 "fortran.y" 
    8501 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8502 break; 
    8503 case 291: 
     5139    {sprintf((yyval.na),"COSH(%s)",(yyvsp[(3) - (4)].na));;} 
     5140    break; 
     5141 
     5142  case 265: 
    85045143#line 1541 "fortran.y" 
    8505 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8506 break; 
    8507 case 292: 
     5144    {sprintf((yyval.na),"ACOS(%s)",(yyvsp[(3) - (4)].na));;} 
     5145    break; 
     5146 
     5147  case 266: 
    85085148#line 1543 "fortran.y" 
    8509 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8510 break; 
    8511 case 293: 
     5149    {sprintf((yyval.na),"SIN(%s)",(yyvsp[(3) - (4)].na));;} 
     5150    break; 
     5151 
     5152  case 267: 
    85125153#line 1545 "fortran.y" 
    8513 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8514 break; 
    8515 case 294: 
     5154    {sprintf((yyval.na),"SINH(%s)",(yyvsp[(3) - (4)].na));;} 
     5155    break; 
     5156 
     5157  case 268: 
    85165158#line 1547 "fortran.y" 
    8517 {if ( couldaddvariable == 1 ) sprintf(yyval.na," > %s",yyvsp[0].na);} 
    8518 break; 
    8519 case 295: 
     5159    {sprintf((yyval.na),"ASIN(%s)",(yyvsp[(3) - (4)].na));;} 
     5160    break; 
     5161 
     5162  case 269: 
    85205163#line 1549 "fortran.y" 
    8521 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8522 break; 
    8523 case 296: 
     5164    {sprintf((yyval.na),"LOG(%s)",(yyvsp[(3) - (4)].na));;} 
     5165    break; 
     5166 
     5167  case 270: 
    85245168#line 1551 "fortran.y" 
    8525 {if ( couldaddvariable == 1 ) sprintf(yyval.na," < %s",yyvsp[0].na);} 
    8526 break; 
    8527 case 297: 
     5169    {sprintf((yyval.na),"TAN(%s)",(yyvsp[(3) - (4)].na));;} 
     5170    break; 
     5171 
     5172  case 271: 
    85285173#line 1553 "fortran.y" 
    8529 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8530 break; 
    8531 case 298: 
     5174    {sprintf((yyval.na),"ATAN(%s)",(yyvsp[(3) - (4)].na));;} 
     5175    break; 
     5176 
     5177  case 272: 
    85325178#line 1555 "fortran.y" 
    8533 {if ( couldaddvariable == 1 ) sprintf(yyval.na," >= %s",yyvsp[0].na);} 
    8534 break; 
    8535 case 299: 
     5179    {sprintf((yyval.na),"ABS(%s)",(yyvsp[(2) - (3)].na));;} 
     5180    break; 
     5181 
     5182  case 273: 
    85365183#line 1557 "fortran.y" 
    8537 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8538 break; 
    8539 case 300: 
     5184    {sprintf((yyval.na),"MOD(%s)",(yyvsp[(3) - (4)].na));;} 
     5185    break; 
     5186 
     5187  case 274: 
    85405188#line 1559 "fortran.y" 
    8541 {if ( couldaddvariable == 1 ) sprintf(yyval.na," <= %s",yyvsp[0].na);} 
    8542 break; 
    8543 case 301: 
     5189    {sprintf((yyval.na),"SIGN(%s)",(yyvsp[(3) - (4)].na));;} 
     5190    break; 
     5191 
     5192  case 275: 
    85445193#line 1561 "fortran.y" 
    8545 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8546 break; 
    8547 case 302: 
     5194    {sprintf((yyval.na),"MINLOC(%s)",(yyvsp[(3) - (4)].na));;} 
     5195    break; 
     5196 
     5197  case 276: 
    85485198#line 1563 "fortran.y" 
    8549 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8550 break; 
    8551 case 303: 
     5199    {sprintf((yyval.na),"MAXLOC(%s)",(yyvsp[(3) - (4)].na));;} 
     5200    break; 
     5201 
     5202  case 277: 
    85525203#line 1565 "fortran.y" 
    8553 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8554 break; 
    8555 case 304: 
     5204    {strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     5205    break; 
     5206 
     5207  case 278: 
    85565208#line 1567 "fortran.y" 
    8557 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8558 break; 
    8559 case 305: 
    8560 #line 1569 "fortran.y" 
    8561 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s%s",yyvsp[-1].nac,yyvsp[0].na);} 
    8562 break; 
    8563 case 306: 
    8564 #line 1571 "fortran.y" 
    8565 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s",yyvsp[0].na);} 
    8566 break; 
    8567 case 307: 
    8568 #line 1573 "fortran.y" 
    8569 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s",yyvsp[0].na);} 
    8570 break; 
    8571 case 308: 
    8572 #line 1575 "fortran.y" 
    8573 {strcpy(yyval.na,"");} 
    8574 break; 
    8575 case 309: 
    8576 #line 1577 "fortran.y" 
    8577 {sprintf(yyval.na,"/%s",yyvsp[0].na);} 
    8578 break; 
    8579 case 310: 
    8580 #line 1579 "fortran.y" 
    8581 {sprintf(yyval.na,"/= %s",yyvsp[0].na);} 
    8582 break; 
    8583 case 311: 
    8584 #line 1581 "fortran.y" 
    8585 {sprintf(yyval.na,"//%s",yyvsp[0].na);} 
    8586 break; 
    8587 case 312: 
    8588 #line 1584 "fortran.y" 
    8589 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"==%s",yyvsp[0].na);} 
    8590 break; 
    8591 case 313: 
     5209    {if ( couldaddvariable == 1 ) 
     5210                   { strcpy((yyval.na),(yyvsp[(1) - (3)].na));strcat((yyval.na),",");strcat((yyval.na),(yyvsp[(3) - (3)].na));};} 
     5211    break; 
     5212 
     5213  case 279: 
     5214#line 1570 "fortran.y" 
     5215    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     5216    break; 
     5217 
     5218  case 280: 
     5219#line 1572 "fortran.y" 
     5220    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].nac));;} 
     5221    break; 
     5222 
     5223  case 281: 
     5224#line 1574 "fortran.y" 
     5225    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     5226    break; 
     5227 
     5228  case 282: 
     5229#line 1576 "fortran.y" 
     5230    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na));;} 
     5231    break; 
     5232 
     5233  case 283: 
     5234#line 1578 "fortran.y" 
     5235    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5236    break; 
     5237 
     5238  case 284: 
     5239#line 1580 "fortran.y" 
     5240    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5241    break; 
     5242 
     5243  case 285: 
     5244#line 1582 "fortran.y" 
     5245    {if ( couldaddvariable == 1 ) strcpy((yyval.nac),"+");;} 
     5246    break; 
     5247 
     5248  case 286: 
     5249#line 1583 "fortran.y" 
     5250    {if ( couldaddvariable == 1 ) strcpy((yyval.nac),"-");;} 
     5251    break; 
     5252 
     5253  case 287: 
    85925254#line 1586 "fortran.y" 
    8593 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"= %s",yyvsp[0].na);} 
    8594 break; 
    8595 case 314: 
    8596 #line 1589 "fortran.y" 
    8597 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].nac);} 
    8598 break; 
    8599 case 315: 
    8600 #line 1591 "fortran.y" 
    8601 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    8602 break; 
    8603 case 316: 
    8604 #line 1593 "fortran.y" 
    8605 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    8606 break; 
    8607 case 317: 
    8608 #line 1595 "fortran.y" 
    8609 { 
     5255    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"+%s",(yyvsp[(2) - (2)].na));;} 
     5256    break; 
     5257 
     5258  case 288: 
     5259#line 1588 "fortran.y" 
     5260    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"-%s",(yyvsp[(2) - (2)].na));;} 
     5261    break; 
     5262 
     5263  case 289: 
     5264#line 1590 "fortran.y" 
     5265    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"*%s",(yyvsp[(2) - (2)].na));;} 
     5266    break; 
     5267 
     5268  case 290: 
     5269#line 1592 "fortran.y" 
     5270    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5271    break; 
     5272 
     5273  case 291: 
     5274#line 1594 "fortran.y" 
     5275    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5276    break; 
     5277 
     5278  case 292: 
     5279#line 1596 "fortran.y" 
     5280    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5281    break; 
     5282 
     5283  case 293: 
     5284#line 1598 "fortran.y" 
     5285    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5286    break; 
     5287 
     5288  case 294: 
     5289#line 1600 "fortran.y" 
     5290    {if ( couldaddvariable == 1 ) sprintf((yyval.na)," > %s",(yyvsp[(2) - (2)].na));;} 
     5291    break; 
     5292 
     5293  case 295: 
     5294#line 1602 "fortran.y" 
     5295    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5296    break; 
     5297 
     5298  case 296: 
     5299#line 1604 "fortran.y" 
     5300    {if ( couldaddvariable == 1 ) sprintf((yyval.na)," < %s",(yyvsp[(2) - (2)].na));;} 
     5301    break; 
     5302 
     5303  case 297: 
     5304#line 1606 "fortran.y" 
     5305    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5306    break; 
     5307 
     5308  case 298: 
     5309#line 1608 "fortran.y" 
     5310    {if ( couldaddvariable == 1 ) sprintf((yyval.na)," >= %s",(yyvsp[(3) - (3)].na));;} 
     5311    break; 
     5312 
     5313  case 299: 
     5314#line 1610 "fortran.y" 
     5315    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5316    break; 
     5317 
     5318  case 300: 
     5319#line 1612 "fortran.y" 
     5320    {if ( couldaddvariable == 1 ) sprintf((yyval.na)," <= %s",(yyvsp[(3) - (3)].na));;} 
     5321    break; 
     5322 
     5323  case 301: 
     5324#line 1614 "fortran.y" 
     5325    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5326    break; 
     5327 
     5328  case 302: 
     5329#line 1616 "fortran.y" 
     5330    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5331    break; 
     5332 
     5333  case 303: 
     5334#line 1618 "fortran.y" 
     5335    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5336    break; 
     5337 
     5338  case 304: 
     5339#line 1620 "fortran.y" 
     5340    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5341    break; 
     5342 
     5343  case 305: 
     5344#line 1622 "fortran.y" 
     5345    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 
     5346    break; 
     5347 
     5348  case 306: 
     5349#line 1624 "fortran.y" 
     5350    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s",(yyvsp[(2) - (2)].na));;} 
     5351    break; 
     5352 
     5353  case 307: 
     5354#line 1626 "fortran.y" 
     5355    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s",(yyvsp[(2) - (2)].na));;} 
     5356    break; 
     5357 
     5358  case 308: 
     5359#line 1628 "fortran.y" 
     5360    {strcpy((yyval.na),"");;} 
     5361    break; 
     5362 
     5363  case 309: 
     5364#line 1630 "fortran.y" 
     5365    {sprintf((yyval.na),"/%s",(yyvsp[(1) - (1)].na));;} 
     5366    break; 
     5367 
     5368  case 310: 
     5369#line 1632 "fortran.y" 
     5370    {sprintf((yyval.na),"/= %s",(yyvsp[(2) - (2)].na));;} 
     5371    break; 
     5372 
     5373  case 311: 
     5374#line 1634 "fortran.y" 
     5375    {sprintf((yyval.na),"//%s",(yyvsp[(2) - (2)].na));;} 
     5376    break; 
     5377 
     5378  case 312: 
     5379#line 1637 "fortran.y" 
     5380    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"==%s",(yyvsp[(2) - (2)].na));;} 
     5381    break; 
     5382 
     5383  case 313: 
     5384#line 1639 "fortran.y" 
     5385    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"= %s",(yyvsp[(1) - (1)].na));;} 
     5386    break; 
     5387 
     5388  case 314: 
     5389#line 1642 "fortran.y" 
     5390    {if ( couldaddvariable == 1 ) 
     5391                  { 
     5392                  printf("ident = %s\n",(yyvsp[(1) - (1)].nac)); 
     5393                  strcpy((yyval.na),(yyvsp[(1) - (1)].nac));} 
     5394                  ;} 
     5395    break; 
     5396 
     5397  case 315: 
     5398#line 1648 "fortran.y" 
     5399    {if ( couldaddvariable == 1 ) { 
     5400                   printf("struct = %s\n",(yyvsp[(1) - (1)].na)); 
     5401                   strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 
     5402                   ;} 
     5403    break; 
     5404 
     5405  case 316: 
     5406#line 1653 "fortran.y" 
     5407    {if ( couldaddvariable == 1 ) { 
     5408                   printf("arrayref = %s\n",(yyvsp[(1) - (1)].na)); 
     5409                   strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 
     5410                   };} 
     5411    break; 
     5412 
     5413  case 317: 
     5414#line 1658 "fortran.y" 
     5415    { 
    86105416                      agrif_parentcall =0; 
    86115417                      if (!strcasecmp(identcopy,"Agrif_Parent") ) 
     
    86175423                                                        curmodulename); 
    86185424                      } 
    8619                    } 
    8620 break; 
    8621 case 318: 
    8622 #line 1608 "fortran.y" 
    8623 { 
    8624                      strcpy(yyval.na,yyvsp[0].na); 
     5425                   ;} 
     5426    break; 
     5427 
     5428  case 318: 
     5429#line 1671 "fortran.y" 
     5430    { 
     5431                     strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 
    86255432                     if ( incalldeclare == 0 ) inagrifcallargument = 0; 
    8626                    } 
    8627 break; 
    8628 case 319: 
    8629 #line 1613 "fortran.y" 
    8630 {if ( couldaddvariable == 1 ) sprintf(yyval.na," %s %s ",yyvsp[-1].na,yyvsp[0].na);} 
    8631 break; 
    8632 case 320: 
    8633 #line 1615 "fortran.y" 
    8634 {if ( couldaddvariable == 1 ) 
    8635                                                 sprintf(yyval.na," %s ( %s )",yyvsp[-3].na,yyvsp[-1].na);} 
    8636 break; 
    8637 case 321: 
    8638 #line 1618 "fortran.y" 
    8639 {if ( couldaddvariable == 1 ) 
    8640                                          sprintf(yyval.na," %s ( %s ) %s ",yyvsp[-4].na,yyvsp[-2].na,yyvsp[0].na);} 
    8641 break; 
    8642 case 322: 
    8643 #line 1622 "fortran.y" 
    8644 { 
     5433                   ;} 
     5434    break; 
     5435 
     5436  case 319: 
     5437#line 1676 "fortran.y" 
     5438    {if ( couldaddvariable == 1 ) sprintf((yyval.na)," %s %s ",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na));;} 
     5439    break; 
     5440 
     5441  case 320: 
     5442#line 1678 "fortran.y" 
     5443    {if ( couldaddvariable == 1 ) 
     5444                                                sprintf((yyval.na)," %s ( %s )",(yyvsp[(1) - (4)].na),(yyvsp[(3) - (4)].na));;} 
     5445    break; 
     5446 
     5447  case 321: 
     5448#line 1681 "fortran.y" 
     5449    {if ( couldaddvariable == 1 ) 
     5450                                         sprintf((yyval.na)," %s ( %s ) %s ",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));;} 
     5451    break; 
     5452 
     5453  case 322: 
     5454#line 1685 "fortran.y" 
     5455    { 
    86455456                      if ( couldaddvariable == 1 ) 
    86465457                      { 
    8647                          sprintf(yyval.na," %s ( %s )",yyvsp[-3].nac,yyvsp[-1].na); 
    8648                          ModifyTheAgrifFunction_0(yyvsp[-1].na); 
     5458                         sprintf((yyval.na)," %s ( %s )",(yyvsp[(1) - (4)].nac),(yyvsp[(3) - (4)].na)); 
     5459                         ModifyTheAgrifFunction_0((yyvsp[(3) - (4)].na)); 
    86495460                         agrif_parentcall =0; 
    86505461                      } 
    8651                    } 
    8652 break; 
    8653 case 323: 
    8654 #line 1632 "fortran.y" 
    8655 { 
    8656                       sprintf(yyval.na," %s %% %s ",yyvsp[-2].na,yyvsp[0].na); 
     5462                   ;} 
     5463    break; 
     5464 
     5465  case 323: 
     5466#line 1695 "fortran.y" 
     5467    { 
     5468                      sprintf((yyval.na)," %s %% %s ",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); 
    86575469                      if ( incalldeclare == 0 ) inagrifcallargument = 0; 
    8658                    } 
    8659 break; 
    8660 case 324: 
    8661 #line 1638 "fortran.y" 
    8662 {sprintf(yyval.na,"(/%s/)",yyvsp[-1].na);} 
    8663 break; 
    8664 case 325: 
    8665 #line 1640 "fortran.y" 
    8666 {strcpy(yyval.na," ");} 
    8667 break; 
    8668 case 326: 
    8669 #line 1642 "fortran.y" 
    8670 {strcpy(yyval.na,yyvsp[0].na);} 
    8671 break; 
    8672 case 327: 
    8673 #line 1644 "fortran.y" 
    8674 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    8675 break; 
    8676 case 328: 
    8677 #line 1646 "fortran.y" 
    8678 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s,%s",yyvsp[-2].na,yyvsp[0].na);} 
    8679 break; 
    8680 case 329: 
    8681 #line 1648 "fortran.y" 
    8682 {strcpy(yyval.na,yyvsp[0].na);} 
    8683 break; 
    8684 case 330: 
    8685 #line 1649 "fortran.y" 
    8686 {strcpy(yyval.na,yyvsp[0].na);} 
    8687 break; 
    8688 case 331: 
    8689 #line 1652 "fortran.y" 
    8690 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s :%s",yyvsp[-2].na,yyvsp[0].na);} 
    8691 break; 
    8692 case 332: 
    8693 #line 1654 "fortran.y" 
    8694 {if ( couldaddvariable == 1 ) 
    8695                                                sprintf(yyval.na,"%s :%s :%s",yyvsp[-4].na,yyvsp[-2].na,yyvsp[0].na);} 
    8696 break; 
    8697 case 333: 
    8698 #line 1657 "fortran.y" 
    8699 {if ( couldaddvariable == 1 ) sprintf(yyval.na,":%s :%s",yyvsp[-2].na,yyvsp[0].na);} 
    8700 break; 
    8701 case 334: 
    8702 #line 1658 "fortran.y" 
    8703 {if ( couldaddvariable == 1 ) sprintf(yyval.na,": : %s",yyvsp[0].na);} 
    8704 break; 
    8705 case 335: 
    8706 #line 1659 "fortran.y" 
    8707 {if ( couldaddvariable == 1 ) sprintf(yyval.na,":%s",yyvsp[0].na);} 
    8708 break; 
    8709 case 336: 
    8710 #line 1660 "fortran.y" 
    8711 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s :",yyvsp[-1].na);} 
    8712 break; 
    8713 case 337: 
    8714 #line 1661 "fortran.y" 
    8715 {if ( couldaddvariable == 1 ) sprintf(yyval.na,":");} 
    8716 break; 
    8717 case 338: 
    8718 #line 1663 "fortran.y" 
    8719 { 
    8720                        if ( couldaddvariable == 1 ) 
     5470                   ;} 
     5471    break; 
     5472 
     5473  case 324: 
     5474#line 1701 "fortran.y" 
     5475    {sprintf((yyval.na),"(/%s/)",(yyvsp[(2) - (3)].na));;} 
     5476    break; 
     5477 
     5478  case 325: 
     5479#line 1703 "fortran.y" 
     5480    {strcpy((yyval.na)," ");;} 
     5481    break; 
     5482 
     5483  case 326: 
     5484#line 1705 "fortran.y" 
     5485    {strcpy((yyval.na),(yyvsp[(2) - (2)].na));;} 
     5486    break; 
     5487 
     5488  case 327: 
     5489#line 1707 "fortran.y" 
     5490    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     5491    break; 
     5492 
     5493  case 328: 
     5494#line 1709 "fortran.y" 
     5495    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
     5496    break; 
     5497 
     5498  case 329: 
     5499#line 1711 "fortran.y" 
     5500    {strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     5501    break; 
     5502 
     5503  case 330: 
     5504#line 1712 "fortran.y" 
     5505    {strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     5506    break; 
     5507 
     5508  case 331: 
     5509#line 1715 "fortran.y" 
     5510    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s :%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
     5511    break; 
     5512 
     5513  case 332: 
     5514#line 1717 "fortran.y" 
     5515    {if ( couldaddvariable == 1 ) 
     5516                                               sprintf((yyval.na),"%s :%s :%s",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));;} 
     5517    break; 
     5518 
     5519  case 333: 
     5520#line 1720 "fortran.y" 
     5521    {if ( couldaddvariable == 1 ) sprintf((yyval.na),":%s :%s",(yyvsp[(2) - (4)].na),(yyvsp[(4) - (4)].na));;} 
     5522    break; 
     5523 
     5524  case 334: 
     5525#line 1721 "fortran.y" 
     5526    {if ( couldaddvariable == 1 ) sprintf((yyval.na),": : %s",(yyvsp[(3) - (3)].na));;} 
     5527    break; 
     5528 
     5529  case 335: 
     5530#line 1722 "fortran.y" 
     5531    {if ( couldaddvariable == 1 ) sprintf((yyval.na),":%s",(yyvsp[(2) - (2)].na));;} 
     5532    break; 
     5533 
     5534  case 336: 
     5535#line 1723 "fortran.y" 
     5536    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s :",(yyvsp[(1) - (2)].na));;} 
     5537    break; 
     5538 
     5539  case 337: 
     5540#line 1724 "fortran.y" 
     5541    {if ( couldaddvariable == 1 ) sprintf((yyval.na),":");;} 
     5542    break; 
     5543 
     5544  case 338: 
     5545#line 1726 "fortran.y" 
    87215546                       { 
    8722                        if ( Vartonumber(yyvsp[0].nac) == 1 ) 
     5547                       if ( couldaddvariable == 1 && afterpercent == 0) 
     5548                       { 
     5549                       if ( Vartonumber((yyvsp[(1) - (1)].nac)) == 1 ) 
    87235550                       { 
    87245551                          Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    87255552                                                        curmodulename); 
    87265553                       } 
    8727                        if (!strcasecmp(yyvsp[0].nac,"Agrif_Parent") ) 
     5554                       if (!strcasecmp((yyvsp[(1) - (1)].nac),"Agrif_Parent") ) 
    87285555                                                            agrif_parentcall =1; 
    8729                        if ( VariableIsNotFunction(yyvsp[0].nac) == 0 ) 
     5556                       if ( VariableIsNotFunction((yyvsp[(1) - (1)].nac)) == 0 ) 
    87305557                       { 
     5558                       printf("var = %s\n",(yyvsp[(1) - (1)].nac)); 
    87315559                          if ( inagrifcallargument == 1 ) 
    87325560                          { 
    8733                              if ( !strcasecmp(yyvsp[0].nac,identcopy) ) 
     5561                             if ( !strcasecmp((yyvsp[(1) - (1)].nac),identcopy) ) 
    87345562                             { 
    87355563                                strcpy(sameagrifname,identcopy); 
     
    87375565                             } 
    87385566                          } 
    8739                           strcpy(identcopy,yyvsp[0].nac); 
     5567                          strcpy(identcopy,(yyvsp[(1) - (1)].nac)); 
    87405568                          pointedvar=0; 
    8741                           strcpy(truename,yyvsp[0].nac); 
    8742                           if (variscoupled_0(yyvsp[0].nac)) strcpy(truename,getcoupledname_0(yyvsp[0].nac)); 
    8743 /* 
    8744                           if ( VarIsNonGridDepend($1) == 0 && 
    8745                                Variableshouldberemove($1) == 0 ) 
    8746                           { 
    8747                              if ( inagrifcallargument == 1 || 
    8748                                   varisallocatable_0($1) == 1 || 
    8749                                   varispointer_0($1) == 1 ) 
    8750                              { 
    8751                             if ((IsinListe(List_UsedInSubroutine_Var,$1) == 1) || (inagrifcallargument == 1)) 
    8752                              { 
    8753                               if (varistyped_0($1) == 0) 
    8754                                  { 
    8755                                  ModifyTheVariableName_0($1); 
    8756                                  } 
    8757                                  } 
    8758                                  else 
    8759                                  { 
    8760                                  } 
    8761                              } 
    8762                              if (variscoupled_0($1) == 1) 
    8763                              { 
    8764       printf("mla variable %s est couplee %s\n",$1,getcoupledname_0($1)); 
    8765                              ModifyTheVariableNamecoupled_0($1,getcoupledname_0($1)); 
    8766                              } 
    8767                              if ( inagrifcallargument != 1 || 
    8768                                   sameagrifargument ==1 ) 
    8769                                   Add_UsedInSubroutine_Var_1($1); 
    8770                           } 
    8771                           NotifyAgrifFunction_0($1); 
    8772 */ 
     5569                          strcpy(truename,(yyvsp[(1) - (1)].nac)); 
     5570                          if (variscoupled_0((yyvsp[(1) - (1)].nac))) strcpy(truename,getcoupledname_0((yyvsp[(1) - (1)].nac))); 
     5571 
    87735572                          if ( VarIsNonGridDepend(truename) == 0 && 
    87745573                               Variableshouldberemove(truename) == 0 ) 
    8775                           { 
     5574                          {                       
    87765575                             if ( inagrifcallargument == 1 || 
    8777                                   varisallocatable_0(truename) == 1 || 
    87785576                                  varispointer_0(truename) == 1 ) 
    87795577                             { 
    8780                             if ((IsinListe(List_UsedInSubroutine_Var,yyvsp[0].nac) == 1) || (inagrifcallargument == 1)) 
     5578                             printf("var2 = %s\n",(yyvsp[(1) - (1)].nac)); 
     5579                            if ((IsinListe(List_UsedInSubroutine_Var,(yyvsp[(1) - (1)].nac)) == 1) || (inagrifcallargument == 1)) 
    87815580                             { 
    87825581                              if (varistyped_0(truename) == 0) 
    87835582                                 { 
    8784                                  ModifyTheVariableName_0(truename,strlen(yyvsp[0].nac)); 
     5583                                 ModifyTheVariableName_0(truename,strlen((yyvsp[(1) - (1)].nac))); 
    87855584                                 } 
    87865585                                 } 
    87875586                             } 
     5587                             printf("ici3\n"); 
    87885588                             if ( inagrifcallargument != 1 || 
    87895589                                  sameagrifargument ==1 ) 
     5590                                  { 
     5591                                  printf("ici5 %s\n",truename); 
    87905592                                  Add_UsedInSubroutine_Var_1(truename); 
     5593                          } 
    87915594                          } 
    87925595                          NotifyAgrifFunction_0(truename); 
    87935596                       } 
    87945597                       } 
     5598                       else 
     5599                       { 
     5600                       afterpercent = 0; 
    87955601                    } 
    8796 break; 
    8797 case 339: 
    8798 #line 1742 "fortran.y" 
    8799 {if ( couldaddvariable == 1 ) strcpy(yyval.nac,".TRUE.");} 
    8800 break; 
    8801 case 340: 
    8802 #line 1743 "fortran.y" 
    8803 {if ( couldaddvariable == 1 ) strcpy(yyval.nac,".FALSE.");} 
    8804 break; 
    8805 case 341: 
    8806 #line 1744 "fortran.y" 
    8807 {if ( couldaddvariable == 1 ) strcpy(yyval.nac,yyvsp[0].nac);} 
    8808 break; 
    8809 case 342: 
    8810 #line 1745 "fortran.y" 
    8811 {if ( couldaddvariable == 1 ) strcpy(yyval.nac,yyvsp[0].nac);} 
    8812 break; 
    8813 case 343: 
    8814 #line 1746 "fortran.y" 
    8815 {if ( couldaddvariable == 1 ) strcpy(yyval.nac,yyvsp[0].nac);} 
    8816 break; 
    8817 case 344: 
    8818 #line 1747 "fortran.y" 
    8819 {if ( couldaddvariable == 1 ) strcpy(yyval.nac,yyvsp[0].nac);} 
    8820 break; 
    8821 case 345: 
    8822 #line 1749 "fortran.y" 
    8823 {if ( couldaddvariable == 1 ) sprintf(yyval.nac,"%s%s",yyvsp[-1].nac,yyvsp[0].nac);} 
    8824 break; 
    8825 case 347: 
    8826 #line 1753 "fortran.y" 
    8827 {if ( couldaddvariable == 1 ) strcpy(yyval.nac,yyvsp[0].nac);} 
    8828 break; 
    8829 case 349: 
    8830 #line 1756 "fortran.y" 
    8831 {if ( couldaddvariable == 1 ) strcpy(yyval.nac,yyvsp[0].nac);} 
    8832 break; 
    8833 case 350: 
    8834 #line 1758 "fortran.y" 
    8835 {if ( couldaddvariable == 1 ) strcpy(yyval.nac,yyvsp[0].nac);} 
    8836 break; 
    8837 case 351: 
    8838 #line 1760 "fortran.y" 
    8839 {if ( couldaddvariable == 1 ) strcpy(yyval.na," ");} 
    8840 break; 
    8841 case 352: 
    8842 #line 1761 "fortran.y" 
    8843 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    8844 break; 
    8845 case 353: 
    8846 #line 1764 "fortran.y" 
    8847 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"(%s :%s)",yyvsp[-3].na,yyvsp[-1].na);} 
    8848 break; 
    8849 case 354: 
    8850 #line 1766 "fortran.y" 
    8851 {if ( couldaddvariable == 1 ) strcpy(yyval.na," ");} 
    8852 break; 
    8853 case 355: 
    8854 #line 1767 "fortran.y" 
    8855 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    8856 break; 
    8857 case 356: 
    8858 #line 1769 "fortran.y" 
    8859 {if ( couldaddvariable == 1 ) strcpy(yyval.na," ");} 
    8860 break; 
    8861 case 357: 
    8862 #line 1770 "fortran.y" 
    8863 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    8864 break; 
    8865 case 358: 
    8866 #line 1772 "fortran.y" 
    8867 {InitialValueGiven = 0;} 
    8868 break; 
    8869 case 359: 
    8870 #line 1774 "fortran.y" 
    8871 { 
     5602                    ;} 
     5603    break; 
     5604 
     5605  case 339: 
     5606#line 1785 "fortran.y" 
     5607    {if ( couldaddvariable == 1 ) strcpy((yyval.nac),".TRUE.");;} 
     5608    break; 
     5609 
     5610  case 340: 
     5611#line 1786 "fortran.y" 
     5612    {if ( couldaddvariable == 1 ) strcpy((yyval.nac),".FALSE.");;} 
     5613    break; 
     5614 
     5615  case 341: 
     5616#line 1787 "fortran.y" 
     5617    {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     5618    break; 
     5619 
     5620  case 342: 
     5621#line 1788 "fortran.y" 
     5622    {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     5623    break; 
     5624 
     5625  case 343: 
     5626#line 1789 "fortran.y" 
     5627    {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     5628    break; 
     5629 
     5630  case 344: 
     5631#line 1790 "fortran.y" 
     5632    {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     5633    break; 
     5634 
     5635  case 345: 
     5636#line 1792 "fortran.y" 
     5637    {if ( couldaddvariable == 1 ) sprintf((yyval.nac),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].nac));;} 
     5638    break; 
     5639 
     5640  case 347: 
     5641#line 1796 "fortran.y" 
     5642    {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     5643    break; 
     5644 
     5645  case 349: 
     5646#line 1799 "fortran.y" 
     5647    {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     5648    break; 
     5649 
     5650  case 350: 
     5651#line 1801 "fortran.y" 
     5652    {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     5653    break; 
     5654 
     5655  case 351: 
     5656#line 1803 "fortran.y" 
     5657    {if ( couldaddvariable == 1 ) strcpy((yyval.na)," ");;} 
     5658    break; 
     5659 
     5660  case 352: 
     5661#line 1804 "fortran.y" 
     5662    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     5663    break; 
     5664 
     5665  case 353: 
     5666#line 1807 "fortran.y" 
     5667    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s :%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 
     5668    break; 
     5669 
     5670  case 354: 
     5671#line 1809 "fortran.y" 
     5672    {if ( couldaddvariable == 1 ) strcpy((yyval.na)," ");;} 
     5673    break; 
     5674 
     5675  case 355: 
     5676#line 1810 "fortran.y" 
     5677    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     5678    break; 
     5679 
     5680  case 356: 
     5681#line 1812 "fortran.y" 
     5682    {if ( couldaddvariable == 1 ) strcpy((yyval.na)," ");;} 
     5683    break; 
     5684 
     5685  case 357: 
     5686#line 1813 "fortran.y" 
     5687    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     5688    break; 
     5689 
     5690  case 358: 
     5691#line 1815 "fortran.y" 
     5692    {InitialValueGiven = 0;;} 
     5693    break; 
     5694 
     5695  case 359: 
     5696#line 1817 "fortran.y" 
     5697    { 
    88725698                       if ( couldaddvariable == 1 ) 
    88735699                       { 
    8874                           strcpy(InitValue,yyvsp[0].na); 
     5700                          strcpy(InitValue,(yyvsp[(3) - (3)].na)); 
    88755701                          InitialValueGiven = 1; 
    88765702                       } 
    8877                     } 
    8878 break; 
    8879 case 360: 
    8880 #line 1782 "fortran.y" 
    8881 {pos_curinit = setposcur();} 
    8882 break; 
    8883 case 361: 
    8884 #line 1785 "fortran.y" 
    8885 {sprintf(yyval.na,"(%s,%s)",yyvsp[-3].na,yyvsp[-1].na);} 
    8886 break; 
    8887 case 362: 
    8888 #line 1788 "fortran.y" 
    8889 { 
     5703                    ;} 
     5704    break; 
     5705 
     5706  case 360: 
     5707#line 1825 "fortran.y" 
     5708    {pos_curinit = setposcur();;} 
     5709    break; 
     5710 
     5711  case 361: 
     5712#line 1828 "fortran.y" 
     5713    {sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 
     5714    break; 
     5715 
     5716  case 362: 
     5717#line 1831 "fortran.y" 
     5718    { 
    88905719                      if ( couldaddvariable == 1 ) 
    88915720                      { 
     
    88935722                      if (insubroutinedeclare == 1) 
    88945723                      { 
    8895                          copyuse_0(yyvsp[0].nac); 
     5724                         copyuse_0((yyvsp[(2) - (2)].nac)); 
    88965725                      } 
    8897                       sprintf(charusemodule,"%s",yyvsp[0].nac); 
    8898                       Add_NameOfModuleUsed_1(yyvsp[0].nac); 
     5726                      sprintf(charusemodule,"%s",(yyvsp[(2) - (2)].nac)); 
     5727                      Add_NameOfModuleUsed_1((yyvsp[(2) - (2)].nac)); 
    88995728 
    89005729                      if ( inmoduledeclare == 0 ) 
     
    89055734                      } 
    89065735                      } 
    8907                     } 
    8908 break; 
    8909 case 363: 
    8910 #line 1808 "fortran.y" 
    8911 { 
     5736                    ;} 
     5737    break; 
     5738 
     5739  case 363: 
     5740#line 1851 "fortran.y" 
     5741    { 
    89125742                       if ( couldaddvariable == 1 ) 
    89135743                       { 
    89145744                      if (insubroutinedeclare == 1) 
    89155745                      { 
    8916                          Add_CouplePointed_Var_1(yyvsp[-2].nac,yyvsp[0].lc); 
     5746                         Add_CouplePointed_Var_1((yyvsp[(2) - (4)].nac),(yyvsp[(4) - (4)].lc)); 
    89175747                      } 
    89185748                      if ( firstpass == 1 ) 
     
    89205750                         if ( insubroutinedeclare == 1 ) 
    89215751                         { 
    8922                             coupletmp = yyvsp[0].lc; 
     5752                            coupletmp = (yyvsp[(4) - (4)].lc); 
    89235753                            strcpy(ligne,""); 
    89245754                            while ( coupletmp ) 
     
    89305760                               if ( coupletmp ) strcat(ligne,","); 
    89315761                            } 
    8932                             sprintf(charusemodule,"%s",yyvsp[-2].nac); 
     5762                            sprintf(charusemodule,"%s",(yyvsp[(2) - (4)].nac)); 
    89335763                         } 
    8934                          Add_NameOfModuleUsed_1(yyvsp[-2].nac); 
     5764                         Add_NameOfModuleUsed_1((yyvsp[(2) - (4)].nac)); 
    89355765                      } 
    89365766                      if ( inmoduledeclare == 0 ) 
     
    89415771                      } 
    89425772                      } 
    8943                     } 
    8944 break; 
    8945 case 364: 
    8946 #line 1842 "fortran.y" 
    8947 { 
     5773                    ;} 
     5774    break; 
     5775 
     5776  case 364: 
     5777#line 1885 "fortran.y" 
     5778    { 
    89485779                       if ( couldaddvariable == 1 ) 
    89495780                       { 
     
    89515782                      if (insubroutinedeclare == 1) 
    89525783                      { 
    8953                          copyuseonly_0(yyvsp[-4].nac); 
     5784                         copyuseonly_0((yyvsp[(2) - (6)].nac)); 
    89545785                      } 
    8955                       sprintf(charusemodule,"%s",yyvsp[-4].nac); 
    8956                       Add_NameOfModuleUsed_1(yyvsp[-4].nac); 
     5786                      sprintf(charusemodule,"%s",(yyvsp[(2) - (6)].nac)); 
     5787                      Add_NameOfModuleUsed_1((yyvsp[(2) - (6)].nac)); 
    89575788 
    89585789                       if ( inmoduledeclare == 0 ) 
     
    89635794                       } 
    89645795                       } 
    8965                     } 
    8966 break; 
    8967 case 365: 
    8968 #line 1862 "fortran.y" 
    8969 { 
     5796                    ;} 
     5797    break; 
     5798 
     5799  case 365: 
     5800#line 1905 "fortran.y" 
     5801    { 
    89705802                       if ( couldaddvariable == 1 ) 
    89715803                       { 
     
    89735805                       if (insubroutinedeclare == 1) 
    89745806                       { 
    8975                           Add_CouplePointed_Var_1(yyvsp[-4].nac,yyvsp[0].lc); 
     5807                          Add_CouplePointed_Var_1((yyvsp[(2) - (6)].nac),(yyvsp[(6) - (6)].lc)); 
    89765808                       } 
    89775809                       if ( firstpass == 1 ) 
     
    89795811                         if ( insubroutinedeclare == 1 ) 
    89805812                         { 
    8981                              coupletmp = yyvsp[0].lc; 
     5813                             coupletmp = (yyvsp[(6) - (6)].lc); 
    89825814                             strcpy(ligne,""); 
    89835815                             while ( coupletmp ) 
     
    89905822                                if ( coupletmp ) strcat(ligne,","); 
    89915823                             } 
    8992                              sprintf(charusemodule,"%s",yyvsp[-4].nac); 
     5824                             sprintf(charusemodule,"%s",(yyvsp[(2) - (6)].nac)); 
    89935825                          } 
    8994                           Add_NameOfModuleUsed_1(yyvsp[-4].nac); 
     5826                          Add_NameOfModuleUsed_1((yyvsp[(2) - (6)].nac)); 
    89955827                       } 
    89965828                       if ( firstpass == 0 ) 
     
    90035835                                                   pos_end-pos_curuse); 
    90045836                       if (oldfortranout)  
    9005                          variableisglobalinmodule(yyvsp[0].lc,yyvsp[-4].nac,oldfortranout,pos_curuseold); 
     5837                         variableisglobalinmodule((yyvsp[(6) - (6)].lc),(yyvsp[(2) - (6)].nac),oldfortranout,pos_curuseold); 
    90065838                         
    90075839                          } 
     
    90115843                             /* if we are in the module declare and if the    */ 
    90125844                             /* onlylist is a list of global variable         */ 
    9013                              variableisglobalinmodule(yyvsp[0].lc, yyvsp[-4].nac, fortranout,pos_curuse); 
     5845                             variableisglobalinmodule((yyvsp[(6) - (6)].lc), (yyvsp[(2) - (6)].nac), fortranout,pos_curuse); 
    90145846                          } 
    90155847                       } 
    90165848                       } 
    9017                     } 
    9018 break; 
    9019 case 366: 
    9020 #line 1913 "fortran.y" 
    9021 { 
    9022                       pos_curuse = setposcur()-strlen(yyvsp[0].nac); 
     5849                    ;} 
     5850    break; 
     5851 
     5852  case 366: 
     5853#line 1956 "fortran.y" 
     5854    { 
     5855                      pos_curuse = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 
    90235856                     if (firstpass == 0 && oldfortranout) { 
    90245857                     pos_curuseold = setposcurname(oldfortranout); 
    90255858                     } 
    9026                    } 
    9027 break; 
    9028 case 367: 
    9029 #line 1921 "fortran.y" 
    9030 {strcpy(yyval.nac,yyvsp[0].nac);} 
    9031 break; 
    9032 case 368: 
    9033 #line 1924 "fortran.y" 
    9034 { 
    9035                        if ( couldaddvariable == 1 ) yyval.lc = yyvsp[0].lc; 
    9036                     } 
    9037 break; 
    9038 case 369: 
    9039 #line 1928 "fortran.y" 
    9040 { 
     5859                   ;} 
     5860    break; 
     5861 
     5862  case 367: 
     5863#line 1964 "fortran.y" 
     5864    {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     5865    break; 
     5866 
     5867  case 368: 
     5868#line 1967 "fortran.y" 
     5869    { 
     5870                       if ( couldaddvariable == 1 ) (yyval.lc) = (yyvsp[(1) - (1)].lc); 
     5871                    ;} 
     5872    break; 
     5873 
     5874  case 369: 
     5875#line 1971 "fortran.y" 
     5876    { 
    90415877                        if ( couldaddvariable == 1 ) 
    90425878                        { 
    90435879                        /* insert the variable in the list $1                 */ 
    9044                         yyvsp[0].lc->suiv = yyvsp[-2].lc; 
    9045                         yyval.lc = yyvsp[0].lc; 
     5880                        (yyvsp[(3) - (3)].lc)->suiv = (yyvsp[(1) - (3)].lc); 
     5881                        (yyval.lc) = (yyvsp[(3) - (3)].lc); 
    90465882                        } 
    9047                     } 
    9048 break; 
    9049 case 370: 
    9050 #line 1938 "fortran.y" 
    9051 { 
     5883                    ;} 
     5884    break; 
     5885 
     5886  case 370: 
     5887#line 1981 "fortran.y" 
     5888    { 
    90525889                       coupletmp =(listcouple *)malloc(sizeof(listcouple)); 
    9053                        strcpy(coupletmp->c_namevar,yyvsp[-2].nac); 
    9054                        Save_Length(yyvsp[-2].nac,21); 
    9055                        strcpy(coupletmp->c_namepointedvar,yyvsp[0].nac); 
    9056                        Save_Length(yyvsp[0].nac,22); 
     5890                       strcpy(coupletmp->c_namevar,(yyvsp[(1) - (3)].nac)); 
     5891                       Save_Length((yyvsp[(1) - (3)].nac),21); 
     5892                       strcpy(coupletmp->c_namepointedvar,(yyvsp[(3) - (3)].nac)); 
     5893                       Save_Length((yyvsp[(3) - (3)].nac),22); 
    90575894                       coupletmp->suiv = NULL; 
    9058                        yyval.lc = coupletmp; 
    9059                      } 
    9060 break; 
    9061 case 371: 
    9062 #line 1949 "fortran.y" 
    9063 { 
    9064                        if ( couldaddvariable == 1 ) yyval.lc = yyvsp[0].lc; 
    9065                     } 
    9066 break; 
    9067 case 372: 
    9068 #line 1953 "fortran.y" 
    9069 { 
     5895                       (yyval.lc) = coupletmp; 
     5896                     ;} 
     5897    break; 
     5898 
     5899  case 371: 
     5900#line 1992 "fortran.y" 
     5901    { 
     5902                       if ( couldaddvariable == 1 ) (yyval.lc) = (yyvsp[(1) - (1)].lc); 
     5903                    ;} 
     5904    break; 
     5905 
     5906  case 372: 
     5907#line 1996 "fortran.y" 
     5908    { 
    90705909                        if ( couldaddvariable == 1 ) 
    90715910                        { 
    90725911                        /* insert the variable in the list $1                 */ 
    9073                         yyvsp[0].lc->suiv = yyvsp[-2].lc; 
    9074                         yyval.lc = yyvsp[0].lc; 
     5912                        (yyvsp[(3) - (3)].lc)->suiv = (yyvsp[(1) - (3)].lc); 
     5913                        (yyval.lc) = (yyvsp[(3) - (3)].lc); 
    90755914                        } 
    9076                     } 
    9077 break; 
    9078 case 373: 
    9079 #line 1963 "fortran.y" 
    9080 { 
     5915                    ;} 
     5916    break; 
     5917 
     5918  case 373: 
     5919#line 2006 "fortran.y" 
     5920    { 
    90815921                       coupletmp =(listcouple *)malloc(sizeof(listcouple)); 
    9082                        strcpy(coupletmp->c_namevar,yyvsp[-2].nac); 
    9083                        Save_Length(yyvsp[-2].nac,21); 
    9084                        strcpy(coupletmp->c_namepointedvar,yyvsp[0].nac); 
    9085                        Save_Length(yyvsp[0].nac,22); 
     5922                       strcpy(coupletmp->c_namevar,(yyvsp[(1) - (3)].nac)); 
     5923                       Save_Length((yyvsp[(1) - (3)].nac),21); 
     5924                       strcpy(coupletmp->c_namepointedvar,(yyvsp[(3) - (3)].nac)); 
     5925                       Save_Length((yyvsp[(3) - (3)].nac),22); 
    90865926                       coupletmp->suiv = NULL; 
    9087                        yyval.lc = coupletmp; 
     5927                       (yyval.lc) = coupletmp; 
    90885928                       pointedvar=1; 
    9089                        Add_UsedInSubroutine_Var_1(yyvsp[-2].nac); 
    9090                     } 
    9091 break; 
    9092 case 374: 
    9093 #line 1974 "fortran.y" 
    9094 { 
     5929                       Add_UsedInSubroutine_Var_1((yyvsp[(1) - (3)].nac)); 
     5930                    ;} 
     5931    break; 
     5932 
     5933  case 374: 
     5934#line 2017 "fortran.y" 
     5935    { 
    90955936                       coupletmp =(listcouple *)malloc(sizeof(listcouple)); 
    9096                        strcpy(coupletmp->c_namevar,yyvsp[0].nac); 
    9097                        Save_Length(yyvsp[0].nac,21); 
     5937                       strcpy(coupletmp->c_namevar,(yyvsp[(1) - (1)].nac)); 
     5938                       Save_Length((yyvsp[(1) - (1)].nac),21); 
    90985939                       strcpy(coupletmp->c_namepointedvar,""); 
    90995940                       coupletmp->suiv = NULL; 
    9100                        yyval.lc = coupletmp; 
    9101                      } 
    9102 break; 
    9103 case 376: 
    9104 #line 1985 "fortran.y" 
    9105 { 
     5941                       (yyval.lc) = coupletmp; 
     5942                     ;} 
     5943    break; 
     5944 
     5945  case 376: 
     5946#line 2028 "fortran.y" 
     5947    { 
    91065948                         Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    91075949                                                        curmodulename); 
    91085950                                                        inallocate = 0; 
    9109                      } 
    9110 break; 
    9111 case 377: 
    9112 #line 1991 "fortran.y" 
    9113 { 
     5951                     ;} 
     5952    break; 
     5953 
     5954  case 377: 
     5955#line 2034 "fortran.y" 
     5956    { 
    91145957                          Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    91155958                                                         curmodulename); 
    91165959                                                         inallocate = 0; 
    9117                      } 
    9118 break; 
    9119 case 379: 
    9120 #line 1998 "fortran.y" 
    9121 { 
     5960                     ;} 
     5961    break; 
     5962 
     5963  case 379: 
     5964#line 2041 "fortran.y" 
     5965    { 
    91225966                       GlobalDeclaration = 0 ; 
    91235967                       if ( firstpass == 0 && 
     
    91676011                      } 
    91686012                      strcpy(subroutinename,""); 
    9169                     } 
    9170 break; 
    9171 case 380: 
    9172 #line 2048 "fortran.y" 
    9173 { 
     6013                    ;} 
     6014    break; 
     6015 
     6016  case 380: 
     6017#line 2091 "fortran.y" 
     6018    { 
    91746019                       if ( couldaddvariable == 1 ) 
    91756020                       { 
     
    91876032                      strcpy(subroutinename,""); 
    91886033                      } 
    9189                     } 
    9190 break; 
    9191 case 381: 
    9192 #line 2066 "fortran.y" 
    9193 { 
     6034                    ;} 
     6035    break; 
     6036 
     6037  case 381: 
     6038#line 2109 "fortran.y" 
     6039    { 
    91946040                       if ( couldaddvariable == 1 && 
    91956041                            strcasecmp(subroutinename,"") ) 
     
    92096055                      strcpy(subroutinename,""); 
    92106056                      } 
    9211                     } 
    9212 break; 
    9213 case 382: 
    9214 #line 2086 "fortran.y" 
    9215 { 
     6057                    ;} 
     6058    break; 
     6059 
     6060  case 382: 
     6061#line 2129 "fortran.y" 
     6062    { 
    92166063                       if ( couldaddvariable == 1 ) 
    92176064                       { 
     
    92306077                      strcpy(subroutinename,""); 
    92316078                      } 
    9232                     } 
    9233 break; 
    9234 case 383: 
    9235 #line 2105 "fortran.y" 
    9236 { 
     6079                    ;} 
     6080    break; 
     6081 
     6082  case 383: 
     6083#line 2148 "fortran.y" 
     6084    { 
    92376085                       if ( couldaddvariable == 1 ) 
    92386086                       { 
    92396087                       /* if we never meet the contains keyword               */ 
    9240                       Remove_Word_end_module_0(strlen(yyvsp[0].nac)); 
     6088                      Remove_Word_end_module_0(strlen((yyvsp[(2) - (2)].nac))); 
    92416089                       if ( inmoduledeclare == 1 ) 
    92426090                       { 
     
    92656113                      GlobalDeclaration = 0 ; 
    92666114                      } 
    9267                   } 
    9268 break; 
    9269 case 397: 
    9270 #line 2151 "fortran.y" 
    9271 { 
     6115                  ;} 
     6116    break; 
     6117 
     6118  case 397: 
     6119#line 2194 "fortran.y" 
     6120    { 
    92726121                      if (inmoduledeclare == 1 ) 
    92736122                      { 
     
    92826131                      else 
    92836132                      { 
     6133                      incontainssubroutine = 1; 
     6134                      strcpy(previoussubroutinename,subroutinename); 
    92846135                       if ( couldaddvariable == 1 ) 
    92856136                       { 
     
    93016152                         strcpy(subroutinename,""); 
    93026153                      } 
    9303                    } 
    9304 break; 
    9305 case 398: 
    9306 #line 2186 "fortran.y" 
    9307 { 
     6154                   ;} 
     6155    break; 
     6156 
     6157  case 398: 
     6158#line 2231 "fortran.y" 
     6159    { 
    93086160                      if ( couldaddvariable == 1 ) 
    93096161                      { 
    9310                        strcpy(yyval.nac,yyvsp[0].nac); 
    9311                        pos_endsubroutine = setposcur()-strlen(yyvsp[0].nac); 
     6162                       strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); 
     6163                       pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 
    93126164                       functiondeclarationisdone = 0; 
    93136165                       } 
    9314                     } 
    9315 break; 
    9316 case 399: 
    9317 #line 2196 "fortran.y" 
    9318 { 
     6166                    ;} 
     6167    break; 
     6168 
     6169  case 399: 
     6170#line 2241 "fortran.y" 
     6171    { 
    93196172                      if ( couldaddvariable == 1 ) 
    93206173                      { 
    9321                        strcpy(yyval.nac,yyvsp[0].nac); 
    9322                        pos_endsubroutine = setposcur()-strlen(yyvsp[0].nac); 
     6174                       strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); 
     6175                       pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 
    93236176                       } 
    9324                     } 
    9325 break; 
    9326 case 400: 
    9327 #line 2205 "fortran.y" 
    9328 { 
     6177                    ;} 
     6178    break; 
     6179 
     6180  case 400: 
     6181#line 2250 "fortran.y" 
     6182    { 
    93296183                      if ( couldaddvariable == 1 ) 
    93306184                      { 
    9331                        strcpy(yyval.nac,yyvsp[0].nac); 
    9332                        pos_endsubroutine = setposcur()-strlen(yyvsp[0].nac); 
     6185                       strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); 
     6186                       pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 
    93336187                       } 
    9334                     } 
    9335 break; 
    9336 case 401: 
    9337 #line 2214 "fortran.y" 
    9338 { 
     6188                    ;} 
     6189    break; 
     6190 
     6191  case 401: 
     6192#line 2259 "fortran.y" 
     6193    { 
    93396194                      if ( couldaddvariable == 1 ) 
    93406195                      { 
    9341                        strcpy(yyval.nac,yyvsp[0].nac); 
    9342                        pos_endsubroutine = setposcur()-strlen(yyvsp[0].nac); 
     6196                       strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); 
     6197                       pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 
    93436198                       } 
    9344                     } 
    9345 break; 
    9346 case 413: 
    9347 #line 2236 "fortran.y" 
    9348 {strcpy(yyval.nac,"");} 
    9349 break; 
    9350 case 414: 
    9351 #line 2237 "fortran.y" 
    9352 {strcpy(yyval.nac,yyvsp[0].nac);} 
    9353 break; 
    9354 case 426: 
    9355 #line 2257 "fortran.y" 
    9356 { 
     6199                    ;} 
     6200    break; 
     6201 
     6202  case 413: 
     6203#line 2281 "fortran.y" 
     6204    {strcpy((yyval.nac),"");;} 
     6205    break; 
     6206 
     6207  case 414: 
     6208#line 2282 "fortran.y" 
     6209    {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     6210    break; 
     6211 
     6212  case 424: 
     6213#line 2302 "fortran.y" 
     6214    { 
    93576215                          Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    93586216                                                        curmodulename); 
    93596217                                                        inallocate = 0; 
    9360                      } 
    9361 break; 
    9362 case 427: 
    9363 #line 2263 "fortran.y" 
    9364 { 
     6218                     ;} 
     6219    break; 
     6220 
     6221  case 425: 
     6222#line 2308 "fortran.y" 
     6223    { 
    93656224                          Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    93666225                                                        curmodulename); 
    93676226                                                        inallocate = 0; 
    9368                      } 
    9369 break; 
    9370 case 433: 
    9371 #line 2274 "fortran.y" 
    9372 {if ( couldaddvariable == 1 ) created_dimensionlist = 0;} 
    9373 break; 
    9374 case 434: 
    9375 #line 2276 "fortran.y" 
    9376 { 
     6227                     ;} 
     6228    break; 
     6229 
     6230  case 431: 
     6231#line 2319 "fortran.y" 
     6232    {if ( couldaddvariable == 1 ) created_dimensionlist = 0;;} 
     6233    break; 
     6234 
     6235  case 432: 
     6236#line 2321 "fortran.y" 
     6237    { 
    93776238                  created_dimensionlist = 1; 
    93786239                  if  ( agrif_parentcall == 1 ) 
    93796240                  { 
    9380                       ModifyTheAgrifFunction_0(yyvsp[-1].d->dim.last); 
     6241                      ModifyTheAgrifFunction_0((yyvsp[(3) - (4)].d)->dim.last); 
    93816242                      agrif_parentcall =0; 
    93826243                      fprintf(fortranout," = "); 
    93836244                  } 
    9384               } 
    9385 break; 
    9386 case 435: 
    9387 #line 2286 "fortran.y" 
    9388 {created_dimensionlist = 1;} 
    9389 break; 
    9390 case 440: 
    9391 #line 2294 "fortran.y" 
    9392 { 
     6245              ;} 
     6246    break; 
     6247 
     6248  case 433: 
     6249#line 2331 "fortran.y" 
     6250    {created_dimensionlist = 1;;} 
     6251    break; 
     6252 
     6253  case 438: 
     6254#line 2339 "fortran.y" 
     6255    { 
    93936256                      inagrifcallargument = 0 ; 
    93946257                      incalldeclare=0; 
     
    94156278                      } 
    94166279                      Instanciation_0(sameagrifname); 
    9417                    } 
    9418 break; 
    9419 case 445: 
    9420 #line 2328 "fortran.y" 
    9421 { 
    9422                        if (!strcasecmp(yyvsp[0].nac,"MPI_Init") ) 
     6280                   ;} 
     6281    break; 
     6282 
     6283  case 443: 
     6284#line 2373 "fortran.y" 
     6285                       { 
     6286                       if (!strcasecmp((yyvsp[(2) - (2)].nac),"MPI_Init") ) 
    94236287                       { 
    94246288                          callmpiinit = 1; 
     
    94286292                          callmpiinit = 0; 
    94296293                       } 
    9430                        if (!strcasecmp(yyvsp[0].nac,"Agrif_Init_Grids") ) 
     6294                       if (!strcasecmp((yyvsp[(2) - (2)].nac),"Agrif_Init_Grids") ) 
    94316295                       { 
    94326296                          callagrifinitgrids = 1; 
     
    94346298                       } 
    94356299                       else callagrifinitgrids = 0; 
    9436                        if ( !strcasecmp(yyvsp[0].nac,"Agrif_Open_File") ) 
     6300                       if ( !strcasecmp((yyvsp[(2) - (2)].nac),"Agrif_Open_File") ) 
    94376301                       { 
    94386302                          Add_SubroutineWhereAgrifUsed_1(subroutinename, 
    94396303                                                        curmodulename); 
    94406304                       } 
    9441                        if ( Vartonumber(yyvsp[0].nac) == 1 ) 
     6305                       if ( Vartonumber((yyvsp[(2) - (2)].nac)) == 1 ) 
    94426306                       { 
    94436307                          incalldeclare=1; 
     
    94466310                                                        curmodulename); 
    94476311                       } 
    9448                     } 
    9449 break; 
    9450 case 446: 
    9451 #line 2358 "fortran.y" 
    9452 {pos_curcall=setposcur()-4;} 
    9453 break; 
    9454 case 449: 
    9455 #line 2363 "fortran.y" 
    9456 { 
     6312                    ;} 
     6313    break; 
     6314 
     6315  case 444: 
     6316#line 2403 "fortran.y" 
     6317    {pos_curcall=setposcur()-4;;} 
     6318    break; 
     6319 
     6320  case 447: 
     6321#line 2408 "fortran.y" 
     6322    { 
    94576323                  if ( callmpiinit == 1 ) 
    94586324                  { 
    9459                      strcpy(mpiinitvar,yyvsp[0].na); 
     6325                     strcpy(mpiinitvar,(yyvsp[(1) - (1)].na)); 
    94606326                     if ( firstpass == 1 ) 
    94616327                     { 
     
    94676333                     } 
    94686334                  } 
    9469                } 
    9470 break; 
    9471 case 528: 
    9472 #line 2485 "fortran.y" 
    9473 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    9474 break; 
    9475 case 529: 
    9476 #line 2486 "fortran.y" 
    9477 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    9478 break; 
    9479 case 530: 
    9480 #line 2487 "fortran.y" 
    9481 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    9482 break; 
    9483 case 531: 
    9484 #line 2490 "fortran.y" 
    9485 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s,%s",yyvsp[-2].na,yyvsp[0].na);} 
    9486 break; 
    9487 case 532: 
    9488 #line 2492 "fortran.y" 
    9489 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s,%s",yyvsp[-2].na,yyvsp[0].na);} 
    9490 break; 
    9491 case 533: 
    9492 #line 2494 "fortran.y" 
    9493 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s,%s",yyvsp[-2].na,yyvsp[0].na);} 
    9494 break; 
    9495 case 534: 
    9496 #line 2496 "fortran.y" 
    9497 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s,%s",yyvsp[-2].na,yyvsp[0].na);} 
    9498 break; 
    9499 case 535: 
    9500 #line 2498 "fortran.y" 
    9501 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s,%s",yyvsp[-2].na,yyvsp[0].na);} 
    9502 break; 
    9503 case 536: 
    9504 #line 2500 "fortran.y" 
    9505 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"%s,%s",yyvsp[-2].na,yyvsp[0].na);} 
    9506 break; 
    9507 case 537: 
    9508 #line 2501 "fortran.y" 
    9509 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    9510 break; 
    9511 case 538: 
    9512 #line 2502 "fortran.y" 
    9513 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    9514 break; 
    9515 case 539: 
    9516 #line 2505 "fortran.y" 
    9517 {if ( couldaddvariable == 1 ) strcpy(yyval.na,yyvsp[0].na);} 
    9518 break; 
    9519 case 540: 
    9520 #line 2507 "fortran.y" 
    9521 {if ( couldaddvariable == 1 ) sprintf(yyval.na," (%s)",yyvsp[-1].na);} 
    9522 break; 
    9523 case 541: 
    9524 #line 2509 "fortran.y" 
    9525 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"(%s,%s)",yyvsp[-3].na,yyvsp[-1].na);} 
    9526 break; 
    9527 case 542: 
    9528 #line 2511 "fortran.y" 
    9529 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"(%s,%s)",yyvsp[-3].na,yyvsp[-1].na);} 
    9530 break; 
    9531 case 543: 
    9532 #line 2513 "fortran.y" 
    9533 {if ( couldaddvariable == 1 ) sprintf(yyval.na,"(%s,%s)",yyvsp[-3].na,yyvsp[-1].na);} 
    9534 break; 
    9535 case 544: 
    9536 #line 2517 "fortran.y" 
    9537 {if ( couldaddvariable == 1 ) 
    9538                                               sprintf(yyval.na,"%s=%s,%s)",yyvsp[-4].nac,yyvsp[-2].na,yyvsp[0].na);} 
    9539 break; 
    9540 case 545: 
    9541 #line 2520 "fortran.y" 
    9542 {if ( couldaddvariable == 1 ) 
    9543                                         sprintf(yyval.na,"%s=%s,%s,%s)",yyvsp[-6].nac,yyvsp[-4].na,yyvsp[-2].na,yyvsp[0].na);} 
    9544 break; 
    9545 case 554: 
    9546 #line 2536 "fortran.y" 
    9547 {Add_Allocate_Var_1(yyvsp[0].nac,curmodulename);} 
    9548 break; 
    9549 case 557: 
     6335               ;} 
     6336    break; 
     6337 
     6338  case 517: 
     6339#line 2530 "fortran.y" 
     6340    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     6341    break; 
     6342 
     6343  case 518: 
     6344#line 2531 "fortran.y" 
     6345    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     6346    break; 
     6347 
     6348  case 519: 
     6349#line 2532 "fortran.y" 
     6350    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     6351    break; 
     6352 
     6353  case 520: 
     6354#line 2535 "fortran.y" 
     6355    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
     6356    break; 
     6357 
     6358  case 521: 
     6359#line 2537 "fortran.y" 
     6360    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
     6361    break; 
     6362 
     6363  case 522: 
     6364#line 2539 "fortran.y" 
     6365    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
     6366    break; 
     6367 
     6368  case 523: 
    95506369#line 2541 "fortran.y" 
    9551 {Add_Allocate_Var_1(yyvsp[-3].nac,curmodulename);} 
    9552 break; 
    9553 case 571: 
    9554 #line 2564 "fortran.y" 
    9555 {strcpy(yyval.nac,yyvsp[0].nac);} 
    9556 break; 
    9557 #line 9558 "y.tab.c" 
     6370    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
     6371    break; 
     6372 
     6373  case 524: 
     6374#line 2543 "fortran.y" 
     6375    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
     6376    break; 
     6377 
     6378  case 525: 
     6379#line 2545 "fortran.y" 
     6380    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 
     6381    break; 
     6382 
     6383  case 526: 
     6384#line 2546 "fortran.y" 
     6385    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     6386    break; 
     6387 
     6388  case 527: 
     6389#line 2547 "fortran.y" 
     6390    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     6391    break; 
     6392 
     6393  case 528: 
     6394#line 2550 "fortran.y" 
     6395    {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 
     6396    break; 
     6397 
     6398  case 529: 
     6399#line 2552 "fortran.y" 
     6400    {if ( couldaddvariable == 1 ) sprintf((yyval.na)," (%s)",(yyvsp[(2) - (3)].na));;} 
     6401    break; 
     6402 
     6403  case 530: 
     6404#line 2554 "fortran.y" 
     6405    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 
     6406    break; 
     6407 
     6408  case 531: 
     6409#line 2556 "fortran.y" 
     6410    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 
     6411    break; 
     6412 
     6413  case 532: 
     6414#line 2558 "fortran.y" 
     6415    {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 
     6416    break; 
     6417 
     6418  case 533: 
     6419#line 2562 "fortran.y" 
     6420    {if ( couldaddvariable == 1 ) 
     6421                                              sprintf((yyval.na),"%s=%s,%s)",(yyvsp[(1) - (5)].nac),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));;} 
     6422    break; 
     6423 
     6424  case 534: 
     6425#line 2565 "fortran.y" 
     6426    {if ( couldaddvariable == 1 ) 
     6427                                        sprintf((yyval.na),"%s=%s,%s,%s)",(yyvsp[(1) - (7)].nac),(yyvsp[(3) - (7)].na),(yyvsp[(5) - (7)].na),(yyvsp[(7) - (7)].na));;} 
     6428    break; 
     6429 
     6430  case 541: 
     6431#line 2581 "fortran.y" 
     6432    {Add_Allocate_Var_1((yyvsp[(1) - (1)].nac),curmodulename);;} 
     6433    break; 
     6434 
     6435  case 544: 
     6436#line 2586 "fortran.y" 
     6437    {Add_Allocate_Var_1((yyvsp[(1) - (4)].nac),curmodulename);;} 
     6438    break; 
     6439 
     6440  case 552: 
     6441#line 2609 "fortran.y" 
     6442    {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 
     6443    break; 
     6444 
     6445 
     6446/* Line 1267 of yacc.c.  */ 
     6447#line 6445 "fortran.tab.c" 
     6448      default: break; 
    95586449    } 
    9559     yyssp -= yym; 
    9560     yystate = *yyssp; 
    9561     yyvsp -= yym; 
    9562     yym = yylhs[yyn]; 
    9563     if (yystate == 0 && yym == 0) 
    9564     { 
    9565 #if YYDEBUG 
    9566         if (yydebug) 
    9567             printf("%sdebug: after reduction, shifting from state 0 to\ 
    9568  state %d\n", YYPREFIX, YYFINAL); 
    9569 #endif 
    9570         yystate = YYFINAL; 
    9571         *++yyssp = YYFINAL; 
     6450  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 
     6451 
     6452  YYPOPSTACK (yylen); 
     6453  yylen = 0; 
     6454  YY_STACK_PRINT (yyss, yyssp); 
     6455 
    95726456        *++yyvsp = yyval; 
    9573         if (yychar < 0) 
     6457 
     6458 
     6459  /* Now `shift' the result of the reduction.  Determine what state 
     6460     that goes to, based on the state we popped back to and the rule 
     6461     number reduced by.  */ 
     6462 
     6463  yyn = yyr1[yyn]; 
     6464 
     6465  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 
     6466  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 
     6467    yystate = yytable[yystate]; 
     6468  else 
     6469    yystate = yydefgoto[yyn - YYNTOKENS]; 
     6470 
     6471  goto yynewstate; 
     6472 
     6473 
     6474/*------------------------------------. 
     6475| yyerrlab -- here on detecting error | 
     6476`------------------------------------*/ 
     6477yyerrlab: 
     6478  /* If not already recovering from an error, report this error.  */ 
     6479  if (!yyerrstatus) 
    95746480        { 
    9575             if ((yychar = yylex()) < 0) yychar = 0; 
    9576 #if YYDEBUG 
    9577             if (yydebug) 
     6481      ++yynerrs; 
     6482#if ! YYERROR_VERBOSE 
     6483      yyerror (YY_("syntax error")); 
     6484#else 
    95786485            { 
    9579                 yys = 0; 
    9580                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; 
    9581                 if (!yys) yys = "illegal-symbol"; 
    9582                 printf("%sdebug: state %d, reading %d (%s)\n", 
    9583                         YYPREFIX, YYFINAL, yychar, yys); 
     6486   YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); 
     6487   if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) 
     6488     { 
     6489       YYSIZE_T yyalloc = 2 * yysize; 
     6490       if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) 
     6491         yyalloc = YYSTACK_ALLOC_MAXIMUM; 
     6492       if (yymsg != yymsgbuf) 
     6493         YYSTACK_FREE (yymsg); 
     6494       yymsg = (char *) YYSTACK_ALLOC (yyalloc); 
     6495       if (yymsg) 
     6496         yymsg_alloc = yyalloc; 
     6497       else 
     6498         { 
     6499      yymsg = yymsgbuf; 
     6500      yymsg_alloc = sizeof yymsgbuf; 
    95846501            } 
     6502     } 
     6503 
     6504   if (0 < yysize && yysize <= yymsg_alloc) 
     6505     { 
     6506       (void) yysyntax_error (yymsg, yystate, yychar); 
     6507       yyerror (yymsg); 
     6508     } 
     6509   else 
     6510     { 
     6511       yyerror (YY_("syntax error")); 
     6512       if (yysize != 0) 
     6513         goto yyexhaustedlab; 
     6514     } 
     6515      } 
    95856516#endif 
    95866517        } 
    9587         if (yychar == 0) goto yyaccept; 
    9588         goto yyloop; 
     6518 
     6519 
     6520 
     6521  if (yyerrstatus == 3) 
     6522    { 
     6523      /* If just tried and failed to reuse look-ahead token after an 
     6524    error, discard it.  */ 
     6525 
     6526      if (yychar <= YYEOF) 
     6527   { 
     6528     /* Return failure if at end of input.  */ 
     6529     if (yychar == YYEOF) 
     6530       YYABORT; 
    95896531    } 
    9590     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && 
    9591             yyn <= YYTABLESIZE && yycheck[yyn] == yystate) 
    9592         yystate = yytable[yyn]; 
    95936532    else 
    9594         yystate = yydgoto[yym]; 
    9595 #if YYDEBUG 
    9596     if (yydebug) 
    9597         printf("%sdebug: after reduction, shifting from state %d \ 
    9598 to state %d\n", YYPREFIX, *yyssp, yystate); 
     6533   { 
     6534     yydestruct ("Error: discarding", 
     6535            yytoken, &yylval); 
     6536     yychar = YYEMPTY; 
     6537   } 
     6538    } 
     6539 
     6540  /* Else will try to reuse look-ahead token after shifting the error 
     6541     token.  */ 
     6542  goto yyerrlab1; 
     6543 
     6544 
     6545/*---------------------------------------------------. 
     6546| yyerrorlab -- error raised explicitly by YYERROR.  | 
     6547`---------------------------------------------------*/ 
     6548yyerrorlab: 
     6549 
     6550  /* Pacify compilers like GCC when the user code never invokes 
     6551     YYERROR and the label yyerrorlab therefore never appears in user 
     6552     code.  */ 
     6553  if (/*CONSTCOND*/ 0) 
     6554     goto yyerrorlab; 
     6555 
     6556  /* Do not reclaim the symbols of the rule which action triggered 
     6557     this YYERROR.  */ 
     6558  YYPOPSTACK (yylen); 
     6559  yylen = 0; 
     6560  YY_STACK_PRINT (yyss, yyssp); 
     6561  yystate = *yyssp; 
     6562  goto yyerrlab1; 
     6563 
     6564 
     6565/*-------------------------------------------------------------. 
     6566| yyerrlab1 -- common code for both syntax error and YYERROR.  | 
     6567`-------------------------------------------------------------*/ 
     6568yyerrlab1: 
     6569  yyerrstatus = 3;   /* Each real token shifted decrements this.  */ 
     6570 
     6571  for (;;) 
     6572    { 
     6573      yyn = yypact[yystate]; 
     6574      if (yyn != YYPACT_NINF) 
     6575   { 
     6576     yyn += YYTERROR; 
     6577     if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 
     6578       { 
     6579         yyn = yytable[yyn]; 
     6580         if (0 < yyn) 
     6581      break; 
     6582       } 
     6583   } 
     6584 
     6585      /* Pop the current state because it cannot handle the error token.  */ 
     6586      if (yyssp == yyss) 
     6587   YYABORT; 
     6588 
     6589 
     6590      yydestruct ("Error: popping", 
     6591        yystos[yystate], yyvsp); 
     6592      YYPOPSTACK (1); 
     6593      yystate = *yyssp; 
     6594      YY_STACK_PRINT (yyss, yyssp); 
     6595    } 
     6596 
     6597  if (yyn == YYFINAL) 
     6598    YYACCEPT; 
     6599 
     6600  *++yyvsp = yylval; 
     6601 
     6602 
     6603  /* Shift the error token.  */ 
     6604  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 
     6605 
     6606  yystate = yyn; 
     6607  goto yynewstate; 
     6608 
     6609 
     6610/*-------------------------------------. 
     6611| yyacceptlab -- YYACCEPT comes here.  | 
     6612`-------------------------------------*/ 
     6613yyacceptlab: 
     6614  yyresult = 0; 
     6615  goto yyreturn; 
     6616 
     6617/*-----------------------------------. 
     6618| yyabortlab -- YYABORT comes here.  | 
     6619`-----------------------------------*/ 
     6620yyabortlab: 
     6621  yyresult = 1; 
     6622  goto yyreturn; 
     6623 
     6624#ifndef yyoverflow 
     6625/*-------------------------------------------------. 
     6626| yyexhaustedlab -- memory exhaustion comes here.  | 
     6627`-------------------------------------------------*/ 
     6628yyexhaustedlab: 
     6629  yyerror (YY_("memory exhausted")); 
     6630  yyresult = 2; 
     6631  /* Fall through.  */ 
    95996632#endif 
    9600     if (yyssp >= yyss + yystacksize - 1) 
    9601     { 
    9602         goto yyoverflow; 
     6633 
     6634yyreturn: 
     6635  if (yychar != YYEOF && yychar != YYEMPTY) 
     6636     yydestruct ("Cleanup: discarding lookahead", 
     6637       yytoken, &yylval); 
     6638  /* Do not reclaim the symbols of the rule which action triggered 
     6639     this YYABORT or YYACCEPT.  */ 
     6640  YYPOPSTACK (yylen); 
     6641  YY_STACK_PRINT (yyss, yyssp); 
     6642  while (yyssp != yyss) 
     6643    { 
     6644      yydestruct ("Cleanup: popping", 
     6645        yystos[*yyssp], yyvsp); 
     6646      YYPOPSTACK (1); 
    96036647    } 
    9604     *++yyssp = yystate; 
    9605     *++yyvsp = yyval; 
    9606     goto yyloop; 
    9607 yyoverflow: 
    9608     yyerror("yacc stack overflow"); 
    9609 yyabort: 
    9610     return (1); 
    9611 yyaccept: 
    9612     return (0); 
     6648#ifndef yyoverflow 
     6649  if (yyss != yyssa) 
     6650    YYSTACK_FREE (yyss); 
     6651#endif 
     6652#if YYERROR_VERBOSE 
     6653  if (yymsg != yymsgbuf) 
     6654    YYSTACK_FREE (yymsg); 
     6655#endif 
     6656  /* Make sure YYID is used.  */ 
     6657  return YYID (yyresult); 
    96136658} 
     6659 
     6660 
     6661#line 2611 "fortran.y" 
     6662 
     6663 
     6664void processfortran(char *fichier_entree) 
     6665{ 
     6666   extern FILE *fortranin; 
     6667   extern FILE *fortranout; 
     6668   char nomfile[LONG_C]; 
     6669   int c; 
     6670   int confirmyes; 
     6671 
     6672/*   fortrandebug = 1;*/ 
     6673   if ( mark == 1 ) printf("Firstpass == %d \n",firstpass); 
     6674/******************************************************************************/ 
     6675/*  1-  Open input and output files                                           */ 
     6676/******************************************************************************/ 
     6677   strcpy(nomfile,commondirin); 
     6678   strcat(nomfile,"/"); 
     6679   strcat(nomfile,fichier_entree); 
     6680   fortranin=fopen( nomfile,"r"); 
     6681   if (! fortranin) 
     6682   { 
     6683      printf("Error : File %s does not exist\n",nomfile); 
     6684      exit(1); 
     6685   } 
     6686 
     6687   strcpy(curfile,nomfile); 
     6688   strcpy(nomfile,commondirout); 
     6689   strcat(nomfile,"/"); 
     6690   strcat(nomfile,fichier_entree); 
     6691   strcpy(nomfileoutput,nomfile); 
     6692   Save_Length(nomfileoutput,31); 
     6693   if (firstpass == 1) 
     6694   { 
     6695      if (checkexistcommon == 1) 
     6696      { 
     6697         if (fopen(nomfile,"r")) 
     6698         { 
     6699            printf("Warning : file %s already exist\n",nomfile); 
     6700            confirmyes = 0; 
     6701            while (confirmyes==0) 
     6702            { 
     6703               printf("Override file %s ? [Y/N]\n",nomfile); 
     6704               c=getchar(); 
     6705               getchar(); 
     6706               if (c==79 || c==110) 
     6707               { 
     6708                  printf("We stop\n"); 
     6709                  exit(1); 
     6710               } 
     6711               if (c==89 || c==121) 
     6712               { 
     6713                  confirmyes=1; 
     6714               } 
     6715            } 
     6716         } 
     6717      } 
     6718   } 
     6719 
     6720/******************************************************************************/ 
     6721/*  2-  Variables initialization                                              */ 
     6722/******************************************************************************/ 
     6723 
     6724   line_num_fortran_common=1; 
     6725   line_num_fortran=1; 
     6726   PublicDeclare = 0; 
     6727   PrivateDeclare = 0; 
     6728   ExternalDeclare = 0; 
     6729   SaveDeclare = 0; 
     6730   pointerdeclare = 0; 
     6731   optionaldeclare = 0; 
     6732   incalldeclare = 0; 
     6733   VarType = 0; 
     6734   VarTypepar = 0; 
     6735   Allocatabledeclare = 0 ; 
     6736   Targetdeclare = 0 ; 
     6737   strcpy(NamePrecision," "); 
     6738   VariableIsParameter =  0 ; 
     6739   strcpy(NamePrecision,""); 
     6740   c_star = 0 ; 
     6741   functiondeclarationisdone = 0; 
     6742   insubroutinedeclare = 0 ; 
     6743   ininterfacedeclare = 0 ;    
     6744   strcpy(subroutinename," "); 
     6745   isrecursive = 0; 
     6746   InitialValueGiven = 0 ; 
     6747   strcpy(EmptyChar," "); 
     6748   inmoduledeclare = 0; 
     6749   incontainssubroutine = 0; 
     6750   colnum=0; 
     6751   incom=0; 
     6752   couldaddvariable=1; 
     6753   afterpercent = 0; 
     6754   aftercontainsdeclare = 1; 
     6755   strcpy(nameinttypename,""); 
     6756   /* Name of the file without format                                         */ 
     6757   tmp = strchr(fichier_entree, '.'); 
     6758   strncpy(curfilename,fichier_entree,strlen(fichier_entree)-strlen(tmp)); 
     6759   Save_Length(curfilename,30); 
     6760/******************************************************************************/ 
     6761/*  3-  Parsing of the input file (1 time)                                    */ 
     6762/******************************************************************************/ 
     6763   if (firstpass == 0 ) 
     6764   { 
     6765      fortranout=fopen(nomfileoutput,"w"); 
     6766 
     6767/*      NewModule_Creation_0();*/ 
     6768   } 
     6769 
     6770   fortranparse(); 
     6771 
     6772   if (firstpass == 0 ) 
     6773   { 
     6774   NewModule_Creation_0(); 
     6775   } 
     6776    
     6777   strcpy(curfile,mainfile); 
     6778 
     6779   if (firstpass == 0 ) 
     6780   { 
     6781   fclose(fortranout); 
     6782   } 
     6783} 
     6784 
Note: See TracChangeset for help on using the changeset viewer.