[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.1 and 1.2

version 1.1, 2000/12/06 01:27:16 version 1.2, 2001/04/20 08:31:07
Line 40  static FNODE t;
Line 40  static FNODE t;
 static NODE a,b;  static NODE a,b;
 static NODE2 a2;  static NODE2 a2;
 static pointer val;  static pointer val;
   static QUOTE quote;
 extern jmp_buf env;  extern jmp_buf env;
 #line 82 "parse.y"  #line 83 "parse.y"
 typedef union {  typedef union {
         FNODE f;          FNODE f;
         SNODE s;          SNODE s;
Line 50  typedef union {
Line 51  typedef union {
         int i;          int i;
         pointer p;          pointer p;
 } YYSTYPE;  } YYSTYPE;
 #line 54 "y.tab.c"  #line 55 "y.tab.c"
 #define YYERRCODE 256  #define YYERRCODE 256
 #define STRUCT 257  #define STRUCT 257
 #define POINT 258  #define POINT 258
Line 64  typedef union {
Line 65  typedef union {
 #define AND 266  #define AND 266
 #define CAR 267  #define CAR 267
 #define CDR 268  #define CDR 268
 #define DO 269  #define QUOTED 269
 #define WHILE 270  #define DO 270
 #define FOR 271  #define WHILE 271
 #define IF 272  #define FOR 272
 #define ELSE 273  #define IF 273
 #define BREAK 274  #define ELSE 274
 #define RETURN 275  #define BREAK 275
 #define CONTINUE 276  #define RETURN 276
 #define PARIF 277  #define CONTINUE 277
 #define MAP 278  #define PARIF 278
 #define TIMER 279  #define MAP 279
 #define GF2NGEN 280  #define TIMER 280
 #define GFPNGEN 281  #define GF2NGEN 281
 #define GETOPT 282  #define GFPNGEN 282
 #define FOP_AND 283  #define GETOPT 283
 #define FOP_OR 284  #define FOP_AND 284
 #define FOP_IMPL 285  #define FOP_OR 285
 #define FOP_REPL 286  #define FOP_IMPL 286
 #define FOP_EQUIV 287  #define FOP_REPL 287
 #define FOP_NOT 288  #define FOP_EQUIV 288
 #define LOP 289  #define FOP_NOT 289
 #define FORMULA 290  #define LOP 290
 #define UCASE 291  #define FORMULA 291
 #define LCASE 292  #define UCASE 292
 #define STR 293  #define LCASE 293
 #define SELF 294  #define STR 294
 #define BOPASS 295  #define SELF 295
 #define PLUS 296  #define BOPASS 296
 #define MINUS 297  #define PLUS 297
   #define MINUS 298
 const short yylhs[] = {                                        -1,  const short yylhs[] = {                                        -1,
     0,    6,   15,   16,    6,    6,    6,    6,    6,    6,      0,    6,   15,   16,    6,    6,    6,    6,    6,    6,
     6,    6,    6,    6,    6,    6,    6,    6,    6,   17,      6,    6,    6,    6,    6,    6,    6,    6,    6,   17,
Line 103  const short yylhs[] = {                               
Line 105  const short yylhs[] = {                               
     4,    4,    3,    3,    3,    3,    3,    3,    3,    3,      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,
 };  };
 const short yylen[] = {                                         2,  const short yylen[] = {                                         2,
     1,    1,    0,    0,    5,    6,    2,    1,    2,    2,      1,    1,    0,    0,    5,    6,    2,    1,    2,    2,
Line 115  const short yylen[] = {                               
Line 117  const short yylen[] = {                               
     4,    3,    1,    5,    3,    3,    2,    2,    3,    2,      4,    3,    1,    5,    3,    3,    2,    2,    3,    2,
     2,    3,    3,    3,    3,    3,    3,    3,    2,    3,      2,    3,    3,    3,    3,    3,    3,    3,    2,    3,
     3,    2,    3,    3,    3,    3,    3,    3,    5,    3,      3,    2,    3,    3,    3,    3,    3,    3,    5,    3,
     4,      4,    4,
 };  };
 const short yydefred[] = {                                      0,  const short yydefred[] = {                                      0,
     0,    0,    0,   45,    0,    0,    3,    0,    0,    0,      0,    0,    0,   45,    0,    0,    3,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,   46,  
    47,    0,    0,   44,   60,    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,    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,
      46,   47,    0,    0,   44,   60,    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,
    67,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     7,    0,    0,    0,    0,    0,    0,   30,    0,    0,      0,    0,   67,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,   12,    0,    0,    0,      0,    0,    7,    0,    0,    0,    0,    0,    0,   30,
     0,    0,    0,   27,   33,    0,    0,   59,   69,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,   12,
    90,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,   27,   33,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,   62,     59,   69,    0,   90,    0,    0,    0,    0,    0,    0,
     0,   28,    0,   91,    0,    0,    0,    0,   57,   58,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,   52,    0,      0,    0,   62,    0,   28,    0,   91,    0,    0,    0,
     0,    0,    0,    0,    0,    0,   61,    0,    0,    0,      0,   57,   58,   92,    0,    0,    0,    0,    0,    0,
    19,   31,    5,    0,   16,    0,    0,   49,    0,    0,      0,    0,   52,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,   38,    0,    0,    0,    0,    0,     61,    0,    0,    0,   19,   31,    5,    0,   16,    0,
     6,   29,    0,    0,    0,    0,   55,   53,    0,    0,      0,   49,    0,    0,    0,    0,    0,    0,   38,    0,
     0,    0,   50,    0,    0,   26,    0,   17,    0,   14,      0,    0,    0,    0,    6,   29,    0,    0,    0,    0,
     0,   51,    0,    0,   39,   56,   32,    0,   54,   18,     55,   53,    0,    0,    0,    0,   50,    0,    0,   26,
     0,   15,   21,      0,   17,    0,   14,    0,   51,    0,    0,   39,   56,
      32,    0,   54,   18,    0,   15,   21,
 };  };
 const short yydgoto[] = {                                      38,  const short yydgoto[] = {                                      39,
   217,  194,   78,   40,  195,  125,   42,   74,   79,   80,    221,  198,   80,   41,  199,  128,   43,   76,   81,   82,
   109,  153,  196,   43,   51,  158,  106,    111,  156,  200,   44,   52,  161,  108,
 };  };
 const short yysindex[] = {                                    119,  const short yysindex[] = {                                    122,
   -20, -240,  -33,    0, -279, -275,    0,    2,    8,  119,    -12, -257,  -37,    0, -273, -254,    0,    2,   12,   15,
    15,   16,   18,  -20,  155,  -20,   22,   24,   25,    0,    122,   16,   17,   18,  -12,  159,  -12,   19,   23,   24,
     0,   29,  458,    0,    0,  -37,    0,  458,  458,  458,      0,    0,   25,  426,    0,    0,  -36,    0,  426,  426,
   458,    0,  193,    0,    0,  458,  458,    0, 1376,  -89,    426,  426,    0,  389,    0,    0,  426,  426,    0, 1384,
     0,    0,    0,    0,    0,    0, -104, -240,    0,   32,    -89,    0,    0,    0,    0,    0,    0,  -83, -257,    0,
  -217,  458,  458, -195,  458,  458,  458,    0,  -25, 1376,     29, -243,  426,  426,  426, -220,  426,  426,  426,    0,
     0,    0, -215, -214,  458, -240, 2001,  458,  458, -213,    -34, 1384,    0,    0, -221, -218,  426, -257, 2170,  426,
    12,   12, -213,   40, -240,  458, 1522, 1943,  -14,   38,    426, -219,   -4,   -4, -219,   41, -257,  426, 1714, 2078,
    43,  458,  458,  458,  458,  458,  458,  458,  458,  458,    -14,   34,   21,  426,  426,  426,  426,  426,  426,  426,
     0,  458,  458,  458,  458,  458,  458,  458,  458,  458,    426,  426,    0,  426,  426,  426,  426,  426,  426,  426,
     0, -240,  458, -240,   68,   44,  458,    0,   66, 1675,    426,  426,    0, -257,  426, -257,   39,   45,  426,    0,
  1733,   72,   73,   56,   76,  458,    0,   77,   83, 1776,     44, 1772, 1808, 1847,   56,   57,   38,   62,  426,    0,
    87,    4,  -21,    0,    0,   91, 1789,    0,    0,  458,     61,   63, 1862,   65,  -17,  -33,    0,    0,   69, 1890,
     0,   -7,  600,  987,  467, 2118, 2056, 1860,  720,  757,      0,    0,  426,    0,  -28,  733,  959,  596, 2251,  473,
  1943,   12,   12,  -90,  -90,  -90,  -90, 1943, 1826,    0,   2239, 2186,  699, 2078,   -4,   -4,  -94,  -94,  -94,  -94,
  1853,    0,  -34,    0,  458,   94, -155,  -20,    0,    0,   2078, 1903,    0, 1970,    0,  -21,    0,  426,   71, -179,
   458,  119,  458,  119,  -17,  458,  458,  458,    0,   97,    -12,    0,    0,    0,  426,  122,  426,  122,  -29,  426,
    86, -240, 2037,   98, 1943,  458,    0,  -20, -240,  100,    426,  426,    0,   74,   58, -257, 2111,   77, 2078,  426,
     0,    0,    0,  104,    0,   88, -127,    0,  107,  108,      0,  -12, -257,   78,    0,    0,    0,   79,    0,   70,
  1887,  458,   89,   90,    0,  -32,  422,  -89,  458, 1988,   -153,    0,   89,   94, 1983,  426,   75,   76,    0,  -23,
     0,    0, -139,  -20,  458,  119,    0,    0,  458,  115,    196,  -89,  426, 2158,    0,    0, -156,  -12,  426,  122,
   458,  458,    0, -240,  116,    0,   35,    0,  125,    0,      0,    0,  426,   99,  426,  426,    0, -257,  102,    0,
  1930,    0, 1376, 1943,    0,    0,    0,  119,    0,    0,     27,    0,  103,    0, 2044,    0, 1384, 2078,    0,    0,
    80,    0,    0,      0,  122,    0,    0,   82,    0,    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, 1100,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0, 1030,    0,    0,    0,
     0,    0,    0,    0,    0,   67,  106,    0,    0,  526,      0,    0,    0,    0,    0,    0,   54,   86,    0,    0,
     501,    0,    0,    0,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,  110,   93,  110,    0,
     464,    0,    0,    0,    0,    0,    0,    0,  -31,   28,
     -25,  794, 1126, 1186,  822,    0,    0,    0,    0,  491,
       0,   98,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,  135,  118,  135,    0,  489,    0,      0,    0,    0,    0,    0,    0,    0,    0,  110,    0,
     0,    0,    0,    0,    0,    0,  -30,   55,    6,  818,    -11,    0,    0,    0,    0,    0,    0,    0,  -25,    0,
  1032, 1209,  846,    0,    0,    0,    0,   49,    0,  435,  
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0, 1397, 1502, 1425, 1595,  754, 1079,
    1681, 1687, 1552,   87, 1239, 1293,  862,  890,  930,  975,
     127,    0,    0,    0,    0,    0,    0,  110,    0,    0,
       0,    0,    0,    0,  110,    0,   93,    0,    0,  110,
     110,    0,    0,    0, 1334,    0,    0,    0,  510,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,  135,    0,    7,    0,      1,    0,    0,    0,    0,  110,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    6,    0,    0,    0,    0,      0,  538,  110,    9,    0,    0,   31,    0,  110,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0, 1418, 1477, 1464,  -36, 1424,  131, 1631,  605, 1571,      0,    0,    0,    0,    0,    0,    0,  -15,    0,    0,
    60, 1267, 1309,  886,  914,  954,  999,  618,    0,    0,      0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,  135,    0,    0,    0,    0,    0,  
   135,    0,  118,    0,    0,  135,  135,    0,    0,    0,  
  1361,    0,    0,    0,  397,    0,    0,    0,    0,    0,  
     0,    0,    0,    0,    0,    0,    1,    0,    0,    0,  
     0,  135,    0,    0,    0,    0,    0,  563,  135,    9,  
     0,    0,   58,    0,  135,    0,    0,    0,    0,    0,  
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,  
     0,    0,    0,  -23,    0,    0,    0,    0,    0,    0,  
     0,    0,    0,  
 };  };
 const short yygindex[] = {                                      0,  const short yygindex[] = {                                      0,
     0,   95, 2334,   10,  -28,  202,    0,  -45, 2286,    0,      0,    5, 2466,  -18,  -62,   11,    0,  -70, 2421,    0,
     0,    0,    0,  601,    0,    0,    0,      0,    0,    0, 1196,    0,    0,    0,
 };  };
 #define YYTABLESIZE 2565  #define YYTABLESIZE 2701
 const short yytable[] = {                                      83,  const short yytable[] = {                                      99,
    13,  103,   69,   97,   83,   82,   48,   83,  213,  179,     13,  105,   49,   71,   82,  119,   48,  175,  100,   82,
    82,  214,   49,   82,  116,   35,   50,   42,  104,  171,     42,  192,   82,   97,   95,   34,   96,  217,   98,   50,
    42,   83,   83,  188,   83,   83,   83,   82,   82,   98,    218,   56,  183,   36,    4,   42,   82,   82,   42,   82,
    82,   82,   82,   13,   95,   93,   13,   94,   34,   96,     82,   82,  100,   13,   46,   47,   13,   97,   51,  106,
    13,   52,    4,   13,   89,   13,   34,   53,   98,   89,     13,   53,   98,   13,   89,   13,   35,    4,  110,   89,
    45,   46,   89,   95,   55,   56,   83,   57,   96,   13,    115,   54,   89,  107,   55,   57,   58,   59,   65,   13,
    13,   63,   82,   64,   65,    4,   89,   89,   66,   89,     13,   82,   66,   67,   68,   99,   89,   89,  109,   89,
    89,  107,   31,  108,  112,   35,  118,  119,  129,   33,     89,  121,  124,   32,  122,   93,   36,  133,  132,  157,
    91,  130,   29,  155,   30,   68,   97,   83,   83,   36,     34,  129,  134,   30,  158,   31,   70,  160,   70,   99,
   178,   13,   36,   82,   82,   66,   47,   68,   34,   37,    176,   13,   82,   82,  176,  165,  167,  166,   34,   35,
    66,   89,  172,   66,  131,   97,  172,   36,  154,  157,     38,   89,  168,  182,  170,  173,  171,  174,  153,  177,
    36,  161,   31,  162,  163,   35,  164,   66,   66,   33,    155,  185,  186,  196,   32,  197,  203,   36,  207,  208,
   166,   66,   29,   13,   30,   13,  167,  169,  170,   34,    210,   34,   66,   13,   30,   13,   31,   66,  209,  211,
    36,  173,   89,   89,  181,  182,  192,  199,   34,   37,     66,   37,   89,   89,  212,  215,  216,  220,   35,  226,
   203,   36,  105,  193,  204,  206,  205,  207,  208,  211,     35,   38,  230,  232,   66,   66,   34,   34,   66,  231,
   212,   31,   66,  216,   35,  222,  226,  227,   33,   34,     34,   34,   34,   25,   32,  229,   35,   36,  202,   35,
   121,   29,   32,   30,  124,  228,   85,   34,  102,  126,    235,   34,   65,   33,   30,  127,   31,   65,  104,    0,
    36,   85,   36,   36,   85,   34,   34,   34,   37,   34,     65,    0,   37,    0,    0,    0,  189,    0,  191,   66,
    25,  231,  198,   66,   66,  225,    0,   31,   85,   85,     35,   38,    0,    0,   65,   65,    0,  206,   65,    0,
    35,   85,   85,   85,   33,    0,  150,   29,  152,   30,     35,   32,    0,    0,   36,    0,    0,    0,   34,    0,
     0,   41,   32,   91,  233,    0,    0,    0,    0,   36,     93,   30,    0,   31,   33,    0,  237,    0,    0,    0,
     0,   54,    0,   34,   37,    0,    0,    0,    0,    0,     66,   66,   37,    0,    0,    0,    0,   35,   38,   65,
     0,    0,    0,   85,    0,   31,    0,    0,    0,    0,    224,   35,   35,    0,    0,    0,    0,    0,   32,    0,
     0,    0,   33,    0,   76,   29,    0,   30,    0,    0,      0,    0,    0,    0,    0,   34,    0,   78,   30,    0,
     0,   32,    0,    0,    0,   36,   83,   83,   83,   83,     31,    0,  236,    0,   33,    0,    0,    0,    0,   37,
    83,    0,   37,    0,   85,   85,   13,   13,   83,   13,     65,   65,    0,    0,    0,   38,   13,   13,    0,   13,
    13,   13,   13,   13,   82,    0,    0,   13,   13,   13,     13,   13,   13,   13,   82,    0,   93,   13,   13,   13,
    13,   13,   13,  202,   13,   13,   13,   13,   13,   13,     13,   13,   13,   13,    0,   13,   13,   13,   13,   13,
    13,   13,   13,   36,    0,    0,   91,    0,   13,    0,     13,   13,   13,   13,    0,    0,   37,    0,    0,   13,
    13,   13,   13,   13,   13,    1,    2,    0,    3,    4,     93,   13,   13,   13,   13,   13,    1,    2,    0,    3,
     5,    6,    7,   89,    0,   91,    8,    9,   10,   11,      4,    5,    6,    7,   89,    0,    0,    8,    9,   10,
    12,   13,    0,   14,   15,   16,   17,   18,   19,   20,     11,   12,   13,   14,    0,   15,   16,   17,   18,   19,
    21,   22,    0,    0,    0,    0,    0,   23,    0,   24,     20,   21,   22,   23,    0,    0,    0,    0,    0,   24,
    25,   26,   27,   28,    0,    1,    2,    0,    3,    4,      0,   25,   26,   27,   28,   29,    0,    1,    2,    0,
     5,    6,    7,    0,    0,    0,    8,    9,   10,   11,      3,    4,    5,    6,    7,    0,    0,    0,    8,    9,
    12,   13,    0,   14,   15,   16,   17,   18,   19,   20,     10,   11,   12,   13,   14,    0,   15,   16,   17,   18,
    21,   22,    0,  185,    0,  187,    0,   23,    0,   24,     19,   20,   21,   22,   23,    0,    0,    0,    0,    0,
    25,   26,   27,   28,    1,    2,    0,    3,    4,    5,     24,    0,   25,   26,   27,   28,   29,    1,    2,    0,
     6,    7,    0,    0,    0,    8,    9,   10,   11,   12,      3,    4,    5,    6,    7,    0,    0,    0,    8,    9,
    13,    0,   14,   15,   16,   17,   18,   19,   20,   21,     10,   11,   12,   13,   14,    0,   15,   16,   17,   18,
    22,    0,    0,    0,    0,    0,   23,  220,   24,   25,     19,   20,   21,   22,   23,    0,    0,    0,    0,    0,
    26,   27,   28,    3,    4,   85,   85,   85,    0,    0,     24,    0,   25,   26,   27,   28,   29,    3,    4,    0,
     0,    8,    9,    0,    0,   85,    0,    0,    0,  232,      0,   32,    0,    0,    0,    8,    9,   10,   34,    0,
     0,   17,   18,   19,   20,   21,   22,   37,    0,    0,     78,   30,    0,   31,    0,    0,   18,   19,   20,   21,
    37,    0,   23,    0,   24,   25,   59,   27,   28,   75,     22,   23,    0,    0,    0,    0,    0,   24,   38,   25,
     0,    3,    4,    0,   31,   37,    0,    0,   37,    8,     26,   61,   28,   29,    3,    4,    0,    0,   32,    0,
     9,   33,    0,   76,   29,    0,   30,    0,    0,   17,      0,    0,    8,    9,   10,   34,    0,    0,   30,    0,
    18,   19,   20,   21,   22,   35,    0,    0,    0,    0,     31,    0,    0,   18,   19,   20,   21,   22,   23,   37,
    23,   37,   24,   25,   59,   27,   28,    0,    0,   37,      0,    0,    0,    0,   24,   38,   25,   26,   61,   28,
    31,    0,    0,   35,    0,    0,   35,   33,    0,    0,     29,    0,    0,    0,    0,    0,    0,    0,    0,   48,
    29,    0,   30,   98,    0,    0,    0,    0,   95,   93,     48,    0,    0,    0,   48,   48,   48,   48,   48,  100,
     0,   94,   36,   96,    0,    0,    0,   37,    0,    0,     48,    0,    0,    0,   97,   95,   37,   96,    0,   98,
    37,   37,    0,    0,   48,   48,    0,   35,    0,   48,      0,   48,   48,    0,   48,   48,   48,    0,    0,    0,
    48,   48,   48,   48,    0,   48,    0,    0,    0,    0,      0,   36,    0,    0,   36,    0,   63,   63,    0,    0,
     0,    0,    0,    0,    0,    0,   48,   48,   36,   48,      0,   63,   63,   63,   63,   63,    0,   63,    0,   36,
    48,   48,    0,    0,    0,    0,    0,    0,   35,   35,     37,    0,   36,   37,   48,    0,   48,   48,   63,   63,
    97,   63,   63,    0,    0,    0,   63,   63,   63,   63,      0,   63,   63,   63,    0,    0,   99,    0,   37,    0,
    63,    0,   63,    0,    0,    0,    0,    0,    0,   48,      0,   37,    0,   64,   64,    0,    0,    0,   64,   64,
     0,   48,   48,   63,   63,    0,   63,   63,   63,    0,     64,   64,   64,   36,   64,    0,    0,   48,   48,    0,
     0,    0,    0,    0,    0,    0,    0,    0,   64,   64,      0,    0,    0,   63,   63,   64,   64,    0,   64,   64,
     0,   44,    0,   64,   64,   64,   64,   64,    0,   64,     64,    0,   37,    0,    0,    0,    0,    0,    0,    0,
     0,    0,   48,   48,   58,   61,   62,    0,   63,   63,      0,    0,    0,    0,   36,   36,    0,    0,    0,    0,
    64,   64,    0,   64,   64,   64,    0,    0,    0,    0,      0,    0,    0,    0,   63,   63,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,   98,    0,    0,  101,     64,   64,  100,   37,   37,    0,    0,   97,   95,    0,
    87,   95,   93,    0,   94,   87,   96,    0,   87,   63,     96,    0,   98,    0,    0,   77,    0,    3,    4,    0,
    63,    0,    0,   65,    0,   64,   64,    0,   65,    0,      0,    0,    0,    0,    0,    8,    9,   10,    0,    0,
   117,   65,   87,   87,    0,   87,   87,   87,    0,    0,      0,   64,   64,    0,    0,    0,   18,   19,   20,   21,
     0,    0,    0,    0,    0,   65,   65,    0,    0,   65,     22,   23,    0,    0,    0,    0,    0,   24,    0,   25,
     3,    4,    0,    0,    0,    0,   64,   64,    8,    9,     26,   61,   28,   29,    3,    4,    0,    0,    0,   99,
     0,    0,    0,   97,    0,    0,    0,   87,   17,   18,      0,    0,    8,    9,   10,    0,    0,    0,    0,    0,
    19,   20,   21,   22,    0,    0,    0,    0,    0,   23,      0,    0,    0,   18,   19,   20,   21,   22,   23,    0,
    65,   24,   25,   59,   27,   28,    3,    4,    0,    0,      0,    0,    0,    0,   24,    0,   25,   26,   61,   28,
     0,    0,    0,    0,    8,    9,    0,    0,   87,   87,     29,   48,    0,    0,    0,    0,    0,   48,   48,   48,
    82,   83,   84,    0,   17,   18,   19,   20,   21,   22,      0,    0,    0,    0,    0,  100,   84,   85,   86,    0,
     0,   65,   65,    0,    0,   23,   48,   24,   25,   59,     97,   95,    0,   96,    0,   98,    0,   48,   48,   48,
    27,   28,   48,   48,   48,   90,   98,    0,  183,    0,     48,   48,    0,   48,    0,    0,   87,   88,   48,   48,
    91,   95,   93,    0,   94,    0,   96,    0,    0,    0,      0,    0,   92,    0,   63,   63,   63,   93,    0,  100,
     0,   48,   48,   48,   48,   48,    0,   48,  201,    0,      0,    0,    0,    0,   97,   95,    0,   96,    0,   98,
     0,    0,   48,   48,    0,    0,    0,    0,    0,   63,      0,    0,    0,    0,   63,   63,   63,   63,   63,   84,
    63,   63,    0,   98,    0,    0,    0,    0,   95,   93,     63,    0,   99,    0,   84,   63,   63,   84,    0,    0,
     0,   94,    0,   96,  218,    0,    0,    0,   63,   63,      0,   64,   64,   64,    0,    0,    0,    0,    0,    0,
    63,   63,   63,   97,   63,    0,    0,    0,    0,   63,      0,   84,   84,    0,   84,   84,   84,    0,    0,    0,
    63,    0,    0,  230,    0,    0,   64,   64,   64,    0,      0,   64,   64,   64,   64,   64,   99,   64,    0,   68,
      68,    0,   64,   64,   68,   68,   68,   68,   68,    0,
      68,    0,    0,    0,    0,    0,   84,    0,    0,    0,
       0,   68,   68,    0,   68,   68,   68,   79,   79,   84,
      85,   86,   79,   79,   79,   79,   79,    0,   79,    0,
       0,    0,    0,    0,    0,    0,    0,   84,   84,   79,
      79,    0,   79,   79,   79,   92,   68,   68,    0,    0,
      93,    0,    0,    0,    0,    0,    0,   74,   74,    0,
       0,    0,   74,   74,   74,   74,   74,    0,   74,    0,
       0,    0,    0,    0,   79,   79,    0,   68,   68,   74,
      74,    0,   74,   74,   74,   75,   75,    0,    0,    0,
      75,   75,   75,   75,   75,    0,   75,    0,    0,    0,
       0,    0,    0,    0,    0,   79,   79,   75,   75,    0,
      75,   75,   75,    0,   74,    0,    0,    0,    0,    0,
       0,    0,   84,   85,   86,   77,   77,    0,    0,    0,
      77,   77,   77,   77,   77,    0,   77,    0,    0,    0,
       0,    0,   75,    0,    0,   74,   74,   77,   77,    0,
      77,   77,   77,   93,    0,  100,   84,    0,   86,    0,
      97,   95,    0,   96,    0,   98,    0,    0,    0,    0,
      76,   76,    0,   75,   75,   76,   76,   76,   76,   76,
       0,   76,   77,    0,    0,    0,    0,   93,    0,    0,
       0,    0,   76,   76,    0,   76,   76,   76,   84,   84,
      84,   84,    0,    0,    0,    0,    0,    0,    0,   84,
       0,    0,   99,   77,   77,    0,    0,   68,   68,   68,
       0,    0,    0,    0,    0,   48,   48,   76,    0,    0,
       0,   48,   48,    0,   48,    0,   48,   68,   68,   68,
      68,   68,    0,   68,    0,   79,   79,   79,   48,   68,
      48,    0,   48,    0,    0,    0,    0,    0,   76,   76,
       0,    0,    0,    0,    0,   79,   79,   79,   79,   79,
       0,   79,    0,    0,   85,    0,    0,   79,    0,   85,
      48,    0,   85,   48,    0,   74,   74,   74,    0,    0,
       0,    0,    0,    0,    0,    0,   85,   85,    0,   85,
      85,   85,    0,    0,    0,   74,   74,   74,   74,   74,
       0,   74,    0,   75,   75,   75,    0,   74,    0,    0,
       0,   70,    0,    0,    0,    0,   70,    0,   70,   70,
      70,   85,    0,   75,   75,   75,   75,   75,    0,   75,
       0,    0,    0,   70,   70,   75,   70,   70,   70,    0,
       0,    0,    0,   77,   77,   77,   45,    0,    0,    0,
       0,    0,   85,   85,    0,    0,    0,    0,    0,    0,
      60,   63,   64,   77,   77,   77,   77,   77,   70,   77,
       0,   71,   84,    0,    0,   77,   71,    0,   71,   71,
      71,    0,    0,    0,    0,  103,    0,    0,   76,   76,
      76,    0,    0,   71,   71,    0,   71,   71,   71,   70,
      70,    0,    0,   93,    0,    0,    0,  120,   76,   76,
      76,   76,   76,    0,   76,    0,    0,    0,    0,    0,
      76,    0,    0,    0,   72,    0,    0,    0,   71,   72,
       0,   72,   72,   72,    0,    0,    0,   48,    0,    0,
       0,    0,    0,   48,   48,   48,   72,   72,    0,   72,
      72,   72,    0,    0,    0,    0,    0,    0,    0,   71,
      71,    0,    0,   48,   48,   48,   48,   48,    0,   48,
       0,    0,    0,    0,   48,   48,    0,    0,   73,    0,
       0,   72,    0,   73,    0,   73,   73,   73,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,   64,   64,   64,   64,   64,     73,   73,    0,   73,   73,   73,  187,    0,    0,    0,
    97,   64,    0,   68,   68,    0,   64,   64,   68,   68,      0,    0,   72,   72,   85,   85,   85,    0,    0,   49,
    68,   68,   68,   82,   68,   84,    0,    0,    0,    0,     49,    0,    0,    0,   85,   49,   49,  205,   49,    0,
     0,    0,    0,    0,    0,   68,   68,    0,   68,   68,     49,    0,    0,    0,    0,   73,    0,    0,    0,   70,
    68,   79,   79,    0,    0,    0,   79,   79,   79,   79,     70,   70,   49,    0,   49,    0,   49,    0,    0,    0,
    79,   87,   79,   91,    0,    0,    0,    0,    0,   87,      0,    0,    0,  222,    0,    0,    0,    0,    0,   70,
     0,    0,    0,   79,   79,    0,   79,   79,   79,    0,     70,   70,   70,   70,    0,   70,   73,   73,    0,   36,
    68,   68,    0,    0,    0,    0,    0,    0,    0,    0,    100,   70,  234,    0,   49,   97,   95,   49,   96,    0,
     0,   74,   74,    0,    0,    0,   74,   74,   74,   74,     98,    0,   78,    0,    0,    0,    0,   78,    0,    0,
    74,    0,   74,    0,    0,    0,    0,    0,   79,   79,     78,    0,   35,    0,  101,    0,  102,    0,    0,   71,
     0,   68,   68,   74,   74,    0,   74,   74,   74,   75,     71,   71,    0,    0,   78,   78,    0,   78,   78,   78,
    75,    0,    0,    0,   75,   75,   75,   75,   75,    0,     81,    0,    0,    0,    0,   81,    0,    0,   81,   71,
    75,    0,    0,    0,    0,    0,    0,    0,    0,   79,     71,   71,   71,   71,    0,   71,    0,   99,    0,    0,
    79,   75,   75,    0,   75,   75,   75,    0,   74,    0,      0,   71,   81,   81,    0,   81,   81,   81,    0,   78,
     0,    0,    0,   82,   83,   84,    0,    0,    0,   77,  
    77,    0,    0,    0,   77,   77,   77,   77,   77,    0,  
    77,    0,   85,   86,   87,   88,   75,    0,   90,   74,  
    74,   77,   77,   91,   77,   77,   77,    0,    0,    0,  
    82,   83,   84,   98,    0,    0,    0,    0,   95,   93,  
     0,   94,    0,   96,   76,   76,    0,   75,   75,   76,  
    76,   76,   76,   76,    0,   76,   77,    0,    0,    0,  
    91,    0,    0,    0,    0,    0,   76,   76,    0,   76,  
    76,   76,    0,    0,    0,    0,    0,   70,    0,    0,  
     0,    0,   70,    0,   70,   70,   70,   77,   77,    0,  
    97,   68,   68,   68,    0,    0,    0,    0,    0,   70,  
    70,   76,   70,   70,   70,    0,    0,    0,    0,    0,  
    68,   68,   68,   68,   68,    0,   68,    0,    0,   79,  
    79,   79,   68,    0,    0,    0,    0,    0,    0,    0,  
     0,    0,   76,   76,   70,    0,    0,    0,   79,   79,  
    79,   79,   79,    0,   79,   48,   48,    0,    0,    0,  
    79,   48,   48,    0,   48,    0,   48,    0,    0,   74,  
    74,   74,    0,    0,    0,   70,   70,    0,   48,    0,  
    48,    0,   48,    0,    0,    0,    0,    0,   74,   74,  
    74,   74,   74,    0,   74,    0,    0,   75,   75,   75,  
    74,    0,    0,    0,    0,    0,    0,    0,    0,    0,  
    48,    0,    0,   48,    0,    0,   75,   75,   75,   75,  
    75,    0,   75,    0,    0,    0,    0,    0,   75,    0,  
     0,    0,    0,    0,    0,    0,    0,   77,   77,   77,  
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,   77,   77,   77,   77,      0,    0,   72,   72,   72,    0,    0,    0,    0,    0,
    77,    0,   77,    0,   71,    0,    0,    0,   77,   71,      0,    0,    0,    0,    0,    0,    0,   81,    0,    0,
    82,   71,   71,   71,    0,    0,    0,    0,    0,    0,     78,   78,   72,   72,   72,   72,   72,    0,   72,    0,
     0,    0,   76,   76,   76,    0,   71,   71,    0,   71,      0,    0,    0,    0,   72,    0,    0,   80,    0,    0,
    71,   71,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,   80,    0,    0,   80,    0,    0,   81,   81,
    91,   76,   76,   76,   76,   76,    0,   76,    0,    0,      0,    0,    0,    0,    0,    0,   73,   73,   73,   80,
     0,    0,    0,   76,    0,   70,   70,   70,    0,    0,     80,    0,   80,   80,   80,    0,    0,    0,    0,    0,
     0,   71,   72,    0,    0,    0,    0,   72,    0,   72,      0,    0,    0,    0,    0,    0,   73,   73,   73,   73,
    72,   72,    0,    0,   70,   70,   70,   70,   70,    0,     73,    0,   73,    0,    0,    0,    0,   88,   73,    0,
    70,    0,    0,    0,   72,   72,   70,   72,   72,   72,      0,   49,   88,    0,   80,   88,    0,   49,   49,   49,
     0,    0,   71,   71,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,   88,
     0,    0,    0,    0,   73,    0,    0,    0,    0,   73,     88,    0,   88,   88,   88,    0,    0,   49,   49,   49,
     0,   73,   73,   73,    0,    0,    0,   48,    0,   72,     49,   49,    0,   49,    0,   80,   80,    0,   49,   49,
     0,    0,    0,   48,   48,   48,   73,   73,    0,   73,     83,    0,    0,    0,    0,   83,    0,    0,   83,    0,
    73,   73,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,   88,    0,    0,   84,   85,   86,
     0,    0,   48,   48,   48,   48,   48,    0,   48,    0,      0,    0,   83,   83,    0,   83,   83,   83,    0,    0,
    72,   72,    0,   48,   48,    0,   49,   49,    0,    0,     78,   78,   78,    0,    0,    0,    0,   87,   88,   89,
     0,   73,   49,   49,    0,   49,    0,   49,    0,    0,     90,   91,    0,   92,    0,   88,   88,    0,   93,   94,
     0,   35,   98,    0,    0,    0,    0,   95,   93,   49,     78,   78,   78,   78,   78,    0,   78,   83,    0,   81,
    94,   49,   96,   49,    0,    0,    0,    0,    0,    0,     81,    0,   78,    0,    0,    0,    0,    0,    0,    0,
     0,    0,   73,   73,   34,    0,   99,    0,  100,    0,      0,    0,    0,    0,    0,    0,    0,    0,   81,   81,
      81,   81,   81,    0,   81,    0,   86,    0,   83,   83,
      81,   86,   87,    0,   86,    0,    0,   87,    0,    0,
      87,    0,    0,    0,    0,    0,    0,    0,   86,   86,
       0,   86,   86,   86,   87,   87,    0,   87,   87,   87,
     100,    0,    0,    0,  131,   97,   95,    0,   96,    0,
      98,    0,    0,    0,    0,    0,   80,    0,    0,    0,
       0,    0,    0,   86,  101,    0,  102,    0,    0,   87,
       0,    0,    0,    0,    0,   80,   80,   80,   80,   80,
       0,   80,    0,    0,    0,    0,    0,   80,    0,    0,
       0,    0,    0,    0,   86,   86,    0,   99,  100,    0,
      87,   87,  162,   97,   95,    0,   96,    0,   98,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,   49,    0,   78,   49,    0,    0,    0,   78,   84,      0,    0,  101,    0,  102,   88,   88,   88,   88,   88,
     0,   78,    0,    0,   84,    0,    0,   84,    0,   97,      0,   88,    0,    0,  100,    0,    0,   88,  163,   97,
     0,    0,   71,   71,   71,   78,   78,    0,   78,   78,     95,    0,   96,    0,   98,    0,    0,    0,    0,    0,
    78,   84,   84,    0,   84,   84,   84,    0,    0,    0,      0,    0,    0,    0,    0,   99,    0,    0,  101,    0,
     0,   71,   71,   71,   71,   71,    0,   71,    0,   81,    102,    0,    0,    0,    0,    0,    0,    0,   83,   83,
     0,    0,    0,   71,   81,    0,    0,   81,    0,    0,     83,   83,   83,  100,    0,    0,    0,  164,   97,   95,
    78,    0,   80,    0,    0,    0,   84,   80,    0,    0,     83,   96,    0,   98,    0,    0,    0,    0,  100,    0,
    80,   81,   81,    0,   81,   81,   81,    0,    0,    0,      0,   99,    0,   97,   95,  172,   96,  101,   98,  102,
    72,   72,   72,    0,   80,   80,    0,   80,   80,   80,  
     0,   78,   78,    0,    0,    0,    0,   84,   84,   72,  
    72,   72,   72,   72,    0,   72,   81,    0,   98,    0,  
     0,   72,  128,   95,   93,    0,   94,    0,   96,   80,  
     0,    0,   73,   73,   73,    0,    0,    0,    0,    0,  
     0,    0,   99,    0,  100,    0,    0,   81,   81,    0,  
     0,   73,   73,   73,   73,   73,    0,   73,    0,    0,  
    80,   80,    0,   73,    0,    0,   88,    0,    0,    0,  
     0,   88,    0,    0,   88,   97,    0,    0,   49,    0,  
     0,    0,    0,    0,   49,   49,   49,    0,   88,   88,  
     0,   88,   88,   88,    0,    0,    0,    0,    0,   82,  
    83,   84,    0,   49,   49,   49,   49,   49,    0,   49,  
     0,    0,    0,    0,   49,   49,    0,    0,   85,   86,  
    87,   88,   89,   88,   90,    0,   86,    0,    0,   91,  
    92,   86,    0,    0,   86,    0,    0,    0,    0,    0,  
     0,   78,   78,   78,    0,    0,    0,    0,   86,   86,  
     0,   86,   86,   86,   88,   88,    0,    0,    0,    0,  
    78,   78,   78,   78,   78,    0,   78,   84,   84,   84,  
    84,   98,   78,    0,    0,  159,   95,   93,   84,   94,  
     0,   96,    0,   86,    0,    0,    0,    0,   81,   81,  
     0,    0,    0,    0,    0,   99,    0,  100,    0,    0,  
     0,   80,    0,    0,    0,    0,   81,   81,   81,   81,  
    81,    0,   81,    0,   86,   86,    0,    0,   81,   80,  
    80,   80,   80,   80,    0,   80,    0,    0,   97,   98,  
     0,   80,    0,  160,   95,   93,    0,   94,    0,   96,  
     0,    0,    0,    0,    0,   82,   83,   84,    0,    0,  
     0,    0,    0,   99,    0,  100,    0,    0,    0,    0,  
     0,    0,    0,    0,   85,   86,   87,   88,   89,    0,  
    90,    0,   98,    0,    0,   91,   92,   95,   93,  168,  
    94,    0,   96,    0,    0,   98,   97,    0,    0,  174,  
    95,   93,    0,   94,    0,   96,   99,    0,  100,    0,  
     0,    0,    0,    0,    0,    0,    0,    0,    0,   99,  
     0,  100,    0,   88,   88,   88,   88,   88,    0,   88,  
     0,    0,   98,    0,    0,   88,    0,   95,   93,   97,  
    94,    0,   96,    0,    0,    0,    0,    0,    0,    0,  
     0,    0,   97,  176,    0,    0,   99,    0,  100,   98,  
     0,    0,    0,    0,   95,   93,   98,   94,    0,   96,  
     0,   95,   93,    0,   94,    0,   96,    0,    0,    0,  
     0,    0,    0,   99,    0,  100,   86,   86,    0,   97,  
     0,    0,    0,   98,    0,   86,    0,    0,   95,   93,  
   209,   94,    0,   96,    0,    0,    0,    0,   82,   83,  
    84,    0,    0,    0,    0,  177,   97,   99,    0,  100,  
     0,    0,    0,   97,    0,    0,    0,   85,   86,   87,  
    88,   89,    0,   90,    0,    0,   98,    0,   91,   92,  
   229,   95,   93,    0,   94,    0,   96,    0,    0,   98,  
    97,    0,    0,    0,   95,   93,    0,   94,    0,   96,  
    99,    0,  100,    0,    0,    0,   82,   83,   84,    0,  
     0,    0,    0,   99,    0,  100,    0,    0,    0,    0,  
     0,    0,    0,    0,    0,   85,   86,   87,   88,   89,  
     0,   90,    0,   97,   98,    0,   91,   92,    0,   95,  
    93,    0,   94,    0,   96,    0,   97,   98,    0,   82,  
    83,   84,   95,   93,    0,   94,    0,   96,    0,    0,  
   100,    0,   82,   83,   84,    0,    0,    0,   85,   86,  
    87,   88,   89,    0,   90,    0,    0,    0,    0,   91,  
    92,   85,   86,   87,   88,   89,  197,   90,    0,    0,  
     0,   97,   91,   92,    0,    0,    0,    0,    0,   82,  
    83,   84,   98,    0,   97,    0,    0,   95,   93,    0,  
    94,    0,   96,    0,    0,    0,    0,    0,   85,   86,  
    87,   88,   89,    0,   90,    0,   82,   83,   84,   91,  
    92,    0,    0,   82,   83,   84,    0,    0,    0,    0,  
     0,    0,    0,    0,    0,   85,   86,   87,   88,   89,  
     0,   90,   85,   86,   87,    0,   91,   92,   90,   97,  
    82,   83,   84,   91,   98,    0,    0,    0,    0,   95,  
    93,    0,   94,    0,   96,    0,    0,    0,    0,   85,  
    86,   87,   88,   89,    0,   90,    0,    0,    0,    0,  
    91,   92,    0,    0,    0,    0,    0,    0,    0,    0,  
     0,    0,    0,   82,   83,   84,    0,    0,    0,    0,  
     0,    0,    0,    0,    0,    0,   82,   83,   84,    0,  
     0,   97,   85,   86,   87,   88,   89,    0,   90,    0,  
     0,    0,    0,   91,   92,   85,   86,   87,   88,   89,  
     0,   90,    0,    0,    0,    0,   91,   92,    0,    0,  
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,   82,   83,   84,    0,    0,    0,    0,    0,    0,      0,    0,  101,    0,  102,    0,  100,    0,    0,    0,
     0,    0,    0,    0,   82,   83,   84,    0,    0,    0,    178,   97,   95,    0,   96,    0,   98,    0,    0,  100,
    85,   86,   87,   88,   89,    0,   90,    0,    0,    0,     99,    0,    0,    0,   97,   95,    0,   96,    0,   98,
     0,   91,    0,   85,   86,   87,   88,   89,    0,   90,    101,    0,  102,    0,    0,   99,    0,    0,    0,    0,
     0,    0,    0,    0,   91,    0,    4,    0,    0,    0,    180,    0,    0,  101,    0,  102,    0,   86,   86,    0,
     0,    0,    0,    8,    9,    0,    0,    0,    0,    0,      0,    0,    0,    0,   87,    0,   86,   84,   85,   86,
     0,    0,    0,   17,   18,   19,   20,   21,   22,   82,      0,    0,   87,   99,    0,    0,    0,    0,    0,    0,
    83,   84,   81,    0,    0,    0,   24,   25,   59,   27,      0,    0,    0,    0,    0,    0,   99,   87,   88,   89,
     0,    0,    0,   39,    0,    0,    0,    0,   85,   86,     90,   91,    0,   92,    0,    0,  100,    0,   93,   94,
   113,  114,  115,   39,   90,    0,    0,    0,   60,   91,      0,   97,   95,    0,   96,    0,   98,    0,    0,  100,
     0,    0,    0,  122,  123,    0,   67,    0,    0,    0,      0,    0,    0,    0,   97,   95,  213,   96,    0,   98,
     0,   70,   71,   72,   73,    0,   77,    0,    0,    0,    101,    0,  102,    0,    0,   84,   85,   86,    0,    0,
       0,    0,    0,  101,    0,  102,    0,    0,    0,    0,
       0,    0,    0,    0,    0,   87,   88,   89,   90,   91,
       0,   92,  181,   99,    0,    0,   93,   94,    0,    0,
       0,   84,   85,   86,    0,    0,   99,    0,    0,    0,
     100,    0,    0,    0,  233,   97,   95,    0,   96,    0,
      98,   87,   88,   89,   90,   91,    0,   92,    0,    0,
       0,    0,   93,   94,  101,    0,  102,    0,    0,    0,
      84,   85,   86,    0,  100,    0,    0,    0,    0,   97,
      95,    0,   96,    0,   98,   84,   85,   86,    0,    0,
      87,   88,   89,   90,   91,    0,   92,   99,  101,    0,
     102,   93,   94,    0,    0,   87,   88,   89,   90,   91,
     201,   92,    0,   84,   85,   86,   93,   94,    0,    0,
       0,    0,    0,    0,    0,    0,   84,   85,   86,    0,
       0,   99,    0,   87,   88,   89,   90,   91,    0,   92,
       0,    0,    0,    0,   93,   94,   87,   88,   89,   90,
      91,    0,   92,    0,  100,    0,    0,   93,   94,   97,
      95,    0,   96,    0,   98,    0,  100,    0,    0,    0,
       0,   97,   95,    0,   96,    0,   98,    0,    0,    0,
     102,    0,  100,    0,    0,    0,    0,   97,   95,    0,
      96,    0,   98,   84,   85,   86,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,   84,   85,   86,    0,
       0,   99,    0,   87,   88,   89,   90,   91,    0,   92,
       0,    0,    0,   99,   93,   94,   87,   88,   89,   90,
      91,    0,   92,    0,    0,  100,    0,   93,   94,   99,
      97,   95,    0,   96,    0,   98,    0,  100,    0,    0,
       0,    0,   97,   95,    0,   96,    0,   98,    0,    0,
       0,    0,    0,    0,    0,    0,    0,   84,   85,   86,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,   82,   83,   84,    0,  110,  111,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,   87,   88,   89,
     0,    0,  156,    0,    0,    0,    0,    0,  120,    0,     90,   91,   99,   92,    0,    0,    0,    0,   93,   94,
    85,  165,    0,    0,    0,    0,   90,   39,    0,  127,      0,   84,   85,   86,   99,    0,    0,    0,    0,    0,
     0,   91,    0,    0,    0,  132,  133,  134,  135,  136,  
   137,  138,  139,  140,    0,  141,  142,  143,  144,  145,  
   146,  147,  148,  149,    0,    0,  151,    0,    0,    0,  
   180,    0,    0,    0,    0,    0,  184,    0,  186,    0,  
     0,  189,  190,    0,    0,    0,    0,    0,    0,    0,  
     0,    0,    0,  175,    0,    0,    0,    0,    0,    0,  
     0,    0,    0,    0,    0,    0,    0,  210,    0,    0,  
     0,    0,    0,    0,  215,    0,    0,    0,    0,    0,  
   219,    0,    0,    0,    0,   39,    0,   39,    0,    0,  
     0,  191,    0,    0,    0,    0,    0,    0,    0,  200,  
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
       0,   87,   88,   89,   90,   91,    0,   92,    0,    0,
       4,    0,   93,   94,    0,    0,    0,    8,    9,    0,
       0,    0,    0,    0,    0,    0,    0,    0,   18,   19,
      20,   21,   22,   23,    0,    0,    0,    0,    0,    0,
       0,   25,   26,   61,   28,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    77,    0,    0,    0,    0,    0,    0,    0,    0,   39,      0,   84,   85,   86,    0,    0,    0,    0,    0,    0,
     0,    0,  221,    0,  223,  224,    0,    0,    0,    0,      0,    0,    0,   84,   85,   86,    0,    0,    0,    0,
       0,   87,   88,   89,   90,   91,    0,   92,    0,   84,
      85,   86,   93,   87,   88,   89,   90,   91,   83,   92,
       0,    0,    0,    0,   93,   40,    0,    0,    0,   87,
      88,   89,   90,    0,    0,   92,   40,  116,  117,  118,
      93,   62,    0,    0,    0,    0,    0,    0,    0,   69,
     125,  126,    0,    0,   72,   73,   74,   75,    0,   79,
       0,    0,   84,   85,   86,    0,    0,    0,    0,    0,
       0,    0,    0,    0,   84,   85,   86,    0,  112,  113,
     114,    0,   87,   88,   89,    0,    0,    0,   92,  159,
       0,    0,  123,   93,   87,    0,    0,    0,    0,  169,
      92,   40,    0,  130,    0,   93,    0,    0,    0,  135,
     136,  137,  138,  139,  140,  141,  142,  143,    0,  144,
     145,  146,  147,  148,  149,  150,  151,  152,    0,    0,
     154,    0,    0,    0,    0,    0,    0,    0,  184,    0,
       0,    0,    0,    0,    0,  188,    0,  190,    0,    0,
     193,  194,    0,    0,    0,    0,    0,    0,  179,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,   39,    0,    0,   39,      0,    0,    0,    0,    0,    0,  214,    0,    0,    0,
       0,    0,    0,  219,    0,    0,    0,    0,    0,  223,
       0,   40,    0,   40,    0,    0,    0,  195,    0,    0,
       0,    0,    0,    0,    0,  204,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,   79,    0,    0,    0,
       0,    0,    0,    0,    0,   40,    0,    0,  225,    0,
     227,  228,    0,    0,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,    0,   40,    0,    0,
      40,
 };  };
 const short yycheck[] = {                                      36,  const short yycheck[] = {                                      94,
     0,   91,   40,   94,   41,   36,   40,   44,   41,   44,      0,   91,   40,   40,   36,   40,    2,   41,   37,   41,
    41,   44,  292,   44,   40,   36,  292,   41,  123,   41,      0,   41,   44,   42,   43,   41,   45,   41,   47,  293,
    44,   58,   59,   41,   61,   62,   63,   58,   59,   37,     44,   11,   44,   36,   36,   41,   58,   59,   44,   61,
    61,   62,   63,   33,   42,   43,   36,   45,   59,   47,     62,   63,   37,   33,  292,  293,   36,   42,  293,  123,
    40,   40,   36,   43,   36,   45,   41,   40,   37,   41,     40,   40,   47,   43,   36,   45,   59,   59,  292,   41,
   291,  292,   44,   42,   40,   40,   93,   40,   47,   59,    271,   40,   44,   49,   40,   40,   40,   40,   40,   59,
    60,   40,   93,   40,   40,   59,   58,   59,   40,   61,     60,   93,   40,   40,   40,   94,   58,   59,   40,   61,
    62,   40,   33,  291,  270,   36,  292,  292,   93,   40,     62,  293,   68,   33,  293,  295,   36,   44,   93,   41,
   294,   44,   43,   40,   45,  123,   94,  124,  125,   41,     40,   77,   62,   43,   40,   45,  123,   44,  123,   94,
   125,   91,   44,  124,  125,   36,    2,  123,   59,   60,    124,   91,  124,  125,  124,   40,   59,   41,  124,   59,
    41,   93,  124,   44,   62,   94,  124,   59,   41,   44,     60,   93,   41,  125,   44,   41,   44,  125,  104,   41,
    62,   40,   33,   41,   59,   36,   41,   58,   59,   40,    106,   41,  292,   40,   33,   58,   40,   36,   41,   41,
    44,   62,   43,  123,   45,  125,   44,   41,  125,  124,    274,   40,   36,  123,   43,  125,   45,   41,   59,   41,
    91,   41,  124,  125,   41,  291,   40,   40,   59,   60,     44,   91,  124,  125,   41,   61,   61,  294,   41,   41,
    41,   93,   48,   58,   41,  273,   59,   41,   41,   61,     59,   60,   41,   41,   58,   59,   93,   62,   62,  123,
    61,   33,   93,  293,   36,   41,   41,  123,   40,   93,     41,   59,  125,  123,   33,  218,   59,   36,  177,   62,
    66,   43,  123,   45,  125,   41,   36,   62,  258,   75,    231,   40,   36,  123,   43,  125,   45,   41,  258,   -1,
    91,   41,  124,  125,   44,   41,   59,   59,   60,  125,     44,   -1,   91,   -1,   -1,   -1,  166,   -1,  168,   93,
   123,  227,  173,  124,  125,  214,   -1,   33,   58,   59,     59,   60,   -1,   -1,   58,   59,   -1,  183,   62,   -1,
    36,   61,   62,   63,   40,   -1,  102,   43,  104,   45,     93,   33,   -1,   -1,   36,   -1,   -1,   -1,   40,   -1,
    -1,    0,  123,  294,  125,   -1,   -1,   -1,   -1,   91,    295,   43,   -1,   45,  123,   -1,  125,   -1,   -1,   -1,
    -1,   10,   -1,   59,   60,   -1,   -1,   -1,   -1,   -1,    124,  125,   91,   -1,   -1,   -1,   -1,   59,   60,   93,
    -1,   -1,   -1,   93,   -1,   33,   -1,   -1,   -1,   -1,    210,  124,  125,   -1,   -1,   -1,   -1,   -1,   33,   -1,
    -1,   -1,   40,   -1,   42,   43,   -1,   45,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   40,   -1,   42,   43,   -1,
    -1,  123,   -1,   -1,   -1,   91,  283,  284,  285,  286,     45,   -1,  232,   -1,  123,   -1,   -1,   -1,   -1,   91,
   287,   -1,   60,   -1,  124,  125,  256,  257,  295,  259,    124,  125,   -1,   -1,   -1,   60,  256,  257,   -1,  259,
   260,  261,  262,  263,  295,   -1,   -1,  267,  268,  269,    260,  261,  262,  263,  296,   -1,  295,  267,  268,  269,
   270,  271,  272,  179,  274,  275,  276,  277,  278,  279,    270,  271,  272,  273,   -1,  275,  276,  277,  278,  279,
   280,  281,  282,   91,   -1,   -1,  294,   -1,  288,   -1,    280,  281,  282,  283,   -1,   -1,   91,   -1,   -1,  289,
   290,  291,  292,  293,  294,  256,  257,   -1,  259,  260,    295,  291,  292,  293,  294,  295,  256,  257,   -1,  259,
   261,  262,  263,  295,   -1,  294,  267,  268,  269,  270,    260,  261,  262,  263,  296,   -1,   -1,  267,  268,  269,
   271,  272,   -1,  274,  275,  276,  277,  278,  279,  280,    270,  271,  272,  273,   -1,  275,  276,  277,  278,  279,
   281,  282,   -1,   -1,   -1,   -1,   -1,  288,   -1,  290,    280,  281,  282,  283,   -1,   -1,   -1,   -1,   -1,  289,
   291,  292,  293,  294,   -1,  256,  257,   -1,  259,  260,     -1,  291,  292,  293,  294,  295,   -1,  256,  257,   -1,
   261,  262,  263,   -1,   -1,   -1,  267,  268,  269,  270,    259,  260,  261,  262,  263,   -1,   -1,   -1,  267,  268,
   271,  272,   -1,  274,  275,  276,  277,  278,  279,  280,    269,  270,  271,  272,  273,   -1,  275,  276,  277,  278,
   281,  282,   -1,  162,   -1,  164,   -1,  288,   -1,  290,    279,  280,  281,  282,  283,   -1,   -1,   -1,   -1,   -1,
   291,  292,  293,  294,  256,  257,   -1,  259,  260,  261,    289,   -1,  291,  292,  293,  294,  295,  256,  257,   -1,
   262,  263,   -1,   -1,   -1,  267,  268,  269,  270,  271,    259,  260,  261,  262,  263,   -1,   -1,   -1,  267,  268,
   272,   -1,  274,  275,  276,  277,  278,  279,  280,  281,    269,  270,  271,  272,  273,   -1,  275,  276,  277,  278,
   282,   -1,   -1,   -1,   -1,   -1,  288,  206,  290,  291,    279,  280,  281,  282,  283,   -1,   -1,   -1,   -1,   -1,
   292,  293,  294,  259,  260,  285,  286,  287,   -1,   -1,    289,   -1,  291,  292,  293,  294,  295,  259,  260,   -1,
    -1,  267,  268,   -1,   -1,  295,   -1,   -1,   -1,  228,     -1,   33,   -1,   -1,   -1,  267,  268,  269,   40,   -1,
    -1,  277,  278,  279,  280,  281,  282,   41,   -1,   -1,     42,   43,   -1,   45,   -1,   -1,  278,  279,  280,  281,
    44,   -1,  288,   -1,  290,  291,  292,  293,  294,  257,    282,  283,   -1,   -1,   -1,   -1,   -1,  289,   60,  291,
    -1,  259,  260,   -1,   33,   59,   -1,   -1,   62,  267,    292,  293,  294,  295,  259,  260,   -1,   -1,   33,   -1,
   268,   40,   -1,   42,   43,   -1,   45,   -1,   -1,  277,     -1,   -1,  267,  268,  269,   40,   -1,   -1,   43,   -1,
   278,  279,  280,  281,  282,   41,   -1,   -1,   -1,   -1,     45,   -1,   -1,  278,  279,  280,  281,  282,  283,   91,
   288,   60,  290,  291,  292,  293,  294,   -1,   -1,   93,     -1,   -1,   -1,   -1,  289,   60,  291,  292,  293,  294,
    33,   -1,   -1,   59,   -1,   -1,   62,   40,   -1,   -1,    295,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   36,
    43,   -1,   45,   37,   -1,   -1,   -1,   -1,   42,   43,     37,   -1,   -1,   -1,   41,   42,   43,   44,   45,   37,
    -1,   45,   91,   47,   -1,   -1,   -1,   60,   -1,   -1,     47,   -1,   -1,   -1,   42,   43,   91,   45,   -1,   47,
   124,  125,   -1,   -1,   36,   37,   -1,   93,   -1,   41,     -1,   58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,
    42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,   -1,     -1,   41,   -1,   -1,   44,   -1,   36,   37,   -1,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   91,   61,     -1,   41,   42,   43,   44,   45,   -1,   47,   -1,   59,
    62,   63,   -1,   -1,   -1,   -1,   -1,   -1,  124,  125,     41,   -1,   62,   44,   91,   -1,   93,   94,   58,   59,
    94,   36,   37,   -1,   -1,   -1,   41,   42,   43,   44,     -1,   61,   62,   63,   -1,   -1,   94,   -1,   59,   -1,
    45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   91,     -1,   62,   -1,   36,   37,   -1,   -1,   -1,   41,   42,
    -1,   93,   94,   58,   59,   -1,   61,   62,   63,   -1,     43,   44,   45,   93,   47,   -1,   -1,  124,  125,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   36,   37,     -1,   -1,   -1,   93,   94,   58,   59,   -1,   61,   62,
    -1,    1,   -1,   41,   42,   43,   44,   45,   -1,   47,     63,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,  124,  125,   14,   15,   16,   -1,   93,   94,     -1,   -1,   -1,   -1,  124,  125,   -1,   -1,   -1,   -1,
    58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,  124,  125,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   37,   -1,   -1,   39,     93,   94,   37,  124,  125,   -1,   -1,   42,   43,   -1,
    36,   42,   43,   -1,   45,   41,   47,   -1,   44,  124,     45,   -1,   47,   -1,   -1,  257,   -1,  259,  260,   -1,
   125,   -1,   -1,   36,   -1,   93,   94,   -1,   41,   -1,     -1,   -1,   -1,   -1,   -1,  267,  268,  269,   -1,   -1,
    60,   44,   58,   59,   -1,   61,   62,   63,   -1,   -1,     -1,  124,  125,   -1,   -1,   -1,  278,  279,  280,  281,
    -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   -1,   62,    282,  283,   -1,   -1,   -1,   -1,   -1,  289,   -1,  291,
   259,  260,   -1,   -1,   -1,   -1,  124,  125,  267,  268,    292,  293,  294,  295,  259,  260,   -1,   -1,   -1,   94,
    -1,   -1,   -1,   94,   -1,   -1,   -1,   93,  277,  278,     -1,   -1,  267,  268,  269,   -1,   -1,   -1,   -1,   -1,
   279,  280,  281,  282,   -1,   -1,   -1,   -1,   -1,  288,     -1,   -1,   -1,  278,  279,  280,  281,  282,  283,   -1,
    93,  290,  291,  292,  293,  294,  259,  260,   -1,   -1,     -1,   -1,   -1,   -1,  289,   -1,  291,  292,  293,  294,
    -1,   -1,   -1,   -1,  267,  268,   -1,   -1,  124,  125,    295,  258,   -1,   -1,   -1,   -1,   -1,  264,  265,  266,
   264,  265,  266,   -1,  277,  278,  279,  280,  281,  282,     -1,   -1,   -1,   -1,   -1,   37,  264,  265,  266,   -1,
    -1,  124,  125,   -1,   -1,  288,  258,  290,  291,  292,     42,   43,   -1,   45,   -1,   47,   -1,  284,  285,  286,
   293,  294,  264,  265,  266,  289,   37,   -1,  158,   -1,    287,  288,   -1,  290,   -1,   -1,  284,  285,  295,  296,
   294,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1,     -1,   -1,  290,   -1,  264,  265,  266,  295,   -1,   37,
    -1,  283,  284,  285,  286,  287,   -1,  289,  178,   -1,     -1,   -1,   -1,   -1,   42,   43,   -1,   45,   -1,   47,
    -1,   -1,  294,  295,   -1,   -1,   -1,   -1,   -1,  264,     -1,   -1,   -1,   -1,  284,  285,  286,  287,  288,   36,
   265,  266,   -1,   37,   -1,   -1,   -1,   -1,   42,   43,    290,   -1,   94,   -1,   41,  295,  296,   44,   -1,   -1,
    -1,   45,   -1,   47,  204,   -1,   -1,   -1,  283,  284,     -1,  264,  265,  266,   -1,   -1,   -1,   -1,   -1,   -1,
   285,  286,  287,   94,  289,   -1,   -1,   -1,   -1,  294,     -1,   58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,
   295,   -1,   -1,  223,   -1,   -1,  264,  265,  266,   -1,     -1,  284,  285,  286,  287,  288,   94,  290,   -1,   36,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     37,   -1,  295,  296,   41,   42,   43,   44,   45,   -1,
    -1,   -1,   -1,   -1,   -1,  283,  284,  285,  286,  287,     47,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,
    94,  289,   -1,   36,   37,   -1,  294,  295,   41,   42,     -1,   58,   59,   -1,   61,   62,   63,   36,   37,  264,
    43,   44,   45,  264,   47,  266,   -1,   -1,   -1,   -1,    265,  266,   41,   42,   43,   44,   45,   -1,   47,   -1,
    -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   61,   62,     -1,   -1,   -1,   -1,   -1,   -1,   -1,  124,  125,   58,
    63,   36,   37,   -1,   -1,   -1,   41,   42,   43,   44,     59,   -1,   61,   62,   63,  290,   93,   94,   -1,   -1,
    45,  287,   47,  294,   -1,   -1,   -1,   -1,   -1,  295,    295,   -1,   -1,   -1,   -1,   -1,   -1,   36,   37,   -1,
    -1,   -1,   -1,   58,   59,   -1,   61,   62,   63,   -1,     -1,   -1,   41,   42,   43,   44,   45,   -1,   47,   -1,
    93,   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   93,   94,   -1,  124,  125,   58,
    -1,   36,   37,   -1,   -1,   -1,   41,   42,   43,   44,     59,   -1,   61,   62,   63,   36,   37,   -1,   -1,   -1,
    45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   93,   94,     41,   42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,
    -1,  124,  125,   58,   59,   -1,   61,   62,   63,   36,     -1,   -1,   -1,   -1,   -1,  124,  125,   58,   59,   -1,
    37,   -1,   -1,   -1,   41,   42,   43,   44,   45,   -1,     61,   62,   63,   -1,   93,   -1,   -1,   -1,   -1,   -1,
    47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  124,     -1,   -1,  264,  265,  266,   36,   37,   -1,   -1,   -1,
   125,   58,   59,   -1,   61,   62,   63,   -1,   93,   -1,     41,   42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,
    -1,   -1,   -1,  264,  265,  266,   -1,   -1,   -1,   36,     -1,   -1,   93,   -1,   -1,  124,  125,   58,   59,   -1,
    37,   -1,   -1,   -1,   41,   42,   43,   44,   45,   -1,     61,   62,   63,  295,   -1,   37,  264,   -1,  266,   -1,
    47,   -1,  283,  284,  285,  286,   93,   -1,  289,  124,     42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1,   -1,
   125,   58,   59,  294,   61,   62,   63,   -1,   -1,   -1,     36,   37,   -1,  124,  125,   41,   42,   43,   44,   45,
   264,  265,  266,   37,   -1,   -1,   -1,   -1,   42,   43,     -1,   47,   93,   -1,   -1,   -1,   -1,  295,   -1,   -1,
    -1,   45,   -1,   47,   36,   37,   -1,  124,  125,   41,     -1,   -1,   58,   59,   -1,   61,   62,   63,  285,  286,
    42,   43,   44,   45,   -1,   47,   93,   -1,   -1,   -1,    287,  288,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  296,
   294,   -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   61,     -1,   -1,   94,  124,  125,   -1,   -1,  264,  265,  266,
    62,   63,   -1,   -1,   -1,   -1,   -1,   36,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   36,   37,   93,   -1,   -1,
    -1,   -1,   41,   -1,   43,   44,   45,  124,  125,   -1,     -1,   42,   43,   -1,   45,   -1,   47,  284,  285,  286,
    94,  264,  265,  266,   -1,   -1,   -1,   -1,   -1,   58,    287,  288,   -1,  290,   -1,  264,  265,  266,   59,  296,
    59,   93,   61,   62,   63,   -1,   -1,   -1,   -1,   -1,     61,   -1,   63,   -1,   -1,   -1,   -1,   -1,  124,  125,
   283,  284,  285,  286,  287,   -1,  289,   -1,   -1,  264,     -1,   -1,   -1,   -1,   -1,  284,  285,  286,  287,  288,
   265,  266,  295,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,  290,   -1,   -1,   36,   -1,   -1,  296,   -1,   41,
    -1,   -1,  124,  125,   93,   -1,   -1,   -1,  283,  284,     91,   -1,   44,   94,   -1,  264,  265,  266,   -1,   -1,
   285,  286,  287,   -1,  289,   36,   37,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   61,
   295,   42,   43,   -1,   45,   -1,   47,   -1,   -1,  264,     62,   63,   -1,   -1,   -1,  284,  285,  286,  287,  288,
   265,  266,   -1,   -1,   -1,  124,  125,   -1,   59,   -1,     -1,  290,   -1,  264,  265,  266,   -1,  296,   -1,   -1,
    61,   -1,   63,   -1,   -1,   -1,   -1,   -1,  283,  284,     -1,   36,   -1,   -1,   -1,   -1,   41,   -1,   43,   44,
   285,  286,  287,   -1,  289,   -1,   -1,  264,  265,  266,     45,   93,   -1,  284,  285,  286,  287,  288,   -1,  290,
   295,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   58,   59,  296,   61,   62,   63,   -1,
    91,   -1,   -1,   94,   -1,   -1,  283,  284,  285,  286,     -1,   -1,   -1,  264,  265,  266,    1,   -1,   -1,   -1,
   287,   -1,  289,   -1,   -1,   -1,   -1,   -1,  295,   -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,   -1,  283,  284,  285,  286,  
   287,   -1,  289,   -1,   36,   -1,   -1,   -1,  295,   41,  
   264,   43,   44,   45,   -1,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,  264,  265,  266,   -1,   58,   59,   -1,   61,  
    62,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  
   294,  283,  284,  285,  286,  287,   -1,  289,   -1,   -1,  
    -1,   -1,   -1,  295,   -1,  264,  265,  266,   -1,   -1,  
    -1,   93,   36,   -1,   -1,   -1,   -1,   41,   -1,   43,  
    44,   45,   -1,   -1,  283,  284,  285,  286,  287,   -1,  
   289,   -1,   -1,   -1,   58,   59,  295,   61,   62,   63,  
    -1,   -1,  124,  125,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,  124,  125,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,   -1,   36,   -1,   -1,   -1,   -1,   41,     15,   16,   17,  284,  285,  286,  287,  288,   93,  290,
    -1,   43,   44,   45,   -1,   -1,   -1,  258,   -1,   93,     -1,   36,  264,   -1,   -1,  296,   41,   -1,   43,   44,
      45,   -1,   -1,   -1,   -1,   40,   -1,   -1,  264,  265,
     266,   -1,   -1,   58,   59,   -1,   61,   62,   63,  124,
     125,   -1,   -1,  295,   -1,   -1,   -1,   62,  284,  285,
     286,  287,  288,   -1,  290,   -1,   -1,   -1,   -1,   -1,
     296,   -1,   -1,   -1,   36,   -1,   -1,   -1,   93,   41,
      -1,   43,   44,   45,   -1,   -1,   -1,  258,   -1,   -1,
    -1,   -1,   -1,  264,  265,  266,   58,   59,   -1,   61,     -1,   -1,   -1,  264,  265,  266,   58,   59,   -1,   61,
    62,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     62,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  124,
    -1,   -1,  283,  284,  285,  286,  287,   -1,  289,   -1,    125,   -1,   -1,  284,  285,  286,  287,  288,   -1,  290,
   124,  125,   -1,  294,  295,   -1,   36,   37,   -1,   -1,     -1,   -1,   -1,   -1,  295,  296,   -1,   -1,   36,   -1,
    -1,   93,   42,   43,   -1,   45,   -1,   47,   -1,   -1,     -1,   93,   -1,   41,   -1,   43,   44,   45,   -1,   -1,
    -1,   36,   37,   -1,   -1,   -1,   -1,   42,   43,   59,  
    45,   61,   47,   63,   -1,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,  124,  125,   59,   -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,   91,   -1,   36,   94,   -1,   -1,   -1,   41,   36,     58,   59,   -1,   61,   62,   63,  161,   -1,   -1,   -1,
    -1,   44,   -1,   -1,   41,   -1,   -1,   44,   -1,   94,     -1,   -1,  124,  125,  286,  287,  288,   -1,   -1,   36,
    -1,   -1,  264,  265,  266,   58,   59,   -1,   61,   62,     37,   -1,   -1,   -1,  296,   42,   43,  182,   45,   -1,
    63,   58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,     47,   -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,  264,
    -1,  283,  284,  285,  286,  287,   -1,  289,   -1,   36,    265,  266,   59,   -1,   61,   -1,   63,   -1,   -1,   -1,
    -1,   -1,   -1,  295,   41,   -1,   -1,   44,   -1,   -1,     -1,   -1,   -1,  208,   -1,   -1,   -1,   -1,   -1,  284,
    93,   -1,   36,   -1,   -1,   -1,   93,   41,   -1,   -1,    285,  286,  287,  288,   -1,  290,  124,  125,   -1,   36,
    44,   58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,     37,  296,  227,   -1,   91,   42,   43,   94,   45,   -1,
   264,  265,  266,   -1,   58,   59,   -1,   61,   62,   63,     47,   -1,   36,   -1,   -1,   -1,   -1,   41,   -1,   -1,
    -1,  124,  125,   -1,   -1,   -1,   -1,  124,  125,  283,     44,   -1,   59,   -1,   61,   -1,   63,   -1,   -1,  264,
   284,  285,  286,  287,   -1,  289,   93,   -1,   37,   -1,    265,  266,   -1,   -1,   58,   59,   -1,   61,   62,   63,
    -1,  295,   41,   42,   43,   -1,   45,   -1,   47,   93,     36,   -1,   -1,   -1,   -1,   41,   -1,   -1,   44,  284,
     285,  286,  287,  288,   -1,  290,   -1,   94,   -1,   -1,
      -1,  296,   58,   59,   -1,   61,   62,   63,   -1,   93,
      -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,  264,  265,  266,   -1,   -1,   -1,   -1,   -1,     -1,   -1,  264,  265,  266,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   61,   -1,   63,   -1,   -1,  124,  125,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,
    -1,  283,  284,  285,  286,  287,   -1,  289,   -1,   -1,    124,  125,  284,  285,  286,  287,  288,   -1,  290,   -1,
   124,  125,   -1,  295,   -1,   -1,   36,   -1,   -1,   -1,     -1,   -1,   -1,   -1,  296,   -1,   -1,   36,   -1,   -1,
    -1,   41,   -1,   -1,   44,   94,   -1,   -1,  258,   -1,     -1,   -1,   41,   -1,   -1,   44,   -1,   -1,  124,  125,
    -1,   -1,   -1,   -1,  264,  265,  266,   -1,   58,   59,     -1,   -1,   -1,   -1,   -1,   -1,  264,  265,  266,   58,
    -1,   61,   62,   63,   -1,   -1,   -1,   -1,   -1,  264,     59,   -1,   61,   62,   63,   -1,   -1,   -1,   -1,   -1,
   265,  266,   -1,  283,  284,  285,  286,  287,   -1,  289,     -1,   -1,   -1,   -1,   -1,   -1,  284,  285,  286,  287,
    -1,   -1,   -1,   -1,  294,  295,   -1,   -1,  283,  284,    288,   -1,  290,   -1,   -1,   -1,   -1,   36,  296,   -1,
   285,  286,  287,   93,  289,   -1,   36,   -1,   -1,  294,     -1,  258,   41,   -1,   93,   44,   -1,  264,  265,  266,
   295,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,
    -1,  264,  265,  266,   -1,   -1,   -1,   -1,   58,   59,     59,   -1,   61,   62,   63,   -1,   -1,  284,  285,  286,
    -1,   61,   62,   63,  124,  125,   -1,   -1,   -1,   -1,    287,  288,   -1,  290,   -1,  124,  125,   -1,  295,  296,
   283,  284,  285,  286,  287,   -1,  289,  284,  285,  286,     36,   -1,   -1,   -1,   -1,   41,   -1,   -1,   44,   -1,
   287,   37,  295,   -1,   -1,   41,   42,   43,  295,   45,     -1,   -1,   -1,   -1,   93,   -1,   -1,  264,  265,  266,
    -1,   47,   -1,   93,   -1,   -1,   -1,   -1,  265,  266,     -1,   -1,   58,   59,   -1,   61,   62,   63,   -1,   -1,
    -1,   -1,   -1,   -1,   -1,   61,   -1,   63,   -1,   -1,    264,  265,  266,   -1,   -1,   -1,   -1,  284,  285,  286,
    -1,  265,   -1,   -1,   -1,   -1,  283,  284,  285,  286,    287,  288,   -1,  290,   -1,  124,  125,   -1,  295,  296,
   287,   -1,  289,   -1,  124,  125,   -1,   -1,  295,  283,    284,  285,  286,  287,  288,   -1,  290,   93,   -1,  265,
   284,  285,  286,  287,   -1,  289,   -1,   -1,   94,   37,    266,   -1,  296,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,  295,   -1,   41,   42,   43,   -1,   45,   -1,   47,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  284,  285,
    -1,   -1,   -1,   -1,   -1,  264,  265,  266,   -1,   -1,    286,  287,  288,   -1,  290,   -1,   36,   -1,  124,  125,
    -1,   -1,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,    296,   41,   36,   -1,   44,   -1,   -1,   41,   -1,   -1,
    -1,   -1,   -1,   -1,  283,  284,  285,  286,  287,   -1,     44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,
   289,   -1,   37,   -1,   -1,  294,  295,   42,   43,   44,     -1,   61,   62,   63,   58,   59,   -1,   61,   62,   63,
    45,   -1,   47,   -1,   -1,   37,   94,   -1,   -1,   41,     37,   -1,   -1,   -1,   41,   42,   43,   -1,   45,   -1,
    42,   43,   -1,   45,   -1,   47,   61,   -1,   63,   -1,     47,   -1,   -1,   -1,   -1,   -1,  265,   -1,   -1,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   61,     -1,   -1,   -1,   93,   61,   -1,   63,   -1,   -1,   93,
    -1,   63,   -1,  283,  284,  285,  286,  287,   -1,  289,     -1,   -1,   -1,   -1,   -1,  284,  285,  286,  287,  288,
    -1,   -1,   37,   -1,   -1,  295,   -1,   42,   43,   94,     -1,  290,   -1,   -1,   -1,   -1,   -1,  296,   -1,   -1,
    45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,  124,  125,   -1,   94,   37,   -1,
    -1,   -1,   94,   58,   -1,   -1,   61,   -1,   63,   37,    124,  125,   41,   42,   43,   -1,   45,   -1,   47,   -1,
    -1,   -1,   -1,   -1,   42,   43,   37,   45,   -1,   47,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1,     -1,   -1,   61,   -1,   63,  284,  285,  286,  287,  288,
    -1,   -1,   -1,   61,   -1,   63,  286,  287,   -1,   94,     -1,  290,   -1,   -1,   37,   -1,   -1,  296,   41,   42,
    -1,   -1,   -1,   37,   -1,  295,   -1,   -1,   42,   43,     43,   -1,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,
    44,   45,   -1,   47,   -1,   -1,   -1,   -1,  264,  265,     -1,   -1,   -1,   -1,   -1,   94,   -1,   -1,   61,   -1,
   266,   -1,   -1,   -1,   -1,   93,   94,   61,   -1,   63,     63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  284,  285,
    -1,   -1,   -1,   94,   -1,   -1,   -1,  283,  284,  285,    286,  287,  288,   37,   -1,   -1,   -1,   41,   42,   43,
   286,  287,   -1,  289,   -1,   -1,   37,   -1,  294,  295,    296,   45,   -1,   47,   -1,   -1,   -1,   -1,   37,   -1,
      -1,   94,   -1,   42,   43,   44,   45,   61,   47,   63,
      -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   61,   -1,   63,   -1,   37,   -1,   -1,   -1,
    41,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   37,     41,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   37,
    94,   -1,   -1,   -1,   42,   43,   -1,   45,   -1,   47,     94,   -1,   -1,   -1,   42,   43,   -1,   45,   -1,   47,
    61,   -1,   63,   -1,   -1,   -1,  264,  265,  266,   -1,     61,   -1,   63,   -1,   -1,   94,   -1,   -1,   -1,   -1,
      58,   -1,   -1,   61,   -1,   63,   -1,  287,  288,   -1,
      -1,   -1,   -1,   -1,  288,   -1,  296,  264,  265,  266,
      -1,   -1,  296,   94,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,   94,  284,  285,  286,
     287,  288,   -1,  290,   -1,   -1,   37,   -1,  295,  296,
      -1,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   37,
      -1,   -1,   -1,   -1,   42,   43,   44,   45,   -1,   47,
      61,   -1,   63,   -1,   -1,  264,  265,  266,   -1,   -1,
    -1,   -1,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,   -1,   -1,  283,  284,  285,  286,  287,     -1,   -1,   -1,   -1,   -1,  284,  285,  286,  287,  288,
    -1,  289,   -1,   94,   37,   -1,  294,  295,   -1,   42,     -1,  290,   93,   94,   -1,   -1,  295,  296,   -1,   -1,
    43,   -1,   45,   -1,   47,   -1,   94,   37,   -1,  264,     -1,  264,  265,  266,   -1,   -1,   94,   -1,   -1,   -1,
   265,  266,   42,   43,   -1,   45,   -1,   47,   -1,   -1,     37,   -1,   -1,   -1,   41,   42,   43,   -1,   45,   -1,
    63,   -1,  264,  265,  266,   -1,   -1,   -1,  283,  284,     47,  284,  285,  286,  287,  288,   -1,  290,   -1,   -1,
   285,  286,  287,   -1,  289,   -1,   -1,   -1,   -1,  294,     -1,   -1,  295,  296,   61,   -1,   63,   -1,   -1,   -1,
   295,  283,  284,  285,  286,  287,   40,  289,   -1,   -1,    264,  265,  266,   -1,   37,   -1,   -1,   -1,   -1,   42,
    -1,   94,  294,  295,   -1,   -1,   -1,   -1,   -1,  264,     43,   -1,   45,   -1,   47,  264,  265,  266,   -1,   -1,
   265,  266,   37,   -1,   94,   -1,   -1,   42,   43,   -1,    284,  285,  286,  287,  288,   -1,  290,   94,   61,   -1,
    45,   -1,   47,   -1,   -1,   -1,   -1,   -1,  283,  284,     63,  295,  296,   -1,   -1,  284,  285,  286,  287,  288,
   285,  286,  287,   -1,  289,   -1,  264,  265,  266,  294,     40,  290,   -1,  264,  265,  266,  295,  296,   -1,   -1,
   295,   -1,   -1,  264,  265,  266,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,   -1,   -1,  283,  284,  285,  286,  287,  
    -1,  289,  283,  284,  285,   -1,  294,  295,  289,   94,  
   264,  265,  266,  294,   37,   -1,   -1,   -1,   -1,   42,  
    43,   -1,   45,   -1,   47,   -1,   -1,   -1,   -1,  283,  
   284,  285,  286,  287,   -1,  289,   -1,   -1,   -1,   -1,  
   294,  295,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,  264,  265,  266,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,   -1,   -1,   -1,  264,  265,  266,   -1,     -1,   -1,   -1,   -1,   -1,   -1,  264,  265,  266,   -1,
    -1,   94,  283,  284,  285,  286,  287,   -1,  289,   -1,     -1,   94,   -1,  284,  285,  286,  287,  288,   -1,  290,
    -1,   -1,   -1,  294,  295,  283,  284,  285,  286,  287,     -1,   -1,   -1,   -1,  295,  296,  284,  285,  286,  287,
    -1,  289,   -1,   -1,   -1,   -1,  294,  295,   -1,   -1,    288,   -1,  290,   -1,   37,   -1,   -1,  295,  296,   42,
      43,   -1,   45,   -1,   47,   -1,   37,   -1,   -1,   -1,
      -1,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1,
      63,   -1,   37,   -1,   -1,   -1,   -1,   42,   43,   -1,
      45,   -1,   47,  264,  265,  266,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,  264,  265,  266,   -1,
      -1,   94,   -1,  284,  285,  286,  287,  288,   -1,  290,
      -1,   -1,   -1,   94,  295,  296,  284,  285,  286,  287,
     288,   -1,  290,   -1,   -1,   37,   -1,  295,  296,   94,
      42,   43,   -1,   45,   -1,   47,   -1,   37,   -1,   -1,
      -1,   -1,   42,   43,   -1,   45,   -1,   47,   -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,   -1,   -1,   -1,   -1,   -1,
    -1,  264,  265,  266,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,  284,  285,  286,
    -1,   -1,   -1,   -1,  264,  265,  266,   -1,   -1,   -1,    287,  288,   94,  290,   -1,   -1,   -1,   -1,  295,  296,
   283,  284,  285,  286,  287,   -1,  289,   -1,   -1,   -1,     -1,  264,  265,  266,   94,   -1,   -1,   -1,   -1,   -1,
    -1,  294,   -1,  283,  284,  285,  286,  287,   -1,  289,  
    -1,   -1,   -1,   -1,  294,   -1,  260,   -1,   -1,   -1,  
    -1,   -1,   -1,  267,  268,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,  277,  278,  279,  280,  281,  282,  264,  
   265,  266,   37,   -1,   -1,   -1,  290,  291,  292,  293,  
    -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,  283,  284,  
    55,   56,   57,   10,  289,   -1,   -1,   -1,   15,  294,  
    -1,   -1,   -1,   68,   69,   -1,   23,   -1,   -1,   -1,  
    -1,   28,   29,   30,   31,   -1,   33,   -1,   -1,   -1,  
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,  264,  265,  266,   -1,   52,   53,   -1,   -1,   -1,     -1,  284,  285,  286,  287,  288,   -1,  290,   -1,   -1,
    -1,   -1,  107,   -1,   -1,   -1,   -1,   -1,   65,   -1,    260,   -1,  295,  296,   -1,   -1,   -1,  267,  268,   -1,
   283,  116,   -1,   -1,   -1,   -1,  289,   74,   -1,   76,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  278,  279,
    -1,  294,   -1,   -1,   -1,   82,   83,   84,   85,   86,    280,  281,  282,  283,   -1,   -1,   -1,   -1,   -1,   -1,
    87,   88,   89,   90,   -1,   92,   93,   94,   95,   96,     -1,  291,  292,  293,  294,   -1,   -1,   -1,   -1,   -1,
    97,   98,   99,  100,   -1,   -1,  103,   -1,   -1,   -1,  
   155,   -1,   -1,   -1,   -1,   -1,  161,   -1,  163,   -1,  
    -1,  166,  167,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,  130,   -1,   -1,   -1,   -1,   -1,   -1,  
    -1,   -1,   -1,   -1,   -1,   -1,   -1,  192,   -1,   -1,  
    -1,   -1,   -1,   -1,  199,   -1,   -1,   -1,   -1,   -1,  
   205,   -1,   -1,   -1,   -1,  162,   -1,  164,   -1,   -1,  
    -1,  168,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  176,  
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,  264,  265,  266,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,  264,  265,  266,   -1,   -1,   -1,   -1,
      -1,  284,  285,  286,  287,  288,   -1,  290,   -1,  264,
     265,  266,  295,  284,  285,  286,  287,  288,   38,  290,
      -1,   -1,   -1,   -1,  295,    0,   -1,   -1,   -1,  284,
     285,  286,  287,   -1,   -1,  290,   11,   57,   58,   59,
     295,   16,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   24,
      70,   71,   -1,   -1,   29,   30,   31,   32,   -1,   34,
      -1,   -1,  264,  265,  266,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,  264,  265,  266,   -1,   53,   54,
      55,   -1,  284,  285,  286,   -1,   -1,   -1,  290,  109,
      -1,   -1,   67,  295,  284,   -1,   -1,   -1,   -1,  119,
     290,   76,   -1,   78,   -1,  295,   -1,   -1,   -1,   84,
      85,   86,   87,   88,   89,   90,   91,   92,   -1,   94,
      95,   96,   97,   98,   99,  100,  101,  102,   -1,   -1,
     105,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  158,   -1,
      -1,   -1,   -1,   -1,   -1,  165,   -1,  167,   -1,   -1,
     170,  171,   -1,   -1,   -1,   -1,   -1,   -1,  133,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,     -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   197,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  206,     -1,   -1,   -1,   -1,   -1,   -1,  196,   -1,   -1,   -1,
    -1,   -1,  209,   -1,  211,  212,   -1,   -1,   -1,   -1,     -1,   -1,   -1,  203,   -1,   -1,   -1,   -1,   -1,  209,
      -1,  166,   -1,  168,   -1,   -1,   -1,  172,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,  180,   -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,  228,   -1,   -1,  231,     -1,   -1,   -1,   -1,   -1,   -1,  201,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,  210,   -1,   -1,  213,   -1,
     215,  216,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
      -1,   -1,   -1,   -1,   -1,   -1,   -1,  232,   -1,   -1,
     235,
 };  };
 #define YYFINAL 38  #define YYFINAL 39
 #ifndef YYDEBUG  #ifndef YYDEBUG
 #define YYDEBUG 0  #define YYDEBUG 0
 #endif  #endif
 #define YYMAXTOKEN 297  #define YYMAXTOKEN 298
 #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,
Line 737  const char * const yyname[] = {
Line 767  const char * const yyname[] = {
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,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,"STRUCT","POINT",
 "NEWSTRUCT","ANS","FDEF","PFDEF","GLOBAL","CMP","OR","AND","CAR","CDR","DO",  "NEWSTRUCT","ANS","FDEF","PFDEF","GLOBAL","CMP","OR","AND","CAR","CDR","QUOTED",
 "WHILE","FOR","IF","ELSE","BREAK","RETURN","CONTINUE","PARIF","MAP","TIMER",  "DO","WHILE","FOR","IF","ELSE","BREAK","RETURN","CONTINUE","PARIF","MAP",
 "GF2NGEN","GFPNGEN","GETOPT","FOP_AND","FOP_OR","FOP_IMPL","FOP_REPL",  "TIMER","GF2NGEN","GFPNGEN","GETOPT","FOP_AND","FOP_OR","FOP_IMPL","FOP_REPL",
 "FOP_EQUIV","FOP_NOT","LOP","FORMULA","UCASE","LCASE","STR","SELF","BOPASS",  "FOP_EQUIV","FOP_NOT","LOP","FORMULA","UCASE","LCASE","STR","SELF","BOPASS",
 "PLUS","MINUS",  "PLUS","MINUS",
 };  };
Line 836  const char * const yyrule[] = {
Line 866  const char * const yyrule[] = {
 "expr : expr '?' expr ':' expr",  "expr : expr '?' expr ':' expr",
 "expr : '<' node '>'",  "expr : '<' node '>'",
 "expr : NEWSTRUCT '(' rawstr ')'",  "expr : NEWSTRUCT '(' rawstr ')'",
   "expr : QUOTED '(' expr ')'",
 };  };
 #endif  #endif
 #if YYDEBUG  #if YYDEBUG
Line 1060  yyreduce:
Line 1091  yyreduce:
     switch (yyn)      switch (yyn)
     {      {
 case 1:  case 1:
 #line 128 "parse.y"  #line 129 "parse.y"
 { parse_snode = yyvsp[0].s; YYACCEPT; }  { parse_snode = yyvsp[0].s; YYACCEPT; }
 break;  break;
 case 2:  case 2:
 #line 131 "parse.y"  #line 132 "parse.y"
 { yyval.s = 0; }  { yyval.s = 0; }
 break;  break;
 case 3:  case 3:
 #line 132 "parse.y"  #line 133 "parse.y"
 { gdef=1; }  { gdef=1; }
 break;  break;
 case 4:  case 4:
 #line 132 "parse.y"  #line 133 "parse.y"
 { gdef=0; }  { gdef=0; }
 break;  break;
 case 5:  case 5:
 #line 133 "parse.y"  #line 134 "parse.y"
 { yyval.s = 0; }  { yyval.s = 0; }
 break;  break;
 case 6:  case 6:
 #line 135 "parse.y"  #line 136 "parse.y"
 { structdef(yyvsp[-4].p,yyvsp[-2].n); yyval.s = 0; }  { structdef(yyvsp[-4].p,yyvsp[-2].n); yyval.s = 0; }
 break;  break;
 case 7:  case 7:
 #line 137 "parse.y"  #line 138 "parse.y"
 { yyval.s = mksnode(1,S_SINGLE,yyvsp[-1].f); }  { yyval.s = mksnode(1,S_SINGLE,yyvsp[-1].f); }
 break;  break;
 case 8:  case 8:
 #line 139 "parse.y"  #line 140 "parse.y"
 { yyval.s = yyvsp[0].s; }  { yyval.s = yyvsp[0].s; }
 break;  break;
 case 9:  case 9:
 #line 141 "parse.y"  #line 142 "parse.y"
 { yyval.s = mksnode(0,S_BREAK); }  { yyval.s = mksnode(0,S_BREAK); }
 break;  break;
 case 10:  case 10:
 #line 143 "parse.y"  #line 144 "parse.y"
 { yyval.s = mksnode(0,S_CONTINUE); }  { yyval.s = mksnode(0,S_CONTINUE); }
 break;  break;
 case 11:  case 11:
 #line 145 "parse.y"  #line 146 "parse.y"
 { yyval.s = mksnode(1,S_RETURN,0); }  { yyval.s = mksnode(1,S_RETURN,0); }
 break;  break;
 case 12:  case 12:
 #line 147 "parse.y"  #line 148 "parse.y"
 { yyval.s = mksnode(1,S_RETURN,yyvsp[-1].f); }  { yyval.s = mksnode(1,S_RETURN,yyvsp[-1].f); }
 break;  break;
 case 13:  case 13:
 #line 149 "parse.y"  #line 150 "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; }  { 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 14:  case 14:
 #line 151 "parse.y"  #line 152 "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(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;  break;
 case 15:  case 15:
 #line 153 "parse.y"  #line 154 "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 = 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;  break;
 case 16:  case 16:
 #line 155 "parse.y"  #line 156 "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(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;  break;
 case 17:  case 17:
 #line 157 "parse.y"  #line 158 "parse.y"
 { yyval.s = mksnode(3,S_DO,yyvsp[-6].i,yyvsp[-5].s,yyvsp[-2].n); }  { yyval.s = mksnode(3,S_DO,yyvsp[-6].i,yyvsp[-5].s,yyvsp[-2].n); }
 break;  break;
 case 18:  case 18:
 #line 159 "parse.y"  #line 160 "parse.y"
 { yyval.s = mksnode(3,S_PFDEF,yyvsp[-7].p,yyvsp[-5].n,yyvsp[-1].f); NOPR; }  { yyval.s = mksnode(3,S_PFDEF,yyvsp[-7].p,yyvsp[-5].n,yyvsp[-1].f); NOPR; }
 break;  break;
 case 19:  case 19:
 #line 161 "parse.y"  #line 162 "parse.y"
 { yyval.s = mksnode(3,S_PFDEF,yyvsp[-3].p,yyvsp[-1].n,0); NOPR; }  { yyval.s = mksnode(3,S_PFDEF,yyvsp[-3].p,yyvsp[-1].n,0); NOPR; }
 break;  break;
 case 20:  case 20:
 #line 162 "parse.y"  #line 163 "parse.y"
 { mkpvs(); }  { mkpvs(); }
 break;  break;
 case 21:  case 21:
 #line 163 "parse.y"  #line 164 "parse.y"
 {  {
                                 mkuf(yyvsp[-8].p,asir_infile->name,yyvsp[-5].n,                                  mkuf(yyvsp[-8].p,asir_infile->name,yyvsp[-5].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[-9].i,asir_infile->ln,yyvsp[-3].p);
Line 1148  case 21:
Line 1179  case 21:
                         }                          }
 break;  break;
 case 22:  case 22:
 #line 169 "parse.y"  #line 170 "parse.y"
 { yyerrok; yyval.s = 0; }  { yyerrok; yyval.s = 0; }
 break;  break;
 case 23:  case 23:
 #line 172 "parse.y"  #line 173 "parse.y"
 { if ( main_parser ) prresult = 1; }  { if ( main_parser ) prresult = 1; }
 break;  break;
 case 24:  case 24:
 #line 174 "parse.y"  #line 175 "parse.y"
 { if ( main_parser ) prresult = 0; }  { if ( main_parser ) prresult = 0; }
 break;  break;
 case 25:  case 25:
 #line 176 "parse.y"  #line 177 "parse.y"
 { yyval.p = 0; }  { yyval.p = 0; }
 break;  break;
 case 26:  case 26:
 #line 178 "parse.y"  #line 179 "parse.y"
 { yyval.p = yyvsp[0].p; }  { yyval.p = yyvsp[0].p; }
 break;  break;
 case 27:  case 27:
 #line 181 "parse.y"  #line 182 "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 28:
 #line 184 "parse.y"  #line 185 "parse.y"
 { MKNODE(yyval.n,yyvsp[0].p,0); }  { MKNODE(yyval.n,yyvsp[0].p,0); }
 break;  break;
 case 29:  case 29:
 #line 186 "parse.y"  #line 187 "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 30:
 #line 189 "parse.y"  #line 190 "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 31:
 #line 191 "parse.y"  #line 192 "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 32:
 #line 194 "parse.y"  #line 195 "parse.y"
 { yyval.n = 0; }  { yyval.n = 0; }
 break;  break;
 case 33:  case 33:
 #line 196 "parse.y"  #line 197 "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 34:
 #line 199 "parse.y"  #line 200 "parse.y"
 { yyval.n = 0; }  { yyval.n = 0; }
 break;  break;
 case 35:  case 35:
 #line 201 "parse.y"  #line 202 "parse.y"
 { yyval.n = yyvsp[0].n; }  { yyval.n = yyvsp[0].n; }
 break;  break;
 case 36:  case 36:
 #line 204 "parse.y"  #line 205 "parse.y"
 { MKNODE(yyval.n,yyvsp[0].f,0); }  { MKNODE(yyval.n,yyvsp[0].f,0); }
 break;  break;
 case 37:  case 37:
 #line 206 "parse.y"  #line 207 "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 38:
 #line 209 "parse.y"  #line 210 "parse.y"
 { MKNODE(yyval.n,yyvsp[0].f,0); }  { MKNODE(yyval.n,yyvsp[0].f,0); }
 break;  break;
 case 39:  case 39:
 #line 211 "parse.y"  #line 212 "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 40:
 #line 214 "parse.y"  #line 215 "parse.y"
 { yyval.p = yyvsp[0].p; }  { yyval.p = yyvsp[0].p; }
 break;  break;
 case 41:  case 41:
 #line 216 "parse.y"  #line 217 "parse.y"
 { yyval.p = yyvsp[0].p; }  { yyval.p = yyvsp[0].p; }
 break;  break;
 case 42:  case 42:
 #line 219 "parse.y"  #line 220 "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 43:
 #line 222 "parse.y"  #line 223 "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 44:
 #line 224 "parse.y"  #line 225 "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 45:
 #line 226 "parse.y"  #line 227 "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 46:
 #line 228 "parse.y"  #line 229 "parse.y"
 { yyval.f = mkfnode(0,I_GF2NGEN); }  { yyval.f = mkfnode(0,I_GF2NGEN); }
 break;  break;
 case 47:  case 47:
 #line 230 "parse.y"  #line 231 "parse.y"
 { yyval.f = mkfnode(0,I_GFPNGEN); }  { yyval.f = mkfnode(0,I_GFPNGEN); }
 break;  break;
 case 48:  case 48:
 #line 232 "parse.y"  #line 233 "parse.y"
 {  {
                                 FUNC f;                                  FUNC f;
   
Line 1281  case 48:
Line 1312  case 48:
                         }                          }
 break;  break;
 case 49:  case 49:
 #line 259 "parse.y"  #line 260 "parse.y"
 {  {
                                 searchf(sysf,yyvsp[-3].p,(FUNC *)&val);                                  searchf(sysf,yyvsp[-3].p,(FUNC *)&val);
                                 if ( !val )                                  if ( !val )
Line 1296  case 49:
Line 1327  case 49:
                         }                          }
 break;  break;
 case 50:  case 50:
 #line 273 "parse.y"  #line 274 "parse.y"
 {  {
                                 searchf(sysf,yyvsp[-5].p,(FUNC *)&val);                                  searchf(sysf,yyvsp[-5].p,(FUNC *)&val);
                                 if ( !val )                                  if ( !val )
Line 1312  case 50:
Line 1343  case 50:
                         }                          }
 break;  break;
 case 51:  case 51:
 #line 287 "parse.y"  #line 288 "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 52:  case 52:
 #line 292 "parse.y"  #line 293 "parse.y"
 {  {
                                 yyval.f = mkfnode(2,I_GETOPT,yyvsp[-1].p);                                  yyval.f = mkfnode(2,I_GETOPT,yyvsp[-1].p);
                         }                          }
 break;  break;
 case 53:  case 53:
 #line 296 "parse.y"  #line 297 "parse.y"
 {  {
                                 searchf(sysf,yyvsp[-3].p,(FUNC *)&val);                                  searchf(sysf,yyvsp[-3].p,(FUNC *)&val);
                                 if ( !val )                                  if ( !val )
Line 1340  case 53:
Line 1371  case 53:
                         }                          }
 break;  break;
 case 54:  case 54:
 #line 309 "parse.y"  #line 310 "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 55:  case 55:
 #line 313 "parse.y"  #line 314 "parse.y"
 {  {
                                 searchf(parif,yyvsp[-3].p,(FUNC *)&val);                                  searchf(parif,yyvsp[-3].p,(FUNC *)&val);
                                 if ( !val )                                  if ( !val )
Line 1355  case 55:
Line 1386  case 55:
                         }                          }
 break;  break;
 case 56:  case 56:
 #line 320 "parse.y"  #line 321 "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 57:  case 57:
 #line 324 "parse.y"  #line 325 "parse.y"
 { yyval.f = mkfnode(1,I_CAR,yyvsp[-1].f); }  { yyval.f = mkfnode(1,I_CAR,yyvsp[-1].f); }
 break;  break;
 case 58:  case 58:
 #line 326 "parse.y"  #line 327 "parse.y"
 { yyval.f = mkfnode(1,I_CDR,yyvsp[-1].f); }  { yyval.f = mkfnode(1,I_CDR,yyvsp[-1].f); }
 break;  break;
 case 59:  case 59:
 #line 328 "parse.y"  #line 329 "parse.y"
 { yyval.f = yyvsp[-1].f; }  { yyval.f = yyvsp[-1].f; }
 break;  break;
 case 60:  case 60:
 #line 330 "parse.y"  #line 331 "parse.y"
 {  {
                                 if ( main_parser )                                  if ( main_parser )
                                         yyval.f = mkfnode(2,I_PVAR,makepvar(yyvsp[0].p),0);                                          yyval.f = mkfnode(2,I_PVAR,makepvar(yyvsp[0].p),0);
Line 1388  case 60:
Line 1419  case 60:
                         }                          }
 break;  break;
 case 61:  case 61:
 #line 343 "parse.y"  #line 344 "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 1400  case 61:
Line 1431  case 61:
                         }                          }
 break;  break;
 case 62:  case 62:
 #line 353 "parse.y"  #line 354 "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 63:  case 63:
 #line 356 "parse.y"  #line 357 "parse.y"
 { yyval.f = yyvsp[0].f; }  { yyval.f = yyvsp[0].f; }
 break;  break;
 case 64:  case 64:
 #line 358 "parse.y"  #line 359 "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 65:  case 65:
 #line 360 "parse.y"  #line 361 "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 66:  case 66:
 #line 362 "parse.y"  #line 363 "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 67:  case 67:
 #line 364 "parse.y"  #line 365 "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 68:  case 68:
 #line 366 "parse.y"  #line 367 "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 69:  case 69:
 #line 368 "parse.y"  #line 369 "parse.y"
 { yyval.f = mkfnode(1,I_LIST,yyvsp[-1].n); }  { yyval.f = mkfnode(1,I_LIST,yyvsp[-1].n); }
 break;  break;
 case 70:  case 70:
 #line 370 "parse.y"  #line 371 "parse.y"
 { yyval.f = yyvsp[0].f; }  { yyval.f = yyvsp[0].f; }
 break;  break;
 case 71:  case 71:
 #line 372 "parse.y"  #line 373 "parse.y"
 { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,0,yyvsp[0].f); }  { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,0,yyvsp[0].f); }
 break;  break;
 case 72:  case 72:
 #line 374 "parse.y"  #line 375 "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 73:  case 73:
 #line 376 "parse.y"  #line 377 "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 74:  case 74:
 #line 378 "parse.y"  #line 379 "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 75:  case 75:
 #line 380 "parse.y"  #line 381 "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 76:  case 76:
 #line 382 "parse.y"  #line 383 "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 77:
 #line 384 "parse.y"  #line 385 "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 78:
 #line 386 "parse.y"  #line 387 "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 79:  case 79:
 #line 388 "parse.y"  #line 389 "parse.y"
 { yyval.f = mkfnode(1,I_NOT,yyvsp[0].f); }  { yyval.f = mkfnode(1,I_NOT,yyvsp[0].f); }
 break;  break;
 case 80:  case 80:
 #line 390 "parse.y"  #line 391 "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 81:  case 81:
 #line 392 "parse.y"  #line 393 "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 82:  case 82:
 #line 394 "parse.y"  #line 395 "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 83:  case 83:
 #line 396 "parse.y"  #line 397 "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 84:  case 84:
 #line 398 "parse.y"  #line 399 "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 85:  case 85:
 #line 400 "parse.y"  #line 401 "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 86:  case 86:
 #line 402 "parse.y"  #line 403 "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 87:  case 87:
 #line 404 "parse.y"  #line 405 "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 88:
 #line 406 "parse.y"  #line 407 "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 89:
 #line 408 "parse.y"  #line 409 "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 90:  case 90:
 #line 410 "parse.y"  #line 411 "parse.y"
 { yyval.f = mkfnode(1,I_EV,yyvsp[-1].n); }  { yyval.f = mkfnode(1,I_EV,yyvsp[-1].n); }
 break;  break;
 case 91:  case 91:
 #line 412 "parse.y"  #line 413 "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;
 #line 1523 "y.tab.c"  case 92:
   #line 415 "parse.y"
   { MKQUOTE(quote,yyvsp[-1].f); yyval.f = mkfnode(1,I_FORMULA,(pointer)quote); }
   break;
   #line 1558 "y.tab.c"
     }      }
     yyssp -= yym;      yyssp -= yym;
     yystate = *yyssp;      yystate = *yyssp;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

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