[BACK]Return to ytab.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / parse

Diff for /OpenXM_contrib2/asir2000/parse/ytab.c between version 1.3 and 1.4

version 1.3, 2001/10/05 08:55:47 version 1.4, 2003/05/30 06:03:30
Line 1 
Line 1 
 #ifndef lint  #ifndef lint
 static char const  static char const
 yyrcsid[] = "$FreeBSD: src/usr.bin/yacc/skeleton.c,v 1.28 2000/01/17 02:04:06 bde Exp $";  yyrcsid[] = "$FreeBSD: src/usr.bin/yacc/skeleton.c,v 1.28.2.1 2001/07/19 05:46:39 peter Exp $";
 #endif  #endif
 #include <stdlib.h>  #include <stdlib.h>
 #define YYBYACC 1  #define YYBYACC 1
Line 11  yyrcsid[] = "$FreeBSD: src/usr.bin/yacc/skeleton.c,v 1
Line 11  yyrcsid[] = "$FreeBSD: src/usr.bin/yacc/skeleton.c,v 1
 #define yyclearin (yychar=(YYEMPTY))  #define yyclearin (yychar=(YYEMPTY))
 #define yyerrok (yyerrflag=0)  #define yyerrok (yyerrflag=0)
 #define YYRECOVERING() (yyerrflag!=0)  #define YYRECOVERING() (yyerrflag!=0)
   #if defined(__cplusplus) || __STDC__
   static int yygrowstack(void);
   #else
 static int yygrowstack();  static int yygrowstack();
   #endif
 #define YYPREFIX "yy"  #define YYPREFIX "yy"
 #line 51 "parse.y"  #line 51 "parse.y"
 #define malloc(x) GC_malloc(x)  #define malloc(x) GC_malloc(x)
Line 29  static int yygrowstack();
Line 33  static int yygrowstack();
   
 #define NOPR (prresult=0)  #define NOPR (prresult=0)
   
 extern int gdef;  extern int gdef,mgdef,ldef;
 extern SNODE parse_snode;  extern SNODE parse_snode;
 extern int main_parser;  extern int main_parser, allow_create_var;
   
 int prresult;  int prresult;
   
Line 51  typedef union {
Line 55  typedef union {
         int i;          int i;
         pointer p;          pointer p;
 } YYSTYPE;  } YYSTYPE;
 #line 55 "y.tab.c"  #line 59 "y.tab.c"
 #define YYERRCODE 256  #define YYERRCODE 256
 #define STRUCT 257  #define STRUCT 257
 #define POINT 258  #define POINT 258
Line 59  typedef union {
Line 63  typedef union {
 #define ANS 260  #define ANS 260
 #define FDEF 261  #define FDEF 261
 #define PFDEF 262  #define PFDEF 262
 #define GLOBAL 263  #define MODDEF 263
 #define CMP 264  #define MODEND 264
 #define OR 265  #define GLOBAL 265
 #define AND 266  #define MGLOBAL 266
 #define CAR 267  #define LOCAL 267
 #define CDR 268  #define LOCALF 268
 #define QUOTED 269  #define CMP 269
 #define DO 270  #define OR 270
 #define WHILE 271  #define AND 271
 #define FOR 272  #define CAR 272
 #define IF 273  #define CDR 273
 #define ELSE 274  #define QUOTED 274
 #define BREAK 275  #define COLONCOLON 275
 #define RETURN 276  #define DO 276
 #define CONTINUE 277  #define WHILE 277
 #define PARIF 278  #define FOR 278
 #define MAP 279  #define IF 279
 #define RECMAP 280  #define ELSE 280
 #define TIMER 281  #define BREAK 281
 #define GF2NGEN 282  #define RETURN 282
 #define GFPNGEN 283  #define CONTINUE 283
 #define GFSNGEN 284  #define PARIF 284
 #define GETOPT 285  #define MAP 285
 #define FOP_AND 286  #define RECMAP 286
 #define FOP_OR 287  #define TIMER 287
 #define FOP_IMPL 288  #define GF2NGEN 288
 #define FOP_REPL 289  #define GFPNGEN 289
 #define FOP_EQUIV 290  #define GFSNGEN 290
 #define FOP_NOT 291  #define GETOPT 291
 #define LOP 292  #define FOP_AND 292
 #define FORMULA 293  #define FOP_OR 293
 #define UCASE 294  #define FOP_IMPL 294
 #define LCASE 295  #define FOP_REPL 295
 #define STR 296  #define FOP_EQUIV 296
 #define SELF 297  #define FOP_NOT 297
 #define BOPASS 298  #define LOP 298
 #define PLUS 299  #define FORMULA 299
 #define MINUS 300  #define UCASE 300
   #define LCASE 301
   #define STR 302
   #define SELF 303
   #define BOPASS 304
   #define PLUS 305
   #define MINUS 306
 const short yylhs[] = {                                        -1,  const short yylhs[] = {                                        -1,
     0,    6,   15,   16,    6,    6,    6,    6,    6,    6,      0,    6,   16,   17,    6,   18,   19,    6,   20,   21,
     6,    6,    6,    6,    6,    6,    6,    6,    6,   17,      6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
     6,    6,   14,   14,    1,    1,    7,   12,   12,   11,      6,    6,    6,    6,    6,    6,   22,   23,   24,    6,
    11,    8,    8,    9,    9,   10,   10,   13,   13,    2,      6,    6,    6,   15,   15,    1,    1,    7,   13,   13,
     2,    5,    4,    4,    4,    4,    4,    4,    4,    4,     12,   12,   11,   11,    8,    8,    9,    9,   10,   10,
      14,   14,    2,    2,    5,    4,    4,    4,    4,    4,
     4,    4,    4,    4,    4,    4,    4,    4,    4,    4,      4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
     4,    4,    4,    4,    4,    4,    3,    3,    3,    3,      4,    4,    4,    4,    4,    4,    4,    4,    4,    3,
     3,    3,    3,    3,    3,    3,    3,    3,    3,    3,      3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
     3,    3,    3,    3,    3,    3,    3,    3,    3,    3,      3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
     3,    3,    3,    3,    3,    3,      3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
 };  };
 const short yylen[] = {                                         2,  const short yylen[] = {                                         2,
     1,    1,    0,    0,    5,    6,    2,    1,    2,    2,      1,    1,    0,    0,    5,    0,    0,    5,    0,    0,
     2,    3,    5,    7,    9,    5,    7,    8,    5,    0,      5,    3,    6,    2,    1,    2,    2,    2,    3,    5,
    10,    2,    1,    1,    0,    1,    3,    1,    3,    1,      7,    9,    5,    7,    8,    6,    0,    0,    0,   12,
     3,    0,    2,    0,    1,    1,    3,    1,    3,    1,      3,    2,    2,    1,    1,    0,    1,    3,    1,    3,
     1,    3,    1,    1,    1,    1,    1,    1,    1,    4,      1,    3,    1,    3,    0,    2,    0,    1,    1,    3,
     6,    6,    6,    7,    4,    3,    8,    4,    6,    7,      1,    3,    1,    1,    3,    1,    1,    1,    1,    1,
     4,    4,    3,    1,    4,    3,    1,    5,    3,    3,      1,    1,    4,    6,    6,    6,    7,    4,    3,    8,
     2,    2,    3,    2,    2,    3,    3,    3,    3,    3,      4,    6,    7,    4,    4,    3,    1,    4,    3,    1,
     3,    3,    2,    3,    3,    2,    3,    3,    3,    3,      5,    3,    3,    2,    2,    3,    2,    2,    3,    3,
     3,    3,    5,    3,    4,    4,      3,    3,    3,    3,    3,    2,    3,    3,    2,    3,
       3,    3,    3,    3,    3,    5,    3,    4,    4,    2,
 };  };
 const short yydefred[] = {                                      0,  const short yydefred[] = {                                      0,
     0,    0,    0,   45,    0,    0,    3,    0,    0,    0,      0,    0,    0,   58,    0,    0,    0,    0,    3,    6,
       9,    0,    0,    0,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,   59,   60,   61,    0,
       0,   57,   77,    0,   56,    0,    0,    0,    0,    0,
      45,    0,   34,   35,    0,    0,    0,    0,    0,    1,
      15,    2,   33,   53,   54,    0,    0,   27,    0,    0,
      32,    0,    0,    0,   41,    0,    0,    0,    0,    0,
       0,    0,    0,   16,    0,    0,   18,   17,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,   46,   47,   48,    0,    0,   44,   64,    0,   43,  
     0,    0,    0,    0,   32,    0,   23,   24,    0,    0,  
     0,    0,    0,    1,    8,    2,   22,   40,   41,    0,  
     0,   20,    0,    0,    0,    0,    0,    0,    0,    0,  
     0,    9,    0,    0,   11,   10,    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,   84,    0,
       0,    0,    0,    0,    0,    0,    0,    0,   14,    0,
       0,    0,    0,    0,    0,   31,   43,    0,    0,    0,
       0,   12,    0,    0,    0,    0,    0,    0,    0,    0,
      19,    0,    0,    0,    0,   69,    0,    0,    0,   38,
      46,    0,    0,   76,   86,    0,  107,    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,   79,    0,   39,    0,  108,
      28,    0,    0,    0,    0,    0,   42,   74,   75,  109,
     0,    0,    0,    0,    0,   71,    0,    0,    0,    0,      0,    0,    0,    0,    0,   71,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    7,    0,    0,    0,    0,     68,    0,    0,    0,    0,    0,    0,    0,   78,    0,
     0,    0,   30,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,   44,    5,    8,   11,    0,   23,    0,
     0,    0,   12,    0,    0,    0,    0,   56,    0,    0,      0,   63,    0,    0,    0,    0,    0,    0,    0,   51,
     0,   27,   33,    0,    0,   63,   73,    0,   94,    0,      0,    0,    0,    0,    0,   13,   40,   29,   26,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,   72,   65,   66,    0,    0,    0,    0,   64,
     0,    0,    0,    0,    0,    0,    0,   66,    0,   28,      0,    0,    0,   24,    0,   21,    0,   67,    0,    0,
     0,   95,    0,    0,    0,    0,   61,   62,   96,    0,     52,   73,    0,    0,   70,   25,   37,    0,   22,   45,
     0,    0,    0,    0,   58,    0,    0,    0,    0,   55,      0,   30,
     0,    0,    0,    0,    0,    0,    0,   65,    0,    0,  
     0,   19,   31,    5,    0,   16,    0,    0,   50,    0,  
     0,    0,    0,    0,    0,    0,   38,    0,    0,    0,  
     0,    0,    6,   29,    0,    0,    0,    0,   59,   52,  
    53,    0,    0,    0,    0,   51,    0,    0,   26,    0,  
    17,    0,   14,    0,   54,    0,    0,   39,   60,   32,  
     0,   57,   18,    0,   15,   21,  
 };  };
 const short yydgoto[] = {                                      41,  const short yydgoto[] = {                                      47,
   230,  206,   83,   43,  207,  133,   45,   79,   84,   85,    268,  229,   96,   49,  230,  151,   51,   92,   97,   98,
   114,  161,  208,   46,   54,  166,  111,    128,   66,  179,  231,   52,   62,  184,   63,  185,   64,
     186,  124,  212,  253,
 };  };
 const short yysindex[] = {                                    127,  const short yysindex[] = {                                    377,
   -33, -263,  -31,    0, -281, -275,    0,  -13,    3,    9,    -28, -273,  -33,    0, -289, -287, -280,  -28,    0,    0,
   127,   10,   13,   14,  -33,  176,  -33,   16,   17,   18,      0, -278,  -11,   -1,    3,  377,   16,   23,   25,  -28,
    23,    0,    0,    0,   24,  480,    0,    0,  -28,    0,    412,  -28,   37,   39,   40,   41,    0,    0,    0,   42,
   480,  480,  480,  480,    0,  386,    0,    0,  480,  480,    720,    0,    0,  -37,    0,  720,  720,  720,  720,  720,
     0, 1421,  -87,    0,    0,    0,    0,    0,    0,  -90,      0,  434,    0,    0,  720,  720,    0, 1868,  -89,    0,
  -263,    0,   25, -228,  480,  480,  480, -204,  480,  480,      0,    0,    0,    0,    0,  -90, -273,    0,   44,  -28,
   480,    0,  -24, 1421,    0,    0, -227, -224, -220,  480,      0, -226, -226, -226,    0,  -27,  720,  720,  720, -183,
   -41, 1494,  480,  480, -219,   80,   80, -219,   43, -263,    720,  720,  720,    0,  -34, 1868,    0,    0, -197, -194,
   480, 1691, 2078,  -16,   36,   19,  480,  480,  480,  480,   -182,  720,   10,  476,  720,  720, -185,   17,   17,  476,
   480,  480,  480,  480,  480,    0,  480,  480,  480,  480,   -185,  276, -273,  720, 1999, 2350,   27,   77,   60,  720,
   480,  480,  480,  480,  480,    0, -263,  480, -263,   41,    720,  720,  720,  720,  720,  720,  720,  720,    0,  720,
    44,  480,    0,   52, 1704, 1767, 1807,   45,   66,   34,    720,  720,  720,  720,  720,  720,  720,  720,    0, -273,
    67,  480,    0,  -20,   65,   69, 1848,    0,   78,  -15,    720, -273,   82,   85,  720,    0,    0,   84,   84,   84,
   -23,    0,    0,   82, 1865,    0,    0,  480,    0,   -7,   -172,    0, 2014, 2057, 2087,   96,  100,   78,  108,  720,
   151,   95,  395, 2177,  810, 2140, 1997,  -32, 2078,   80,      0,  -19,   98,  113, 2132,    0,  119,   36,  -25,    0,
    80,  -92,  -92,  -92,  -92, 2078, 1903,    0, 1967,    0,      0,  121, 2145,    0,    0,  720,    0,   -7,  147,  101,
   -27,    0,  480,   90, -161,  -33,    0,    0,    0,  480,    156, 1374, 2507, 2363, 2074,  -32, 2350,   17,   17,  -94,
   127,  480,  127,  -19,    0,  480,  480,  480,  480,    0,    -94,  -94,  -94, 2350, 2193,    0, 2277,    0,  -40,    0,
    99,   83, -263, 2028,  103, 2078,  480,    0,  -33, -263,      0,  122, -136,  -28,  -28,  -28,    0,    0,    0,    0,
   106,    0,    0,    0,  107,    0,   91, -125,    0,  110,    720,  377,  720,  377,  -23,    0,  720,  720,  720,  720,
   111,  112, 1980,  480,   93,   94,    0,   -2,  441,  -87,      0,  125,  109, -273,  642,  126, 2350,  720,    0,  -28,
   480, 2133,    0,    0, -139,  -33,  480,  127,    0,    0,   -273,  720,  -28,    0,    0,    0,    0,  127,    0,  111,
     0,  480,  118,  480,  480,    0, -263,  120,    0,   39,   -107,    0,  133,  134,  135, 2235,  720,  116,  124,    0,
     0,  123,    0, 2039,    0, 1421, 2078,    0,    0,    0,     11,  699,  -89,  720, 2471,    0,    0,    0,    0,  -28,
   127,    0,    0,   85,    0,    0,    720,  377,    0,    0,    0,  720,  145,  720,  720,    0,
    -273,  146,  150,    0,  159,    0, 2409,    0, 1868, 2350,
       0,    0, -122,  377,    0,    0,    0,   65,    0,    0,
     328,    0,
 };  };
 const short yyrindex[] = {                                      0,  const short yyrindex[] = {                                      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,    0,
     0,    0,    0,    0,    0,    0,    0,    0, 1146,    0,  
     0,    0,    0,    0,    0,    0,    0,    0,   72,  113,  
     0,    0,  772,    0,    0,    0,    0,    0,    0,    0,  
     0,    0,    0,    0,    0,    0,    0,    0,  128,  114,  
   128,    0,  514,    0,    0,    0,    0,    0,    0,    0,  
     0,   53,   55,  -18,  840, 1222, 1258,  869,    0,    0,  
     0,    0,  163,    0,  -34,    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, 1517,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,  104,  140,    0,    0,  793,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,  128,    0,  -30,    0,    0,    0,    0,    0,    0,  
     0,  -18,    0,    0,    0,    0,    0,    0,    0,    0,  
     0,    0,    0,    0,    0,    0,    0,    0,    0, 1437,  
  1553, 1513,  456,  538,  551,  879,   11, 1591, 2257, 1294,  
  1336,  908,  955,  984, 1078, 2351,    0,    0,    0,    0,  
     0,    0,  128,    0,    0,    0,    0,    0,    0,  128,  
     0,  114,    0,    0,    0,  128,  128,  128,    0,    0,  
     0, 1378,    0,    0,    0,  406,    0,    0,    0,    0,  
     0,    0,    0,    0,    0,    0,    0,    1,    0,    0,  
     0,    0,    0,  128,    0,    0,    0,    0,    0,  801,  
   128, 1638,    0,    0,   59,    0,  128,    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,    4,    0,    0,    0,    163,  148,  163,    0,  756,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,      0,    0,    0,  371,   80,  -21, 1094, 1554, 1590,  422,
    1131,    0,    0,    0,    0,   34,    0,    7,    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,  163,    0,    0,  -17,  -12,  -10,
       0,    0,    0,    0,    0,    0,    0,    0,    0,  -21,
       0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,    0, 1778, 1929,   47,
    1971,   54, 1681, 1289,    9,  904, 1036, 1626, 1665, 1168,
    1204, 1242, 1279, 1392,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     163,    0,  148,    0,    0,    0,  163,  163,  163,    0,
       0,    0, 1710,    0,    0,    0,  458,    0,    0,    0,
       0,  163,    0,    0,    0,    0,    0,    0,    0,    0,
       1,    0,    0,    0,    0,    0,  163,    0,    0,    0,
       0,    0,  830,  163, 1317,    0,    0,    0,    0,    0,
     163,    0,    0,    0,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,    0,    0,    0,   32,
       0,    0,   87,    0,    0,    0,    0,    0,    0,    0,
       0,    0,
 };  };
 const short yygindex[] = {                                      0,  const short yygindex[] = {                                      0,
     0,   49, 2424,   -1,  -43,    8,    0,  -55, 2169,    0,      0,  856,  114,    6,  -39,  139,    0,  -57, 2604,    0,
     0,    0,    0,  552,    0,    0,    0,     -6,    0,    0,    0, 2575,    0,    0,    0,    0,    0,
       0,    0,    0,    0,
 };  };
 #define YYTABLESIZE 2668  #define YYTABLESIZE 2845
 const short yytable[] = {                                     128,  const short yytable[] = {                                     115,
    13,  102,   38,  108,  103,    4,   35,   44,   51,  100,     20,  121,   86,  211,  116,  140,   57,   44,   44,  113,
    98,   74,   99,   52,  101,  122,  190,  182,   58,   53,    111,   58,  112,   59,  114,  203,  131,  222,    4,   47,
   175,  199,   34,  176,   35,   37,   55,   35,    4,  103,     60,  196,   65,    7,  197,   10,   54,   55,   67,  116,
    48,   49,  109,   13,  100,   98,   13,   99,  226,  101,     43,   43,  122,   20,  113,  111,   20,  112,   68,  114,
    13,  227,   56,   13,   42,   13,   91,   42,   57,   59,     20,    4,   69,   20,  104,   20,    7,   48,   10,  104,
    50,   91,   60,   61,   91,   67,   68,   69,   35,   13,    146,  250,  104,  116,  251,   71,  129,  130,  113,   20,
    13,  102,   70,   71,  112,  113,  118,  124,   91,   91,     20,  115,   72,  114,   73,   48,  104,  104,   48,  104,
   125,   91,   91,   91,  126,   34,  137,   96,   38,  138,    104,  104,   55,  127,   49,   55,   79,   49,   80,   81,
   139,  162,   36,  163,  170,   32,  102,   33,   86,   35,     82,   83,   98,  125,  210,   85,  115,   98,   85,  101,
    35,   13,  172,   86,   73,  165,   86,  189,   73,  110,     98,   20,   49,  136,  101,   49,   20,  101,  204,   48,
   183,   37,   40,   91,  183,   34,  171,  173,  177,  181,    204,  104,   47,  142,   98,   98,  143,   98,   98,   98,
    86,   86,  178,   86,   86,   86,  103,   34,  180,  129,    115,  101,  101,   48,  101,  101,  101,  109,  144,  155,
    38,  100,  184,   13,   36,   13,  101,   32,  134,   33,    156,  157,  180,   20,  181,   20,   49,  183,  187,   48,
   192,  103,  193,   39,   91,   91,  100,   98,  204,   99,     48,   48,  104,  104,   76,  191,  193,  116,   50,   98,
   205,  101,  211,   37,   40,   86,  215,  216,  218,  217,    192,  198,  113,  111,   84,  112,  101,  114,  194,   87,
   219,  220,  221,  224,  225,  158,  229,  160,  235,   34,     88,   89,   90,   91,   70,   95,  199,   49,   49,  201,
   239,  240,   38,  241,   34,   35,   36,  132,   34,   32,    202,  205,  213,  214,  227,  234,  228,  240,  120,  241,
   107,   33,   34,  102,   34,   39,   86,   86,  196,   34,     98,   98,  242,  243,  244,  245,  248,  101,  101,  267,
   198,   25,  210,  238,  244,   37,   40,  103,  102,    0,    133,  134,  135,  116,  249,  258,  262,  270,  113,  111,
     0,    0,  100,   98,    0,   99,    0,  101,    0,    0,    263,  112,  116,  114,  115,  145,   47,  113,  111,  264,
     0,    0,    0,   36,   96,    0,   36,   35,   34,  246,    112,   47,  114,   47,   47,   48,   47,  153,  109,   36,
     0,   38,    0,    0,    0,   36,    0,   39,   32,    0,    233,  261,  271,  158,  159,  160,  161,  162,  163,  164,
    33,   36,    0,    0,   36,  233,    0,    0,    0,    0,    165,  166,    0,  167,  168,  169,  170,  171,  172,  173,
     0,   87,   88,   89,   37,   40,    0,    0,  214,    0,    174,  175,    0,    0,  177,    0,  100,  101,  102,    0,
     0,    0,    0,    0,  102,    0,    0,    0,  245,   35,    115,    0,    0,    0,    0,    0,    0,    0,    0,  115,
     0,    0,   48,   49,    0,   36,   13,   13,    0,   13,      0,    0,    0,    0,    0,    0,   20,   20,    0,   20,
    13,   13,   13,   13,   96,    0,   39,   13,   13,   13,     20,   20,   20,   20,   20,   20,   20,   20,   20,  207,
    13,   13,   13,   13,    0,   13,   13,   13,   13,   13,    109,    0,   20,   20,   20,    0,   20,   20,   20,   20,
    13,   13,   13,   13,   13,   13,   36,   36,    0,   96,      0,   20,   20,   20,   20,   20,   20,   20,   20,   20,
     0,   13,    0,   13,   13,   13,   13,   13,    1,    2,     20,   20,    0,    0,    0,  109,    0,   20,    0,   20,
    91,    3,    4,    5,    6,    7,    0,    0,   91,    8,     20,   20,   20,   20,  104,   48,    0,   48,   40,   54,
     9,   10,   11,   12,   13,   14,    0,   15,   16,   17,     55,   44,  104,  226,    0,   42,   98,   98,   37,  109,
    18,   19,   20,   21,   22,   23,   24,   25,    0,    0,     38,  235,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,   26,    0,   27,   28,   29,   30,   31,    219,    0,  221,    0,   43,   46,    0,    0,   98,   98,
     1,    2,    0,    3,    4,    5,    6,    7,    0,    0,     98,   98,   98,    0,   98,   95,  101,  101,  101,  101,
    86,    8,    9,   10,   11,   12,   13,   14,   87,   15,     98,    0,    0,    0,    0,   48,    0,  101,    0,  257,
    16,   17,   18,   19,   20,   21,   22,   23,   24,   25,     40,  259,  260,   44,    0,    0,   45,   42,    0,  100,
     0,    0,    0,    0,    0,   26,   96,   27,   28,   29,     37,   39,   38,    0,    0,    0,    0,   48,    0,    0,
    30,   31,    1,    2,    0,    3,    4,    5,    6,    7,    256,    0,    0,    0,   48,    0,   43,   46,    0,    0,
     0,   96,    0,    8,    9,   10,   11,   12,   13,   14,      0,    0,    0,    0,    0,    0,    0,    0,   41,    0,
     0,   15,   16,   17,   18,   19,   20,   21,   22,   23,    150,    0,  269,  109,    0,    0,   99,    0,    0,   40,
    24,   25,    0,    0,   87,    0,   89,   26,   34,   27,      0,   99,   44,    0,   99,  100,   42,  102,   45,   37,
    28,   29,   30,   31,    0,   36,    0,   81,   32,    0,      0,   38,    0,   39,  100,  101,  102,    0,   99,   99,
    33,  103,    0,    0,    3,    4,  100,   98,    0,   99,      0,   99,   99,   99,    0,   43,   46,    0,    0,    0,
     0,  101,    8,    9,   10,   40,   37,   96,    0,   37,      0,    0,    0,    0,   40,    0,    0,   44,    0,  109,
     0,    0,    0,   18,   19,   20,   21,   22,   23,   24,     41,   42,  272,  108,   37,    0,   38,  110,  109,    0,
    25,    0,    0,    0,   37,    0,   26,   37,   27,   28,      0,    0,  110,   99,    0,  110,   40,   45,    0,    0,
    63,   30,   31,   34,    0,    0,   39,    0,    0,    0,     43,   46,   39,   42,    0,   94,   37,    0,   38,  110,
    36,    0,   81,   32,    0,   33,    0,    0,  102,    0,    110,    0,  110,  110,  110,    0,    0,    0,    0,    0,
     0,   87,    0,    0,    0,    0,   87,    0,   37,   87,      0,    0,    0,   46,   99,   99,    0,    0,   50,   41,
    40,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,   50,   45,    0,    0,    0,    0,   39,    0,    0,
     0,    0,   34,   87,   87,    0,   87,   87,   87,   36,      0,    0,  116,    0,  110,    0,   50,  113,  111,   50,
     0,    0,   32,    0,   33,    0,    0,    0,    0,   37,    112,    0,  114,    0,   45,    0,    0,    0,    0,   39,
    37,   39,    0,    0,    0,    0,    0,    0,    0,   40,      0,    1,    2,    0,    3,    4,    5,    6,    7,    8,
     0,    0,    0,    0,    0,    0,    0,    0,   87,   49,      9,   10,   11,   12,    0,  110,  110,   13,   14,   15,
    49,    0,   47,    0,   49,   49,   49,   49,   49,    0,     50,   16,   17,   18,   19,    0,   20,   21,   22,   23,
    49,    0,    0,    0,    0,    0,   62,   65,   66,    0,     24,   25,   26,   27,   28,   29,   30,    0,    0,  115,
    39,   49,   49,   88,   49,   49,   49,    0,   88,   87,      0,    0,   31,    0,   32,   33,   34,   35,   36,    0,
    87,   88,    0,    0,    0,    0,   89,    0,    0,    0,      0,   50,   50,    1,    2,    0,    3,    4,    5,    6,
     0,   89,    0,  106,   89,   88,   88,    0,   88,   88,      7,    8,    9,   10,   11,   12,    0,    0,    0,   13,
    88,    0,    0,    0,   49,    0,   49,   49,   89,   89,     14,   15,    0,   16,   17,   18,   19,    0,   20,   21,
     0,   89,   89,   89,    0,  123,    0,    0,    0,    0,     22,   23,   24,   25,   26,   27,   28,   29,   30,    0,
       0,    0,    0,    0,   31,    0,   32,   33,   34,   35,
      36,    0,    1,    2,    0,    3,    4,    5,    6,    7,
       8,    9,   10,   11,   12,    0,    0,    0,   13,   14,
      15,    0,   16,   17,   18,   19,    0,   20,   21,   22,
      23,   24,   25,   26,   27,   28,   29,   30,    0,    0,
       3,    4,    0,   31,   99,   32,   33,   34,   35,   36,
       0,  232,    0,   13,   14,   15,    0,    0,    0,    0,
      93,    0,    3,    4,    0,   23,   24,   25,   26,   27,
      28,   29,   30,    0,    0,   13,   14,   15,   31,    0,
      32,   33,   75,   35,   36,    0,    0,   23,   24,   25,
      26,   27,   28,   29,   30,  110,    0,    0,    0,    0,
      31,   40,   32,   33,   75,   35,   36,    0,   42,    0,
      94,   37,    0,   38,  100,  101,  102,    0,    0,    0,
       0,    0,   40,    0,    0,    0,    0,    0,   46,   42,
       0,    0,   37,    0,   38,    0,    0,  103,  104,  105,
     106,  107,    0,  108,    0,    0,    0,    0,  109,   46,
       0,    0,    0,    0,    0,    0,    0,    0,    0,   45,
       0,   62,   62,    0,   39,    0,   62,   62,   62,   62,
      62,    0,   62,    0,    0,    0,    0,    0,    0,    0,
      45,    0,    0,   62,   62,   39,   62,   62,   62,    0,
       0,    0,    0,    0,    0,    0,    0,    0,   80,   80,
       0,    0,    0,   80,   80,   80,   80,   80,    0,   80,
       0,    0,    0,    0,    0,    0,   62,    0,   62,   62,
      80,   80,    0,   80,   80,   80,    0,   56,    0,    0,
       0,    0,    0,    0,    0,   81,   81,    0,    0,    0,
      81,   81,   81,   81,   81,    0,   81,    0,    0,   62,
      62,    0,    0,    0,    0,   80,   80,   81,   81,    0,
      81,   81,   81,    0,    0,    0,    0,    0,    0,    0,
       0,    4,    0,    0,    0,    0,    0,    0,    0,    0,
       0,    0,  123,   13,   14,    0,   80,   80,    0,    0,
       0,    0,   81,   81,    0,   23,   24,   25,   26,   27,
      28,   29,   30,    0,    0,    0,    0,    0,  147,  105,
      32,   33,   75,   35,  105,    0,    0,  105,  152,    0,
       0,    0,    0,   81,   81,    0,    0,    3,    4,    0,
       0,  105,  105,    0,  105,  105,  105,    0,    0,    0,
      13,   14,   15,    0,    0,  176,    0,  178,    3,    4,
       0,    0,   23,   24,   25,   26,   27,   28,   29,   30,
       0,   13,   14,   15,    0,   31,  105,   32,   33,   75,
      35,   36,    0,   23,   24,   25,   26,   27,   28,   29,
      30,    0,    0,   62,    0,    0,   31,    0,   32,   33,
      75,   35,   36,    0,   62,   62,   62,  105,  105,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    88,    0,    0,    0,    0,    0,    0,   49,   49,    0,      0,    0,    0,    0,    0,    0,    0,   62,   62,   62,
     0,    0,   80,   89,    3,    4,    0,    0,    0,    0,     62,   62,    0,   62,    0,    0,    0,    0,   62,   62,
     0,    0,    8,    9,   10,    0,    0,    0,   87,   88,      0,   80,   80,   80,    0,    0,  237,    0,    0,    0,
    89,   88,   88,   18,   19,   20,   21,   22,   23,   24,      0,   83,    0,    0,    0,    0,   83,    0,    0,   83,
    25,    0,    0,    0,   89,   89,   26,    0,   27,   28,      0,    0,    0,    0,   80,   80,   80,   80,   80,    0,
    63,   30,   31,    0,    0,    0,   95,    0,    0,    0,     80,    0,    0,   83,   83,   80,   80,   83,   81,   81,
     0,   96,    0,    0,    0,    0,    0,    0,    0,    3,     81,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     4,    0,    0,    0,    0,    0,    0,    8,    9,   10,  
     0,    0,    0,    0,    0,    0,    0,  194,   18,   19,  
    20,   21,   22,   23,   24,   25,    0,    0,    0,    0,  
     0,   26,    0,   27,   28,   63,   30,   31,    3,    4,  
   213,   87,   87,   87,   87,   87,    8,    9,   10,    0,  
     0,    0,    0,   87,    0,    0,    0,   18,   19,   20,  
    21,   22,   23,   24,   25,    0,    0,  231,    0,    0,  
    26,   49,   27,   28,   63,   30,   31,   49,   49,   49,  
     0,    0,    0,    0,    0,    0,    0,  243,    0,    0,  
     0,    0,    0,    0,    0,    0,    0,    0,    0,   49,  
    49,   49,   49,   49,    0,   49,    0,   67,   67,    0,  
    49,   49,   67,   67,   67,   67,   67,    0,   67,    0,  
     0,    0,    0,    0,   88,   88,   88,   88,    0,   67,  
    67,    0,   67,   67,   67,   88,   68,   68,   89,   89,  
    89,   68,   68,   68,   68,   68,  103,   68,   89,    0,  
     0,  100,   98,    0,   99,    0,  101,    0,   68,   68,  
     0,   68,   68,   68,   67,   67,    0,    0,    0,    0,  
     0,    0,    0,    0,    0,   72,   72,    0,    0,    0,  
    72,   72,   72,   72,   72,    0,   72,    0,    0,    0,  
     0,    0,    0,   68,   68,   67,   67,   72,   72,    0,  
    72,   72,   72,  102,   83,   83,    0,    0,    0,   83,  
    83,   83,   83,   83,   90,   83,    0,    0,    0,   90,  
     0,    0,   90,    0,   68,   68,   83,   83,    0,   83,  
    83,   83,   72,   72,    0,    0,   90,   90,    0,   90,  
    90,   90,    0,   78,   78,    0,    0,    0,   78,   78,  
    78,   78,   78,    0,   78,    0,    0,    0,    0,    0,  
     0,   83,   83,   72,   72,   78,   78,    0,   78,   78,  
    78,   90,    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,
    79,   79,   83,   83,    0,   79,   79,   79,   79,   79,      0,   81,   81,   81,   81,   81,    0,   81,   83,   85,
    78,   79,   90,   90,    0,    0,    0,    0,    0,    0,     85,    0,   81,   81,   85,   85,   85,   85,   85,    0,
     0,    0,   79,   79,    0,   79,   79,   79,    0,   81,     85,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    81,    0,    0,    0,   81,   81,   81,   81,   81,    0,      0,   85,   85,    0,   85,   85,   85,    0,    0,   83,
    81,   78,   78,    0,    0,   67,   67,   67,    0,    0,     83,    0,    0,    0,    0,    0,   96,   96,    0,    0,
     0,   81,   81,    0,   81,   81,   81,   79,    0,    0,      0,   96,   96,   96,   96,   96,    0,   96,    0,    0,
     0,    0,    0,    0,    0,    0,    0,   67,   67,   67,      0,    0,    0,    0,    0,    0,   85,   85,   96,   96,
    67,   67,    0,   67,   68,   68,   68,    0,   67,   67,      0,   96,   96,   96,    0,  105,  105,  105,  105,  105,
     0,    0,    0,   87,   88,   89,   81,    0,   79,   79,      0,  105,    0,   91,   91,    0,    0,  105,   91,   91,
     0,    0,    0,    0,    0,    0,   68,   68,   68,   68,     91,   91,   91,    0,   91,    0,    0,   85,   85,    0,
    68,    0,   68,    0,    0,   90,   91,   68,   68,    0,      0,    0,    0,   96,   96,   91,   91,    0,   91,   91,
     0,   95,    0,   72,   72,   72,   96,   81,   81,    0,     91,    0,    0,    0,    0,    0,    0,    0,    0,   92,
     0,    0,    0,   80,   80,    0,    0,    0,   80,   80,     92,    0,    0,    0,   92,   92,   92,   92,   92,    0,
    80,   80,   80,    0,   80,   72,   72,   72,   72,   72,     92,    0,    0,    0,   96,   96,    0,    0,    0,    0,
     0,   72,   83,   83,   83,   80,   80,   72,   80,   80,     91,   92,   92,    0,   92,   92,   92,    0,    0,    0,
    80,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,   94,   94,    0,
     0,    0,    0,    0,   83,   83,   83,   83,   83,    0,      0,    0,   94,   94,   94,   94,   94,    0,   94,    0,
    83,    0,    0,    0,    0,    0,   83,   90,   90,    0,      0,   91,   91,    0,    0,    0,   92,    0,    0,   94,
    80,   78,   78,   78,    0,    0,   90,    0,    0,    0,     94,    0,   94,   94,   94,    0,    0,    0,    0,    0,
     0,   49,   49,    0,    0,    0,    0,   49,   49,    0,      0,    0,    0,    0,   93,   93,    0,    0,    0,   93,
    49,    0,   49,   78,   78,   78,   78,   78,    0,   78,     93,   93,   93,   93,  103,   93,    0,   92,   92,  103,
     0,   80,   80,    0,   49,   78,   49,    0,   49,    0,      0,    0,  103,    0,   94,    0,   93,   93,    0,   93,
     0,    0,    0,    0,    0,    0,    0,    0,   79,   79,     93,   93,    0,    0,    0,    0,  103,  103,    0,  103,
    79,    0,    0,    0,    0,    0,    0,    0,    0,    0,    103,  103,  106,    0,    0,    0,    0,  106,    0,    0,
     0,    0,    0,    0,    0,    0,   49,    0,    0,   49,    106,    0,   85,   85,   85,   94,   94,    0,    0,    0,
    79,   79,   79,   79,   79,    0,   79,   81,   81,   81,      0,   93,    0,    0,  106,  106,    0,  106,  106,    0,
     0,    0,   79,    0,    0,    0,    0,   74,    0,    0,      0,  103,    0,    0,    0,   85,   85,   85,   85,   85,
     0,    0,   74,    0,   74,   74,   74,    0,    0,   81,      0,   85,    0,    0,    0,    0,    0,   85,    0,   96,
    81,   81,   81,   81,    0,   81,    0,    0,    0,   74,     96,   96,   93,   93,    0,    0,    0,    0,    0,  106,
    74,   81,   74,   74,   74,    0,    0,    0,    0,    0,    116,    0,  103,  103,    0,  113,  111,    0,  112,    0,
     0,    0,    0,   75,    0,    0,    0,    0,   75,    0,    114,    0,   96,   96,   96,   96,   96,   82,   96,    0,
    75,   75,   75,    0,    0,    0,    0,    0,    0,    0,      0,    0,   82,    0,   96,   82,   91,   91,   91,    0,
     0,    0,    0,    0,   74,   75,   75,    0,   75,   75,    106,  106,    0,    0,    0,    0,    0,    0,    0,   82,
    75,    0,    0,    0,    0,    0,    0,    0,    0,   76,     82,    0,    0,   82,    0,    0,    0,    0,    0,   91,
     0,    0,    0,    0,   76,    0,   76,   76,   76,    0,     91,   91,   91,   91,    0,   91,    0,  115,    0,    0,
     0,   80,   80,   80,    0,   74,   74,    0,    0,    0,      0,   91,   92,   92,   92,    0,    0,    0,    0,    0,
    75,   76,   76,    0,   76,   76,   76,    0,    0,    0,      0,    0,    0,    0,   82,    0,    0,    0,    0,    0,
     0,    0,    0,   80,   80,   80,   80,   80,    0,   80,      0,    0,    0,    0,    0,   92,   92,   92,   92,   92,
     0,   77,    0,    0,    0,   80,   77,    0,   77,   77,      0,   92,    0,    0,    0,    0,    0,   92,    0,    0,
    77,   75,   75,    0,    0,    0,   76,    0,    0,    0,     94,   94,   94,    0,    0,   82,   82,    0,    0,    0,
     0,    0,    0,   77,   77,    0,   77,   77,   77,    0,  
     0,    0,    0,   49,    0,    0,    0,    0,    0,   49,  
    49,   49,    0,   50,   50,    0,    0,   76,   76,   50,  
    50,    0,   50,    0,   50,    0,    0,    0,   77,    0,  
     0,   49,   49,   49,   49,   49,   50,   49,   50,    0,  
    50,    0,   49,   49,    0,    0,    0,    0,    0,    0,  
     0,    0,    0,    0,    0,    0,   38,  103,    0,   77,  
    77,    0,  100,   98,    0,   99,    0,  101,   50,    0,  
     0,   50,   82,    0,    0,    0,    0,   82,    0,   37,  
    82,  104,    0,  105,    0,   74,   74,   74,    0,    0,  
     0,    0,    0,    0,   82,   82,    0,   82,   82,   82,  
     0,    0,    0,    0,    0,    0,    0,   74,   74,   74,  
    74,   74,    0,   74,  102,    0,    0,    0,    0,   74,  
     0,   75,   75,   75,    0,    0,    0,    0,    0,   82,  
   103,    0,    0,    0,    0,  100,   98,    0,   99,    0,  
   101,    0,    0,   75,   75,   75,   75,   75,   85,   75,  
     0,    0,    0,   85,    0,   75,   85,   76,   76,   76,  
    82,   82,    0,    0,    0,    0,    0,    0,    0,    0,  
    85,   85,    0,   85,   85,   85,    0,    0,    0,   76,  
    76,   76,   76,   76,    0,   76,    0,  102,   84,    0,  
     0,   76,    0,   84,    0,    0,   84,    0,    0,   77,  
    77,   77,    0,    0,    0,   85,    0,    0,    0,    0,  
    84,   84,    0,   84,   84,   84,    0,    0,    0,    0,  
     0,   77,   77,   77,   77,   77,   92,   77,    0,    0,  
     0,   92,    0,   77,   92,   50,   85,   85,    0,    0,  
     0,   50,   50,   50,    0,   84,    0,    0,   92,   92,  
     0,   92,   92,   92,    0,    0,    0,    0,    0,    0,  
     0,    0,    0,   50,   50,   50,   50,   50,    0,   50,  
     0,    0,    0,   93,   50,   50,   84,   84,   93,    0,  
     0,   93,    0,   92,   87,   88,   89,    0,    0,    0,  
     0,    0,    0,    0,    0,   93,   93,    0,   93,   93,  
    82,   82,   82,    0,    0,    0,   90,   91,   92,   93,  
    94,    0,   95,    0,   92,   92,    0,   96,   97,    0,  
     0,    0,   82,   82,   82,   82,   82,  103,   82,    0,  
    93,  136,  100,   98,   82,   99,    0,  101,    0,    0,  
   103,    0,    0,    0,  167,  100,   98,    0,   99,    0,  
   101,  104,    0,  105,    0,    0,    0,   87,   88,   89,  
     0,   93,   93,    0,  104,    0,  105,    0,    0,    0,  
     0,    0,    0,    0,    0,    0,    0,   85,   85,   90,  
    91,   92,   93,   94,  102,   95,    0,    0,    0,    0,  
    96,    0,    0,    0,    0,    0,    0,  102,   85,   85,  
    85,   85,   85,  103,   85,    0,    0,  168,  100,   98,  
    85,   99,    0,  101,    0,    0,    0,   84,    0,    0,  
     0,    0,    0,    0,    0,    0,    0,  104,    0,  105,  
     0,    0,    0,    0,    0,    0,    0,    0,   84,   84,  
    84,   84,   84,  103,   84,    0,    0,  169,  100,   98,  
    84,   99,    0,  101,    0,    0,    0,    0,    0,    0,  
   102,    0,    0,    0,    0,    0,    0,  104,    0,  105,  
     0,    0,    0,    0,    0,    0,   92,   92,   92,   92,  
    92,    0,   92,    0,  103,    0,    0,    0,   92,  100,  
    98,  179,   99,    0,  101,    0,    0,    0,    0,    0,  
   102,  103,    0,    0,    0,  185,  100,   98,  104,   99,  
   105,  101,    0,    0,    0,    0,    0,    0,    0,    0,  
     0,    0,    0,    0,    0,  104,    0,  105,    0,    0,  
     0,    0,    0,    0,    0,   93,    0,    0,    0,  103,  
     0,  102,    0,    0,  100,   98,    0,   99,    0,  101,  
     0,    0,    0,    0,   87,   88,   89,    0,  102,    0,  
   187,    0,    0,  104,    0,  105,    0,   87,   88,   89,  
     0,    0,    0,    0,    0,    0,   90,   91,   92,   93,  
    94,    0,   95,    0,    0,    0,    0,   96,   97,   90,  
    91,   92,   93,   94,    0,   95,  102,    0,    0,    0,  
    96,   97,    0,  103,    0,    0,    0,    0,  100,   98,  
     0,   99,    0,  101,    0,    0,  103,    0,    0,    0,  
     0,  100,   98,  222,   99,    0,  101,  104,    0,  105,  
    87,   88,   89,  103,    0,    0,    0,    0,  100,   98,  
   104,   99,  105,  101,    0,    0,    0,    0,    0,    0,  
     0,    0,   90,   91,   92,   93,   94,    0,   95,  188,  
   102,    0,    0,   96,   97,    0,    0,  209,    0,    0,  
    87,   88,   89,  102,    0,  103,    0,    0,    0,  242,  
   100,   98,    0,   99,    0,  101,    0,    0,    0,    0,  
   102,    0,   90,   91,   92,   93,   94,    0,   95,  104,  
     0,  105,    0,   96,   97,    0,    0,    0,    0,    0,  
     0,   87,   88,   89,  103,    0,    0,    0,    0,  100,  
    98,    0,   99,    0,  101,    0,    0,    0,   87,   88,  
    89,    0,  102,   90,   91,   92,   93,   94,  104,   95,  
   105,    0,    0,    0,   96,   97,    0,    0,    0,    0,  
    90,   91,   92,   93,   94,    0,   95,    0,    0,    0,  
     0,   96,   97,    0,    0,    0,   87,   88,   89,  103,  
     0,  102,    0,    0,  100,   98,  103,   99,    0,  101,  
     0,  100,   98,    0,   99,    0,  101,    0,   90,   91,  
    92,   93,   94,    0,   95,  105,    0,    0,    0,   96,  
    97,    0,    0,    0,    0,    0,    0,    0,   86,    0,  
     0,    0,    0,  103,    0,    0,    0,    0,  100,   98,  
     0,   99,    0,  101,    0,    0,  102,  119,  120,  121,  
    87,   88,   89,  102,    0,    0,    0,    0,    0,    0,  
     0,  130,  131,   87,   88,   89,    0,    0,    0,    0,  
     0,    0,   90,   91,   92,   93,   94,    0,   95,    0,  
    87,   88,   89,   96,   97,   90,   91,   92,   93,   94,  
   102,   95,    0,    0,    0,    0,   96,   97,    0,    0,  
   164,    0,   90,   91,   92,   93,    0,    4,   95,    0,  
   174,    0,   70,   96,    8,    9,    0,   70,    0,    0,  
    70,    0,   87,   88,   89,   18,   19,   20,   21,   22,  
    23,   24,   25,    0,   70,   70,    0,    0,   70,    0,  
    27,   28,   63,   30,   90,   91,   92,   93,   94,    0,  
    95,  191,    0,    0,    0,   96,   97,    0,  195,    0,  
   197,   87,   88,   89,  200,  201,  202,    0,    0,   70,  
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,   90,   91,   92,   93,   94,    0,   95,      0,    0,    0,   94,   94,   94,   94,   94,    0,   94,
     0,    0,  223,    0,   96,   97,    0,    0,    0,  228,      0,    0,    0,    0,    0,   94,    0,   93,   93,   93,
    70,   70,    0,    0,    0,  232,   69,    0,    0,    0,      0,    0,   62,   62,    0,    0,    0,    0,   62,   62,
     0,   69,    0,    0,   69,    0,   87,   88,   89,    0,      0,   62,    0,   62,    0,    0,    0,    0,    0,    0,
     0,    0,    0,   87,   88,   89,    0,    0,   69,   69,     93,   93,   93,   93,   93,   62,   93,   62,    0,   62,
     0,    0,   69,    0,    0,    0,    0,    0,   90,   91,      0,    0,   93,  103,  103,    0,    0,    0,    0,   87,
    92,   93,   94,   42,   95,   90,   91,   92,    0,   96,      0,    0,  103,    0,   87,    0,   87,   87,   87,    0,
     0,   95,    0,    0,   42,    0,   96,    0,    0,   64,      0,    0,    0,    0,    0,    0,    0,   62,    0,    0,
    87,   88,   89,   69,    0,    0,    0,    0,    0,   72,     62,   87,   87,    0,   87,   87,   87,    0,    0,    0,
     0,    0,    0,    0,   75,   76,   77,   78,    0,   82,    106,    0,    0,    0,    0,   88,    0,    0,    0,    0,
     0,    0,   90,    0,    0,    0,    0,    0,   95,    0,     88,    0,   88,   88,   88,    0,    0,    0,    0,    0,
     0,    0,    0,   96,   69,   69,    0,    0,  115,  116,      0,    0,  100,  101,  102,    0,   87,   88,   88,    0,
   117,    0,    0,    0,    0,    0,    0,    0,    0,    0,     88,   88,   88,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,  127,    0,    0,    0,    0,    0,    0,      0,   89,    0,    0,    0,  103,   89,    0,   89,   89,
     0,    0,   42,    0,  135,    0,    0,    0,    0,    0,     89,  108,    0,    0,    0,    0,  109,   87,   87,    0,
   140,  141,  142,  143,  144,  145,  146,  147,  148,    0,      0,    0,   88,   89,   89,    0,   89,   89,   89,    0,
   149,  150,  151,  152,  153,  154,  155,  156,  157,    0,  
     0,  159,    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,
      90,    0,    0,    0,    0,   90,    0,   90,   90,   90,
       0,    0,    0,   88,   88,    0,  102,    0,   89,    0,
       0,  102,   90,   90,  102,   90,   90,   90,    0,    0,
       0,    0,    0,    0,    0,    0,    0,    0,  102,  102,
       0,  102,  102,  102,    0,   63,   63,    0,    0,   89,
      89,   63,   63,    0,   63,    0,   63,   90,    0,    0,
       0,    0,    0,    0,    0,    0,    0,    0,   63,    0,
      63,    0,   63,  102,   62,    0,    0,    0,    0,    0,
       0,    0,    0,    0,    0,   62,   62,   62,   90,   90,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,  186,    0,    0,    0,    0,    0,    0,    0,    0,     63,    0,    0,   63,  102,  102,    0,    0,   62,   62,
      62,   62,   62,   95,   62,    0,    0,    0,   95,   62,
      62,   95,   87,   87,   87,    0,    0,    0,    0,    0,
       0,    0,    0,    0,    0,   95,   95,    0,   95,   95,
      95,    0,    0,    0,    0,   87,   87,   87,   87,   87,
       0,   87,    0,    0,    0,    0,    0,   87,   88,   88,
      88,    0,    0,    0,    0,    0,    0,    0,    0,    0,
      95,    0,    0,    0,    0,    0,    0,    0,    0,    0,
       0,   88,   88,   88,   88,   88,    0,   88,    0,    0,
       0,    0,    0,   88,   89,   89,   89,    0,    0,    0,
       0,   95,   95,   44,  116,    0,    0,    0,    0,  113,
     111,    0,  112,    0,  114,    0,    0,   89,   89,   89,
      89,   89,    0,   89,    0,    0,   43,    0,  117,   89,
     118,    0,    0,   90,   90,   90,    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,   90,   90,   90,   90,
      90,  115,   90,    0,   97,    0,    0,   63,   90,   97,
       0,    0,   97,    0,  102,  102,  102,    0,   63,   63,
      63,    0,    0,    0,  102,    0,   97,   97,    0,   97,
      97,   97,    0,    0,    0,    0,    0,    0,    0,    0,
       0,   63,   63,   63,   63,   63,  100,   63,    0,    0,
       0,  100,   63,   63,  100,    0,    0,    0,    0,    0,
       0,   97,    0,    0,    0,    0,    0,    0,  100,  100,
       0,  100,  100,  100,    0,  116,    0,    0,    0,  154,
     113,  111,    0,  112,    0,  114,   95,   95,   95,    0,
     116,    0,   97,   97,  188,  113,  111,    0,  112,  117,
     114,  118,    0,  100,    0,    0,    0,    0,    0,   95,
      95,   95,   95,   95,  117,   95,  118,    0,    0,    0,
       0,   95,    0,    0,    0,    0,    0,    0,    0,    0,
       0,    0,  115,  116,  100,  100,    0,  189,  113,  111,
       0,  112,    0,  114,    0,    0,    0,  115,    0,    0,
     116,    0,    0,    0,    0,  113,  111,  117,  112,  118,
     114,    0,    0,  116,    0,    0,    0,  190,  113,  111,
       0,  112,    0,  114,    0,    0,  100,  101,  102,    0,
       0,    0,    0,    0,    0,    0,    0,  117,    0,  118,
     115,    0,    0,    0,    0,    0,    0,    0,    0,  103,
     104,  105,  106,  107,    0,  108,    0,  115,  116,    0,
     109,  110,    0,  113,  111,  200,  112,    0,  114,    0,
     115,  116,    0,    0,    0,  206,  113,  111,    0,  112,
       0,  114,  117,    0,  118,    0,    0,    0,   97,    0,
       0,    0,    0,    0,    0,  117,    0,  118,    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,   42,    0,   42,    0,    0,    0,     97,   97,   97,   97,   97,  115,   97,    0,    0,  116,
     0,    0,  203,    0,    0,    0,    0,    0,    0,    0,      0,    0,   97,    0,  113,  111,    0,  112,  115,  114,
   212,    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,   82,    0,    0,    0,    0,    0,    0,    0,    208,    0,    0,  117,    0,  118,    0,    0,    0,    0,
     0,   42,    0,    0,    0,  234,    0,  236,  237,    0,      0,    0,  100,  100,  100,  100,  100,  100,  101,  102,
       0,  116,    0,    0,  100,    0,  113,  111,  246,  112,
       0,  114,  100,  101,  102,    0,  115,    0,    0,    0,
     103,  104,  105,  106,  107,  117,  108,  118,    0,    0,
       0,  109,  110,    0,    0,  103,  104,  105,  106,  107,
       0,  108,    0,  116,    0,    0,  109,  110,  113,  111,
       0,  112,    0,  114,    0,  100,  101,  102,  115,    0,
       0,    0,    0,    0,    0,    0,    0,  117,    0,  118,
       0,    0,  100,  101,  102,    0,    0,    0,  103,  104,
     105,  106,  107,    0,  108,  100,  101,  102,    0,  109,
     110,    0,    0,    0,    0,  103,  104,  105,  106,  209,
     115,  108,    0,    0,    0,    0,  109,    0,  103,  104,
     105,  106,  107,    0,  108,    0,  116,    0,    0,  109,
     110,  113,  111,    0,  112,    0,  114,    0,    0,  116,
     100,  101,  102,    0,  113,  111,    0,  112,    0,  114,
     117,    0,  118,  100,  101,  102,    0,    0,    0,    0,
       0,    0,    0,  103,  104,  105,  106,  107,    0,  108,
       0,    0,    0,    0,  109,  110,  103,  104,  105,  106,
     107,    0,  108,  115,    0,  116,    0,  109,  110,  265,
     113,  111,    0,  112,    0,  114,  115,    0,    0,    0,
       0,  100,  101,  102,    0,    0,    0,    0,    0,  117,
       0,  118,    0,    0,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,  103,  104,  105,  106,  107,    0,
     108,    0,    0,    0,    0,  109,  110,    0,    0,    0,
       0,    0,  115,  100,  101,  102,    0,  116,    0,    0,
       0,    0,  113,  111,    0,  112,    0,  114,    0,    0,
       0,    0,    0,    0,    0,    0,  103,  104,  105,  106,
     107,    0,  108,  118,    0,    0,    0,  109,  110,    0,
       0,    0,    0,  116,    0,  100,  101,  102,  113,  111,
       0,  112,    0,  114,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,  115,    0,    0,    0,  103,  104,
     105,  106,  107,    0,  108,   53,    0,    0,    0,  109,
     110,    0,   61,    0,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,   74,   77,   78,    0,    0,    0,
     115,    0,    0,    0,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,    0,    0,  100,  101,
     102,    0,  119,    0,    0,    0,    0,    0,    0,    0,
       0,  100,  101,  102,  126,    0,    0,    0,    0,    0,
     132,  103,  104,  105,  106,  107,    0,  108,    0,   99,
     141,    0,  109,  110,  103,  104,  105,    0,    0,    0,
     108,    0,    0,    0,    0,  109,    0,    0,    0,    0,
       0,    0,    0,    0,  137,  138,  139,  100,  101,  102,
       0,    0,    0,    0,    0,    0,    0,    0,  148,  149,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,   42,    0,    0,   42,    103,  104,  105,  106,  107,    0,  108,    0,    0,    0,
       0,  109,  110,    0,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,    0,    0,  182,    0,
       0,    0,    0,    0,    0,    0,    0,    0,    0,  100,
     101,  102,    0,  195,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,    0,    0,  215,  216,
     217,    0,  103,  104,  105,  106,  107,    0,  108,    0,
       0,    0,    0,  109,    0,  100,  101,  102,    0,    0,
       0,    0,    0,    0,  236,    0,    0,  239,    0,    0,
       0,    0,    0,    0,  218,    0,  220,    0,  103,  104,
     223,  224,  225,    0,  108,    0,    0,    0,    0,  109,
       0,    0,    0,    0,  254,  238,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     247,    0,    0,  266,    0,    0,    0,  252,    0,    0,
       0,    0,    0,    0,  255,
 };  };
 const short yycheck[] = {                                      41,  const short yycheck[] = {                                      94,
     0,   94,   36,   91,   37,   36,   41,    0,   40,   42,      0,   91,   40,   44,   37,   40,   40,   36,   36,   42,
    43,   40,   45,  295,   47,   40,   44,   41,   11,  295,     43,  301,   45,  301,   47,   41,   44,   41,   36,   41,
    41,   41,   41,   44,   59,   59,   40,   62,   59,   37,    301,   41,  301,   36,   44,   36,  300,  301,   40,   37,
   294,  295,  123,   33,   42,   43,   36,   45,   41,   47,     59,   59,  123,   33,   42,   43,   36,   45,   40,   47,
    40,   44,   40,   43,   41,   45,   36,   44,   40,   40,     40,   59,   40,   43,   36,   45,   59,   41,   59,   41,
     2,   41,   40,   40,   44,   40,   40,   40,   93,   59,     41,   41,   44,   37,   44,   40,   63,   64,   42,   59,
    60,   94,   40,   40,   40,  294,  271,  295,   58,   59,     60,   94,   40,   47,   40,   59,   58,   59,   62,   61,
   295,   61,   62,   63,  295,   33,   93,  297,   36,   44,     62,   63,   41,  300,   41,   44,   40,   44,   40,   40,
    62,   41,   40,   40,   40,   43,   94,   45,   36,  124,     40,   40,   36,   40,  125,  123,   94,   41,  123,   36,
   125,   91,   59,   41,  123,   44,   44,  125,  123,   51,     44,   91,   59,  277,   41,   62,   96,   44,  124,   93,
   124,   59,   60,   93,  124,  124,   41,   41,   44,  125,    124,   93,  124,  301,   58,   59,  301,   61,   62,   63,
    58,   59,   44,   61,   62,   63,   37,   33,   41,   71,     94,   58,   59,    0,   61,   62,   63,  303,  301,   93,
    36,   42,   41,  123,   40,  125,   47,   43,   80,   45,     44,   62,   41,  123,   40,  125,   93,   44,  301,   16,
    41,   37,  294,   91,  124,  125,   42,   43,   40,   45,    124,  125,  124,  125,   21,   40,   59,   37,    0,   93,
    58,   47,   40,   59,   60,   93,   41,   41,  274,   59,     41,   44,   42,   43,   31,   45,   93,   47,   41,   36,
    41,   41,   41,   61,   61,  107,  296,  109,   41,   33,     37,   38,   39,   40,   16,   42,   44,  124,  125,   41,
    41,  123,   36,   41,   93,  123,   40,  125,   41,   43,    125,   41,   41,  300,   40,   40,   58,   41,  258,   59,
   258,   45,   59,   94,   62,   91,  124,  125,  171,  125,    124,  125,  280,   41,   41,   41,   61,  124,  125,  302,
   173,  123,  184,  227,  240,   59,   60,   37,   94,   -1,     67,   68,   69,   37,   61,   41,   41,  123,   42,   43,
    -1,   -1,   42,   43,   -1,   45,   -1,   47,   -1,   -1,     41,   45,   37,   47,   94,   82,   93,   42,   43,   41,
    -1,   -1,   -1,   41,  297,   -1,   44,  123,   33,  125,     45,   62,   47,   41,  125,   92,   59,   94,  303,  123,
    -1,   36,   -1,   -1,   -1,   40,   -1,   91,   43,   -1,    205,  251,  270,  100,  101,  102,  103,  104,  105,  106,
    45,   59,   -1,   -1,   62,  218,   -1,   -1,   -1,   -1,    107,  108,   -1,  110,  111,  112,  113,  114,  115,  116,
    -1,  264,  265,  266,   59,   60,   -1,   -1,  190,   -1,    117,  118,   -1,   -1,  121,   -1,  269,  270,  271,   -1,
    -1,   -1,   -1,   -1,   94,   -1,   -1,   -1,  241,  123,     94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,
    -1,   -1,  294,  295,   -1,   93,  256,  257,   -1,  259,     -1,   -1,   -1,   -1,   -1,   -1,  256,  257,   -1,  259,
   260,  261,  262,  263,  297,   -1,   91,  267,  268,  269,    260,  261,  262,  263,  264,  265,  266,  267,  268,  156,
   270,  271,  272,  273,   -1,  275,  276,  277,  278,  279,    303,   -1,  272,  273,  274,   -1,  276,  277,  278,  279,
   280,  281,  282,  283,  284,  285,  124,  125,   -1,  297,     -1,  281,  282,  283,  284,  285,  286,  287,  288,  289,
    -1,  291,   -1,  293,  294,  295,  296,  297,  256,  257,    290,  291,   -1,   -1,   -1,  303,   -1,  297,   -1,  299,
   290,  259,  260,  261,  262,  263,   -1,   -1,  298,  267,    300,  301,  302,  303,  296,  192,   -1,  194,   33,  300,
   268,  269,  270,  271,  272,  273,   -1,  275,  276,  277,    301,   36,  304,  200,   -1,   40,  270,  271,   43,  303,
   278,  279,  280,  281,  282,  283,  284,  285,   -1,   -1,     45,  208,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,  291,   -1,  293,  294,  295,  296,  297,    192,   -1,  194,   -1,   59,   60,   -1,   -1,  292,  293,
   256,  257,   -1,  259,  260,  261,  262,  263,   -1,   -1,    294,  295,  296,   -1,  298,  232,  293,  294,  295,  296,
   298,  267,  268,  269,  270,  271,  272,  273,  264,  275,    304,   -1,   -1,   -1,   -1,  242,   -1,  304,   -1,  246,
   276,  277,  278,  279,  280,  281,  282,  283,  284,  285,     33,  248,  249,   36,   -1,   -1,   91,   40,   -1,  269,
    -1,   -1,   -1,   -1,   -1,  291,  297,  293,  294,  295,     43,   96,   45,   -1,   -1,   -1,   -1,  264,   -1,   -1,
   296,  297,  256,  257,   -1,  259,  260,  261,  262,  263,    242,   -1,   -1,   -1,  271,   -1,   59,   60,   -1,   -1,
    -1,  297,   -1,  267,  268,  269,  270,  271,  272,  273,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,
    -1,  275,  276,  277,  278,  279,  280,  281,  282,  283,    125,   -1,  264,  303,   -1,   -1,   36,   -1,   -1,   33,
   284,  285,   -1,   -1,  264,   -1,  266,  291,   33,  293,     -1,   41,   36,   -1,   44,  269,   40,  271,   91,   43,
   294,  295,  296,  297,   -1,   40,   -1,   42,   43,   -1,     -1,   45,   -1,   96,  269,  270,  271,   -1,   58,   59,
    45,   37,   -1,   -1,  259,  260,   42,   43,   -1,   45,     -1,   61,   62,   63,   -1,   59,   60,   -1,   -1,   -1,
    -1,   47,  267,  268,  269,   60,   41,  297,   -1,   44,     -1,   -1,   -1,   -1,   33,   -1,   -1,   36,   -1,  303,
    -1,   -1,   -1,  278,  279,  280,  281,  282,  283,  284,    123,   40,  125,  298,   43,   -1,   45,   36,  303,   -1,
   285,   -1,   -1,   -1,   59,   -1,  291,   62,  293,  294,     -1,   -1,   41,   93,   -1,   44,   33,   91,   -1,   -1,
   295,  296,  297,   33,   -1,   -1,   91,   -1,   -1,   -1,     59,   60,   96,   40,   -1,   42,   43,   -1,   45,   58,
    40,   -1,   42,   43,   -1,   45,   -1,   -1,   94,   -1,     59,   -1,   61,   62,   63,   -1,   -1,   -1,   -1,   -1,
    -1,   36,   -1,   -1,   -1,   -1,   41,   -1,   93,   44,     -1,   -1,   -1,   60,  124,  125,   -1,   -1,   41,  123,
    60,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   44,   91,   -1,   -1,   -1,   -1,   96,   -1,   -1,
    -1,   -1,   33,   58,   59,   -1,   61,   62,   63,   40,     -1,   -1,   37,   -1,   93,   -1,   59,   42,   43,   62,
    -1,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,  124,     45,   -1,   47,   -1,   91,   -1,   -1,   -1,   -1,   96,
   125,   91,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,     -1,  256,  257,   -1,  259,  260,  261,  262,  263,  264,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   36,    265,  266,  267,  268,   -1,  124,  125,  272,  273,  274,
    37,   -1,    1,   -1,   41,   42,   43,   44,   45,   -1,     93,  276,  277,  278,  279,   -1,  281,  282,  283,  284,
    47,   -1,   -1,   -1,   -1,   -1,   15,   16,   17,   -1,    285,  286,  287,  288,  289,  290,  291,   -1,   -1,   94,
    91,   58,   59,   36,   61,   62,   63,   -1,   41,  124,     -1,   -1,  297,   -1,  299,  300,  301,  302,  303,   -1,
   125,   44,   -1,   -1,   -1,   -1,   36,   -1,   -1,   -1,     -1,  124,  125,  256,  257,   -1,  259,  260,  261,  262,
    -1,   41,   -1,   42,   44,   58,   59,   -1,   61,   62,    263,  264,  265,  266,  267,  268,   -1,   -1,   -1,  272,
    63,   -1,   -1,   -1,   91,   -1,   93,   94,   58,   59,    273,  274,   -1,  276,  277,  278,  279,   -1,  281,  282,
    -1,   61,   62,   63,   -1,   64,   -1,   -1,   -1,   -1,    283,  284,  285,  286,  287,  288,  289,  290,  291,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,  297,   -1,  299,  300,  301,  302,
    93,   -1,   -1,   -1,   -1,   -1,   -1,  124,  125,   -1,    303,   -1,  256,  257,   -1,  259,  260,  261,  262,  263,
    -1,   -1,  257,   93,  259,  260,   -1,   -1,   -1,   -1,    264,  265,  266,  267,  268,   -1,   -1,   -1,  272,  273,
    -1,   -1,  267,  268,  269,   -1,   -1,   -1,  264,  265,    274,   -1,  276,  277,  278,  279,   -1,  281,  282,  283,
   266,  124,  125,  278,  279,  280,  281,  282,  283,  284,    284,  285,  286,  287,  288,  289,  290,  291,   -1,   -1,
   285,   -1,   -1,   -1,  124,  125,  291,   -1,  293,  294,    259,  260,   -1,  297,  304,  299,  300,  301,  302,  303,
   295,  296,  297,   -1,   -1,   -1,  292,   -1,   -1,   -1,     -1,   40,   -1,  272,  273,  274,   -1,   -1,   -1,   -1,
    -1,  297,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  259,    257,   -1,  259,  260,   -1,  284,  285,  286,  287,  288,
   260,   -1,   -1,   -1,   -1,   -1,   -1,  267,  268,  269,    289,  290,  291,   -1,   -1,  272,  273,  274,  297,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,  166,  278,  279,    299,  300,  301,  302,  303,   -1,   -1,  284,  285,  286,
   280,  281,  282,  283,  284,  285,   -1,   -1,   -1,   -1,    287,  288,  289,  290,  291,  304,   -1,   -1,   -1,   -1,
    -1,  291,   -1,  293,  294,  295,  296,  297,  259,  260,    297,   33,  299,  300,  301,  302,  303,   -1,   40,   -1,
   189,  286,  287,  288,  289,  290,  267,  268,  269,   -1,     42,   43,   -1,   45,  269,  270,  271,   -1,   -1,   -1,
    -1,   -1,   -1,  298,   -1,   -1,   -1,  278,  279,  280,     -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,   60,   40,
   281,  282,  283,  284,  285,   -1,   -1,  216,   -1,   -1,     -1,   -1,   43,   -1,   45,   -1,   -1,  292,  293,  294,
   291,  258,  293,  294,  295,  296,  297,  264,  265,  266,    295,  296,   -1,  298,   -1,   -1,   -1,   -1,  303,   60,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,  236,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  286,     -1,   36,   37,   -1,   96,   -1,   41,   42,   43,   44,
   287,  288,  289,  290,   -1,  292,   -1,   36,   37,   -1,     45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   297,  298,   41,   42,   43,   44,   45,   -1,   47,   -1,     91,   -1,   -1,   58,   59,   96,   61,   62,   63,   -1,
    -1,   -1,   -1,   -1,  287,  288,  289,  290,   -1,   58,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   36,   37,
    59,   -1,   61,   62,   63,  298,   36,   37,  288,  289,     -1,   -1,   -1,   41,   42,   43,   44,   45,   -1,   47,
   290,   41,   42,   43,   44,   45,   37,   47,  298,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,   94,
    -1,   42,   43,   -1,   45,   -1,   47,   -1,   58,   59,     58,   59,   -1,   61,   62,   63,   -1,    2,   -1,   -1,
    -1,   61,   62,   63,   93,   94,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,   -1,   -1,   36,   37,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   36,   37,   -1,   -1,   -1,
    41,   42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,     41,   42,   43,   44,   45,   -1,   47,   -1,   -1,  124,
    -1,   -1,   -1,   93,   94,  124,  125,   58,   59,   -1,    125,   -1,   -1,   -1,   -1,   93,   94,   58,   59,   -1,
    61,   62,   63,   94,   36,   37,   -1,   -1,   -1,   41,     61,   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    42,   43,   44,   45,   36,   47,   -1,   -1,   -1,   41,     -1,  260,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   44,   -1,  124,  125,   58,   59,   -1,   61,     -1,   -1,   57,  272,  273,   -1,  124,  125,   -1,   -1,
    62,   63,   93,   94,   -1,   -1,   58,   59,   -1,   61,     -1,   -1,   93,   94,   -1,  284,  285,  286,  287,  288,
    62,   63,   -1,   36,   37,   -1,   -1,   -1,   41,   42,    289,  290,  291,   -1,   -1,   -1,   -1,   -1,   83,   36,
    43,   44,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,    299,  300,  301,  302,   41,   -1,   -1,   44,   93,   -1,
    -1,   93,   94,  124,  125,   58,   59,   -1,   61,   62,     -1,   -1,   -1,  124,  125,   -1,   -1,  259,  260,   -1,
    63,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,
     272,  273,  274,   -1,   -1,  120,   -1,  122,  259,  260,
      -1,   -1,  284,  285,  286,  287,  288,  289,  290,  291,
      -1,  272,  273,  274,   -1,  297,   93,  299,  300,  301,
     302,  303,   -1,  284,  285,  286,  287,  288,  289,  290,
     291,   -1,   -1,  258,   -1,   -1,  297,   -1,  299,  300,
     301,  302,  303,   -1,  269,  270,  271,  124,  125,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    36,   37,  124,  125,   -1,   41,   42,   43,   44,   45,     -1,   -1,   -1,   -1,   -1,   -1,   -1,  292,  293,  294,
    93,   47,  124,  125,   -1,   -1,   -1,   -1,   -1,   -1,    295,  296,   -1,  298,   -1,   -1,   -1,   -1,  303,  304,
    -1,   -1,   58,   59,   -1,   61,   62,   63,   -1,   36,     -1,  269,  270,  271,   -1,   -1,  211,   -1,   -1,   -1,
    37,   -1,   -1,   -1,   41,   42,   43,   44,   45,   -1,     -1,   36,   -1,   -1,   -1,   -1,   41,   -1,   -1,   44,
    47,  124,  125,   -1,   -1,  264,  265,  266,   -1,   -1,     -1,   -1,   -1,   -1,  292,  293,  294,  295,  296,   -1,
    -1,   58,   59,   -1,   61,   62,   63,   93,   -1,   -1,    298,   -1,   -1,   58,   59,  303,  304,   62,  269,  270,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,  286,  287,  288,    271,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   289,  290,   -1,  292,  264,  265,  266,   -1,  297,  298,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,  264,  265,  266,   93,   -1,  124,  125,     -1,  292,  293,  294,  295,  296,   -1,  298,   93,   36,
    -1,   -1,   -1,   -1,   -1,   -1,  286,  287,  288,  289,     37,   -1,  303,  304,   41,   42,   43,   44,   45,   -1,
   290,   -1,  292,   -1,   -1,  286,  287,  297,  298,   -1,     47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,  292,   -1,  264,  265,  266,  297,  124,  125,   -1,     -1,   58,   59,   -1,   61,   62,   63,   -1,   -1,  124,
    -1,   -1,   -1,   36,   37,   -1,   -1,   -1,   41,   42,    125,   -1,   -1,   -1,   -1,   -1,   36,   37,   -1,   -1,
    43,   44,   45,   -1,   47,  286,  287,  288,  289,  290,     -1,   41,   42,   43,   44,   45,   -1,   47,   -1,   -1,
    -1,  292,  264,  265,  266,   58,   59,  298,   61,   62,     -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   58,   59,
    63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   61,   62,   63,   -1,  292,  293,  294,  295,  296,
    -1,   -1,   -1,   -1,  286,  287,  288,  289,  290,   -1,     -1,  298,   -1,   36,   37,   -1,   -1,  304,   41,   42,
   292,   -1,   -1,   -1,   -1,   -1,  298,  289,  290,   -1,     43,   44,   45,   -1,   47,   -1,   -1,  124,  125,   -1,
    93,  264,  265,  266,   -1,   -1,  298,   -1,   -1,   -1,     -1,   -1,   -1,   93,   94,   58,   59,   -1,   61,   62,
    -1,   36,   37,   -1,   -1,   -1,   -1,   42,   43,   -1,  
    45,   -1,   47,  286,  287,  288,  289,  290,   -1,  292,  
    -1,  124,  125,   -1,   59,  298,   61,   -1,   63,   -1,  
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  264,  265,  
   266,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,   -1,   94,  
   286,  287,  288,  289,  290,   -1,  292,  264,  265,  266,  
    -1,   -1,  298,   -1,   -1,   -1,   -1,   36,   -1,   -1,  
    -1,   -1,   41,   -1,   43,   44,   45,   -1,   -1,  286,  
   287,  288,  289,  290,   -1,  292,   -1,   -1,   -1,   58,  
    59,  298,   61,   62,   63,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,   36,   -1,   -1,   -1,   -1,   41,   -1,  
    43,   44,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,   -1,   93,   58,   59,   -1,   61,   62,  
    63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   36,     63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   36,
    -1,   -1,   -1,   -1,   41,   -1,   43,   44,   45,   -1,     37,   -1,   -1,   -1,   41,   42,   43,   44,   45,   -1,
    -1,  264,  265,  266,   -1,  124,  125,   -1,   -1,   -1,     47,   -1,   -1,   -1,  124,  125,   -1,   -1,   -1,   -1,
    93,   58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,     93,   58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,
    -1,   -1,   -1,  286,  287,  288,  289,  290,   -1,  292,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   36,   37,   -1,
    -1,   36,   -1,   -1,   -1,  298,   41,   -1,   43,   44,     -1,   -1,   41,   42,   43,   44,   45,   -1,   47,   -1,
    45,  124,  125,   -1,   -1,   -1,   93,   -1,   -1,   -1,     -1,  124,  125,   -1,   -1,   -1,   93,   -1,   -1,   58,
    -1,   -1,   -1,   58,   59,   -1,   61,   62,   63,   -1,     59,   -1,   61,   62,   63,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,  258,   -1,   -1,   -1,   -1,   -1,  264,     -1,   -1,   -1,   -1,   36,   37,   -1,   -1,   -1,   41,
   265,  266,   -1,   36,   37,   -1,   -1,  124,  125,   42,     42,   43,   44,   45,   36,   47,   -1,  124,  125,   41,
    43,   -1,   45,   -1,   47,   -1,   -1,   -1,   93,   -1,     -1,   -1,   44,   -1,   93,   -1,   58,   59,   -1,   61,
    -1,  286,  287,  288,  289,  290,   59,  292,   61,   -1,     62,   63,   -1,   -1,   -1,   -1,   58,   59,   -1,   61,
    63,   -1,  297,  298,   -1,   -1,   -1,   -1,   -1,   -1,     62,   63,   36,   -1,   -1,   -1,   -1,   41,   -1,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   36,   37,   -1,  124,     44,   -1,  269,  270,  271,  124,  125,   -1,   -1,   -1,
   125,   -1,   42,   43,   -1,   45,   -1,   47,   91,   -1,     -1,   93,   -1,   -1,   58,   59,   -1,   61,   62,   -1,
    -1,   94,   36,   -1,   -1,   -1,   -1,   41,   -1,   59,     -1,   93,   -1,   -1,   -1,  292,  293,  294,  295,  296,
    44,   61,   -1,   63,   -1,  264,  265,  266,   -1,   -1,     -1,  298,   -1,   -1,   -1,   -1,   -1,  304,   -1,  269,
    -1,   -1,   -1,   -1,   58,   59,   -1,   61,   62,   63,    270,  271,  124,  125,   -1,   -1,   -1,   -1,   -1,   93,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,  286,  287,  288,     37,   -1,  124,  125,   -1,   42,   43,   -1,   45,   -1,
   289,  290,   -1,  292,   94,   -1,   -1,   -1,   -1,  298,     47,   -1,  292,  293,  294,  295,  296,   36,  298,   -1,
    -1,  264,  265,  266,   -1,   -1,   -1,   -1,   -1,   93,     -1,   -1,   41,   -1,  304,   44,  269,  270,  271,   -1,
    37,   -1,   -1,   -1,   -1,   42,   43,   -1,   45,   -1,    124,  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,
    47,   -1,   -1,  286,  287,  288,  289,  290,   36,  292,     59,   -1,   -1,   62,   -1,   -1,   -1,   -1,   -1,  292,
    -1,   -1,   -1,   41,   -1,  298,   44,  264,  265,  266,    293,  294,  295,  296,   -1,  298,   -1,   94,   -1,   -1,
   124,  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,  304,  269,  270,  271,   -1,   -1,   -1,   -1,   -1,
    58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,  286,     -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,   -1,
   287,  288,  289,  290,   -1,  292,   -1,   94,   36,   -1,     -1,   -1,   -1,   -1,   -1,  292,  293,  294,  295,  296,
    -1,  298,   -1,   41,   -1,   -1,   44,   -1,   -1,  264,     -1,  298,   -1,   -1,   -1,   -1,   -1,  304,   -1,   -1,
   265,  266,   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,    269,  270,  271,   -1,   -1,  124,  125,   -1,   -1,   -1,
    58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,   -1,  
    -1,  286,  287,  288,  289,  290,   36,  292,   -1,   -1,  
    -1,   41,   -1,  298,   44,  258,  124,  125,   -1,   -1,  
    -1,  264,  265,  266,   -1,   93,   -1,   -1,   58,   59,  
    -1,   61,   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,  286,  287,  288,  289,  290,   -1,  292,  
    -1,   -1,   -1,   36,  297,  298,  124,  125,   41,   -1,  
    -1,   44,   -1,   93,  264,  265,  266,   -1,   -1,   -1,  
    -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   61,   62,  
   264,  265,  266,   -1,   -1,   -1,  286,  287,  288,  289,  
   290,   -1,  292,   -1,  124,  125,   -1,  297,  298,   -1,  
    -1,   -1,  286,  287,  288,  289,  290,   37,  292,   -1,  
    93,   41,   42,   43,  298,   45,   -1,   47,   -1,   -1,  
    37,   -1,   -1,   -1,   41,   42,   43,   -1,   45,   -1,  
    47,   61,   -1,   63,   -1,   -1,   -1,  264,  265,  266,  
    -1,  124,  125,   -1,   61,   -1,   63,   -1,   -1,   -1,  
    -1,   -1,   -1,   -1,   -1,   -1,   -1,  265,  266,  286,  
   287,  288,  289,  290,   94,  292,   -1,   -1,   -1,   -1,  
   297,   -1,   -1,   -1,   -1,   -1,   -1,   94,  286,  287,  
   288,  289,  290,   37,  292,   -1,   -1,   41,   42,   43,  
   298,   45,   -1,   47,   -1,   -1,   -1,  265,   -1,   -1,  
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   61,   -1,   63,  
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  286,  287,  
   288,  289,  290,   37,  292,   -1,   -1,   41,   42,   43,  
   298,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,  
    94,   -1,   -1,   -1,   -1,   -1,   -1,   61,   -1,   63,  
    -1,   -1,   -1,   -1,   -1,   -1,  286,  287,  288,  289,  
   290,   -1,  292,   -1,   37,   -1,   -1,   -1,  298,   42,  
    43,   44,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,  
    94,   37,   -1,   -1,   -1,   41,   42,   43,   61,   45,  
    63,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,   -1,   -1,   61,   -1,   63,   -1,   -1,  
    -1,   -1,   -1,   -1,   -1,  298,   -1,   -1,   -1,   37,  
    -1,   94,   -1,   -1,   42,   43,   -1,   45,   -1,   47,  
    -1,   -1,   -1,   -1,  264,  265,  266,   -1,   94,   -1,  
    58,   -1,   -1,   61,   -1,   63,   -1,  264,  265,  266,  
    -1,   -1,   -1,   -1,   -1,   -1,  286,  287,  288,  289,  
   290,   -1,  292,   -1,   -1,   -1,   -1,  297,  298,  286,  
   287,  288,  289,  290,   -1,  292,   94,   -1,   -1,   -1,  
   297,  298,   -1,   37,   -1,   -1,   -1,   -1,   42,   43,  
    -1,   45,   -1,   47,   -1,   -1,   37,   -1,   -1,   -1,  
    -1,   42,   43,   44,   45,   -1,   47,   61,   -1,   63,  
   264,  265,  266,   37,   -1,   -1,   -1,   -1,   42,   43,  
    61,   45,   63,   47,   -1,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,  286,  287,  288,  289,  290,   -1,  292,   93,  
    94,   -1,   -1,  297,  298,   -1,   -1,   40,   -1,   -1,  
   264,  265,  266,   94,   -1,   37,   -1,   -1,   -1,   41,  
    42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1,   -1,  
    94,   -1,  286,  287,  288,  289,  290,   -1,  292,   61,  
    -1,   63,   -1,  297,  298,   -1,   -1,   -1,   -1,   -1,  
    -1,  264,  265,  266,   37,   -1,   -1,   -1,   -1,   42,  
    43,   -1,   45,   -1,   47,   -1,   -1,   -1,  264,  265,  
   266,   -1,   94,  286,  287,  288,  289,  290,   61,  292,  
    63,   -1,   -1,   -1,  297,  298,   -1,   -1,   -1,   -1,  
   286,  287,  288,  289,  290,   -1,  292,   -1,   -1,   -1,  
    -1,  297,  298,   -1,   -1,   -1,  264,  265,  266,   37,  
    -1,   94,   -1,   -1,   42,   43,   37,   45,   -1,   47,  
    -1,   42,   43,   -1,   45,   -1,   47,   -1,  286,  287,  
   288,  289,  290,   -1,  292,   63,   -1,   -1,   -1,  297,  
   298,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,  
    -1,   -1,   -1,   37,   -1,   -1,   -1,   -1,   42,   43,  
    -1,   45,   -1,   47,   -1,   -1,   94,   59,   60,   61,  
   264,  265,  266,   94,   -1,   -1,   -1,   -1,   -1,   -1,  
    -1,   73,   74,  264,  265,  266,   -1,   -1,   -1,   -1,  
    -1,   -1,  286,  287,  288,  289,  290,   -1,  292,   -1,  
   264,  265,  266,  297,  298,  286,  287,  288,  289,  290,  
    94,  292,   -1,   -1,   -1,   -1,  297,  298,   -1,   -1,  
   112,   -1,  286,  287,  288,  289,   -1,  260,  292,   -1,  
   122,   -1,   36,  297,  267,  268,   -1,   41,   -1,   -1,  
    44,   -1,  264,  265,  266,  278,  279,  280,  281,  282,  
   283,  284,  285,   -1,   58,   59,   -1,   -1,   62,   -1,  
   293,  294,  295,  296,  286,  287,  288,  289,  290,   -1,  
   292,  163,   -1,   -1,   -1,  297,  298,   -1,  170,   -1,  
   172,  264,  265,  266,  176,  177,  178,   -1,   -1,   93,  
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,  286,  287,  288,  289,  290,   -1,  292,     -1,   -1,   -1,  292,  293,  294,  295,  296,   -1,  298,
    -1,   -1,  204,   -1,  297,  298,   -1,   -1,   -1,  211,     -1,   -1,   -1,   -1,   -1,  304,   -1,  269,  270,  271,
   124,  125,   -1,   -1,   -1,  217,   36,   -1,   -1,   -1,     -1,   -1,   36,   37,   -1,   -1,   -1,   -1,   42,   43,
    -1,   41,   -1,   -1,   44,   -1,  264,  265,  266,   -1,     -1,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,  264,  265,  266,   -1,   -1,   58,   59,    292,  293,  294,  295,  296,   59,  298,   61,   -1,   63,
    -1,   -1,   62,   -1,   -1,   -1,   -1,   -1,  286,  287,     -1,   -1,  304,  295,  296,   -1,   -1,   -1,   -1,   36,
   288,  289,  290,    0,  292,  286,  287,  288,   -1,  297,     -1,   -1,  304,   -1,   41,   -1,   43,   44,   45,   -1,
    -1,  292,   -1,   -1,   11,   -1,  297,   -1,   -1,   16,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,   -1,
   264,  265,  266,   93,   -1,   -1,   -1,   -1,   -1,   26,     94,   58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,
    -1,   -1,   -1,   -1,   31,   32,   33,   34,   -1,   36,    304,   -1,   -1,   -1,   -1,   36,   -1,   -1,   -1,   -1,
    -1,   -1,  286,   -1,   -1,   -1,   -1,   -1,  292,   -1,     41,   -1,   43,   44,   45,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,  297,  124,  125,   -1,   -1,   55,   56,     -1,   -1,  269,  270,  271,   -1,   93,   58,   59,   -1,
    57,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     61,   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,   70,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   36,   -1,   -1,   -1,  292,   41,   -1,   43,   44,
    -1,   -1,   79,   -1,   81,   -1,   -1,   -1,   -1,   -1,     45,  298,   -1,   -1,   -1,   -1,  303,  124,  125,   -1,
    87,   88,   89,   90,   91,   92,   93,   94,   95,   -1,     -1,   -1,   93,   58,   59,   -1,   61,   62,   63,   -1,
    97,   98,   99,  100,  101,  102,  103,  104,  105,   -1,  
    -1,  108,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      36,   -1,   -1,   -1,   -1,   41,   -1,   43,   44,   45,
      -1,   -1,   -1,  124,  125,   -1,   36,   -1,   93,   -1,
      -1,   41,   58,   59,   44,   61,   62,   63,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,
      -1,   61,   62,   63,   -1,   36,   37,   -1,   -1,  124,
     125,   42,   43,   -1,   45,   -1,   47,   93,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,
      61,   -1,   63,   93,  258,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,  269,  270,  271,  124,  125,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,  138,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     91,   -1,   -1,   94,  124,  125,   -1,   -1,  292,  293,
     294,  295,  296,   36,  298,   -1,   -1,   -1,   41,  303,
     304,   44,  269,  270,  271,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   61,   62,
      63,   -1,   -1,   -1,   -1,  292,  293,  294,  295,  296,
      -1,  298,   -1,   -1,   -1,   -1,   -1,  304,  269,  270,
     271,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,  292,  293,  294,  295,  296,   -1,  298,   -1,   -1,
      -1,   -1,   -1,  304,  269,  270,  271,   -1,   -1,   -1,
      -1,  124,  125,   36,   37,   -1,   -1,   -1,   -1,   42,
      43,   -1,   45,   -1,   47,   -1,   -1,  292,  293,  294,
     295,  296,   -1,  298,   -1,   -1,   59,   -1,   61,  304,
      63,   -1,   -1,  269,  270,  271,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,  292,  293,  294,  295,
     296,   94,  298,   -1,   36,   -1,   -1,  258,  304,   41,
      -1,   -1,   44,   -1,  294,  295,  296,   -1,  269,  270,
     271,   -1,   -1,   -1,  304,   -1,   58,   59,   -1,   61,
      62,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,  292,  293,  294,  295,  296,   36,  298,   -1,   -1,
      -1,   41,  303,  304,   44,   -1,   -1,   -1,   -1,   -1,
      -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,
      -1,   61,   62,   63,   -1,   37,   -1,   -1,   -1,   41,
      42,   43,   -1,   45,   -1,   47,  269,  270,  271,   -1,
      37,   -1,  124,  125,   41,   42,   43,   -1,   45,   61,
      47,   63,   -1,   93,   -1,   -1,   -1,   -1,   -1,  292,
     293,  294,  295,  296,   61,  298,   63,   -1,   -1,   -1,
      -1,  304,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   94,   37,  124,  125,   -1,   41,   42,   43,
      -1,   45,   -1,   47,   -1,   -1,   -1,   94,   -1,   -1,
      37,   -1,   -1,   -1,   -1,   42,   43,   61,   45,   63,
      47,   -1,   -1,   37,   -1,   -1,   -1,   41,   42,   43,
      -1,   45,   -1,   47,   -1,   -1,  269,  270,  271,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,   -1,   61,   -1,   63,
      94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  292,
     293,  294,  295,  296,   -1,  298,   -1,   94,   37,   -1,
     303,  304,   -1,   42,   43,   44,   45,   -1,   47,   -1,
      94,   37,   -1,   -1,   -1,   41,   42,   43,   -1,   45,
      -1,   47,   61,   -1,   63,   -1,   -1,   -1,  270,   -1,
      -1,   -1,   -1,   -1,   -1,   61,   -1,   63,   -1,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,   -1,  171,   -1,  173,   -1,   -1,   -1,    292,  293,  294,  295,  296,   94,  298,   -1,   -1,   37,
    -1,   -1,  179,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,  304,   -1,   42,   43,   -1,   45,   94,   47,
   187,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,  209,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     58,   -1,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,
    -1,  218,   -1,   -1,   -1,  222,   -1,  224,  225,   -1,     -1,   -1,  292,  293,  294,  295,  296,  269,  270,  271,
      -1,   37,   -1,   -1,  304,   -1,   42,   43,   44,   45,
      -1,   47,  269,  270,  271,   -1,   94,   -1,   -1,   -1,
     292,  293,  294,  295,  296,   61,  298,   63,   -1,   -1,
      -1,  303,  304,   -1,   -1,  292,  293,  294,  295,  296,
      -1,  298,   -1,   37,   -1,   -1,  303,  304,   42,   43,
      -1,   45,   -1,   47,   -1,  269,  270,  271,   94,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,   -1,   61,   -1,   63,
      -1,   -1,  269,  270,  271,   -1,   -1,   -1,  292,  293,
     294,  295,  296,   -1,  298,  269,  270,  271,   -1,  303,
     304,   -1,   -1,   -1,   -1,  292,  293,  294,  295,   93,
      94,  298,   -1,   -1,   -1,   -1,  303,   -1,  292,  293,
     294,  295,  296,   -1,  298,   -1,   37,   -1,   -1,  303,
     304,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   37,
     269,  270,  271,   -1,   42,   43,   -1,   45,   -1,   47,
      61,   -1,   63,  269,  270,  271,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,  292,  293,  294,  295,  296,   -1,  298,
      -1,   -1,   -1,   -1,  303,  304,  292,  293,  294,  295,
     296,   -1,  298,   94,   -1,   37,   -1,  303,  304,   41,
      42,   43,   -1,   45,   -1,   47,   94,   -1,   -1,   -1,
      -1,  269,  270,  271,   -1,   -1,   -1,   -1,   -1,   61,
      -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,  292,  293,  294,  295,  296,   -1,
     298,   -1,   -1,   -1,   -1,  303,  304,   -1,   -1,   -1,
      -1,   -1,   94,  269,  270,  271,   -1,   37,   -1,   -1,
      -1,   -1,   42,   43,   -1,   45,   -1,   47,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,  292,  293,  294,  295,
     296,   -1,  298,   63,   -1,   -1,   -1,  303,  304,   -1,
      -1,   -1,   -1,   37,   -1,  269,  270,  271,   42,   43,
      -1,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   94,   -1,   -1,   -1,  292,  293,
     294,  295,  296,   -1,  298,    1,   -1,   -1,   -1,  303,
     304,   -1,    8,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   20,   21,   22,   -1,   -1,   -1,
      94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  269,  270,
     271,   -1,   48,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,  269,  270,  271,   60,   -1,   -1,   -1,   -1,   -1,
      66,  292,  293,  294,  295,  296,   -1,  298,   -1,   46,
      76,   -1,  303,  304,  292,  293,  294,   -1,   -1,   -1,
     298,   -1,   -1,   -1,   -1,  303,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   71,   72,   73,  269,  270,  271,
      -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   85,   86,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,   -1,  241,   -1,   -1,  244,    292,  293,  294,  295,  296,   -1,  298,   -1,   -1,   -1,
      -1,  303,  304,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  269,
     270,  271,   -1,  140,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  184,  185,
     186,   -1,  292,  293,  294,  295,  296,   -1,  298,   -1,
      -1,   -1,   -1,  303,   -1,  269,  270,  271,   -1,   -1,
      -1,   -1,   -1,   -1,  210,   -1,   -1,  213,   -1,   -1,
      -1,   -1,   -1,   -1,  191,   -1,  193,   -1,  292,  293,
     197,  198,  199,   -1,  298,   -1,   -1,   -1,   -1,  303,
      -1,   -1,   -1,   -1,  240,  212,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
     227,   -1,   -1,  259,   -1,   -1,   -1,  234,   -1,   -1,
      -1,   -1,   -1,   -1,  241,
 };  };
 #define YYFINAL 41  #define YYFINAL 47
 #ifndef YYDEBUG  #ifndef YYDEBUG
 #define YYDEBUG 0  #define YYDEBUG 0
 #endif  #endif
 #define YYMAXTOKEN 300  #define YYMAXTOKEN 306
 #if YYDEBUG  #if YYDEBUG
 const char * const yyname[] = {  const char * const yyname[] = {
 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 "'!'",0,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,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,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,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,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,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,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,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,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,0,0,0,0,0,0,0,0,"STRUCT","POINT",  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,"STRUCT",
 "NEWSTRUCT","ANS","FDEF","PFDEF","GLOBAL","CMP","OR","AND","CAR","CDR","QUOTED",  "POINT","NEWSTRUCT","ANS","FDEF","PFDEF","MODDEF","MODEND","GLOBAL","MGLOBAL",
 "DO","WHILE","FOR","IF","ELSE","BREAK","RETURN","CONTINUE","PARIF","MAP",  "LOCAL","LOCALF","CMP","OR","AND","CAR","CDR","QUOTED","COLONCOLON","DO",
 "RECMAP","TIMER","GF2NGEN","GFPNGEN","GFSNGEN","GETOPT","FOP_AND","FOP_OR",  "WHILE","FOR","IF","ELSE","BREAK","RETURN","CONTINUE","PARIF","MAP","RECMAP",
 "FOP_IMPL","FOP_REPL","FOP_EQUIV","FOP_NOT","LOP","FORMULA","UCASE","LCASE",  "TIMER","GF2NGEN","GFPNGEN","GFSNGEN","GETOPT","FOP_AND","FOP_OR","FOP_IMPL",
 "STR","SELF","BOPASS","PLUS","MINUS",  "FOP_REPL","FOP_EQUIV","FOP_NOT","LOP","FORMULA","UCASE","LCASE","STR","SELF",
   "BOPASS","PLUS","MINUS",
 };  };
 const char * const yyrule[] = {  const char * const yyrule[] = {
 "$accept : start",  "$accept : start",
Line 777  const char * const yyrule[] = {
Line 837  const char * const yyrule[] = {
 "$$1 :",  "$$1 :",
 "$$2 :",  "$$2 :",
 "stat : GLOBAL $$1 pvars $$2 tail",  "stat : GLOBAL $$1 pvars $$2 tail",
   "$$3 :",
   "$$4 :",
   "stat : MGLOBAL $$3 pvars $$4 tail",
   "$$5 :",
   "$$6 :",
   "stat : LOCAL $$5 pvars $$6 tail",
   "stat : LOCALF vars tail",
 "stat : STRUCT rawstr '{' members '}' tail",  "stat : STRUCT rawstr '{' members '}' tail",
 "stat : expr tail",  "stat : expr tail",
 "stat : complex",  "stat : complex",
Line 790  const char * const yyrule[] = {
Line 857  const char * const yyrule[] = {
 "stat : WHILE '(' node ')' stat",  "stat : WHILE '(' node ')' stat",
 "stat : DO stat WHILE '(' node ')' tail",  "stat : DO stat WHILE '(' node ')' tail",
 "stat : LCASE '(' node ')' ':' '=' expr tail",  "stat : LCASE '(' node ')' ':' '=' expr tail",
 "stat : PFDEF LCASE '(' node ')'",  "stat : PFDEF LCASE '(' node ')' tail",
 "$$3 :",  "$$7 :",
 "stat : FDEF LCASE $$3 '(' node ')' desc '{' stats '}'",  "$$8 :",
   "$$9 :",
   "stat : FDEF LCASE $$7 '(' $$8 node $$9 ')' desc '{' stats '}'",
   "stat : MODDEF LCASE tail",
   "stat : MODEND tail",
 "stat : error tail",  "stat : error tail",
 "tail : ';'",  "tail : ';'",
 "tail : '$'",  "tail : '$'",
Line 801  const char * const yyrule[] = {
Line 872  const char * const yyrule[] = {
 "complex : '{' stats '}'",  "complex : '{' stats '}'",
 "members : rawstr",  "members : rawstr",
 "members : members ',' rawstr",  "members : members ',' rawstr",
   "vars : LCASE",
   "vars : vars ',' LCASE",
 "pvars : UCASE",  "pvars : UCASE",
 "pvars : pvars ',' UCASE",  "pvars : pvars ',' UCASE",
 "stats :",  "stats :",
Line 868  const char * const yyrule[] = {
Line 941  const char * const yyrule[] = {
 "expr : '<' node '>'",  "expr : '<' node '>'",
 "expr : NEWSTRUCT '(' rawstr ')'",  "expr : NEWSTRUCT '(' rawstr ')'",
 "expr : QUOTED '(' expr ')'",  "expr : QUOTED '(' expr ')'",
   "expr : '`' expr",
 };  };
 #endif  #endif
 #if YYDEBUG  #if YYDEBUG
Line 1092  yyreduce:
Line 1166  yyreduce:
     switch (yyn)      switch (yyn)
     {      {
 case 1:  case 1:
 #line 129 "parse.y"  #line 131 "parse.y"
 { parse_snode = yyvsp[0].s; YYACCEPT; }  { parse_snode = yyvsp[0].s; YYACCEPT; }
 break;  break;
 case 2:  case 2:
 #line 132 "parse.y"  #line 134 "parse.y"
 { yyval.s = 0; }  { yyval.s = 0; }
 break;  break;
 case 3:  case 3:
 #line 133 "parse.y"  #line 135 "parse.y"
 { gdef=1; }  { gdef=1; }
 break;  break;
 case 4:  case 4:
 #line 133 "parse.y"  #line 135 "parse.y"
 { gdef=0; }  { gdef=0; }
 break;  break;
 case 5:  case 5:
 #line 134 "parse.y"  #line 136 "parse.y"
 { yyval.s = 0; }  { yyval.s = 0; NOPR; }
 break;  break;
 case 6:  case 6:
 #line 136 "parse.y"  #line 137 "parse.y"
 { structdef(yyvsp[-4].p,yyvsp[-2].n); yyval.s = 0; }  { mgdef=1; }
 break;  break;
 case 7:  case 7:
 #line 138 "parse.y"  #line 137 "parse.y"
 { yyval.s = mksnode(1,S_SINGLE,yyvsp[-1].f); }  { mgdef=0; }
 break;  break;
 case 8:  case 8:
 #line 140 "parse.y"  #line 138 "parse.y"
 { yyval.s = yyvsp[0].s; }  { yyval.s = 0; NOPR; }
 break;  break;
 case 9:  case 9:
 #line 142 "parse.y"  #line 139 "parse.y"
 { yyval.s = mksnode(0,S_BREAK); }  { ldef=1; }
 break;  break;
 case 10:  case 10:
 #line 144 "parse.y"  #line 139 "parse.y"
 { yyval.s = mksnode(0,S_CONTINUE); }  { ldef=0; }
 break;  break;
 case 11:  case 11:
 #line 146 "parse.y"  #line 140 "parse.y"
 { yyval.s = mksnode(1,S_RETURN,0); }  { yyval.s = 0; NOPR; }
 break;  break;
 case 12:  case 12:
 #line 148 "parse.y"  #line 142 "parse.y"
 { yyval.s = mksnode(1,S_RETURN,yyvsp[-1].f); }  { appenduflist(yyvsp[-1].n); yyval.s = 0; NOPR; }
 break;  break;
 case 13:  case 13:
 #line 150 "parse.y"  #line 144 "parse.y"
 { yyval.s = mksnode(4,S_IFELSE,yyvsp[-4].i,yyvsp[-2].n,yyvsp[0].s,0); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; }  { structdef(yyvsp[-4].p,yyvsp[-2].n); yyval.s = 0; NOPR; }
 break;  break;
 case 14:  case 14:
 #line 152 "parse.y"  #line 146 "parse.y"
 { yyval.s = mksnode(4,S_IFELSE,yyvsp[-6].i,yyvsp[-4].n,yyvsp[-2].s,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; }  { yyval.s = mksnode(1,S_SINGLE,yyvsp[-1].f); }
 break;  break;
 case 15:  case 15:
 #line 154 "parse.y"  #line 148 "parse.y"
 { yyval.s = mksnode(5,S_FOR,yyvsp[-8].i,yyvsp[-6].n,yyvsp[-4].n?yyvsp[-4].n:ONENODE,yyvsp[-2].n,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; }  { yyval.s = yyvsp[0].s; }
 break;  break;
 case 16:  case 16:
 #line 156 "parse.y"  #line 150 "parse.y"
 { yyval.s = mksnode(5,S_FOR,yyvsp[-4].i,0,yyvsp[-2].n,0,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; }  { yyval.s = mksnode(0,S_BREAK); }
 break;  break;
 case 17:  case 17:
 #line 158 "parse.y"  #line 152 "parse.y"
 { yyval.s = mksnode(3,S_DO,yyvsp[-6].i,yyvsp[-5].s,yyvsp[-2].n); }  { yyval.s = mksnode(0,S_CONTINUE); }
 break;  break;
 case 18:  case 18:
 #line 160 "parse.y"  #line 154 "parse.y"
 { yyval.s = mksnode(3,S_PFDEF,yyvsp[-7].p,yyvsp[-5].n,yyvsp[-1].f); NOPR; }  { yyval.s = mksnode(1,S_RETURN,0); }
 break;  break;
 case 19:  case 19:
 #line 162 "parse.y"  #line 156 "parse.y"
 { yyval.s = mksnode(3,S_PFDEF,yyvsp[-3].p,yyvsp[-1].n,0); NOPR; }  { yyval.s = mksnode(1,S_RETURN,yyvsp[-1].f); }
 break;  break;
 case 20:  case 20:
 #line 163 "parse.y"  #line 158 "parse.y"
 { mkpvs(); }  { yyval.s = mksnode(4,S_IFELSE,yyvsp[-4].i,yyvsp[-2].n,yyvsp[0].s,0); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; }
 break;  break;
 case 21:  case 21:
   #line 160 "parse.y"
   { yyval.s = mksnode(4,S_IFELSE,yyvsp[-6].i,yyvsp[-4].n,yyvsp[-2].s,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; }
   break;
   case 22:
   #line 162 "parse.y"
   { yyval.s = mksnode(5,S_FOR,yyvsp[-8].i,yyvsp[-6].n,yyvsp[-4].n?yyvsp[-4].n:ONENODE,yyvsp[-2].n,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; }
   break;
   case 23:
 #line 164 "parse.y"  #line 164 "parse.y"
   { yyval.s = mksnode(5,S_FOR,yyvsp[-4].i,0,yyvsp[-2].n,0,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; }
   break;
   case 24:
   #line 166 "parse.y"
   { yyval.s = mksnode(3,S_DO,yyvsp[-6].i,yyvsp[-5].s,yyvsp[-2].n); }
   break;
   case 25:
   #line 168 "parse.y"
   { yyval.s = mksnode(3,S_PFDEF,yyvsp[-7].p,yyvsp[-5].n,yyvsp[-1].f); NOPR; }
   break;
   case 26:
   #line 170 "parse.y"
   { yyval.s = mksnode(3,S_PFDEF,yyvsp[-4].p,yyvsp[-2].n,0); NOPR; }
   break;
   case 27:
   #line 171 "parse.y"
   { mkpvs(yyvsp[0].p); }
   break;
   case 28:
   #line 171 "parse.y"
   { ldef = 1; }
   break;
   case 29:
   #line 171 "parse.y"
   { ldef = -1; }
   break;
   case 30:
   #line 172 "parse.y"
 {  {
                                 mkuf(yyvsp[-8].p,asir_infile->name,yyvsp[-5].n,                                  mkuf(yyvsp[-10].p,asir_infile->name,yyvsp[-6].n,
                                         mksnode(1,S_CPLX,yyvsp[-1].n),yyvsp[-9].i,asir_infile->ln,yyvsp[-3].p);                                          mksnode(1,S_CPLX,yyvsp[-1].n),yyvsp[-11].i,asir_infile->ln,yyvsp[-3].p,CUR_MODULE);
                                 yyval.s = 0; NOPR;                                  yyval.s = 0; NOPR;
                         }                          }
 break;  break;
 case 22:  case 31:
 #line 170 "parse.y"  #line 178 "parse.y"
   { CUR_MODULE = mkmodule(yyvsp[-1].p); MPVS = CUR_MODULE->pvs; yyval.s = 0; NOPR; }
   break;
   case 32:
   #line 180 "parse.y"
   { CUR_MODULE = 0; MPVS = 0; yyval.s = 0; NOPR; }
   break;
   case 33:
   #line 182 "parse.y"
 { yyerrok; yyval.s = 0; }  { yyerrok; yyval.s = 0; }
 break;  break;
 case 23:  case 34:
 #line 173 "parse.y"  #line 185 "parse.y"
 { if ( main_parser ) prresult = 1; }  { if ( main_parser ) prresult = 1; }
 break;  break;
 case 24:  case 35:
 #line 175 "parse.y"  #line 187 "parse.y"
 { if ( main_parser ) prresult = 0; }  { if ( main_parser ) prresult = 0; }
 break;  break;
 case 25:  case 36:
 #line 177 "parse.y"  #line 190 "parse.y"
 { yyval.p = 0; }  { yyval.p = 0; }
 break;  break;
 case 26:  case 37:
 #line 179 "parse.y"  #line 192 "parse.y"
 { yyval.p = yyvsp[0].p; }  { yyval.p = yyvsp[0].p; }
 break;  break;
 case 27:  case 38:
 #line 182 "parse.y"  #line 195 "parse.y"
 { yyval.s = mksnode(1,S_CPLX,yyvsp[-1].n); }  { yyval.s = mksnode(1,S_CPLX,yyvsp[-1].n); }
 break;  break;
 case 28:  case 39:
 #line 185 "parse.y"  #line 198 "parse.y"
 { MKNODE(yyval.n,yyvsp[0].p,0); }  { MKNODE(yyval.n,yyvsp[0].p,0); }
 break;  break;
 case 29:  case 40:
 #line 187 "parse.y"  #line 200 "parse.y"
 { appendtonode(yyvsp[-2].n,yyvsp[0].p,&yyval.n); }  { appendtonode(yyvsp[-2].n,yyvsp[0].p,&yyval.n); }
 break;  break;
 case 30:  case 41:
 #line 190 "parse.y"  #line 203 "parse.y"
   { MKNODE(yyval.n,yyvsp[0].p,0); }
   break;
   case 42:
   #line 205 "parse.y"
   { appendtonode(yyvsp[-2].n,yyvsp[0].p,&yyval.n); }
   break;
   case 43:
   #line 208 "parse.y"
 { val = (pointer)makepvar(yyvsp[0].p); MKNODE(yyval.n,val,0); }  { val = (pointer)makepvar(yyvsp[0].p); MKNODE(yyval.n,val,0); }
 break;  break;
 case 31:  case 44:
 #line 192 "parse.y"  #line 210 "parse.y"
 { appendtonode(yyvsp[-2].n,(pointer)makepvar(yyvsp[0].p),&yyval.n); }  { appendtonode(yyvsp[-2].n,(pointer)makepvar(yyvsp[0].p),&yyval.n); }
 break;  break;
 case 32:  case 45:
 #line 195 "parse.y"  #line 213 "parse.y"
 { yyval.n = 0; }  { yyval.n = 0; }
 break;  break;
 case 33:  case 46:
 #line 197 "parse.y"  #line 215 "parse.y"
 { appendtonode(yyvsp[-1].n,(pointer)yyvsp[0].s,&yyval.n); }  { appendtonode(yyvsp[-1].n,(pointer)yyvsp[0].s,&yyval.n); }
 break;  break;
 case 34:  case 47:
 #line 200 "parse.y"  #line 218 "parse.y"
 { yyval.n = 0; }  { yyval.n = 0; }
 break;  break;
 case 35:  case 48:
 #line 202 "parse.y"  #line 220 "parse.y"
 { yyval.n = yyvsp[0].n; }  { yyval.n = yyvsp[0].n; }
 break;  break;
 case 36:  case 49:
 #line 205 "parse.y"  #line 223 "parse.y"
 { MKNODE(yyval.n,yyvsp[0].f,0); }  { MKNODE(yyval.n,yyvsp[0].f,0); }
 break;  break;
 case 37:  case 50:
 #line 207 "parse.y"  #line 225 "parse.y"
 { appendtonode(yyvsp[-2].n,(pointer)yyvsp[0].f,&yyval.n); }  { appendtonode(yyvsp[-2].n,(pointer)yyvsp[0].f,&yyval.n); }
 break;  break;
 case 38:  case 51:
 #line 210 "parse.y"  #line 228 "parse.y"
 { MKNODE(yyval.n,yyvsp[0].f,0); }  { MKNODE(yyval.n,yyvsp[0].f,0); }
 break;  break;
 case 39:  case 52:
 #line 212 "parse.y"  #line 230 "parse.y"
 { appendtonode(yyvsp[-2].n,(pointer)yyvsp[0].f,&yyval.n); }  { appendtonode(yyvsp[-2].n,(pointer)yyvsp[0].f,&yyval.n); }
 break;  break;
 case 40:  case 53:
 #line 215 "parse.y"  #line 233 "parse.y"
 { yyval.p = yyvsp[0].p; }  { yyval.p = yyvsp[0].p; }
 break;  break;
 case 41:  case 54:
 #line 217 "parse.y"  #line 235 "parse.y"
 { yyval.p = yyvsp[0].p; }  { yyval.p = yyvsp[0].p; }
 break;  break;
 case 42:  case 55:
 #line 220 "parse.y"  #line 238 "parse.y"
 { yyval.f = mkfnode(2,I_OPT,yyvsp[-2].p,yyvsp[0].f); }  { yyval.f = mkfnode(2,I_OPT,yyvsp[-2].p,yyvsp[0].f); }
 break;  break;
 case 43:  case 56:
 #line 223 "parse.y"  #line 241 "parse.y"
 { yyval.f = mkfnode(1,I_STR,yyvsp[0].p); }  { yyval.f = mkfnode(1,I_STR,yyvsp[0].p); }
 break;  break;
 case 44:  case 57:
 #line 225 "parse.y"  #line 243 "parse.y"
 { yyval.f = mkfnode(1,I_FORMULA,yyvsp[0].p); }  { yyval.f = mkfnode(1,I_FORMULA,yyvsp[0].p); }
 break;  break;
 case 45:  case 58:
 #line 227 "parse.y"  #line 245 "parse.y"
 { yyval.f = mkfnode(1,I_ANS,yyvsp[0].i); }  { yyval.f = mkfnode(1,I_ANS,yyvsp[0].i); }
 break;  break;
 case 46:  case 59:
 #line 229 "parse.y"  #line 247 "parse.y"
 { yyval.f = mkfnode(0,I_GF2NGEN); }  { yyval.f = mkfnode(0,I_GF2NGEN); }
 break;  break;
 case 47:  case 60:
 #line 231 "parse.y"  #line 249 "parse.y"
 { yyval.f = mkfnode(0,I_GFPNGEN); }  { yyval.f = mkfnode(0,I_GFPNGEN); }
 break;  break;
 case 48:  case 61:
 #line 233 "parse.y"  #line 251 "parse.y"
 { yyval.f = mkfnode(0,I_GFSNGEN); }  { yyval.f = mkfnode(0,I_GFSNGEN); }
 break;  break;
 case 49:  case 62:
 #line 235 "parse.y"  #line 253 "parse.y"
 {  {
                                 FUNC f;                                  FUNC f;
   
Line 1316  case 49:
Line 1442  case 49:
                                 }                                  }
                         }                          }
 break;  break;
 case 50:  case 63:
 #line 262 "parse.y"  #line 280 "parse.y"
 {  {
                                 gen_searchf(yyvsp[-3].p,(FUNC *)&val);                                  gen_searchf(yyvsp[-3].p,(FUNC *)&val);
                                   print_crossref(val);
                                 yyval.f = mkfnode(2,I_FUNC,val,mkfnode(1,I_LIST,yyvsp[-1].n));                                  yyval.f = mkfnode(2,I_FUNC,val,mkfnode(1,I_LIST,yyvsp[-1].n));
                         }                          }
 break;  break;
 case 51:  case 64:
 #line 268 "parse.y"  #line 287 "parse.y"
 {  {
                                 gen_searchf(yyvsp[-5].p,(FUNC *)&val);                                  gen_searchf(yyvsp[-5].p,(FUNC *)&val);
                                   print_crossref(val);
                                 yyval.f = mkfnode(3,I_FUNC_OPT,val,                                  yyval.f = mkfnode(3,I_FUNC_OPT,val,
                                         mkfnode(1,I_LIST,yyvsp[-3].n),mkfnode(1,I_LIST,yyvsp[-1].n));                                          mkfnode(1,I_LIST,yyvsp[-3].n),mkfnode(1,I_LIST,yyvsp[-1].n));
                         }                          }
 break;  break;
 case 52:  case 65:
 #line 274 "parse.y"  #line 294 "parse.y"
 {  {
                                 gen_searchf(yyvsp[-3].p,(FUNC *)&val);                                  gen_searchf(yyvsp[-3].p,(FUNC *)&val);
                                   print_crossref(val);
                                 yyval.f = mkfnode(2,I_MAP,val,mkfnode(1,I_LIST,yyvsp[-1].n));                                  yyval.f = mkfnode(2,I_MAP,val,mkfnode(1,I_LIST,yyvsp[-1].n));
                         }                          }
 break;  break;
 case 53:  case 66:
 #line 279 "parse.y"  #line 300 "parse.y"
 {  {
                                 gen_searchf(yyvsp[-3].p,(FUNC *)&val);                                  gen_searchf(yyvsp[-3].p,(FUNC *)&val);
                                   print_crossref(val);
                                 yyval.f = mkfnode(2,I_RECMAP,val,mkfnode(1,I_LIST,yyvsp[-1].n));                                  yyval.f = mkfnode(2,I_RECMAP,val,mkfnode(1,I_LIST,yyvsp[-1].n));
                         }                          }
 break;  break;
 case 54:  case 67:
 #line 284 "parse.y"  #line 306 "parse.y"
 {  {
                                 searchpf(yyvsp[-6].p,(FUNC *)&val);                                  searchpf(yyvsp[-6].p,(FUNC *)&val);
                                 yyval.f = mkfnode(2,I_PFDERIV,val,mkfnode(1,I_LIST,yyvsp[-1].n),mkfnode(1,I_LIST,yyvsp[-4].n));                                  yyval.f = mkfnode(2,I_PFDERIV,val,mkfnode(1,I_LIST,yyvsp[-1].n),mkfnode(1,I_LIST,yyvsp[-4].n));
                         }                          }
 break;  break;
 case 55:  case 68:
 #line 289 "parse.y"  #line 311 "parse.y"
 {  {
                                 yyval.f = mkfnode(2,I_GETOPT,yyvsp[-1].p);                                  yyval.f = mkfnode(2,I_GETOPT,yyvsp[-1].p);
                         }                          }
 break;  break;
 case 56:  case 69:
 #line 293 "parse.y"  #line 315 "parse.y"
 {  {
                                 yyval.f = mkfnode(2,I_GETOPT,0);                                  yyval.f = mkfnode(2,I_GETOPT,0);
                         }                          }
 break;  break;
 case 57:  case 70:
 #line 297 "parse.y"  #line 319 "parse.y"
 {  {
                                 yyval.f = mkfnode(3,I_TIMER,yyvsp[-5].f,yyvsp[-3].f,yyvsp[-1].f);                                  yyval.f = mkfnode(3,I_TIMER,yyvsp[-5].f,yyvsp[-3].f,yyvsp[-1].f);
                         }                          }
 break;  break;
 case 58:  case 71:
 #line 301 "parse.y"  #line 323 "parse.y"
 {  {
                                 searchf(parif,yyvsp[-1].p,(FUNC *)&val);                                  searchf(parif,yyvsp[-1].p,(FUNC *)&val);
                                 if ( !val )                                  if ( !val )
Line 1379  case 58:
Line 1509  case 58:
                                 yyval.f = mkfnode(2,I_FUNC,val,0);                                  yyval.f = mkfnode(2,I_FUNC,val,0);
                         }                          }
 break;  break;
 case 59:  case 72:
 #line 308 "parse.y"  #line 330 "parse.y"
 {  {
                                 searchf(parif,yyvsp[-3].p,(FUNC *)&val);                                  searchf(parif,yyvsp[-3].p,(FUNC *)&val);
                                 if ( !val )                                  if ( !val )
Line 1388  case 59:
Line 1518  case 59:
                                 yyval.f = mkfnode(2,I_FUNC,val,mkfnode(1,I_LIST,yyvsp[-1].n));                                  yyval.f = mkfnode(2,I_FUNC,val,mkfnode(1,I_LIST,yyvsp[-1].n));
                         }                          }
 break;  break;
 case 60:  case 73:
 #line 315 "parse.y"  #line 337 "parse.y"
 {  {
                                 yyval.f = mkfnode(2,I_IFUNC,yyvsp[-4].f,mkfnode(1,I_LIST,yyvsp[-1].n));                                  yyval.f = mkfnode(2,I_IFUNC,yyvsp[-4].f,mkfnode(1,I_LIST,yyvsp[-1].n));
                         }                          }
 break;  break;
 case 61:  case 74:
 #line 319 "parse.y"  #line 341 "parse.y"
 { yyval.f = mkfnode(1,I_CAR,yyvsp[-1].f); }  { yyval.f = mkfnode(1,I_CAR,yyvsp[-1].f); }
 break;  break;
 case 62:  case 75:
 #line 321 "parse.y"  #line 343 "parse.y"
 { yyval.f = mkfnode(1,I_CDR,yyvsp[-1].f); }  { yyval.f = mkfnode(1,I_CDR,yyvsp[-1].f); }
 break;  break;
 case 63:  case 76:
 #line 323 "parse.y"  #line 345 "parse.y"
 { yyval.f = mkfnode(1,I_PAREN,yyvsp[-1].f); }  { yyval.f = mkfnode(1,I_PAREN,yyvsp[-1].f); }
 break;  break;
 case 64:  case 77:
 #line 325 "parse.y"  #line 347 "parse.y"
 {  {
                                 if ( main_parser )                                  if ( main_parser || allow_create_var )
                                         yyval.f = mkfnode(2,I_PVAR,makepvar(yyvsp[0].p),0);                                          yyval.f = mkfnode(2,I_PVAR,makepvar(yyvsp[0].p),0);
                                 else {                                  else {
                                         ind = searchpvar(yyvsp[0].p);                                          ind = searchpvar(yyvsp[0].p);
Line 1421  case 64:
Line 1551  case 64:
                                 }                                  }
                         }                          }
 break;  break;
 case 65:  case 78:
 #line 338 "parse.y"  #line 360 "parse.y"
 {  {
                                 if ( yyvsp[-3].f->id == I_PVAR || yyvsp[-3].f->id == I_INDEX ) {                                  if ( yyvsp[-3].f->id == I_PVAR || yyvsp[-3].f->id == I_INDEX ) {
                                         appendtonode((NODE)yyvsp[-3].f->arg[1],(pointer)yyvsp[-1].f,&a);                                          appendtonode((NODE)yyvsp[-3].f->arg[1],(pointer)yyvsp[-1].f,&a);
Line 1433  case 65:
Line 1563  case 65:
                                 }                                  }
                         }                          }
 break;  break;
 case 66:  case 79:
 #line 348 "parse.y"  #line 370 "parse.y"
 { yyval.f = mkfnode(2,I_POINT,yyvsp[-2].f,yyvsp[0].p); }  { yyval.f = mkfnode(2,I_POINT,yyvsp[-2].f,yyvsp[0].p); }
 break;  break;
 case 67:  case 80:
 #line 351 "parse.y"  #line 373 "parse.y"
 { yyval.f = yyvsp[0].f; }  { yyval.f = yyvsp[0].f; }
 break;  break;
 case 68:  case 81:
 #line 353 "parse.y"  #line 375 "parse.y"
 { yyval.f = mkfnode(3,I_CAST,structtoindex(yyvsp[-2].p),yyvsp[0].f,0); }  { yyval.f = mkfnode(3,I_CAST,structtoindex(yyvsp[-2].p),yyvsp[0].f,0); }
 break;  break;
 case 69:  case 82:
 #line 355 "parse.y"  #line 377 "parse.y"
 { yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 70:  case 83:
 #line 357 "parse.y"  #line 379 "parse.y"
 { yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f)); }  { yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f)); }
 break;  break;
 case 71:  case 84:
 #line 359 "parse.y"  #line 381 "parse.y"
 { yyval.f = mkfnode(2,I_POSTSELF,yyvsp[0].p,yyvsp[-1].f); }  { yyval.f = mkfnode(2,I_POSTSELF,yyvsp[0].p,yyvsp[-1].f); }
 break;  break;
 case 72:  case 85:
 #line 361 "parse.y"  #line 383 "parse.y"
 { yyval.f = mkfnode(2,I_PRESELF,yyvsp[-1].p,yyvsp[0].f); }  { yyval.f = mkfnode(2,I_PRESELF,yyvsp[-1].p,yyvsp[0].f); }
 break;  break;
 case 73:  case 86:
 #line 363 "parse.y"  #line 385 "parse.y"
 { yyval.f = mkfnode(1,I_LIST,yyvsp[-1].n); }  { yyval.f = mkfnode(1,I_LIST,yyvsp[-1].n); }
 break;  break;
 case 74:  case 87:
 #line 365 "parse.y"  #line 387 "parse.y"
 { yyval.f = yyvsp[0].f; }  { yyval.f = yyvsp[0].f; }
 break;  break;
 case 75:  case 88:
 #line 367 "parse.y"  #line 389 "parse.y"
 { yyval.f = mkfnode(1,I_MINUS,yyvsp[0].f); }  { yyval.f = mkfnode(1,I_MINUS,yyvsp[0].f); }
 break;  break;
 case 76:  case 89:
 #line 369 "parse.y"  #line 391 "parse.y"
 { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 77:  case 90:
 #line 371 "parse.y"  #line 393 "parse.y"
 { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 78:  case 91:
 #line 373 "parse.y"  #line 395 "parse.y"
 { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 79:  case 92:
 #line 375 "parse.y"  #line 397 "parse.y"
 { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 80:  case 93:
 #line 377 "parse.y"  #line 399 "parse.y"
 { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 81:  case 94:
 #line 379 "parse.y"  #line 401 "parse.y"
 { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 82:  case 95:
 #line 381 "parse.y"  #line 403 "parse.y"
 { yyval.f = mkfnode(3,I_COP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_COP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 83:  case 96:
 #line 383 "parse.y"  #line 405 "parse.y"
 { yyval.f = mkfnode(1,I_NOT,yyvsp[0].f); }  { yyval.f = mkfnode(1,I_NOT,yyvsp[0].f); }
 break;  break;
 case 84:  case 97:
 #line 385 "parse.y"  #line 407 "parse.y"
 { yyval.f = mkfnode(2,I_OR,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(2,I_OR,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 85:  case 98:
 #line 387 "parse.y"  #line 409 "parse.y"
 { yyval.f = mkfnode(2,I_AND,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(2,I_AND,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 86:  case 99:
 #line 389 "parse.y"  #line 411 "parse.y"
 { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[0].f,0); }  { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[0].f,0); }
 break;  break;
 case 87:  case 100:
 #line 391 "parse.y"  #line 413 "parse.y"
 { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 88:  case 101:
 #line 393 "parse.y"  #line 415 "parse.y"
 { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 89:  case 102:
 #line 395 "parse.y"  #line 417 "parse.y"
 { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 90:  case 103:
 #line 397 "parse.y"  #line 419 "parse.y"
 { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 91:  case 104:
 #line 399 "parse.y"  #line 421 "parse.y"
 { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 92:  case 105:
 #line 401 "parse.y"  #line 423 "parse.y"
 { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 93:  case 106:
 #line 403 "parse.y"  #line 425 "parse.y"
 { yyval.f = mkfnode(3,I_CE,yyvsp[-4].f,yyvsp[-2].f,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_CE,yyvsp[-4].f,yyvsp[-2].f,yyvsp[0].f); }
 break;  break;
 case 94:  case 107:
 #line 405 "parse.y"  #line 427 "parse.y"
 { yyval.f = mkfnode(1,I_EV,yyvsp[-1].n); }  { yyval.f = mkfnode(1,I_EV,yyvsp[-1].n); }
 break;  break;
 case 95:  case 108:
 #line 407 "parse.y"  #line 429 "parse.y"
 { yyval.f = mkfnode(1,I_NEWCOMP,(int)structtoindex(yyvsp[-1].p)); }  { yyval.f = mkfnode(1,I_NEWCOMP,(int)structtoindex(yyvsp[-1].p)); }
 break;  break;
 case 96:  case 109:
 #line 409 "parse.y"  #line 431 "parse.y"
 { MKQUOTE(quote,yyvsp[-1].f); yyval.f = mkfnode(1,I_FORMULA,(pointer)quote); }  { MKQUOTE(quote,yyvsp[-1].f); yyval.f = mkfnode(1,I_FORMULA,(pointer)quote); }
 break;  break;
 #line 1561 "y.tab.c"  case 110:
   #line 433 "parse.y"
   { MKQUOTE(quote,yyvsp[0].f); yyval.f = mkfnode(1,I_FORMULA,(pointer)quote); }
   break;
   #line 1695 "y.tab.c"
     }      }
     yyssp -= yym;      yyssp -= yym;
     yystate = *yyssp;      yystate = *yyssp;

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>