Difference for common/loader.c from version 1.5 to 1.6


version 1.5 version 1.6
Line 1
 
Line 1
 /* A lexical scanner generated by flex */  /* A lexical scanner generated by flex */
   
 /* Scanner skeleton version:  /* Scanner skeleton version:
  * $Header: /cvsroot/crossfire/crossfire/common/loader.c,v 1.5 2000/06/16 06:06:33 cvs Exp $   * $Header: /cvsroot/crossfire/crossfire/common/loader.c,v 1.6 2000/12/04 00:40:03 cvs Exp $
  */   */
   
 #define FLEX_SCANNER  #define FLEX_SCANNER
Line 285
 
Line 285
  *yy_cp = '\0'; \   *yy_cp = '\0'; \
  yy_c_buf_p = yy_cp;   yy_c_buf_p = yy_cp;
   
 #define YY_NUM_RULES 174  #define YY_NUM_RULES 198
 #define YY_END_OF_BUFFER 175  #define YY_END_OF_BUFFER 199
 static yyconst short int yy_accept[1471] =  static yyconst short int yy_accept[1707] =
     {   0,      {   0,
       173,  173,    3,    3,  175,  173,  171,  173,  173,  173,        197,  197,    3,    3,  199,  197,  195,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,    3,    3,    3,  173,  173,  172,  173,  171,        197,  197,    3,    3,    3,  197,  197,  196,  197,  195,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
   
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,    3,    3,    3,    3,  173,  173,        197,  197,  197,  197,    3,    3,    3,    3,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
   
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,   40,   40,  173,   41,   41,    3,   39,   39,        197,  197,  197,   40,   40,  197,   41,   41,    3,   39,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,         39,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,   13,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,   13,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,   29,   29,  173,        197,  197,  197,  197,  197,  197,  197,  197,   29,   29,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,    1,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,          1,  197,  197,  197,  197,  197,  197,  197,  197,  197,
   
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,   31,   31,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,   31,   31,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,   38,   38,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,   38,
       173,  173,  173,  173,    3,  173,  173,  173,  173,  173,         38,  197,  197,  197,  197,  197,    3,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,   26,   26,  173,   24,        197,  197,  197,  197,  197,  197,  197,  197,   26,   26,
        24,  173,  173,  173,  173,   37,   37,  173,   23,   23,        197,   24,   24,  197,  197,  197,  197,   37,   37,  197,
       173,  173,   35,   35,  173,  173,  173,  173,  173,  173,         23,   23,  197,  197,   35,   35,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,   27,   27,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,   27,
   
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,         27,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,   12,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,   12,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,   28,   28,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,   28,   28,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,   22,   22,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,   22,   22,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
        25,   25,   98,   98,  173,    3,  173,  173,  173,  173,        197,  197,  197,   25,   25,   95,   95,  197,    3,  197,
       173,    9,    9,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,    9,    9,  197,  197,  197,  197,
   
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,   21,   21,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,   36,   36,  173,  173,  173,  173,  173,        197,   21,   21,  197,  197,  197,   36,   36,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  102,  102,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,   99,   99,  197,  197,
       173,  173,  173,    5,    5,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,    5,    5,  197,  197,
       173,  173,  173,  173,  173,  173,   42,   42,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,   42,
       173,  173,  173,  173,  173,  173,  173,  173,    6,    6,         42,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,    6,    6,  197,  197,  197,  197,  197,  197,  197,
   
       173,  173,  173,  173,  173,  173,  173,  173,  173,   45,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
        45,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,   45,   45,  197,  197,  197,  197,  197,
       173,  173,    3,   60,   60,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,    3,   57,   57,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,   33,   33,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,   33,   33,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,   43,   43,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
        58,   58,  173,  173,  173,   30,   30,   32,   32,  173,        197,   43,   43,  197,   55,   55,  197,  197,  197,   30,
   
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,         30,   32,   32,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       127,  127,  173,   18,   18,  173,  173,  173,  173,   59,        197,  197,  197,  197,  197,  124,  124,  197,   18,   18,
        59,  173,  173,  144,  144,  173,  173,  173,  173,  173,        197,  197,  197,  197,   56,   56,  197,  197,  168,  168,
        47,   47,  173,  173,  173,  173,  173,  173,  123,  123,        197,  197,  197,  197,  197,   47,   47,  197,  197,  197,
         3,    2,  173,  173,  173,  173,  131,  131,  173,  173,        197,  197,  197,  120,  120,    3,    2,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  128,  128,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  137,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       137,  138,  138,  173,  173,  149,  149,  173,   69,   69,        197,  197,  197,  197,  161,  161,  162,  162,  197,  197,
   
        72,   72,  173,  173,  173,  173,  173,  173,   50,   50,        173,  173,  197,   66,   66,   69,   69,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  153,  153,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,    4,    4,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,    4,    4,  197,  197,  197,  197,  197,  197,  197,
       173,  173,   93,   93,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,   92,   92,  150,  150,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
        62,   62,  173,  173,  173,  173,   48,   48,  173,  173,        197,   90,   90,  197,  197,  197,  197,  197,  197,  197,
       173,   61,   61,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,   89,   89,  174,  174,   59,
   
       173,  169,  169,  173,  173,  173,  173,  173,  173,  173,         59,  197,  197,  197,  197,   48,   48,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,         58,   58,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,   70,   70,  173,  173,  173,  173,   88,        193,  193,  197,  197,  197,  197,  197,  197,  197,  197,
        88,  173,  173,  173,  173,  173,  173,  173,  163,  163,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,   67,   67,  197,  197,  197,  197,   85,   85,
       173,   15,   15,  173,  173,  173,  173,   73,   73,  173,        197,  197,  197,  197,  197,  197,  197,  187,  187,  197,
        63,   63,   64,   64,  109,  109,  173,  173,   66,   66,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
        65,   65,  173,  173,  173,  173,  165,  165,  173,  173,         15,   15,  197,  197,  197,  197,   70,   70,  197,   60,
       173,  173,  173,  173,  106,  106,  173,  173,  173,  173,         60,   61,   61,  106,  106,  197,  197,   63,   63,   62,
       173,  173,  173,  173,  173,    7,    7,  173,  173,  173,         62,  197,  197,  197,  197,  189,  189,  197,  197,  197,
   
       173,  173,  135,  135,  173,  173,  173,  173,  173,   67,        197,  197,  197,  103,  103,  197,  197,  197,  197,  197,
        67,   99,   99,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,   81,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
        81,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,    7,    7,  197,  197,  197,
       173,   49,   49,   86,   86,  134,  134,  173,  173,  173,        197,  197,  159,  159,  197,  197,  197,  197,  197,   64,
        91,   91,   74,   74,  173,  173,  173,  173,  173,  173,         64,   96,   96,  197,  197,  197,  197,  197,  197,  197,
         8,  173,  173,  159,  159,  173,  124,  124,  154,  154,        197,  197,  197,  197,  197,  197,  197,  197,  197,   78,
       173,  173,  173,  173,  173,  173,   17,   17,  173,  173,         78,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       125,  125,  173,   46,   46,   34,   34,  173,  173,   97,        197,   49,   49,   83,   83,  158,  158,  197,  197,  197,
        97,  173,  173,  164,  164,  173,  173,  173,  173,  173,         88,   88,   71,   71,  197,  197,  197,  197,  197,  197,
   
       173,  173,  173,  173,  173,  173,  173,  173,  103,  103,          8,  197,  197,  183,  183,  197,  121,  121,  178,  178,
       173,  173,  173,  173,  173,  173,  173,  173,   78,   78,        197,  197,  197,  197,  197,  197,   17,   17,  197,  197,
       173,  173,   68,   68,  173,  173,   11,   11,  173,  173,        122,  122,  197,   46,   46,   34,   34,  197,  197,   94,
       173,  173,  173,  173,  113,  113,  173,  173,  173,  173,         94,  197,  197,  188,  188,  197,  197,  197,  197,  197,
       167,  167,  173,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  136,  136,  108,  108,   44,   44,   75,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
        75,  173,  173,  173,  173,  173,  173,  173,  173,   57,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
        57,  173,  173,   76,   76,  173,  173,  153,  153,  173,        197,  197,  100,  100,  197,  197,  197,  197,  197,  197,
       173,  173,   14,   14,  173,  173,  173,  173,  173,  173,        197,  197,   75,   75,  197,  197,   65,   65,  197,  197,
       173,  173,  104,  104,  173,  173,  173,   51,   51,  173,         11,   11,  197,  197,  197,  197,  197,  197,  110,  110,
   
       173,  173,  173,  173,  173,  173,   20,   20,  173,   87,        197,  197,  197,  197,  191,  191,  197,  197,  197,  197,
        87,  173,  173,  101,  101,  173,  173,  173,  107,  107,        197,  197,  197,  197,  197,  197,  197,  160,  160,  105,
        79,   79,  173,   52,   52,   77,   77,  173,   90,   90,        105,   44,   44,   72,   72,  197,  197,  197,  197,  197,
       173,  173,  168,  168,  173,  173,  173,  173,  173,  173,        197,  197,  197,   54,   54,  197,  197,   73,   73,  197,
       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,        197,  177,  177,  197,  197,  197,   14,   14,  197,  197,
       173,  173,  173,   84,   84,  152,  152,  173,  173,  173,        197,  197,  197,  197,  197,  197,  101,  101,  197,  197,
        83,   83,  173,  173,   16,   16,  173,  133,  133,  173,        197,  154,  154,  197,  197,  197,  197,  197,  197,  197,
       110,  110,  173,  173,  173,   10,   10,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  173,  173,  173,   85,   85,  173,  173,   19,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
        19,  173,   89,   89,  173,   53,   53,  111,  111,  173,        197,  197,  197,  197,   20,   20,  197,   84,   84,  197,
   
       173,  173,  173,  173,  173,  173,  173,  117,  117,  173,        197,   98,   98,  197,  197,  197,  104,  104,   76,   76,
       173,  146,  146,  173,  173,  173,  173,  158,  158,  173,        197,   50,   50,   74,   74,  197,   87,   87,  197,  197,
       173,  173,  173,  173,  173,   71,   71,  161,  161,   82,        192,  192,  197,  197,  197,  197,  197,  197,  197,  197,
        82,  173,  173,  173,  173,  173,  126,  126,  130,  130,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,   56,   56,  173,  129,  129,  173,  162,  162,  173,        197,   81,   81,  176,  176,  197,  197,  197,   80,   80,
       173,  173,  173,  128,  128,  173,  173,  143,  143,  173,        197,  197,   16,   16,  197,  157,  157,  197,  107,  107,
       173,  173,  173,  173,  173,  148,  148,  120,  120,  173,        197,  197,  197,   10,   10,  197,  197,  197,  197,  197,
       173,  116,  116,  173,  173,  173,  173,  173,  173,  173,        197,  197,  197,   82,   82,  197,  197,  197,  197,  197,
       141,  141,  173,  173,  173,  173,   54,   54,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
       173,  173,  139,  139,  173,   94,   94,  173,  173,  173,        197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
   
       166,  166,  105,  105,  173,  173,  173,  142,  142,  173,        197,   19,   19,  197,   86,   86,  197,  155,  155,  108,
       122,  122,  173,  145,  145,  173,  173,  173,  140,  140,        108,  197,  197,  197,  197,  197,  197,  197,  197,  114,
       173,  100,  100,  173,   55,   55,  173,  173,   96,   96,        114,  197,  197,  170,  170,  197,  197,  197,  197,  182,
        80,   80,  173,  114,  114,  170,  170,  173,  118,  118,        182,  197,  197,  197,  197,  197,  197,   68,   68,  185,
       115,  115,  119,  119,  147,  147,  173,  121,  121,  173,        185,   79,   79,  197,  197,  197,  197,  197,  123,  123,
       151,  151,  157,  157,  173,  173,  132,  132,  160,  160,        127,  127,  197,   53,   53,  197,  126,  126,  197,  186,
       155,  155,  173,  112,  112,   95,   95,  156,  156,    0        186,  197,  197,  135,  135,  197,  197,  197,  133,  133,
         197,  197,  197,  197,  197,  197,  143,  143,  131,  131,
         197,  197,  197,  197,  197,  197,  197,  197,  140,  140,
         197,  197,  197,  197,  125,  125,  197,  197,  167,  167,
   
         197,  197,  197,  197,  197,  197,  172,  172,  117,  117,
         197,  197,  113,  113,  197,  197,  197,  197,  197,  197,
         197,  165,  165,  197,  197,  197,  197,   51,   51,  197,
         197,  197,  197,  151,  151,  197,  147,  147,  197,  197,
         146,  146,  197,  136,  136,  197,  197,  197,  197,  197,
         130,  130,  197,  197,  197,  197,  197,  163,  163,  197,
          91,   91,  197,  197,  197,  190,  190,  102,  102,  197,
         197,  197,  166,  166,  197,  119,  119,  197,  169,  169,
         197,  197,  197,  164,  164,  197,   97,   97,  197,   52,
          52,  197,  197,   93,   93,  197,  197,  197,  197,  197,
   
         197,  197,  197,  197,  197,  197,  139,  139,  197,  197,
          77,   77,  197,  111,  111,  194,  194,  197,  115,  115,
         112,  112,  116,  116,  171,  171,  197,  118,  118,  197,
         175,  175,  181,  181,  197,  197,  197,  197,  197,  145,
         145,  197,  197,  197,  197,  197,  197,  197,  197,  197,
         156,  156,  184,  184,  179,  179,  197,  109,  109,   92,
          92,  197,  197,  197,  197,  138,  138,  149,  149,  150,
         150,  152,  152,  141,  141,  129,  129,  197,  197,  180,
         180,  197,  134,  134,  197,  197,  197,  197,  197,  197,
         197,  197,  197,  197,  197,  132,  132,  142,  142,  137,
   
         137,  144,  144,  148,  148,    0
     } ;      } ;
   
 static yyconst int yy_ec[256] =  static yyconst int yy_ec[256] =
Line 492
 
Line 519
         1,    1,    1          1,    1,    1
     } ;      } ;
   
 static yyconst short int yy_base[1641] =  static yyconst short int yy_base[1901] =
     {   0,      {   0,
         0,    6,   37,   38, 1661,    0, 1662, 1657,    0,   41,          0,    6,   37,   38, 1921,    0, 1922, 1917,    0,   41,
        30,   37,   45,   52,   59,   60,   66,   66, 1638,   82,         30,   37,   45,   52,   59,   60,   66,   66, 1898,   82,
        80,   83,   49,   91,   89,  108,  107, 1637,   47,  114,         80,   83,   49,   91,   89,  108,  107, 1897,   47,  114,
        46, 1655,    0,   91, 1635,    0, 1652, 1662,   98,    0,         46, 1915,    0,   91, 1895,    0, 1912, 1922,   98,    0,
      1652, 1637, 1636, 1628,   36, 1623, 1622, 1636, 1625,   90,       1912, 1897, 1896, 1888,   36, 1883, 1882, 1896, 1885,   90,
      1638, 1624, 1619, 1623, 1611, 1616, 1624, 1628, 1615, 1627,       1898, 1884, 1879, 1883, 1871, 1876, 1884, 1888, 1875, 1887,
      1604, 1613, 1618, 1612, 1610, 1623, 1604, 1602, 1626, 1615,       1864, 1873, 1878, 1872, 1870, 1883, 1864, 1862, 1886, 1875,
      1606,   85, 1618, 1602, 1597, 1593, 1608, 1610,  107,  108,       1866,   85, 1878, 1862, 1857, 1853, 1868, 1870,  107,  108,
      1605, 1598, 1605, 1609, 1593, 1597,   35, 1598,  114, 1602,       1865, 1858, 1865, 1869, 1853, 1857,   35, 1858,  114, 1862,
      1581, 1588,  126, 1596, 1587, 1599, 1594,  134,  141,  136,       1841, 1848,  126,  129, 1848, 1860, 1855,  136,  141,  137,
   
      1597, 1577, 1591, 1579,  141, 1582, 1581,  132, 1597, 1582,       1858, 1838, 1852, 1840,  143, 1843, 1842,  131, 1858, 1843,
       136, 1595, 1588, 1593,    0,  161,    0, 1583, 1591, 1563,        137, 1856, 1849, 1854,    0,  159,    0, 1844, 1852, 1824,
      1571, 1571, 1574, 1566, 1579, 1564, 1564, 1574, 1576, 1557,       1832, 1832, 1835, 1827, 1840, 1825, 1825, 1835, 1837, 1818,
       107,  152, 1555,  157, 1578, 1567, 1551,  165,  168, 1565,        107,  163, 1816,  150, 1839, 1828, 1812,  165,  167, 1826,
       164, 1565, 1563, 1562, 1543, 1562, 1564, 1561, 1567, 1547,        165, 1826, 1824, 1823, 1804, 1823, 1825, 1822, 1828, 1808,
      1539, 1564,  165,  181, 1535, 1537, 1551, 1550, 1543, 1544,       1800, 1825,  166,  183, 1796, 1798, 1812, 1811, 1804, 1805,
      1547, 1546,  160, 1531, 1544, 1543,  180, 1542, 1542,  201,       1808, 1807,  160, 1792, 1805, 1804,  177, 1803, 1803,  203,
      1539, 1539, 1543, 1517, 1536, 1521, 1531, 1527, 1542, 1516,       1800, 1800, 1804, 1778, 1797, 1782, 1792, 1788, 1803, 1777,
      1530, 1530, 1521, 1532, 1513, 1530, 1504, 1523, 1504, 1531,       1791, 1791, 1782, 1784, 1792, 1773, 1790, 1764, 1783, 1764,
      1520, 1515,  172, 1522, 1527, 1503, 1508, 1518, 1513, 1510,       1791, 1780, 1775,  174, 1782, 1787, 1763, 1768, 1778, 1773,
   
      1511, 1498, 1513, 1492, 1498, 1500, 1510, 1514, 1501, 1495,       1770, 1771, 1758, 1773, 1752, 1758, 1760, 1770, 1774, 1761,
      1511, 1510,    0, 1509, 1478,    0, 1507, 1488,    0, 1505,       1755, 1771, 1770,    0, 1769, 1738,    0, 1767, 1748,    0,
      1494,  177,  171, 1503, 1476, 1493, 1495, 1494, 1482,  220,       1765, 1754,  181,  186, 1763, 1736, 1753, 1755, 1754, 1742,
      1467, 1496, 1483, 1494, 1467, 1482, 1485, 1480, 1489, 1478,        222, 1727, 1756, 1743, 1754, 1727, 1742, 1745, 1740, 1749,
      1487, 1478, 1479,  198, 1662, 1484, 1457, 1482, 1461, 1461,       1738, 1747, 1738, 1739,  201, 1922, 1744, 1717, 1742, 1721,
      1479, 1459, 1454, 1471, 1465, 1451, 1467,    0, 1472, 1446,       1721, 1739, 1719, 1714, 1731, 1725, 1711, 1727,    0, 1732,
      1451, 1469, 1451, 1448, 1442, 1446, 1447, 1457, 1436, 1444,       1706, 1711, 1729, 1711, 1708, 1702, 1706, 1707, 1717, 1696,
      1446,  187, 1435, 1438, 1438, 1451, 1438, 1430, 1453, 1444,       1704, 1706,  191, 1695, 1698, 1698, 1711, 1698, 1690, 1713,
      1446, 1427, 1426, 1427, 1426, 1421,  202, 1440,  204, 1662,       1704, 1706, 1687, 1686, 1687, 1686, 1681,  205, 1700,  218,
      1444, 1438, 1419, 1427, 1434,  209,  192, 1439, 1430, 1424,       1922, 1704, 1698, 1679, 1687, 1694,  209,  182, 1699, 1690,
   
      1431, 1412, 1429, 1428, 1427, 1431, 1420, 1429, 1408, 1417,       1684, 1691, 1672, 1689, 1688, 1687, 1691, 1680, 1689, 1668,
      1420, 1415,  210, 1410, 1402, 1417,    0, 1421, 1411, 1394,       1677, 1662, 1679, 1674,  169, 1669, 1661, 1676,    0, 1680,
      1409, 1392, 1406, 1398, 1414, 1408, 1402, 1387, 1410, 1397,       1670, 1653, 1668, 1651, 1665, 1657, 1673, 1667, 1661, 1646,
      1402, 1381, 1392, 1395, 1394, 1398, 1374,    0, 1401, 1387,       1669, 1656, 1661, 1640, 1651, 1654, 1653, 1657, 1633,    0,
      1394, 1398, 1397, 1372, 1371, 1394, 1369, 1367, 1381, 1385,       1660, 1646, 1653, 1657, 1656, 1631, 1630, 1653, 1628, 1626,
      1389, 1365, 1371, 1380, 1379, 1360, 1362,  205, 1376, 1363,       1640, 1644, 1648, 1624, 1630, 1639, 1638, 1619, 1621,  207,
      1361, 1373, 1358, 1367, 1352, 1361,    0, 1374, 1359,    0,       1635, 1622, 1620, 1632, 1617, 1626, 1611, 1620,    0, 1633,
      1372, 1347, 1362, 1355, 1359,    0, 1367, 1357,    0, 1365,       1618,    0, 1631, 1606, 1621, 1614, 1618,    0, 1626, 1616,
      1339, 1356,    0, 1362, 1344, 1360,  216, 1347, 1358, 1348,          0, 1624, 1598, 1615,    0, 1621, 1603, 1619,  184, 1606,
      1350, 1332, 1354, 1343, 1344, 1337, 1340,    0, 1349, 1328,       1617, 1607, 1609, 1591, 1613, 1602, 1603, 1596, 1599,    0,
   
      1322, 1332, 1331, 1330, 1317, 1318, 1321, 1323, 1316, 1315,       1608, 1587, 1581, 1591, 1590, 1589, 1576, 1577, 1580, 1582,
      1327, 1316, 1330,  227, 1334, 1327, 1332, 1331, 1316, 1315,       1575, 1574, 1586, 1575, 1589,  227, 1593, 1586, 1591, 1590,
      1322, 1327, 1326, 1315,  220, 1662, 1300, 1323,  224, 1302,       1575, 1574, 1581, 1586, 1585, 1574,  225, 1922, 1559, 1582,
      1292, 1308, 1295, 1310, 1307, 1302,  232, 1315, 1289, 1299,        228, 1561, 1551, 1567, 1554, 1569, 1566, 1561,  212, 1574,
      1306, 1306, 1285,  239, 1283,    0, 1308, 1299, 1306, 1287,       1548, 1558, 1565, 1565, 1544,  235, 1542,    0, 1567, 1558,
      1296, 1275, 1293, 1282, 1281, 1280, 1298, 1279,  143, 1271,       1565, 1546, 1555, 1537, 1533, 1551, 1540, 1539, 1538, 1556,
      1290, 1284, 1293, 1267,    0, 1291, 1281, 1289, 1262, 1287,       1537,  247, 1529, 1548, 1542, 1551, 1525,    0, 1549, 1539,
      1263, 1276, 1274, 1274, 1282, 1258, 1260, 1265, 1253, 1271,       1547, 1520, 1545, 1521, 1534, 1532, 1532, 1540, 1516, 1518,
         0, 1276,    0, 1275, 1274, 1261, 1272, 1250, 1256, 1260,       1523, 1511, 1529,    0, 1534,    0, 1533, 1532, 1519, 1530,
      1248,    0, 1267, 1266,  228, 1244, 1243, 1236, 1241, 1237,       1508, 1514, 1518, 1506,    0, 1525, 1524,  224, 1502, 1501,
   
      1235, 1241, 1237, 1237,  226, 1239, 1245, 1244, 1234, 1233,       1494, 1499, 1495, 1493, 1499, 1495, 1495,  230, 1497, 1503,
      1241, 1225, 1230, 1248, 1247, 1232, 1228, 1244,    0, 1243,       1502, 1492, 1491, 1499, 1483, 1488, 1506, 1505, 1490, 1486,
      1231, 1241, 1240,    0, 1239, 1221, 1212, 1230, 1235, 1228,       1502,    0, 1501, 1489, 1499, 1498,    0, 1497, 1479, 1470,
      1217, 1221, 1231, 1222, 1209, 1221, 1209, 1207, 1208, 1199,       1488, 1493, 1486, 1475, 1479, 1489, 1480, 1467, 1479, 1467,
      1203, 1205, 1201, 1201, 1210, 1209,  239, 1211, 1193, 1205,       1465, 1466, 1457, 1461, 1463, 1459, 1459, 1468, 1467,  202,
      1193, 1213, 1185,    0, 1211, 1210, 1190, 1202, 1199, 1206,       1469, 1451, 1463, 1451, 1471, 1443,    0, 1469, 1468, 1448,
      1205, 1181, 1178,    0, 1202, 1182, 1190, 1178, 1193, 1183,       1460, 1457, 1464, 1463, 1439, 1436,    0, 1460, 1440, 1448,
      1172, 1179, 1169, 1176, 1186, 1181,    0, 1190, 1189, 1163,       1436, 1451, 1441, 1430, 1437, 1427, 1434, 1444, 1439,    0,
      1162, 1180, 1172, 1159, 1173, 1172, 1160, 1155,    0, 1179,       1448, 1447, 1421, 1420, 1438, 1430, 1417, 1431, 1430, 1418,
       247, 1153, 1171, 1176, 1145, 1147, 1161, 1172, 1151, 1170,       1413,    0, 1437,  245, 1411, 1430, 1428, 1433, 1402, 1404,
   
      1152, 1154, 1143, 1144, 1165, 1151, 1143, 1162, 1138,    0,       1418, 1429, 1408, 1427, 1409, 1411, 1400, 1401, 1422, 1408,
        78,   92,  174,  193,  196,  214,  212,  245,  223,  258,         58,  102,  121,    0,  181,  245,  256,  257,  260,  261,
       238,  260,  265,    0,  263,  257,  248,  269,  251,  271,        256,  252,  233,  265,  245,  267,  268,    0,  270,  262,
       254,  243,  253,  254,  262,  260,  253,  279,  275,  275,        253,  274,  256,  276,  259,  248,  258,  259,  267,  265,
       274,  260,  260,  268,  281,  282,  276,  277,  281,  281,        258,  284,  280,  280,  279,  265,  265,  273,  286,  287,
       282,  293,  294,  275,  286,  297,  298,  299,  300,  271,        281,  282,  286,  286,  287,  298,  299,  280,  291,  302,
       282,  294,    0,  304,  296,  306,  293,  308,  293,  287,        303,  304,  305,  276,  287,  299,    0,  309,  301,  311,
       294,  306,  304,  305,  315,  293,  287,  290,  313,  315,        298,  313,  298,  292,  299,  311,  309,  310,  320,  298,
       311,  296,  317,  299,  319,  320,  327,    0,  328,  319,        292,  295,  318,  320,  316,  301,  322,  304,  324,  325,
         0,  330,  304,  315,  323,    0,  334,    0,  335,  336,        332,    0,  333,  324,    0,  335,  309,  320,  328,    0,
   
       331,  338,  339,  340,  320,  334,  343,  344,  335,  329,        339,    0,  340,  341,  336,  343,  344,  345,  325,  339,
       330,  329,  349,  350,  326,  329,  330,  329,  336,  335,        348,  349,  340,  334,  335,  334,  354,  355,  331,  334,
       357,  348,  341,  335,  356,  332,  363,  336,  351,  366,        335,  334,  341,  340,  362,  353,  346,  340,  361,  370,
         0,  367,  341,    0,  369,  361,  353,  348,  348,    0,        337,  368,  341,  356,  371,    0,  372,  346,    0,  374,
       375,  376,  349,    0,  378,  369,  356,  381,  382,  383,        375,  367,  362,  363,    0,  390,  392,  365,    0,  396,
         0,  384,  378,  375,  387,  388,  389,  369,    0,  391,        387,  375,  400,  401,  402,    0,  403,  397,  394,  406,
       392, 1662,  384,  376,  396,  389,    0,  398,  379,  379,        407,  408,  388,    0,  410,  411, 1922,  403,  395,  415,
       384,  385,  393,  374,  400,  406,  401,  391,  393,  380,        408,    0,  417,  398,  398,  403,  404,  412,  393,  419,
       406,  412,  399,  408,  416,  417,  418,  410,  397,    0,        425,  420,  410,  412,  399,  425,  431,  418,  427,  435,
       422,    0,  423,  405,  425,    0,  426,  427,    0,  428,        436,  437,  429,  416,    0,  441,    0,  442,  424,  444,
   
         0,  429,  430,  410,  420,  405,  437,  428,    0,  439,          0,  445,  446,    0,  447,    0,  448,  449,  429,  439,
       430,  411,  432,  418,  444,  422,  446,  447,  448,  430,        424,  456,  447,    0,  458,  449,  430,  451,  437,  463,
       443,  425,  443,  430,  442,  455,  448,  440,  458,  459,        441,  465,  466,  467,  449,  462,  444,  462,  449,  461,
       446,  461,  462,  463,  439,  465,  466,  467,  451,  469,        474,  467,  459,  477,  478,  465,  480,  481,  482,  458,
       470,  471,  443,  468,  474,  463,    0,  476,  477,  472,        484,  485,  486,  470,  488,  489,  490,  462,  487,  493,
       471,  454,  455,  468,  473,  484,  476,  466,  477,  470,        482,    0,  495,  496,  491,  490,  473,  474,  487,  492,
       470,  490,    0,  491,  479,  469,  495,  486,  486,  486,        503,  495,  485,  496,  489,  489,  501,  493,  505,  504,
       485,  486,  501,  483,  503,  480,    0,  505,    0,  506,        495,  505,  503,  497,  501,  515,  516,  507,  500,  518,
         0,  507,  491,  509,  510,  511,    0,  512,  496,  505,        530,    0,  531,  519,  509,  534,  525,  526,  526,  525,
       515,    0,  516,  507,  491,  509,  490,  507,  494,  523,        526,  541,  523,  543,  520,    0,  545,    0,  546,    0,
   
       500,    0,  525,  503,  517,  521,  529,  505,  531,  513,        547,  531,  549,  550,  551,    0,  552,  536,  545,  555,
       510,  514,  515,  522,  529,  533,  538,  540,  541,  544,          0,  556,  547,  531,  549,  530,  547,  534,  563,  540,
       546,  547,  548,    0,  549,  550,  551,  526,  548,    0,          0,  565,  543,  557,  561,  569,  545,  571,  553,  550,
       554,  546,  547,  556,  558,  549,  560,  541,    0,  562,        554,  555,  562,  569,  573,  578,  580,  581,  584,  586,
       563,  564,  565,  549,  546,  568,  545,  556,  571,  562,        587,  588,    0,  589,  590,  591,  566,  588,    0,  594,
       573,    0,  574,  575,  552,  577,  578,    0,  579,  570,        586,  587,  596,  598,  589,  600,  581,    0,  602,  603,
         0,  581,    0,  582,    0,  583,  578,  585,    0,  586,        604,  605,  589,  586,  608,  585,  596,  611,  602,  613,
         0,  587,  563,  575,  590,  566,    0,  592,  585,  581,          0,  614,  615,  592,  617,  618,    0,  619,  610,    0,
       595,  577,  587,  581,    0,  599,  600,  574,  584,  589,        621,    0,  622,    0,  623,  618,  625,    0,  626,    0,
       583,  593,  606,  597,  594,    0,  609,  610,  586,  612,        627,  603,  615,  630,  606,    0,  632,  625,  621,  635,
   
       596,  593,    0,  615,  616,  617,  604,  609,  620,    0,        617,  627,  621,    0,  639,  640,  614,  624,  629,  623,
       621,    0,  622,  593,  624,  625,  626,  617,  628,  629,        633,  632,  633,  629,  643,  633,  645,  647,  644,  649,
       620,  631,  632,  612,  616,  635,  630,  637,  625,    0,        633,  637,  649,  643,  636,  650,  640,  634,  651,  647,
       639,  635,  623,  614,  620,  625,  636,  623,  633,  629,        645,  663,  670,  661,  658,    0,  673,  674,  650,  676,
       643,    0,  650,    0,  651,    0,  652,  653,  654,  655,        660,  657,    0,  679,  680,  681,  668,  673,  684,    0,
         0,  656,    0,  657,  658,  635,  653,  661,  662,  662,        685,    0,  686,  657,  688,  689,  690,  681,  692,  693,
      1662,  664,  656,    0,  667,  649,    0,  669,    0,  670,        684,  695,  696,  676,  680,  699,  694,  701,  689,    0,
       671,  662,  673,  674,  665,  670,    0,  679,  680,  682,        703,  699,  687,  678,  684,  689,  700,  687,  697,  693,
         0,  683,  670,    0,  685,    0,  686,  687,  658,    0,        707,    0,  714,    0,  715,    0,  716,  717,  718,  719,
       689,  690,  682,    0,  692,  680,  678,  695,  696,  687,          0,  720,    0,  721,  722,  699,  717,  725,  726,  726,
   
       689,  682,  700,  691,  678,  679,  694,  705,    0,  706,       1922,  728,  720,    0,  731,  713,    0,  733,    0,  734,
       684,  701,  709,  710,  711,  695,  713,  714,    0,  715,        735,  726,  737,  738,  729,  734,    0,  743,  744,  746,
       689,  717,    0,  718,  719,  720,    0,  721,  722,  705,          0,  747,  734,    0,  749,    0,  750,  751,  722,    0,
       724,  725,  717,  727,    0,  728,  719,  710,  731,  724,        753,  754,  746,    0,  756,  744,  742,  759,  760,  751,
         0,  733,  711,  726,  716,  737,  719,  727,  740,  721,        753,  746,  764,  755,  742,  743,  758,  769,  761,  752,
       725,  734,  723,    0,  745,    0,  746,    0,  747,    0,        764,  753,  765,  764,  757,  752,  761,  765,  772,  758,
       748,  749,  730,  731,  732,  737,  748,  755,  756,    0,        772,  759,  763,  755,  776,  773,  782,  765,  766,  763,
       757,  759,  760,    0,  761,  762,  763,    0,  764,  756,        773,  772,    0,  794,  772,  789,  797,  798,  799,  783,
       760,  767,    0,  768,  762,  770,  761,  772,  763,  774,        801,  802,    0,  803,  777,  805,    0,  806,  807,  808,
       775,  776,    0,  777,  769,  779,  770,    0,  781,  782,          0,  809,  810,  793,  812,  813,  805,  815,    0,  816,
   
       783,  760,  768,  786,  777,  771,    0,  789,  790,    0,        807,  798,  819,  812,    0,  821,  799,  814,  804,  825,
       791,  792,  793,    0,  794,  785,  796,  797,    0,  798,        807,  815,  828,  809,  813,  822,  811,    0,  833,    0,
         0,  799,  791,    0,  802,    0,  803,  804,    0,  805,        834,    0,  835,    0,  836,  837,  818,  819,  820,  825,
       789,  781,    0,  808,  793,  784,  805,  786,  813,  814,        836,  843,  844,    0,  845,  847,  848,    0,  849,  850,
       815,  816,  800,  801,  819,  800,  821,  794,  800,  815,        851,    0,  852,  844,  848,  855,    0,  856,  850,  858,
       811,  807,  821,    0,  828,    0,  829,  830,  831,  832,        849,  860,  851,  862,  863,  864,    0,  865,  857,  867,
         0,  833,  834,  818,    0,  836,  820,    0,  838,  816,        858,    0,  869,  870,  871,  848,  856,  874,  875,  867,
         0,  840,  822,  842,  843,    0,  844,  845,  846,  838,        867,  854,  879,  854,  856,  869,  873,  865,  860,  886,
       848,  839,  850,  837,  835,    0,  853,  854,  845,    0,        887,  864,  870,  863,  869,  885,  877,  881,  876,  897,
       856,  857,    0,  858,  859,    0,  860,    0,  861,  843,        893,  879,  890,  884,    0,  902,  903,    0,  904,  905,
   
       863,  847,  842,  866,  867,  845,  846,    0,  870,  871,        906,    0,  907,  898,  909,  910,    0,  911,    0,  912,
       872,    0,  873,  857,  875,  876,  858,    0,  878,  879,        903,    0,  914,    0,  915,  916,    0,  917,  901,  893,
       861,  881,  865,  874,  863,    0,  885,    0,  886,    0,          0,  920,  905,  896,  917,  898,  925,  926,  927,  928,
       887,  888,  889,  880,  891,  867,    0,  893,    0,  894,        912,  913,  931,  912,  933,  906,  912,  927,  923,  919,
       895,    0,  896,  897,    0,  898,  880,    0,  900,  884,        933,    0,  940,    0,  941,  942,  943,  944,    0,  945,
       902,  903,  904,    0,  905,  906,  882,    0,  908,  909,        946,  930,    0,  948,  932,    0,  950,  928,    0,  952,
       910,  911,  912,  897,  914,    0,  915,    0,  916,  917,        934,  954,  955,    0,  956,  957,  958,  950,  960,  951,
       918,    0,  919,  920,  921,  922,  923,  907,  925,  906,        962,  949,  947,    0,  965,  966,  967,  951,  969,  970,
         0,  927,  928,  929,  930,  931,    0,  932,  933,  909,        947,  962,  973,  949,  975,  953,  977,  978,  966,  952,
       925,  936,    0,  937,  938,    0,  939,  940,  941,  942,        961,  963,  983,  954,  977,  967,  987,  962,  970,  990,
   
         0,  943,    0,  944,  945,  946,  947,    0,  948,  949,        981,    0,  992,  993,    0,  994,  995,    0,  996,    0,
         0,  950,  951,    0,  952,  953,  954,  936,    0,  956,        997,  979,  999,  983,  978, 1002, 1003,  981,  982,    0,
       957,    0,  958,  959,    0,  960,  961,  962,    0,  963,       1006, 1007, 1008,    0, 1009,  993, 1011, 1012,  994,    0,
         0,  964,  965,    0,  966,    0,  967,  968,    0,  969,       1014, 1015,  997, 1017, 1001, 1010,  999,    0, 1021,    0,
         0,  970,    0,  971,    0,  972,  973,    0,  974,  975,       1022,    0, 1023, 1024, 1025, 1016, 1027, 1003,    0, 1029,
         0,  976,    0,  977,  978,  979,    0,  980,    0,  981,          0, 1030, 1031,    0, 1032, 1033,    0, 1034, 1016,    0,
         0,  982,  983,    0,  984,    0,  985,    0,  986, 1662,       1036, 1020, 1038,    0, 1039, 1040, 1024, 1042,    0, 1043,
       988,  990,  992,  993,  995,  996,  997,  998,  999, 1000,       1030, 1022, 1046, 1037, 1048, 1035,    0, 1050,    0, 1051,
      1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,       1038, 1043, 1031, 1049, 1056, 1026, 1052, 1059,    0, 1060,
      1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020,       1042, 1044, 1063, 1064,    0, 1065, 1066, 1042,    0, 1068,
   
      1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030,       1069, 1070, 1071, 1072, 1057, 1074,    0, 1075,    0, 1076,
      1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040,       1077, 1078,    0, 1079, 1080, 1081, 1082, 1083, 1067, 1085,
      1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050,       1066,    0, 1087, 1088, 1089, 1090, 1091,    0, 1092, 1093,
      1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060,       1069, 1085, 1096,    0, 1097, 1092,    0, 1099, 1080, 1077,
      1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1071,          0, 1102, 1103,    0, 1104, 1097, 1081, 1084, 1099, 1092,
      1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081,          0, 1110, 1101, 1095, 1113, 1105, 1109,    0, 1116, 1117,
      1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,          0, 1118, 1119, 1120, 1121,    0, 1122,    0, 1123, 1124,
      1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101,       1125, 1126,    0, 1127, 1128,    0, 1129, 1130,    0, 1131,
      1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111,       1132, 1133, 1115,    0, 1135, 1136,    0, 1137, 1138,    0,
      1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121,       1139, 1140, 1141,    0, 1142, 1118, 1125, 1124, 1146, 1133,
   
      1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131,       1148, 1149, 1150, 1151, 1152, 1153,    0, 1154, 1145, 1144,
      1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141,          0, 1157, 1158,    0, 1159,    0, 1160, 1161,    0, 1162,
      1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151,          0, 1163,    0, 1164,    0, 1165, 1166,    0, 1167, 1168,
      1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161          0, 1169,    0, 1170, 1171, 1172, 1159, 1174, 1165,    0,
        1176, 1152, 1178, 1179, 1180, 1181, 1182, 1183, 1178, 1171,
           0, 1186,    0, 1187,    0, 1188, 1189,    0, 1190,    0,
        1191, 1172, 1193, 1177, 1165,    0, 1196,    0, 1197,    0,
        1198,    0, 1199,    0, 1200,    0, 1201, 1193, 1195,    0,
        1204, 1186,    0, 1206, 1190, 1208, 1209, 1210, 1211, 1212,
        1213, 1214, 1215, 1216, 1217,    0, 1218,    0, 1219,    0,
   
        1220,    0, 1221,    0, 1222, 1922, 1224, 1226, 1228, 1229,
        1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
        1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250,
        1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260,
        1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270,
        1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280,
        1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290,
        1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300,
        1301, 1302, 1303, 1304, 1305, 1307, 1308, 1309, 1310, 1311,
        1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321,
   
        1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331,
        1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341,
        1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351,
        1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361,
        1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371,
        1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381,
        1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391,
        1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401,
        1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411,
        1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421
   
     } ;      } ;
   
 static yyconst short int yy_def[1641] =  static yyconst short int yy_def[1901] =
     {   0,      {   0,
      1471, 1470, 1472, 1472, 1470, 1473, 1470, 1474, 1473, 1473,       1707, 1706, 1708, 1708, 1706, 1709, 1706, 1710, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1475, 1475, 1475, 1473, 1474, 1470, 1473, 1473,       1709, 1709, 1711, 1711, 1711, 1709, 1710, 1706, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
   
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1476, 1473, 1477, 1475, 1475, 1475, 1475, 1478, 1473,       1709, 1712, 1709, 1713, 1711, 1711, 1711, 1711, 1714, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1479, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1715, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1480,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1716, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
   
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1481, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1717, 1709,
      1473, 1473, 1476, 1476, 1473, 1477, 1477, 1475, 1478, 1478,       1709, 1709, 1709, 1712, 1712, 1709, 1713, 1713, 1711, 1714,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1714, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1482, 1473, 1483, 1473, 1473, 1473, 1473, 1484, 1473,       1709, 1709, 1718, 1709, 1719, 1709, 1709, 1709, 1709, 1720,
      1485, 1473, 1473, 1473, 1470, 1486, 1473, 1473, 1473, 1473,       1709, 1721, 1709, 1709, 1709, 1706, 1722, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1479, 1479, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1715, 1715,
      1473, 1487, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1723, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1470,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1706, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
   
      1473, 1473, 1473, 1473, 1473, 1488, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1724, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1480, 1480, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1716, 1716,
      1473, 1473, 1473, 1473, 1489, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1725, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1481, 1481, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1717,
      1473, 1490, 1491, 1473, 1475, 1473, 1473, 1473, 1473, 1473,       1717, 1709, 1709, 1726, 1727, 1709, 1711, 1709, 1709, 1709,
      1492, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1728, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1482, 1482, 1473, 1483,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1718, 1718,
      1483, 1473, 1473, 1473, 1473, 1484, 1484, 1473, 1485, 1485,       1709, 1719, 1719, 1709, 1709, 1709, 1709, 1720, 1720, 1709,
      1473, 1473, 1486, 1486, 1473, 1493, 1473, 1473, 1494, 1473,       1721, 1721, 1709, 1709, 1722, 1722, 1709, 1729, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1487, 1487, 1473,       1730, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1723,
   
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1723, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1495, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1731, 1709,
      1473, 1473, 1473, 1473, 1473, 1470, 1473, 1496, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1706, 1709, 1732,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1497, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1733,
      1473, 1473, 1473, 1473, 1473, 1488, 1488, 1473, 1498, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1724, 1724, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1734, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1489, 1489, 1473, 1473, 1473, 1499,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1725, 1725, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1735, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1490, 1490, 1491, 1491, 1473, 1475, 1500, 1473, 1473, 1473,       1709, 1709, 1709, 1726, 1726, 1727, 1727, 1709, 1711, 1736,
      1473, 1492, 1492, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1728, 1728, 1709, 1709, 1709, 1709,
   
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1493, 1493,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1494, 1494, 1473, 1473, 1473, 1501, 1473,       1709, 1729, 1729, 1709, 1709, 1709, 1730, 1730, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1737, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1502, 1473, 1495, 1495, 1503, 1473, 1473, 1473, 1504,       1709, 1709, 1709, 1709, 1738, 1709, 1731, 1731, 1739, 1709,
      1505, 1473, 1473, 1496, 1496, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1740, 1741, 1709, 1709, 1732, 1732, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1497, 1497, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1733,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1498, 1498,       1733, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1506, 1473, 1507,       1709, 1734, 1734, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
   
      1473, 1473, 1473, 1473, 1508, 1473, 1473, 1509, 1473, 1499,       1709, 1742, 1709, 1743, 1709, 1709, 1709, 1709, 1744, 1709,
      1499, 1473, 1473, 1473, 1473, 1510, 1473, 1473, 1473, 1473,       1709, 1745, 1709, 1735, 1735, 1709, 1709, 1709, 1709, 1746,
      1473, 1511, 1475, 1500, 1500, 1473, 1473, 1473, 1473, 1512,       1709, 1709, 1709, 1709, 1709, 1747, 1711, 1736, 1736, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1748, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1513, 1514, 1473, 1473, 1515, 1473, 1516, 1517, 1473,       1709, 1709, 1709, 1709, 1709, 1749, 1750, 1709, 1709, 1751,
      1473, 1473, 1501, 1501, 1473, 1473, 1473, 1518, 1473, 1473,       1709, 1752, 1753, 1709, 1709, 1709, 1737, 1737, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1754, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1502, 1502, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1503, 1503, 1473, 1473, 1473, 1504, 1504, 1505, 1505, 1473,       1709, 1738, 1738, 1709, 1739, 1739, 1709, 1709, 1709, 1740,
   
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1740, 1741, 1741, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1519, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1755, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1520, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1506, 1506, 1473, 1507, 1507, 1473, 1473, 1473, 1473, 1508,       1709, 1756, 1709, 1709, 1709, 1742, 1742, 1709, 1743, 1743,
      1508, 1473, 1473, 1509, 1509, 1473, 1473, 1521, 1522, 1523,       1709, 1709, 1709, 1709, 1744, 1744, 1709, 1709, 1745, 1745,
      1510, 1510, 1473, 1473, 1473, 1473, 1524, 1473, 1511, 1511,       1709, 1709, 1757, 1758, 1759, 1746, 1746, 1709, 1709, 1709,
      1475, 1470, 1473, 1473, 1525, 1473, 1512, 1512, 1473, 1473,       1709, 1760, 1709, 1747, 1747, 1711, 1706, 1709, 1709, 1761,
      1473, 1473, 1473, 1473, 1473, 1526, 1473, 1473, 1473, 1473,       1709, 1748, 1748, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1513,       1762, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1513, 1514, 1514, 1473, 1473, 1515, 1515, 1527, 1516, 1516,       1709, 1709, 1709, 1709, 1749, 1749, 1750, 1750, 1709, 1709,
   
      1517, 1517, 1473, 1473, 1473, 1473, 1528, 1473, 1518, 1518,       1751, 1751, 1763, 1752, 1752, 1753, 1753, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1529, 1473, 1473, 1473,       1709, 1764, 1709, 1754, 1754, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1530, 1473,       1709, 1765, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1531, 1473, 1532, 1533, 1534, 1473, 1473,       1709, 1709, 1709, 1766, 1709, 1709, 1709, 1709, 1767, 1709,
      1535, 1536, 1473, 1473, 1473, 1473, 1519, 1519, 1537, 1473,       1768, 1769, 1770, 1709, 1709, 1771, 1772, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1538, 1473, 1473, 1473, 1473,       1709, 1755, 1755, 1773, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1520, 1520, 1473, 1473, 1539, 1473, 1473, 1473,       1774, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1540, 1473, 1473, 1473, 1521, 1521, 1522, 1522,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1523, 1523, 1473, 1473, 1541, 1542, 1524, 1524, 1473, 1473,       1709, 1756, 1756, 1709, 1709, 1775, 1709, 1709, 1709, 1709,
      1473, 1525, 1525, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1776, 1709, 1709, 1709, 1757, 1757, 1758, 1758, 1759,
   
      1473, 1526, 1526, 1473, 1473, 1473, 1473, 1473, 1543, 1473,       1759, 1709, 1709, 1777, 1778, 1760, 1760, 1709, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1473, 1544, 1545, 1546, 1473,       1761, 1761, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1547, 1527, 1527, 1548, 1473, 1473, 1473, 1528,       1762, 1762, 1709, 1709, 1709, 1709, 1709, 1779, 1709, 1709,
      1528, 1473, 1473, 1549, 1473, 1473, 1550, 1473, 1529, 1529,       1709, 1709, 1709, 1709, 1709, 1780, 1781, 1782, 1709, 1709,
      1551, 1552, 1473, 1473, 1473, 1473, 1473, 1473, 1553, 1473,       1709, 1783, 1763, 1763, 1784, 1709, 1709, 1709, 1764, 1764,
      1473, 1530, 1530, 1554, 1473, 1555, 1556, 1531, 1531, 1473,       1709, 1709, 1785, 1709, 1709, 1786, 1709, 1765, 1765, 1787,
      1532, 1532, 1533, 1533, 1534, 1534, 1473, 1557, 1535, 1535,       1788, 1709, 1709, 1709, 1709, 1709, 1709, 1789, 1709, 1709,
      1536, 1536, 1473, 1473, 1558, 1473, 1537, 1537, 1473, 1473,       1766, 1766, 1790, 1709, 1791, 1792, 1767, 1767, 1709, 1768,
      1473, 1473, 1473, 1473, 1538, 1538, 1473, 1473, 1473, 1473,       1768, 1769, 1769, 1770, 1770, 1709, 1793, 1771, 1771, 1772,
      1473, 1473, 1559, 1473, 1473, 1539, 1539, 1473, 1473, 1473,       1772, 1709, 1709, 1794, 1709, 1773, 1773, 1709, 1709, 1709,
   
      1473, 1473, 1540, 1540, 1473, 1560, 1473, 1473, 1561, 1541,       1709, 1709, 1709, 1774, 1774, 1709, 1709, 1709, 1709, 1709,
      1541, 1542, 1542, 1473, 1473, 1562, 1473, 1473, 1473, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1563, 1473, 1473, 1473, 1473, 1564, 1473, 1543,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1543, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1795, 1709, 1709, 1775, 1775, 1709, 1709, 1709,
      1473, 1544, 1544, 1545, 1545, 1546, 1546, 1565, 1566, 1567,       1709, 1709, 1776, 1776, 1709, 1796, 1709, 1709, 1797, 1777,
      1547, 1547, 1548, 1548, 1568, 1473, 1473, 1473, 1473, 1549,       1777, 1778, 1778, 1709, 1709, 1798, 1709, 1709, 1709, 1709,
      1470, 1569, 1473, 1550, 1550, 1473, 1551, 1551, 1552, 1552,       1709, 1709, 1799, 1709, 1709, 1709, 1709, 1800, 1709, 1779,
      1570, 1473, 1473, 1571, 1473, 1473, 1553, 1553, 1473, 1572,       1779, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1554, 1554, 1473, 1555, 1555, 1556, 1556, 1473, 1473, 1557,       1709, 1780, 1780, 1781, 1781, 1782, 1782, 1801, 1802, 1803,
      1557, 1473, 1473, 1558, 1558, 1473, 1473, 1473, 1573, 1473,       1783, 1783, 1784, 1784, 1804, 1709, 1709, 1709, 1709, 1785,
   
      1473, 1473, 1574, 1473, 1473, 1473, 1473, 1473, 1559, 1559,       1706, 1805, 1709, 1786, 1786, 1709, 1787, 1787, 1788, 1788,
      1473, 1473, 1575, 1473, 1576, 1473, 1473, 1577, 1560, 1560,       1806, 1709, 1709, 1807, 1709, 1709, 1789, 1789, 1709, 1808,
      1473, 1473, 1561, 1561, 1473, 1578, 1562, 1562, 1579, 1473,       1790, 1790, 1709, 1791, 1791, 1792, 1792, 1709, 1709, 1793,
      1580, 1581, 1473, 1582, 1563, 1563, 1473, 1473, 1583, 1473,       1793, 1709, 1709, 1794, 1794, 1709, 1709, 1709, 1809, 1709,
      1564, 1564, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,       1709, 1709, 1810, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1473, 1565, 1565, 1566, 1566, 1567, 1567, 1568,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1568, 1473, 1473, 1473, 1473, 1473, 1473, 1584, 1585, 1569,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1569, 1473, 1473, 1570, 1570, 1473, 1586, 1571, 1571, 1473,       1709, 1709, 1795, 1795, 1709, 1709, 1811, 1709, 1812, 1709,
      1473, 1587, 1572, 1572, 1473, 1588, 1473, 1589, 1473, 1473,       1709, 1813, 1796, 1796, 1709, 1709, 1797, 1797, 1709, 1814,
      1473, 1590, 1573, 1573, 1473, 1473, 1473, 1574, 1574, 1473,       1798, 1798, 1815, 1709, 1816, 1817, 1709, 1818, 1799, 1799,
   
      1473, 1473, 1473, 1591, 1473, 1473, 1575, 1575, 1592, 1576,       1709, 1709, 1819, 1709, 1800, 1800, 1709, 1709, 1709, 1709,
      1576, 1473, 1593, 1577, 1577, 1473, 1594, 1595, 1578, 1578,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1801, 1801, 1802,
      1579, 1579, 1473, 1580, 1580, 1581, 1581, 1473, 1582, 1582,       1802, 1803, 1803, 1804, 1804, 1709, 1709, 1709, 1709, 1709,
      1473, 1473, 1583, 1583, 1473, 1473, 1473, 1473, 1596, 1473,       1709, 1820, 1821, 1805, 1805, 1709, 1709, 1806, 1806, 1709,
      1473, 1597, 1473, 1473, 1473, 1473, 1598, 1473, 1473, 1473,       1822, 1807, 1807, 1709, 1709, 1823, 1808, 1808, 1709, 1824,
      1473, 1473, 1473, 1584, 1584, 1585, 1585, 1599, 1600, 1601,       1709, 1825, 1709, 1709, 1709, 1826, 1809, 1809, 1709, 1709,
      1586, 1586, 1473, 1473, 1587, 1587, 1473, 1588, 1588, 1473,       1709, 1810, 1810, 1709, 1709, 1709, 1709, 1827, 1709, 1709,
      1589, 1589, 1473, 1602, 1603, 1590, 1590, 1473, 1604, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1605, 1473, 1606, 1473, 1473, 1591, 1591, 1473, 1473, 1592,       1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
      1592, 1607, 1593, 1593, 1473, 1594, 1594, 1595, 1595, 1473,       1709, 1709, 1709, 1709, 1811, 1811, 1828, 1812, 1812, 1709,
   
      1608, 1473, 1473, 1473, 1473, 1473, 1473, 1596, 1596, 1609,       1829, 1813, 1813, 1709, 1830, 1831, 1814, 1814, 1815, 1815,
      1610, 1597, 1597, 1473, 1473, 1611, 1473, 1598, 1598, 1473,       1709, 1816, 1816, 1817, 1817, 1709, 1818, 1818, 1709, 1709,
      1473, 1473, 1473, 1473, 1473, 1599, 1599, 1600, 1600, 1601,       1819, 1819, 1709, 1709, 1709, 1709, 1832, 1709, 1709, 1833,
      1601, 1612, 1473, 1473, 1473, 1473, 1602, 1602, 1603, 1603,       1709, 1709, 1709, 1709, 1834, 1709, 1709, 1709, 1709, 1709,
      1613, 1604, 1604, 1473, 1605, 1605, 1473, 1606, 1606, 1473,       1709, 1820, 1820, 1821, 1821, 1835, 1836, 1837, 1822, 1822,
      1473, 1614, 1473, 1607, 1607, 1615, 1473, 1608, 1608, 1473,       1709, 1709, 1823, 1823, 1709, 1824, 1824, 1709, 1825, 1825,
      1473, 1616, 1617, 1473, 1473, 1609, 1609, 1610, 1610, 1473,       1709, 1838, 1839, 1826, 1826, 1709, 1840, 1709, 1841, 1709,
      1618, 1611, 1611, 1473, 1619, 1473, 1620, 1473, 1473, 1473,       1842, 1709, 1709, 1827, 1827, 1843, 1709, 1709, 1709, 1844,
      1612, 1612, 1621, 1473, 1622, 1473, 1613, 1613, 1623, 1473,       1709, 1709, 1709, 1709, 1709, 1709, 1845, 1846, 1709, 1709,
      1473, 1624, 1614, 1614, 1625, 1615, 1615, 1473, 1626, 1627,       1709, 1709, 1709, 1709, 1709, 1709, 1847, 1709, 1709, 1709,
   
      1616, 1616, 1617, 1617, 1473, 1628, 1629, 1618, 1618, 1630,       1709, 1828, 1828, 1848, 1829, 1829, 1709, 1830, 1830, 1831,
      1619, 1619, 1631, 1620, 1620, 1473, 1632, 1473, 1621, 1621,       1831, 1709, 1849, 1709, 1709, 1709, 1709, 1709, 1709, 1832,
      1633, 1622, 1622, 1634, 1623, 1623, 1473, 1473, 1624, 1624,       1832, 1850, 1851, 1833, 1833, 1709, 1709, 1852, 1709, 1834,
      1625, 1625, 1635, 1626, 1626, 1627, 1627, 1636, 1628, 1628,       1834, 1709, 1709, 1709, 1709, 1709, 1709, 1835, 1835, 1836,
      1629, 1629, 1630, 1630, 1631, 1631, 1637, 1632, 1632, 1473,       1836, 1837, 1837, 1853, 1709, 1709, 1709, 1709, 1838, 1838,
      1633, 1633, 1634, 1634, 1638, 1639, 1635, 1635, 1636, 1636,       1839, 1839, 1854, 1840, 1840, 1709, 1841, 1841, 1709, 1842,
      1637, 1637, 1640, 1638, 1638, 1639, 1639, 1640, 1640,    0,       1842, 1709, 1709, 1843, 1843, 1855, 1709, 1856, 1844, 1844,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1709, 1709, 1857, 1709, 1858, 1709, 1845, 1845, 1846, 1846,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1709, 1709, 1709, 1709, 1859, 1709, 1709, 1709, 1847, 1847,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1709, 1709, 1860, 1709, 1848, 1848, 1861, 1709, 1849, 1849,
   
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1709, 1709, 1862, 1863, 1709, 1709, 1850, 1850, 1851, 1851,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1709, 1864, 1852, 1852, 1709, 1865, 1709, 1866, 1709, 1709,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1709, 1853, 1853, 1867, 1709, 1868, 1709, 1854, 1854, 1869,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1709, 1709, 1870, 1855, 1855, 1709, 1856, 1856, 1709, 1709,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1857, 1857, 1709, 1858, 1858, 1709, 1709, 1709, 1709, 1709,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1859, 1859, 1709, 1709, 1871, 1709, 1709, 1860, 1860, 1872,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1861, 1861, 1709, 1873, 1874, 1862, 1862, 1863, 1863, 1709,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1875, 1876, 1864, 1864, 1877, 1865, 1865, 1878, 1866, 1866,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1709, 1879, 1709, 1867, 1867, 1880, 1868, 1868, 1881, 1869,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1869, 1709, 1709, 1870, 1870, 1709, 1709, 1709, 1882, 1709,
   
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1709, 1709, 1709, 1709, 1709, 1709, 1871, 1871, 1709, 1709,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1872, 1872, 1883, 1873, 1873, 1874, 1874, 1884, 1875, 1875,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1876, 1876, 1877, 1877, 1878, 1878, 1885, 1879, 1879, 1709,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470       1880, 1880, 1881, 1881, 1886, 1887, 1709, 1709, 1709, 1882,
        1882, 1709, 1888, 1889, 1890, 1891, 1892, 1893, 1709, 1709,
        1883, 1883, 1884, 1884, 1885, 1885, 1894, 1886, 1886, 1887,
        1887, 1709, 1895, 1709, 1709, 1888, 1888, 1889, 1889, 1890,
        1890, 1891, 1891, 1892, 1892, 1893, 1893, 1709, 1709, 1894,
        1894, 1709, 1895, 1895, 1709, 1709, 1709, 1709, 1709, 1709,
        1896, 1897, 1898, 1899, 1900, 1896, 1896, 1897, 1897, 1898,
   
        1898, 1899, 1899, 1900, 1900,    0, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
   
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
        1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706
   
     } ;      } ;
   
 static yyconst short int yy_nxt[1696] =  static yyconst short int yy_nxt[1956] =
     {   0,      {   0,
      1470,   39,    7,    8,   40,    9,    6,    6,    7,    8,       1706,   39,    7,    8,   40,    9,    6,    6,    7,    8,
         6,    9,    6,   10,   11,   12,   13,   14,   15,   16,          6,    9,    6,   10,   11,   12,   13,   14,   15,   16,
        17,   18,    6,   19,   20,   21,   22,   23,   24,    6,         17,   18,    6,   19,   20,   21,   22,   23,   24,    6,
        25,   26,   27,   28,   29,   30,   31,   32,    6,    7,         25,   26,   27,   28,   29,   30,   31,   32,    6,    7,
         7,   48,   34,   34,   50,  123,  173,  112,   49,   35,          7,   48,   34,   34,   50,  123,  173,  112,   49,   35,
        41,   51,   54,  174,  106,  124,   55,   86,   52,   42,         41,   51,   54,  174,  106,  124,   55,   86,   52,   42,
        56,   43,   57,   44,   53,   45,   60,   46,   47,   87,         56,   43,   57,   44,   53,   45,   60,   46,   47,   87,
       113,   64,   58,   67,  107,   88,   70,   61,   65,  611,        113,   64,   58,   67,  107,   88,   70,   61,   65,  748,
        62,   68,   59,   63,   66,   71,   72,   79,   69,   75,         62,   68,   59,   63,   66,   71,   72,   79,   69,   75,
        82,   73,  116,   76,   83,  117,   93,   77,   89,   39,         82,   73,  116,   76,   83,  117,   93,   77,   89,   39,
   
        94,   80,   40,  747,   84,   81,   90,   85,  232,   78,         94,   80,   40,  750,   84,   81,   90,   85,  233,   78,
       129,  152,   91,  153,  130,   92,   95,   96,  101,   97,        129,  152,   91,  153,  130,   92,   95,   96,  101,   97,
       160,  108,  102,  109,  161,  110,   98,  233,  164,  111,        160,  108,  102,  109,  161,  110,   98,  234,  164,  111,
        99,  103,  165,  162,  100,  181,  166,  163,  104,  176,         99,  103,  165,  162,  100,  181,  166,  163,  104,  176,
       177,  187,  190,  193,  600,  188,  182,  194,  200,  601,        177,  183,  191,  188,  194,  751,  182,  189,  195,  207,
       206,  201,  191,  234,  210,  189,  202,  207,  239,  192,        201,  240,  192,  202,  184,  211,  208,  190,  203,  193,
       195,  211,  116,  203,  235,  117,  244,  245,  212,  246,        116,  196,  212,  117,  235,  204,  245,  246,  247,  213,
       249,  263,  236,  283,  284,  748,  264,  240,  237,  250,        241,  250,  264,  284,  285,  236,  457,  265,  290,  291,
       265,  289,  290,  347,  348,  285,  349,  247,  266,  267,        251,  266,  615,  237,  458,  286,  248,  349,  350,  238,
       268,  269,  321,  270,  749,  271,  322,  750,  323,  244,        267,  268,  269,  270,  323,  271,  524,  272,  324,  438,
   
       245,  409,  350,  425,  426,  289,  290,  272,  273,  436,        325,  351,  245,  246,  525,  411,  427,  428,  439,  273,
       274,  293,  500,  294,  410,  752,  433,  454,  437,  753,        274,  686,  275,  294,  503,  295,  435,  352,  412,  290,
       295,  425,  426,  296,  434,  455,  297,  357,  521,  358,        291,  687,  296,  578,  436,  297,  427,  428,  298,  359,
       359,  566,  501,  435,  631,  360,  522,  361,  548,  567,        635,  360,  361,  437,  504,  569,  579,  362,  551,  363,
       549,  550,  362,  575,  363,  364,  584,  365,  682,  585,        552,  553,  587,  570,  364,  588,  365,  366,  604,  367,
       642,  643,  551,  723,  632,  756,  576,  754,  683,  757,        636,  727,  554,  605,  646,  647,  752,  753,  754,  589,
       758,  760,  724,  586,  625,  755,  761,  762,  763,  764,        728,  755,  757,  758,  759,  761,  762,  763,  765,  766,
       765,  766,  768,  769,  770,  771,  772,  773,  774,  775,        767,  629,  760,  768,  769,  770,  771,  773,  774,  775,
       776,  777,  778,  779,  780,  781,  782,  783,  784,  785,        776,  777,  778,  779,  780,  781,  782,  783,  784,  785,
       786,  787,  788,  789,  791,  793,  794,  795,  797,  798,        786,  787,  788,  789,  790,  791,  792,  793,  794,  796,
   
       800,  802,  803,  804,  805,  664,  806,  807,  808,  810,        798,  799,  800,  802,  803,  805,  807,  808,  809,  810,
       811,  812,  813,  814,  815,  816,  817,  818,  819,  820,        668,  811,  812,  813,  815,  816,  817,  818,  819,  820,
       821,  822,  823,  824,  825,  826,  827,  828,  829,  689,        821,  822,  823,  824,  825,  826,  827,  828,  829,  830,
       830,  692,  831,  832,  833,  697,  699,  834,  835,  836,        831,  832,  833,  834,  693,  835,  696,  836,  837,  838,
       837,  838,  839,  840,  841,  842,  843,  844,  845,  846,        701,  703,  839,  840,  841,  842,  843,  844,  845,  846,
       848,  849,  850,  851,  852,  853,  854,  855,  856,  857,        847,  848,  849,  850,  851,  853,  854,  855,  856,  857,
       858,  859,  860,  862,  864,  865,  866,  867,  732,  868,        858,  859,  860,  861,  862,  863,  864,  865,  881,  883,
       735,  861,  869,  870,  871,  872,  741,  873,  874,  745,        884,  885,  886,  737,  887,  740,  866,  867,  868,  869,
       875,  876,  878,  880,  882,  752,  883,  884,  885,  886,        870,  871,  872,  873,  874,  875,  888,  889,  890,  876,
       888,  889,  760,  761,  762,  890,  891,  893,  894,  768,        891,  746,  877,  892,  893,  878,  879,  750,  894,  880,
   
       895,  896,  897,  898,  899,  900,  901,  903,  904,  905,        895,  897,  899,  901,  757,  902,  903,  904,  905,  907,
       906,  907,  908,  909,  910,  911,  912,  917,  918,  919,        908,  765,  766,  767,  909,  910,  912,  913,  773,  914,
       920,  921,  913,  791,  793,  922,  923,  797,  925,  800,        915,  916,  917,  918,  919,  920,  922,  923,  924,  925,
       802,  926,  914,  915,  927,  928,  929,  916,  931,  932,        926,  927,  928,  929,  930,  931,  936,  937,  938,  939,
       810,  933,  934,  935,  936,  937,  938,  940,  941,  942,        940,  932,  796,  798,  941,  942,  802,  944,  805,  807,
       943,  944,  945,  946,  947,  948,  949,  950,  951,  953,        945,  933,  934,  946,  947,  948,  935,  950,  951,  815,
       954,  955,  956,  957,  959,  960,  962,  964,  966,  967,        952,  953,  954,  955,  956,  957,  959,  960,  961,  962,
       968,  970,  972,  973,  974,  975,  976,  848,  978,  979,        963,  964,  965,  966,  967,  968,  969,  970,  972,  973,
       980,  981,  982,  983,  984,  986,  987,  988,  989,  990,        974,  975,  976,  978,  979,  981,  983,  985,  986,  987,
       992,  993,  864,  994,  995,  991,  997,  998,  999, 1000,        989,  991,  992,  993,  994,  995,  853,  997,  998,  999,
   
      1001, 1002, 1004, 1005, 1006, 1007,  878,  880,  882, 1008,       1000, 1001, 1002, 1003, 1005, 1006, 1007, 1008, 1009, 1011,
      1009, 1011, 1013,  888, 1014, 1015, 1016,  893, 1017, 1018,       1012, 1013, 1014, 1019, 1010, 1017, 1020, 1022, 1024, 1015,
      1019, 1020, 1021, 1022, 1023, 1024,  903, 1025, 1026, 1027,       1021, 1025, 1026, 1027, 1023, 1030, 1016, 1031, 1018, 1032,
      1028, 1029, 1031, 1032, 1033, 1034, 1035, 1036, 1038, 1043,       1028, 1033,  883, 1034, 1035, 1037, 1038, 1029, 1039, 1040,
      1040, 1045, 1047, 1037, 1041, 1048, 1039, 1049, 1050, 1052,       1041, 1042, 1044, 1045, 1046, 1047,  897,  899,  901, 1048,
       925, 1054, 1055, 1056, 1057,  931, 1058, 1059, 1061, 1062,       1049, 1051, 1053,  907, 1054, 1055, 1056,  912, 1057, 1058,
      1063, 1065, 1066,  940, 1068, 1070, 1071, 1072, 1073, 1074,       1059, 1060, 1061, 1062, 1063, 1064,  922, 1065, 1066, 1067,
      1075, 1076, 1078, 1079, 1080,  953, 1082, 1083, 1085, 1087,       1068, 1069, 1071, 1072, 1073, 1074, 1075, 1076, 1078, 1083,
       959, 1088,  962,  964,  966, 1089, 1091,  970,  972, 1092,       1080, 1085, 1087, 1077, 1081, 1088, 1079, 1089, 1090, 1092,
      1093, 1095, 1096,  978, 1097, 1098, 1099, 1100, 1101, 1102,        944, 1094, 1095, 1096, 1097,  950, 1098, 1099, 1101, 1102,
   
       986, 1103, 1104, 1105, 1106, 1107, 1108, 1110, 1111, 1112,       1103, 1105, 1106,  959, 1108, 1110, 1111, 1112, 1113, 1114,
       997, 1113, 1114, 1115, 1116, 1117, 1004, 1118, 1120, 1121,       1115, 1116, 1118, 1119, 1120,  972, 1122, 1123, 1125, 1127,
      1122, 1124, 1011, 1013, 1125, 1126, 1128, 1129, 1130, 1131,        978, 1128,  981,  983,  985, 1129, 1131,  989,  991, 1132,
      1132, 1133, 1134, 1136, 1137, 1138, 1139, 1140, 1142, 1143,       1133, 1135, 1136,  997, 1137, 1138, 1139, 1140, 1141, 1142,
      1031, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152,       1005, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151,
      1153, 1043, 1045, 1047, 1155, 1157, 1159, 1052, 1054, 1161,       1152, 1153, 1156, 1154, 1158, 1159, 1160, 1161, 1162, 1163,
      1162, 1163, 1168, 1169, 1061, 1171, 1172, 1164, 1065, 1173,       1155, 1164, 1165, 1166, 1167, 1168, 1169, 1157, 1170, 1171,
      1068, 1070, 1175, 1176, 1177, 1179, 1180, 1165, 1166, 1181,       1172, 1174, 1175, 1176, 1037, 1177, 1178, 1179, 1180, 1181,
      1078, 1182, 1167, 1184, 1082, 1185, 1085, 1087, 1186, 1187,       1044, 1182, 1184, 1185, 1186, 1188, 1051, 1053, 1189, 1190,
      1091, 1188, 1189, 1095, 1190, 1191, 1192, 1194, 1195, 1196,       1192, 1193, 1194, 1195, 1196, 1197, 1198, 1200, 1201, 1202,
   
      1197, 1199, 1200, 1201, 1202, 1203, 1204, 1110, 1205, 1206,       1203, 1204, 1206, 1207, 1071, 1208, 1209, 1210, 1211, 1212,
      1208, 1209, 1211, 1212, 1213, 1215, 1120, 1216, 1217, 1124,       1213, 1214, 1215, 1216, 1217, 1083, 1085, 1087, 1219, 1221,
      1218, 1220, 1128, 1222, 1223, 1225, 1227, 1228, 1230, 1136,       1223, 1092, 1094, 1225, 1226, 1227, 1232, 1233, 1101, 1235,
      1231, 1232, 1234, 1235, 1142, 1236, 1237, 1238, 1239, 1240,       1236, 1228, 1105, 1237, 1108, 1110, 1239, 1240, 1241, 1243,
      1241, 1242, 1243, 1244, 1245, 1246, 1155, 1157, 1159, 1161,       1244, 1229, 1230, 1245, 1118, 1246, 1231, 1248, 1122, 1249,
      1247, 1248, 1249, 1250, 1251, 1252, 1255, 1257, 1171, 1253,       1125, 1127, 1250, 1251, 1131, 1252, 1253, 1135, 1254, 1255,
      1258, 1259, 1175, 1260, 1262, 1179, 1263, 1264, 1266, 1184,       1256, 1258, 1259, 1260, 1261, 1263, 1264, 1265, 1266, 1267,
      1267, 1269, 1270, 1272, 1273, 1274, 1275, 1277, 1194, 1278,       1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277,
      1279, 1280, 1199, 1281, 1283, 1284, 1285, 1287, 1288, 1289,       1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287,
      1208, 1291, 1211, 1292, 1294, 1215, 1295, 1297, 1299, 1220,       1288, 1289, 1290, 1291, 1292, 1174, 1293, 1294, 1296, 1297,
   
      1222, 1282, 1300, 1225, 1227, 1301, 1230, 1302, 1303, 1234,       1299, 1300, 1301, 1303, 1184, 1304, 1305, 1188, 1306, 1308,
      1304, 1305, 1306, 1307, 1309, 1310, 1311, 1313, 1314, 1315,       1192, 1310, 1311, 1313, 1315, 1316, 1318, 1200, 1319, 1320,
      1316, 1317, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1255,       1322, 1323, 1206, 1324, 1325, 1326, 1327, 1328, 1329, 1330,
      1257, 1327, 1329, 1331, 1262, 1332, 1333, 1266, 1334, 1269,       1331, 1332, 1333, 1334, 1219, 1221, 1223, 1225, 1335, 1336,
      1335, 1272, 1336, 1338, 1340, 1277, 1341, 1343, 1344, 1346,       1337, 1338, 1339, 1340, 1343, 1345, 1235, 1341, 1346, 1347,
      1347, 1349, 1350, 1351, 1287, 1352, 1353, 1291, 1355, 1294,       1239, 1348, 1350, 1243, 1351, 1352, 1354, 1248, 1355, 1357,
      1356, 1297, 1299, 1357, 1359, 1360, 1361, 1362, 1363, 1364,       1358, 1360, 1361, 1362, 1363, 1365, 1258, 1366, 1367, 1368,
      1365, 1309, 1367, 1369, 1313, 1370, 1371, 1373, 1374, 1319,       1263, 1369, 1371, 1372, 1373, 1375, 1376, 1377, 1378, 1379,
      1375, 1376, 1377, 1378, 1379, 1380, 1327, 1329, 1331, 1382,       1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1370,
      1383, 1384, 1385, 1386, 1338, 1340, 1388, 1343, 1389, 1346,       1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398,
   
      1390, 1349, 1391, 1392, 1394, 1395, 1355, 1397, 1398, 1359,       1399, 1400, 1401, 1296, 1403, 1299, 1404, 1406, 1303, 1407,
      1399, 1400, 1402, 1404, 1405, 1406, 1367, 1369, 1407, 1409,       1409, 1411, 1308, 1310, 1412, 1313, 1315, 1413, 1318, 1414,
      1373, 1410, 1412, 1413, 1415, 1416, 1417, 1418, 1382, 1420,       1415, 1322, 1416, 1417, 1418, 1419, 1421, 1422, 1423, 1425,
      1421, 1423, 1424, 1388, 1426, 1427, 1428, 1430, 1394, 1432,       1426, 1427, 1428, 1429, 1431, 1432, 1433, 1434, 1435, 1436,
      1397, 1433, 1435, 1437, 1402, 1404, 1438, 1440, 1442, 1409,       1437, 1343, 1345, 1439, 1441, 1443, 1350, 1444, 1445, 1354,
      1444, 1412, 1446, 1415, 1447, 1449, 1450, 1420, 1452, 1423,       1446, 1357, 1447, 1360, 1448, 1450, 1452, 1365, 1453, 1455,
      1454, 1426, 1455, 1456, 1430, 1432, 1458, 1435, 1437, 1460,       1456, 1458, 1459, 1461, 1462, 1463, 1375, 1465, 1466, 1467,
      1440, 1442, 1444, 1446, 1462, 1449, 1463, 1452, 1454, 1465,       1468, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1478, 1480,
      1467, 1458, 1460, 1462, 1469, 1465, 1467, 1469,    6,    6,       1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1490, 1491,
        33,   33,   36,   37,   37,  115,  213,  216,  219,  258,       1492, 1493, 1494, 1403, 1496, 1406, 1497, 1409, 1411, 1498,
   
       317,  338,  367,  370,  376,  379,  383,  398,  446,  465,       1500, 1501, 1502, 1503, 1504, 1505, 1506, 1421, 1508, 1510,
       481,  483,  492,  519,  524,  554,  564,  577,  589,  610,       1425, 1511, 1512, 1514, 1515, 1431, 1516, 1517, 1518, 1519,
       624,  663,  688,  691,  696,  698,  731,  734,  740,  744,       1520, 1521, 1439, 1441, 1443, 1523, 1524, 1525, 1526, 1527,
       751,  759,  767,  790,  792,  796,  799,  801,  809,  847,       1450, 1452, 1529, 1455, 1530, 1458, 1531, 1461, 1532, 1533,
       863,  877,  879,  881,  887,  892,  902,  924,  930,  939,       1465, 1535, 1536, 1538, 1470, 1539, 1540, 1542, 1543, 1545,
       952,  958,  961,  963,  965,  969,  971,  977,  985,  996,       1546, 1478, 1480, 1547, 1548, 1549, 1550, 1552, 1553, 1554,
      1003, 1010, 1012, 1030, 1042, 1044, 1046, 1051, 1053, 1060,       1555, 1490, 1556, 1557, 1559, 1560, 1496, 1562, 1563, 1500,
      1060, 1064, 1067, 1069, 1077, 1081, 1084, 1086, 1090, 1094,       1564, 1565, 1567, 1569, 1570, 1571, 1508, 1510, 1572, 1574,
      1109, 1119, 1123, 1127, 1135, 1141, 1154, 1156, 1158, 1160,       1514, 1575, 1577, 1578, 1580, 1581, 1582, 1583, 1523, 1585,
      1170, 1174, 1178, 1183, 1193, 1198, 1207, 1210, 1214, 1219,       1586, 1588, 1589, 1529, 1591, 1592, 1593, 1595, 1535, 1596,
   
      1221, 1224, 1226, 1229, 1233, 1254, 1256, 1261, 1265, 1268,       1538, 1597, 1598, 1542, 1599, 1545, 1600, 1601, 1602, 1603,
      1271, 1276, 1286, 1290, 1293, 1296, 1298, 1308, 1312, 1318,       1604, 1552, 1605, 1606, 1608, 1609, 1610, 1559, 1612, 1562,
      1326, 1328, 1330, 1337, 1339, 1342, 1345, 1348, 1354, 1358,       1613, 1615, 1617, 1567, 1569, 1618, 1620, 1622, 1574, 1624,
      1366, 1368, 1372, 1381, 1387, 1393, 1396, 1401, 1403, 1408,       1577, 1626, 1580, 1627, 1629, 1630, 1585, 1632, 1588, 1634,
      1411, 1414, 1419, 1422, 1425, 1429, 1431, 1434, 1436, 1439,       1591, 1635, 1636, 1595, 1637, 1638, 1639, 1641, 1642, 1643,
      1441, 1443, 1445, 1448, 1451, 1453, 1457, 1459, 1461, 1464,       1644, 1645, 1646, 1647, 1648, 1608, 1649, 1650, 1612, 1652,
      1466, 1468,  746,  745,  743,  742,  741,  739,  738,  737,       1615, 1617, 1654, 1620, 1622, 1624, 1626, 1656, 1629, 1657,
       736,  735,  733,  732,  730,  729,  728,  727,  726,  725,       1632, 1634, 1659, 1661, 1662, 1663, 1664, 1641, 1665, 1667,
       590,  722,  721,  720,  719,  718,  717,  716,  715,  714,       1669, 1671, 1673, 1675, 1677, 1678, 1679, 1652, 1654, 1656,
       713,  578,  712,  711,  710,  709,  708,  707,  706,  705,       1681, 1659, 1661, 1682, 1684, 1685, 1686, 1667, 1669, 1671,
   
       704,  703,  702,  565,  701,  700,  699,  697,  695,  694,       1673, 1675, 1677, 1687, 1688, 1681, 1689, 1684, 1690, 1691,
       693,  692,  555,  690,  689,  687,  686,  685,  684,  681,       1692, 1693, 1694, 1695, 1697, 1699, 1701, 1703, 1705, 1697,
       680,  679,  678,  677,  676,  675,  674,  673,  672,  671,       1699, 1701, 1703, 1705,    6,    6,   33,   33,   36,   37,
       670,  669,  668,  667,  666,  665,  664,  662,  661,  660,         37,  115,  214,  217,  220,  259,  319,  340,  369,  372,
       525,  659,  658,  657,  520,  656,  655,  654,  653,  652,        378,  381,  385,  400,  448,  468,  484,  486,  495,  522,
       651,  650,  649,  648,  647,  646,  645,  644,  641,  640,        527,  557,  567,  580,  592,  614,  628,  667,  692,  695,
       639,  638,  637,  636,  635,  634,  633,  630,  493,  629,        700,  702,  736,  739,  745,  749,  756,  764,  772,  795,
       628,  627,  626,  625,  623,  622,  484,  482,  621,  620,        797,  801,  804,  806,  814,  852,  882,  896,  898,  900,
       619,  618,  617,  616,  615,  614,  613,  612,  611,  609,        906,  911,  921,  943,  949,  958,  971,  977,  980,  982,
       608,  607,  466,  606,  605,  604,  603,  602,  599,  598,        984,  988,  990,  996, 1004, 1036, 1043, 1050, 1052, 1070,
   
       597,  596,  595,  594,  593,  592,  591,  590,  588,  447,       1082, 1084, 1086, 1091, 1093, 1100, 1100, 1104, 1107, 1109,
       587,  583,  582,  581,  580,  579,  578,  574,  573,  572,       1117, 1121, 1124, 1126, 1130, 1134, 1173, 1183, 1187, 1191,
       571,  570,  569,  568,  565,  563,  562,  561,  560,  559,       1199, 1205, 1218, 1220, 1222, 1224, 1234, 1238, 1242, 1247,
       558,  557,  556,  555,  553,  552,  547,  546,  545,  544,       1257, 1262, 1295, 1298, 1302, 1307, 1309, 1312, 1314, 1317,
       543,  542,  541,  540,  539,  538,  537,  536,  535,  534,       1321, 1342, 1344, 1349, 1353, 1356, 1359, 1364, 1374, 1402,
       399,  533,  532,  531,  530,  529,  528,  527,  526,  525,       1405, 1408, 1410, 1420, 1424, 1430, 1438, 1440, 1442, 1449,
       523,  520,  518,  384,  517,  516,  380,  515,  377,  514,       1451, 1454, 1457, 1460, 1464, 1469, 1477, 1479, 1489, 1495,
       513,  512,  511,  371,  510,  368,  509,  508,  507,  506,       1499, 1507, 1509, 1513, 1522, 1528, 1534, 1537, 1541, 1544,
       505,  504,  503,  502,  499,  498,  497,  496,  495,  494,       1551, 1558, 1561, 1566, 1568, 1573, 1576, 1579, 1584, 1587,
       493,  491,  490,  489,  488,  487,  486,  485,  484,  482,       1590, 1594, 1607, 1611, 1614, 1616, 1619, 1621, 1623, 1625,
   
       480,  479,  339,  478,  477,  476,  475,  474,  473,  472,       1628, 1631, 1633, 1640, 1651, 1653, 1655, 1658, 1660, 1666,
       471,  470,  469,  468,  467,  466,  464,  463,  462,  461,       1668, 1670, 1672, 1674, 1676, 1680, 1683, 1696, 1698, 1700,
       460,  459,  318,  458,  457,  456,  453,  452,  451,  450,       1702, 1704,  747,  746,  744,  743,  742,  741,  740,  738,
       449,  448,  447,  445,  444,  443,  442,  441,  440,  439,        737,  735,  734,  733,  732,  731,  730,  729,  593,  726,
       438,  432,  431,  430,  429,  428,  427,  424,  423,  422,        725,  724,  723,  722,  721,  720,  719,  718,  717,  581,
       421,  420,  419,  418,  417,  416,  415,  414,  413,  412,        716,  715,  714,  713,  712,  711,  710,  709,  708,  707,
       411,  408,  407,  406,  405,  404,  403,  402,  401,  400,        706,  568,  705,  704,  703,  701,  699,  698,  697,  696,
       399,  397,  396,  259,  395,  394,  393,  392,  391,  390,        558,  694,  693,  691,  690,  689,  688,  685,  684,  683,
       389,  388,  387,  386,  385,  384,  382,  381,  380,  378,        682,  681,  680,  679,  678,  677,  676,  675,  674,  673,
       377,  375,  374,  373,  372,  371,  369,  368,  366,  356,        672,  671,  670,  669,  668,  666,  665,  664,  528,  663,
   
       355,  354,  353,  352,  351,  346,  220,  345,  217,  344,        662,  661,  523,  660,  659,  658,  657,  656,  655,  654,
       214,  343,  342,  341,  340,  339,  337,  336,  335,  334,        653,  652,  651,  650,  649,  648,  645,  644,  643,  642,
       333,  332,  331,  330,  329,  328,  327,  326,  325,  324,        641,  640,  639,  638,  637,  634,  496,  633,  632,  631,
       320,  319,  318,  316,  315,  314,  313,  312,  311,  310,        630,  629,  627,  626,  487,  485,  625,  624,  623,  622,
       309,  308,  307,  306,  305,  304,  303,  302,  301,  300,        621,  620,  619,  618,  617,  616,  615,  613,  612,  611,
       299,  298,  292,  291,  288,  287,  286,  282,  281,  280,        469,  610,  609,  608,  607,  606,  603,  602,  601,  600,
       279,  278,  277,  276,  275,  262,  261,  260,  259,  257,        599,  598,  597,  596,  595,  594,  593,  591,  449,  590,
       256,  255,  254,  253,  252,  251,  248,  243,  242,  241,        586,  585,  584,  583,  582,  581,  577,  576,  575,  574,
       238,  231,  230,  229,  228,  227,  226,  225,  224,  223,        573,  572,  571,  568,  566,  565,  564,  563,  562,  561,
       222,  221,  220,  218,  217,  215,  214,  209,  208,  205,        560,  559,  558,  556,  555,  550,  549,  548,  547,  546,
   
       204,  199,  198,  197,  196,  186,  185,  184,  183,  180,        545,  544,  543,  542,  541,  540,  539,  538,  537,  401,
         536,  535,  534,  533,  532,  531,  530,  529,  528,  526,
         523,  521,  386,  520,  519,  382,  518,  379,  517,  516,
         515,  514,  373,  513,  370,  512,  511,  510,  509,  508,
         507,  506,  505,  502,  501,  500,  499,  498,  497,  496,
         494,  493,  492,  491,  490,  489,  488,  487,  485,  483,
         482,  341,  481,  480,  479,  478,  477,  476,  475,  474,
         473,  472,  471,  470,  469,  467,  466,  465,  464,  463,
         462,  320,  461,  460,  459,  456,  455,  454,  453,  452,
         451,  450,  449,  447,  446,  445,  444,  443,  442,  441,
   
         440,  434,  433,  432,  431,  430,  429,  426,  425,  424,
         423,  422,  421,  420,  419,  418,  417,  416,  415,  414,
         413,  410,  409,  408,  407,  406,  405,  404,  403,  402,
         401,  399,  398,  260,  397,  396,  395,  394,  393,  392,
         391,  390,  389,  388,  387,  386,  384,  383,  382,  380,
         379,  377,  376,  375,  374,  373,  371,  370,  368,  358,
         357,  356,  355,  354,  353,  348,  221,  347,  218,  346,
         215,  345,  344,  343,  342,  341,  339,  338,  337,  336,
         335,  334,  333,  332,  331,  330,  329,  328,  327,  326,
         322,  321,  320,  318,  317,  316,  315,  314,  313,  312,
   
         311,  310,  309,  308,  307,  306,  305,  304,  303,  302,
         301,  300,  299,  293,  292,  289,  288,  287,  283,  282,
         281,  280,  279,  278,  277,  276,  263,  262,  261,  260,
         258,  257,  256,  255,  254,  253,  252,  249,  244,  243,
         242,  239,  232,  231,  230,  229,  228,  227,  226,  225,
         224,  223,  222,  221,  219,  218,  216,  215,  210,  209,
         206,  205,  200,  199,  198,  197,  187,  186,  185,  180,
       179,  178,  175,  172,  171,  170,  169,  168,  167,  159,        179,  178,  175,  172,  171,  170,  169,  168,  167,  159,
       158,  157,  156,  155,  154,  151,  150,  149,  148,  147,        158,  157,  156,  155,  154,  151,  150,  149,  148,  147,
       146,  145,  144,  143,  142,  141,  140,  139,  138,  137,        146,  145,  144,  143,  142,  141,  140,  139,  138,  137,
   
       136,  135,  134,  133,  132,  131,  128,  127,  126,  125,        136,  135,  134,  133,  132,  131,  128,  127,  126,  125,
       122,  121,  120,  119,   38,  118,  114,  105,   74,   38,        122,  121,  120,  119,   38,  118,  114,  105,   74,   38,
      1470,    5, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1706,    5, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
      1470, 1470, 1470, 1470, 1470       1706, 1706, 1706, 1706, 1706
   
     } ;      } ;
   
 static yyconst short int yy_chk[1696] =  static yyconst short int yy_chk[1956] =
     {   0,      {   0,
         0,    9,    1,    1,    9,    1,    2,    2,    2,    2,          0,    9,    1,    1,    9,    1,    2,    2,    2,    2,
         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,          2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
Line 1068
 
Line 1181
        50,   72,   24,   72,   50,   24,   25,   26,   27,   26,         50,   72,   24,   72,   50,   24,   25,   26,   27,   26,
        79,   30,   27,   30,   79,   30,   26,  131,   80,   30,         79,   30,   27,   30,   79,   30,   26,  131,   80,   30,
        26,   27,   80,   79,   26,   93,   80,   79,   27,   89,         26,   27,   80,   79,   26,   93,   80,   79,   27,   89,
        89,   98,   99,  100,  459,   98,   93,  100,  105,  459,         89,   94,   99,   98,  100,  613,   93,   98,  100,  108,
       108,  105,   99,  132,  111,   98,  105,  108,  134,   99,        105,  134,   99,  105,   94,  111,  108,   98,  105,   99,
       100,  111,  116,  105,  132,  116,  138,  138,  111,  139,        116,  100,  111,  116,  132,  105,  138,  138,  139,  111,
       141,  153,  132,  163,  163,  613,  153,  134,  132,  141,        134,  141,  153,  163,  163,  132,  315,  153,  167,  167,
       153,  167,  167,  222,  222,  163,  223,  139,  154,  154,        141,  153,  615,  132,  315,  163,  139,  223,  223,  132,
       154,  154,  193,  154,  614,  154,  193,  615,  193,  244,        154,  154,  154,  154,  194,  154,  389,  154,  194,  298,
   
       244,  272,  223,  287,  287,  289,  289,  154,  154,  297,        194,  224,  245,  245,  389,  273,  288,  288,  298,  154,
       154,  170,  358,  170,  272,  616,  296,  313,  297,  617,        154,  550,  154,  170,  360,  170,  297,  224,  273,  290,
       170,  425,  425,  170,  296,  313,  170,  230,  387,  230,        290,  550,  170,  439,  297,  170,  427,  427,  170,  231,
       230,  429,  358,  296,  495,  230,  387,  230,  414,  429,        498,  231,  231,  297,  360,  431,  439,  231,  416,  231,
       414,  414,  230,  437,  230,  230,  444,  230,  547,  444,        416,  416,  446,  431,  231,  446,  231,  231,  462,  231,
       505,  505,  414,  591,  495,  619,  437,  618,  547,  620,        498,  594,  416,  462,  508,  508,  616,  617,  618,  446,
       621,  622,  591,  444,  625,  618,  623,  623,  626,  627,        594,  619,  620,  621,  622,  623,  624,  625,  626,  627,
       628,  629,  630,  631,  632,  633,  634,  635,  636,  637,        627,  629,  622,  630,  631,  632,  633,  634,  635,  636,
       638,  639,  640,  641,  642,  643,  644,  645,  646,  647,        637,  638,  639,  640,  641,  642,  643,  644,  645,  646,
       648,  649,  650,  651,  652,  653,  654,  655,  656,  657,        647,  648,  649,  650,  651,  652,  653,  654,  655,  656,
   
       658,  659,  660,  661,  662,  664,  665,  666,  667,  668,        657,  658,  659,  660,  661,  662,  663,  664,  665,  666,
       669,  670,  671,  672,  673,  674,  675,  676,  677,  678,        668,  669,  670,  671,  672,  673,  674,  675,  676,  677,
       679,  680,  681,  682,  683,  684,  685,  686,  687,  689,        678,  679,  680,  681,  682,  683,  684,  685,  686,  687,
       690,  692,  693,  694,  695,  697,  699,  700,  701,  702,        688,  689,  690,  691,  693,  694,  696,  697,  698,  699,
       703,  704,  705,  706,  707,  708,  709,  710,  711,  712,        701,  703,  704,  705,  706,  707,  708,  709,  710,  711,
       713,  714,  715,  716,  717,  718,  719,  720,  721,  722,        712,  713,  714,  715,  716,  717,  718,  719,  720,  721,
       723,  724,  725,  726,  727,  728,  729,  730,  732,  733,        722,  723,  724,  725,  726,  727,  728,  729,  731,  732,
       735,  725,  736,  737,  738,  739,  741,  742,  743,  745,        733,  734,  735,  737,  738,  740,  729,  730,  730,  730,
       746,  747,  748,  749,  750,  752,  753,  754,  755,  756,        730,  730,  730,  730,  730,  730,  741,  742,  743,  730,
       757,  758,  760,  761,  761,  763,  764,  765,  766,  768,        744,  746,  730,  747,  748,  730,  730,  750,  751,  730,
   
       769,  770,  771,  772,  773,  774,  775,  776,  777,  778,        752,  753,  754,  755,  757,  758,  759,  760,  761,  762,
       779,  780,  781,  782,  783,  784,  784,  785,  786,  787,        763,  765,  766,  766,  768,  769,  770,  771,  773,  774,
       788,  789,  784,  791,  793,  794,  795,  797,  798,  800,        775,  776,  777,  778,  779,  780,  781,  782,  783,  784,
       802,  803,  784,  784,  804,  805,  806,  784,  807,  808,        785,  786,  787,  788,  789,  789,  790,  791,  792,  793,
       810,  811,  812,  813,  814,  815,  816,  817,  818,  819,        794,  789,  796,  798,  799,  800,  802,  803,  805,  807,
       820,  821,  822,  823,  824,  825,  826,  827,  828,  829,        808,  789,  789,  809,  810,  811,  789,  812,  813,  815,
       830,  831,  832,  833,  834,  835,  836,  837,  838,  839,        816,  817,  818,  819,  820,  821,  822,  823,  824,  825,
       840,  841,  842,  843,  844,  845,  846,  848,  849,  850,        826,  827,  828,  829,  830,  831,  832,  833,  834,  835,
       851,  852,  853,  854,  855,  856,  857,  858,  859,  860,        836,  837,  838,  839,  840,  841,  842,  843,  844,  845,
       861,  862,  864,  865,  866,  860,  867,  868,  869,  870,        846,  847,  848,  849,  850,  851,  853,  854,  855,  856,
   
       871,  872,  873,  874,  875,  876,  878,  880,  882,  883,        857,  858,  859,  860,  861,  862,  863,  864,  865,  866,
       884,  885,  886,  888,  889,  890,  891,  893,  894,  895,        867,  868,  869,  871,  865,  870,  872,  873,  874,  869,
       896,  897,  898,  899,  900,  901,  903,  904,  905,  906,        872,  875,  876,  877,  873,  878,  869,  879,  870,  880,
       907,  908,  909,  910,  911,  912,  913,  914,  915,  917,        877,  881,  883,  884,  885,  886,  887,  877,  888,  889,
       916,  918,  919,  914,  916,  920,  915,  921,  922,  923,        890,  891,  892,  893,  894,  895,  897,  899,  901,  902,
       925,  926,  927,  928,  929,  931,  932,  933,  934,  935,        903,  904,  905,  907,  908,  909,  910,  912,  913,  914,
       936,  937,  938,  940,  941,  942,  943,  944,  945,  946,        915,  916,  917,  918,  919,  920,  922,  923,  924,  925,
       947,  948,  949,  950,  951,  953,  954,  955,  956,  957,        926,  927,  928,  929,  930,  931,  932,  933,  934,  936,
       959,  960,  962,  964,  966,  967,  968,  970,  972,  973,        935,  937,  938,  933,  935,  939,  934,  940,  941,  942,
       974,  975,  976,  978,  979,  980,  981,  982,  983,  984,        944,  945,  946,  947,  948,  950,  951,  952,  953,  954,
   
       986,  987,  988,  989,  990,  991,  992,  993,  994,  995,        955,  956,  957,  959,  960,  961,  962,  963,  964,  965,
       997,  998,  999, 1000, 1001, 1002, 1004, 1005, 1006, 1007,        966,  967,  968,  969,  970,  972,  973,  974,  975,  976,
      1008, 1009, 1011, 1013, 1014, 1015, 1016, 1017, 1018, 1019,        978,  979,  981,  983,  985,  986,  987,  989,  991,  992,
      1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029,        993,  994,  995,  997,  998,  999, 1000, 1001, 1002, 1003,
      1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040,       1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014,
      1041, 1043, 1045, 1047, 1048, 1049, 1050, 1052, 1054, 1055,       1015, 1016, 1017, 1016, 1018, 1019, 1020, 1021, 1022, 1023,
      1056, 1057, 1058, 1059, 1060, 1062, 1063, 1057, 1065, 1066,       1016, 1024, 1025, 1026, 1027, 1028, 1029, 1017, 1030, 1031,
      1068, 1070, 1071, 1072, 1073, 1074, 1075, 1057, 1057, 1076,       1032, 1033, 1034, 1035, 1037, 1038, 1039, 1040, 1041, 1042,
      1078, 1079, 1057, 1080, 1082, 1083, 1085, 1087, 1088, 1089,       1044, 1045, 1046, 1047, 1048, 1049, 1051, 1053, 1054, 1055,
      1091, 1092, 1093, 1095, 1096, 1097, 1098, 1099, 1100, 1101,       1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065,
   
      1102, 1103, 1104, 1105, 1106, 1107, 1108, 1110, 1111, 1112,       1066, 1067, 1068, 1069, 1071, 1072, 1073, 1074, 1075, 1076,
      1113, 1114, 1115, 1116, 1117, 1118, 1120, 1121, 1122, 1124,       1077, 1078, 1079, 1080, 1081, 1083, 1085, 1087, 1088, 1089,
      1125, 1126, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1136,       1090, 1092, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1102,
      1137, 1138, 1139, 1140, 1142, 1143, 1144, 1145, 1146, 1147,       1103, 1097, 1105, 1106, 1108, 1110, 1111, 1112, 1113, 1114,
      1148, 1149, 1150, 1151, 1152, 1153, 1155, 1157, 1159, 1161,       1115, 1097, 1097, 1116, 1118, 1119, 1097, 1120, 1122, 1123,
      1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1171, 1167,       1125, 1127, 1128, 1129, 1131, 1132, 1133, 1135, 1136, 1137,
      1172, 1173, 1175, 1176, 1177, 1179, 1180, 1181, 1182, 1184,       1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147,
      1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1194, 1195,       1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157,
      1196, 1197, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206,       1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167,
      1208, 1209, 1211, 1212, 1213, 1215, 1216, 1217, 1218, 1220,       1168, 1169, 1170, 1171, 1172, 1174, 1175, 1176, 1177, 1178,
   
      1222, 1200, 1223, 1225, 1227, 1228, 1230, 1231, 1232, 1234,       1179, 1180, 1181, 1182, 1184, 1185, 1186, 1188, 1189, 1190,
      1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244,       1192, 1193, 1194, 1195, 1196, 1197, 1198, 1200, 1201, 1202,
      1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1255,       1203, 1204, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213,
      1257, 1258, 1259, 1260, 1262, 1263, 1264, 1266, 1267, 1269,       1214, 1215, 1216, 1217, 1219, 1221, 1223, 1225, 1226, 1227,
      1270, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281,       1228, 1229, 1230, 1231, 1232, 1233, 1235, 1231, 1236, 1237,
      1282, 1283, 1284, 1285, 1287, 1288, 1289, 1291, 1292, 1294,       1239, 1240, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250,
      1295, 1297, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306,       1251, 1252, 1253, 1254, 1255, 1256, 1258, 1259, 1260, 1261,
      1307, 1309, 1310, 1311, 1313, 1314, 1315, 1316, 1317, 1319,       1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272,
      1320, 1321, 1322, 1323, 1324, 1325, 1327, 1329, 1331, 1332,       1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1264,
      1333, 1334, 1335, 1336, 1338, 1340, 1341, 1343, 1344, 1346,       1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291,
   
      1347, 1349, 1350, 1351, 1352, 1353, 1355, 1356, 1357, 1359,       1292, 1293, 1294, 1296, 1297, 1299, 1300, 1301, 1303, 1304,
      1360, 1361, 1362, 1363, 1364, 1365, 1367, 1369, 1370, 1371,       1305, 1306, 1308, 1310, 1311, 1313, 1315, 1316, 1318, 1319,
      1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1382, 1383,       1320, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330,
      1384, 1385, 1386, 1388, 1389, 1390, 1391, 1392, 1394, 1395,       1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340,
      1397, 1398, 1399, 1400, 1402, 1404, 1405, 1406, 1407, 1409,       1341, 1343, 1345, 1346, 1347, 1348, 1350, 1351, 1352, 1354,
      1410, 1412, 1413, 1415, 1416, 1417, 1418, 1420, 1421, 1423,       1355, 1357, 1358, 1360, 1361, 1362, 1363, 1365, 1366, 1367,
      1424, 1426, 1427, 1428, 1430, 1432, 1433, 1435, 1437, 1438,       1368, 1369, 1370, 1371, 1372, 1373, 1375, 1376, 1377, 1378,
      1440, 1442, 1444, 1446, 1447, 1449, 1450, 1452, 1454, 1455,       1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388,
      1456, 1458, 1460, 1462, 1463, 1465, 1467, 1469, 1471, 1471,       1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398,
      1472, 1472, 1473, 1474, 1474, 1475, 1476, 1477, 1478, 1479,       1399, 1400, 1401, 1403, 1404, 1406, 1407, 1409, 1411, 1412,
   
      1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489,       1413, 1414, 1415, 1416, 1417, 1418, 1419, 1421, 1422, 1423,
      1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499,       1425, 1426, 1427, 1428, 1429, 1431, 1432, 1433, 1434, 1435,
      1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509,       1436, 1437, 1439, 1441, 1443, 1444, 1445, 1446, 1447, 1448,
      1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519,       1450, 1452, 1453, 1455, 1456, 1458, 1459, 1461, 1462, 1463,
      1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529,       1465, 1466, 1467, 1468, 1470, 1471, 1472, 1473, 1474, 1475,
      1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539,       1476, 1478, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487,
      1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549,       1488, 1490, 1491, 1492, 1493, 1494, 1496, 1497, 1498, 1500,
      1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558,       1501, 1502, 1503, 1504, 1505, 1506, 1508, 1510, 1511, 1512,
      1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568,       1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1523, 1524,
      1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578,       1525, 1526, 1527, 1529, 1530, 1531, 1532, 1533, 1535, 1536,
   
      1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588,       1538, 1539, 1540, 1542, 1543, 1545, 1546, 1547, 1548, 1549,
      1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598,       1550, 1552, 1553, 1554, 1555, 1556, 1557, 1559, 1560, 1562,
      1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608,       1563, 1564, 1565, 1567, 1569, 1570, 1571, 1572, 1574, 1575,
      1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618,       1577, 1578, 1580, 1581, 1582, 1583, 1585, 1586, 1588, 1589,
      1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628,       1591, 1592, 1593, 1595, 1596, 1597, 1598, 1599, 1600, 1601,
      1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638,       1602, 1603, 1604, 1605, 1606, 1608, 1609, 1610, 1612, 1613,
      1639, 1640,  609,  608,  607,  606,  605,  604,  603,  602,       1615, 1617, 1618, 1620, 1622, 1624, 1626, 1627, 1629, 1630,
       601,  600,  599,  598,  597,  596,  595,  594,  593,  592,       1632, 1634, 1635, 1636, 1637, 1638, 1639, 1641, 1642, 1643,
       590,  588,  587,  586,  585,  584,  583,  582,  581,  580,       1644, 1645, 1646, 1647, 1648, 1649, 1650, 1652, 1654, 1656,
       579,  578,  576,  575,  574,  573,  572,  571,  570,  569,       1657, 1659, 1661, 1662, 1663, 1664, 1665, 1667, 1669, 1671,
   
       568,  567,  566,  565,  563,  562,  561,  560,  559,  558,       1673, 1675, 1677, 1678, 1679, 1681, 1682, 1684, 1685, 1686,
       557,  556,  555,  553,  552,  551,  550,  549,  548,  546,       1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1697,
       545,  544,  543,  542,  541,  540,  539,  538,  537,  536,       1699, 1701, 1703, 1705, 1707, 1707, 1708, 1708, 1709, 1710,
       535,  534,  533,  532,  531,  530,  529,  528,  527,  526,       1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719,
       525,  523,  522,  521,  520,  518,  517,  516,  515,  514,       1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729,
       513,  512,  511,  510,  509,  508,  507,  506,  504,  503,       1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739,
       502,  501,  500,  499,  498,  497,  496,  494,  493,  491,       1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749,
       490,  489,  488,  487,  486,  485,  484,  482,  480,  479,       1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759,
       478,  477,  476,  475,  474,  473,  472,  471,  470,  469,       1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769,
       468,  467,  466,  464,  463,  462,  461,  460,  458,  457,       1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779,
   
       456,  455,  454,  453,  452,  451,  450,  449,  448,  447,       1780, 1781, 1782, 1783, 1784, 1785, 1785, 1786, 1787, 1788,
       445,  443,  442,  441,  440,  439,  438,  436,  435,  434,       1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798,
       433,  432,  431,  430,  428,  427,  424,  423,  422,  421,       1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808,
       420,  419,  418,  417,  416,  415,  413,  412,  411,  410,       1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818,
       409,  408,  407,  406,  405,  404,  403,  402,  401,  400,       1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828,
       399,  397,  396,  395,  394,  393,  392,  391,  390,  389,       1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838,
       388,  386,  385,  384,  382,  381,  380,  378,  377,  375,       1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848,
       374,  373,  372,  371,  369,  368,  366,  365,  364,  363,       1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858,
       362,  361,  360,  359,  357,  356,  355,  354,  353,  352,       1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868,
       351,  350,  349,  348,  347,  346,  345,  344,  343,  342,       1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878,
   
       341,  340,  339,  337,  336,  335,  334,  333,  332,  331,       1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888,
       330,  329,  328,  327,  326,  325,  324,  323,  322,  321,       1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898,
       320,  319,  318,  316,  315,  314,  312,  311,  310,  309,       1899, 1900,  610,  609,  608,  607,  606,  605,  604,  603,
       308,  307,  306,  305,  304,  303,  302,  301,  300,  299,        602,  601,  600,  599,  598,  597,  596,  595,  593,  591,
       298,  295,  294,  293,  292,  291,  288,  286,  285,  284,        590,  589,  588,  587,  586,  585,  584,  583,  582,  581,
       283,  282,  281,  280,  279,  278,  277,  276,  275,  274,        579,  578,  577,  576,  575,  574,  573,  572,  571,  570,
       273,  271,  270,  269,  268,  267,  266,  265,  264,  263,        569,  568,  566,  565,  564,  563,  562,  561,  560,  559,
       262,  261,  260,  259,  257,  256,  255,  254,  253,  252,        558,  556,  555,  554,  553,  552,  551,  549,  548,  547,
       251,  250,  249,  248,  247,  246,  243,  242,  241,  240,        546,  545,  544,  543,  542,  541,  540,  539,  538,  537,
       239,  238,  237,  236,  235,  234,  233,  232,  231,  229,        536,  535,  534,  533,  532,  531,  530,  529,  528,  526,
   
       228,  227,  226,  225,  224,  221,  220,  218,  217,  215,        525,  524,  523,  521,  520,  519,  518,  517,  516,  515,
       214,  212,  211,  210,  209,  208,  207,  206,  205,  204,        514,  513,  512,  511,  510,  509,  507,  506,  505,  504,
       203,  202,  201,  200,  199,  198,  197,  196,  195,  194,        503,  502,  501,  500,  499,  497,  496,  494,  493,  492,
       192,  191,  190,  189,  188,  187,  186,  185,  184,  183,        491,  490,  489,  488,  487,  485,  483,  482,  481,  480,
       182,  181,  180,  179,  178,  177,  176,  175,  174,  173,        479,  478,  477,  476,  475,  474,  473,  472,  471,  470,
       172,  171,  169,  168,  166,  165,  164,  162,  161,  160,        469,  467,  466,  465,  464,  463,  461,  460,  459,  458,
       159,  158,  157,  156,  155,  152,  151,  150,  149,  148,        457,  456,  455,  454,  453,  452,  451,  450,  449,  447,
       147,  146,  145,  144,  143,  142,  140,  137,  136,  135,        445,  444,  443,  442,  441,  440,  438,  437,  436,  435,
       133,  130,  129,  128,  127,  126,  125,  124,  123,  122,        434,  433,  432,  430,  429,  426,  425,  424,  423,  422,
       121,  120,  119,  118,  114,  113,  112,  110,  109,  107,        421,  420,  419,  418,  417,  415,  414,  413,  412,  411,
   
         410,  409,  408,  407,  406,  405,  404,  403,  402,  401,
         399,  398,  397,  396,  395,  394,  393,  392,  391,  390,
         388,  387,  386,  384,  383,  382,  380,  379,  377,  376,
         375,  374,  373,  371,  370,  368,  367,  366,  365,  364,
         363,  362,  361,  359,  358,  357,  356,  355,  354,  353,
         352,  351,  350,  349,  348,  347,  346,  345,  344,  343,
         342,  341,  339,  338,  337,  336,  335,  334,  333,  332,
         331,  330,  329,  328,  327,  326,  325,  324,  323,  322,
         321,  320,  318,  317,  316,  314,  313,  312,  311,  310,
         309,  308,  307,  306,  305,  304,  303,  302,  301,  300,
   
       106,  104,  103,  102,  101,   97,   96,   95,   94,   92,        299,  296,  295,  294,  293,  292,  289,  287,  286,  285,
         284,  283,  282,  281,  280,  279,  278,  277,  276,  275,
         274,  272,  271,  270,  269,  268,  267,  266,  265,  264,
         263,  262,  261,  260,  258,  257,  256,  255,  254,  253,
         252,  251,  250,  249,  248,  247,  244,  243,  242,  241,
         240,  239,  238,  237,  236,  235,  234,  233,  232,  230,
         229,  228,  227,  226,  225,  222,  221,  219,  218,  216,
         215,  213,  212,  211,  210,  209,  208,  207,  206,  205,
         204,  203,  202,  201,  200,  199,  198,  197,  196,  195,
         193,  192,  191,  190,  189,  188,  187,  186,  185,  184,
   
         183,  182,  181,  180,  179,  178,  177,  176,  175,  174,
         173,  172,  171,  169,  168,  166,  165,  164,  162,  161,
         160,  159,  158,  157,  156,  155,  152,  151,  150,  149,
         148,  147,  146,  145,  144,  143,  142,  140,  137,  136,
         135,  133,  130,  129,  128,  127,  126,  125,  124,  123,
         122,  121,  120,  119,  118,  114,  113,  112,  110,  109,
         107,  106,  104,  103,  102,  101,   97,   96,   95,   92,
        91,   90,   88,   86,   85,   84,   83,   82,   81,   78,         91,   90,   88,   86,   85,   84,   83,   82,   81,   78,
        77,   76,   75,   74,   73,   71,   70,   69,   68,   67,         77,   76,   75,   74,   73,   71,   70,   69,   68,   67,
        66,   65,   64,   63,   62,   61,   60,   59,   58,   57,         66,   65,   64,   63,   62,   61,   60,   59,   58,   57,
   
        56,   55,   54,   53,   52,   51,   49,   48,   47,   46,         56,   55,   54,   53,   52,   51,   49,   48,   47,   46,
        44,   43,   42,   41,   37,   35,   32,   28,   19,    8,         44,   43,   42,   41,   37,   35,   32,   28,   19,    8,
         5, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,          5, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,       1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
      1470, 1470, 1470, 1470, 1470       1706, 1706, 1706, 1706, 1706
   
     } ;      } ;
   
 static yy_state_type yy_last_accepting_state;  static yy_state_type yy_last_accepting_state;
Line 1258
 
Line 1399
 #line 2 "loader.l"  #line 2 "loader.l"
 /*  /*
  * static char *rcsid_object_c =   * static char *rcsid_object_c =
  *   "$Id: loader.c,v 1.5 2000/06/16 06:06:33 cvs Exp $";   *   "$Id: loader.c,v 1.6 2000/12/04 00:40:03 cvs Exp $";
  */   */
   
 /*  /*
Line 1343
 
Line 1484
 #endif  #endif
 };  };
   
   
 #define YY_DECL int lex_load(object *op)  #define YY_DECL int lex_load(object *op)
   
 static char *yval();  static char *yval();
Line 1353
 
Line 1495
 #define SET_OR_CLEAR_FLAG(op, flag, val) \  #define SET_OR_CLEAR_FLAG(op, flag, val) \
  { if (val) SET_FLAG(op, flag); else CLEAR_FLAG(op, flag); }   { if (val) SET_FLAG(op, flag); else CLEAR_FLAG(op, flag); }
   
   /* SET_RESIST is really only really needed for transition code.  We normally
    * don't care about multiple values overwriting each other, but this is
    * to catch items that have multiple protection/immune/vulnerable.
    * This can be simplified later on to just do the set after all the archs
    * and maps have been updated.
    * We always keep the last value because otherwise the value from the
    * arch may take precedence.
    * Unfortunately, we will report warnings here simply because an object has
    * been modified from the arch.
    */
   #define SET_RESIST(op, type, val) \
    {if (op->resist[type]!=0) { \
        LOG(llevInfo, "object %s having multiple resistances set, type=%s, old=%d, new=%d\n", \
           op->name?op->name:(op->arch?op->arch->name:"unknown"), \
    resist_plus[type], op->resist[type], val); \
    }  op->resist[type] = val;  }
   
 #define IVAL atoi(yval())  #define IVAL atoi(yval())
 #define FVAL atof(yval())  #define FVAL atof(yval())
   
   /* Put this here since it is used below */
   static void set_protection(object *op, uint32 mask, uint16 pro_val)
   {
       int i;
   
       if (!mask) return; /* Unlikely, but might as well check */
       for (i=0; i<NROFATTACKS; i++) {
    if (mask & (1<<i)) SET_RESIST(op, i, pro_val);
       }
   }
   
 #define MESSAGE 1  #define MESSAGE 1
   
 /* Don't have to link with -lfl with this */  /* Don't have to link with -lfl with this */
Line 1511
 
Line 1681
 YY_DECL  YY_DECL
  {   {
  register yy_state_type yy_current_state;   register yy_state_type yy_current_state;
  register char *yy_cp, *yy_bp;   register char *yy_cp = NULL, *yy_bp = NULL;
  register int yy_act;   register int yy_act;
   
 #line 117 "loader.l"  #line 146 "loader.l"
   
   
   
Line 1577
 
Line 1747
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )   while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  {   {
  yy_current_state = (int) yy_def[yy_current_state];   yy_current_state = (int) yy_def[yy_current_state];
  if ( yy_current_state >= 1471 )   if ( yy_current_state >= 1707 )
  yy_c = yy_meta[(unsigned int) yy_c];   yy_c = yy_meta[(unsigned int) yy_c];
  }   }
  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];   yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  ++yy_cp;   ++yy_cp;
  }   }
  while ( yy_base[yy_current_state] != 1662 );   while ( yy_base[yy_current_state] != 1922 );
   
 yy_find_action:  yy_find_action:
  yy_act = yy_accept[yy_current_state];   yy_act = yy_accept[yy_current_state];
Line 1614
 
Line 1784
 yy_c_buf_p = yy_cp -= 1;  yy_c_buf_p = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */  YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 128 "loader.l"  #line 157 "loader.l"
 { BEGIN( MESSAGE ); msgbuf[0]='\0'; }  { BEGIN( MESSAGE ); msgbuf[0]='\0'; }
  YY_BREAK   YY_BREAK
 case 2:  case 2:
Line 1622
 
Line 1792
 yy_c_buf_p = yy_cp -= 1;  yy_c_buf_p = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */  YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 129 "loader.l"  #line 158 "loader.l"
 { BEGIN( INITIAL );  { BEGIN( INITIAL );
  op->msg=add_string(msgbuf);   op->msg=add_string(msgbuf);
  /* Just print a warning so we can be reasonably safe   /* Just print a warning so we can be reasonably safe
Line 1635
 
Line 1805
  YY_BREAK   YY_BREAK
 case 3:  case 3:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 138 "loader.l"  #line 167 "loader.l"
 {strcat(msgbuf, yytext); strcat(msgbuf,"\n"); }  {strcat(msgbuf, yytext); strcat(msgbuf,"\n"); }
  YY_BREAK   YY_BREAK
 case 4:  case 4:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 141 "loader.l"  #line 170 "loader.l"
 { char *yv=yval();  { char *yv=yval();
   
  if (*yv=='\0') {   if (*yv=='\0') {
Line 1653
 
Line 1823
  YY_BREAK   YY_BREAK
 case 5:  case 5:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 151 "loader.l"  #line 180 "loader.l"
 { char *yv=yval();  { char *yv=yval();
   
  if (*yv=='\0') LOG(llevError,"Name without val\n");   if (*yv=='\0') LOG(llevError,"Name without val\n");
Line 1662
 
Line 1832
  YY_BREAK   YY_BREAK
 case 6:  case 6:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 156 "loader.l"  #line 185 "loader.l"
 FREE_AND_COPY(op->race,yval());  FREE_AND_COPY(op->race,yval());
  YY_BREAK   YY_BREAK
 case 7:  case 7:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 157 "loader.l"  #line 186 "loader.l"
 FREE_AND_COPY(op->slaying, yval());  FREE_AND_COPY(op->slaying, yval());
  YY_BREAK   YY_BREAK
 case 8:  case 8:
Line 1675
 
Line 1845
 yy_c_buf_p = yy_cp -= 1;  yy_c_buf_p = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */  YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 158 "loader.l"  #line 187 "loader.l"
 LOG(llevError,"Got depreciated Inventory command?\n");  LOG(llevError,"Got depreciated Inventory command?\n");
  YY_BREAK   YY_BREAK
 case 9:  case 9:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 161 "loader.l"  #line 190 "loader.l"
 { /* If op->arch has been set, then this new object  { /* If op->arch has been set, then this new object
  * must be part of the inventory.  So process   * must be part of the inventory.  So process
  * appropriately.   * appropriately.
Line 1704
 
Line 1874
  YY_BREAK   YY_BREAK
 case 10:  case 10:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 182 "loader.l"  #line 211 "loader.l"
 op->other_arch=find_archetype(yval());  op->other_arch=find_archetype(yval());
  YY_BREAK   YY_BREAK
 case 11:  case 11:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 183 "loader.l"  #line 212 "loader.l"
 {   {
  if (strcmp (yval(), "NONE") == 0) {   if (strcmp (yval(), "NONE") == 0) {
      op->animation_id = 0;       op->animation_id = 0;
Line 1725
 
Line 1895
 yy_c_buf_p = yy_cp -= 1;  yy_c_buf_p = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */  YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 193 "loader.l"  #line 222 "loader.l"
 { /* We need to record that this is a multipart object,  { /* We need to record that this is a multipart object,
         * so the calling function can glue things back together          * so the calling function can glue things back together
         */          */
Line 1737
 
Line 1907
 yy_c_buf_p = yy_cp -= 1;  yy_c_buf_p = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */  YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 199 "loader.l"  #line 228 "loader.l"
 { if (ismore) return LL_MORE; else return LL_NORMAL; }  { if (ismore) return LL_MORE; else return LL_NORMAL; }
  YY_BREAK   YY_BREAK
 case 14:  case 14:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 200 "loader.l"  #line 229 "loader.l"
 op->last_heal = IVAL;  op->last_heal = IVAL;
  YY_BREAK   YY_BREAK
 case 15:  case 15:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 201 "loader.l"  #line 230 "loader.l"
 op->last_sp = IVAL;  op->last_sp = IVAL;
  YY_BREAK   YY_BREAK
 case 16:  case 16:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 202 "loader.l"  #line 231 "loader.l"
 op->last_grace = IVAL;  op->last_grace = IVAL;
  YY_BREAK   YY_BREAK
 case 17:  case 17:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 203 "loader.l"  #line 232 "loader.l"
 op->last_eat = IVAL;  op->last_eat = IVAL;
  YY_BREAK   YY_BREAK
 case 18:  case 18:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 204 "loader.l"  #line 233 "loader.l"
 { op->speed = FVAL;  { op->speed = FVAL;
  if (op->speed<0) op->speed_left = op->speed_left-RANDOM()%100/100.0;   if (op->speed<0) op->speed_left = op->speed_left-RANDOM()%100/100.0;
  update_ob_speed(op);   update_ob_speed(op);
Line 1770
 
Line 1940
  YY_BREAK   YY_BREAK
 case 19:  case 19:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 208 "loader.l"  #line 237 "loader.l"
 op->speed_left = FVAL;  op->speed_left = FVAL;
  YY_BREAK   YY_BREAK
 case 20:  case 20:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 209 "loader.l"  #line 238 "loader.l"
 { SET_SLOW_PENALTY(op,FVAL);  { SET_SLOW_PENALTY(op,FVAL);
  SET_FLAG(op, FLAG_SLOW_MOVE);   SET_FLAG(op, FLAG_SLOW_MOVE);
      }       }
  YY_BREAK   YY_BREAK
 case 21:  case 21:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 212 "loader.l"  #line 241 "loader.l"
 op->face = &new_faces[FindFace(yval(), 0)];  op->face = &new_faces[FindFace(yval(), 0)];
  YY_BREAK   YY_BREAK
 case 22:  case 22:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 213 "loader.l"  #line 242 "loader.l"
 op->stats.Str = IVAL;  op->stats.Str = IVAL;
  YY_BREAK   YY_BREAK
 case 23:  case 23:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 214 "loader.l"  #line 243 "loader.l"
 op->stats.Dex = IVAL;  op->stats.Dex = IVAL;
  YY_BREAK   YY_BREAK
 case 24:  case 24:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 215 "loader.l"  #line 244 "loader.l"
 op->stats.Con = IVAL;  op->stats.Con = IVAL;
  YY_BREAK   YY_BREAK
 case 25:  case 25:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 216 "loader.l"  #line 245 "loader.l"
 op->stats.Wis = IVAL;  op->stats.Wis = IVAL;
  YY_BREAK   YY_BREAK
 case 26:  case 26:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 217 "loader.l"  #line 246 "loader.l"
 op->stats.Cha = IVAL;  op->stats.Cha = IVAL;
  YY_BREAK   YY_BREAK
 case 27:  case 27:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 218 "loader.l"  #line 247 "loader.l"
 op->stats.Int = IVAL;  op->stats.Int = IVAL;
  YY_BREAK   YY_BREAK
 case 28:  case 28:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 219 "loader.l"  #line 248 "loader.l"
 op->stats.Pow = IVAL;  op->stats.Pow = IVAL;
  YY_BREAK   YY_BREAK
 case 29:  case 29:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 220 "loader.l"  #line 249 "loader.l"
 op->stats.hp = IVAL;  op->stats.hp = IVAL;
  YY_BREAK   YY_BREAK
 case 30:  case 30:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 221 "loader.l"  #line 250 "loader.l"
 op->stats.maxhp = IVAL;  op->stats.maxhp = IVAL;
  YY_BREAK   YY_BREAK
 case 31:  case 31:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 222 "loader.l"  #line 251 "loader.l"
 op->stats.sp = IVAL;  op->stats.sp = IVAL;
  YY_BREAK   YY_BREAK
 case 32:  case 32:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 223 "loader.l"  #line 252 "loader.l"
 op->stats.maxsp = IVAL;  op->stats.maxsp = IVAL;
  YY_BREAK   YY_BREAK
 case 33:  case 33:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 224 "loader.l"  #line 253 "loader.l"
 op->stats.grace = IVAL;  op->stats.grace = IVAL;
  YY_BREAK   YY_BREAK
 case 34:  case 34:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 225 "loader.l"  #line 254 "loader.l"
 op->stats.maxgrace = IVAL;  op->stats.maxgrace = IVAL;
  YY_BREAK   YY_BREAK
 case 35:  case 35:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 226 "loader.l"  #line 255 "loader.l"
 op->stats.exp = atol(yval());  op->stats.exp = atol(yval());
  YY_BREAK   YY_BREAK
 case 36:  case 36:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 227 "loader.l"  #line 256 "loader.l"
 op->stats.food = IVAL;  op->stats.food = IVAL;
  YY_BREAK   YY_BREAK
 case 37:  case 37:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 228 "loader.l"  #line 257 "loader.l"
 op->stats.dam = IVAL;  op->stats.dam = IVAL;
  YY_BREAK   YY_BREAK
 case 38:  case 38:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 229 "loader.l"  #line 258 "loader.l"
 op->stats.wc = IVAL;  op->stats.wc = IVAL;
  YY_BREAK   YY_BREAK
 case 39:  case 39:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 230 "loader.l"  #line 259 "loader.l"
 op->stats.ac = IVAL;  op->stats.ac = IVAL;
  YY_BREAK   YY_BREAK
 case 40:  case 40:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 231 "loader.l"  #line 260 "loader.l"
 {op->x = IVAL; op->ox= op->x; }  {op->x = IVAL; op->ox= op->x; }
  YY_BREAK   YY_BREAK
 case 41:  case 41:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 232 "loader.l"  #line 261 "loader.l"
 {op->y = IVAL; op->oy= op->y; }  {op->y = IVAL; op->oy= op->y; }
  YY_BREAK   YY_BREAK
 case 42:  case 42:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 233 "loader.l"  #line 262 "loader.l"
 op->nrof= atol(yval());  op->nrof= atol(yval());
  YY_BREAK   YY_BREAK
 case 43:  case 43:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 234 "loader.l"  #line 263 "loader.l"
 op->level = IVAL;  op->level = IVAL;
  YY_BREAK   YY_BREAK
 case 44:  case 44:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 235 "loader.l"  #line 264 "loader.l"
 op->direction = IVAL;  op->direction = IVAL;
  YY_BREAK   YY_BREAK
 case 45:  case 45:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 236 "loader.l"  #line 265 "loader.l"
 op->type = IVAL;  op->type = IVAL;
  YY_BREAK   YY_BREAK
 case 46:  case 46:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 237 "loader.l"  #line 266 "loader.l"
 op->material = IVAL;  op->material = IVAL;
  YY_BREAK   YY_BREAK
 case 47:  case 47:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 238 "loader.l"  #line 267 "loader.l"
 op->value = IVAL;  op->value = IVAL;
  YY_BREAK   YY_BREAK
 case 48:  case 48:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 239 "loader.l"  #line 268 "loader.l"
 op->weight = atol(yval());  op->weight = atol(yval());
  YY_BREAK   YY_BREAK
 case 49:  case 49:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 240 "loader.l"  #line 269 "loader.l"
 op->carrying = atol(yval());  op->carrying = atol(yval());
  YY_BREAK   YY_BREAK
 case 50:  case 50:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 241 "loader.l"  #line 270 "loader.l"
 op->immune = IVAL;  
  YY_BREAK  
 case 51:  
 YY_RULE_SETUP  
 #line 242 "loader.l"  
 op->protected = IVAL;  
  YY_BREAK  
 case 52:  
 YY_RULE_SETUP  
 #line 243 "loader.l"  
 op->attacktype = IVAL;  op->attacktype = IVAL;
  YY_BREAK   YY_BREAK
 case 53:  case 51:
 YY_RULE_SETUP  
 #line 244 "loader.l"  
 op->vulnerable = IVAL;  
  YY_BREAK  
 case 54:  
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 245 "loader.l"  #line 271 "loader.l"
 op->path_attuned = IVAL;  op->path_attuned = IVAL;
  YY_BREAK   YY_BREAK
 case 55:  case 52:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 246 "loader.l"  #line 272 "loader.l"
 op->path_repelled = IVAL;  op->path_repelled = IVAL;
  YY_BREAK   YY_BREAK
 case 56:  case 53:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 247 "loader.l"  #line 273 "loader.l"
 op->path_denied = IVAL;  op->path_denied = IVAL;
  YY_BREAK   YY_BREAK
 case 57:  case 54:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 248 "loader.l"  #line 274 "loader.l"
 op->invisible = IVAL;  op->invisible = IVAL;
  YY_BREAK   YY_BREAK
 case 58:  case 55:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 249 "loader.l"  #line 275 "loader.l"
 op->magic = IVAL;  op->magic = IVAL;
  YY_BREAK   YY_BREAK
 case 59:  case 56:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 250 "loader.l"  #line 276 "loader.l"
 op->state = IVAL;  op->state = IVAL;
  YY_BREAK   YY_BREAK
 case 60:  case 57:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 251 "loader.l"  #line 277 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_ALIVE, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_ALIVE, IVAL);
  YY_BREAK   YY_BREAK
 case 61:  case 58:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 252 "loader.l"  #line 278 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_APPLIED, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_APPLIED, IVAL);
  YY_BREAK   YY_BREAK
 case 62:  case 59:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 253 "loader.l"  #line 279 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_UNPAID, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_UNPAID, IVAL);
  YY_BREAK   YY_BREAK
 case 63:  case 60:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 254 "loader.l"  #line 280 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_AN, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_AN, IVAL);
  YY_BREAK   YY_BREAK
 case 64:  case 61:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 255 "loader.l"  #line 281 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_NEED_IE, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_NEED_IE, IVAL);
  YY_BREAK   YY_BREAK
 case 65:  case 62:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 256 "loader.l"  #line 282 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_NO_PICK, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_NO_PICK, IVAL);
  YY_BREAK   YY_BREAK
 case 66:  case 63:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 257 "loader.l"  #line 283 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_NO_PASS, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_NO_PASS, IVAL);
  YY_BREAK   YY_BREAK
 case 67:  case 64:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 258 "loader.l"  #line 284 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_WALK_ON, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_WALK_ON, IVAL);
  YY_BREAK   YY_BREAK
 case 68:  case 65:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 259 "loader.l"  #line 285 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_WALK_OFF, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_WALK_OFF, IVAL);
  YY_BREAK   YY_BREAK
 case 69:  case 66:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 260 "loader.l"  #line 286 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_FLY_ON, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_FLY_ON, IVAL);
  YY_BREAK   YY_BREAK
 case 70:  case 67:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 261 "loader.l"  #line 287 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_FLY_OFF, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_FLY_OFF, IVAL);
  YY_BREAK   YY_BREAK
 case 71:  case 68:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 262 "loader.l"  #line 288 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_ANIMATE, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_ANIMATE, IVAL);
  YY_BREAK   YY_BREAK
 case 72:  case 69:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 263 "loader.l"  #line 289 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_FLYING, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_FLYING, IVAL);
  YY_BREAK   YY_BREAK
 case 73:  case 70:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 264 "loader.l"  #line 290 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_MONSTER, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_MONSTER, IVAL);
  YY_BREAK   YY_BREAK
 case 74:  case 71:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 265 "loader.l"  #line 291 "loader.l"
 { if (IVAL) {  { if (IVAL) {
      SET_FLAG(op, FLAG_FRIENDLY);       SET_FLAG(op, FLAG_FRIENDLY);
      if (op->type != PLAYER) {       if (op->type != PLAYER) {
Line 2058
 
Line 2213
  else CLEAR_FLAG(op, FLAG_FRIENDLY);   else CLEAR_FLAG(op, FLAG_FRIENDLY);
      }       }
  YY_BREAK   YY_BREAK
 case 75:  case 72:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 274 "loader.l"  #line 300 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_GENERATOR, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_GENERATOR, IVAL);
  YY_BREAK   YY_BREAK
 case 76:  case 73:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 275 "loader.l"  #line 301 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_IS_THROWN, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_IS_THROWN, IVAL);
  YY_BREAK   YY_BREAK
 case 77:  case 74:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 276 "loader.l"  #line 302 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_AUTO_APPLY, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_AUTO_APPLY, IVAL);
  YY_BREAK   YY_BREAK
 case 78:  case 75:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 277 "loader.l"  #line 303 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_TREASURE, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_TREASURE, IVAL);
  YY_BREAK   YY_BREAK
 case 79:  case 76:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 278 "loader.l"  #line 304 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_APPLY_ONCE, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_APPLY_ONCE, IVAL);
  YY_BREAK   YY_BREAK
 case 80:  case 77:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 279 "loader.l"  #line 305 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_SEE_INVISIBLE, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_SEE_INVISIBLE, IVAL);
  YY_BREAK   YY_BREAK
 case 81:  case 78:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 280 "loader.l"  #line 306 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_CAN_ROLL, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_CAN_ROLL, IVAL);
  YY_BREAK   YY_BREAK
 case 82:  case 79:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 281 "loader.l"  #line 307 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_IS_TURNABLE, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_IS_TURNABLE, IVAL);
  YY_BREAK   YY_BREAK
 case 83:  case 80:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 282 "loader.l"  #line 308 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_IS_USED_UP, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_IS_USED_UP, IVAL);
  YY_BREAK   YY_BREAK
 case 84:  case 81:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 283 "loader.l"  #line 309 "loader.l"
 { if (IVAL) {  { if (IVAL) {
      SET_FLAG(op, FLAG_IDENTIFIED);       SET_FLAG(op, FLAG_IDENTIFIED);
      CLEAR_FLAG(op, FLAG_KNOWN_MAGICAL);       CLEAR_FLAG(op, FLAG_KNOWN_MAGICAL);
Line 2113
 
Line 2268
  else CLEAR_FLAG(op, FLAG_IDENTIFIED);   else CLEAR_FLAG(op, FLAG_IDENTIFIED);
      }       }
  YY_BREAK   YY_BREAK
 case 85:  case 82:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 289 "loader.l"  #line 315 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_REFLECTING, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_REFLECTING, IVAL);
  YY_BREAK   YY_BREAK
 case 86:  case 83:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 290 "loader.l"  #line 316 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_CHANGING, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_CHANGING, IVAL);
  YY_BREAK   YY_BREAK
 case 87:  case 84:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 291 "loader.l"  #line 317 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_SPLITTING, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_SPLITTING, IVAL);
  YY_BREAK   YY_BREAK
 case 88:  case 85:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 292 "loader.l"  #line 318 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_HITBACK, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_HITBACK, IVAL);
  YY_BREAK   YY_BREAK
 case 89:  case 86:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 293 "loader.l"  #line 319 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_STARTEQUIP, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_STARTEQUIP, IVAL);
  YY_BREAK   YY_BREAK
 case 90:  case 87:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 294 "loader.l"  #line 320 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_BLOCKSVIEW, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_BLOCKSVIEW, IVAL);
  YY_BREAK   YY_BREAK
 case 91:  case 88:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 295 "loader.l"  #line 321 "loader.l"
 op->arch->editable = IVAL;  op->arch->editable = IVAL;
  YY_BREAK   YY_BREAK
 case 92:  case 89:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 296 "loader.l"  #line 322 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_UNDEAD, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_UNDEAD, IVAL);
  YY_BREAK   YY_BREAK
 case 93:  case 90:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 297 "loader.l"  #line 323 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_SCARED, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_SCARED, IVAL);
  YY_BREAK   YY_BREAK
 case 94:  case 91:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 298 "loader.l"  #line 324 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_UNAGGRESSIVE, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_UNAGGRESSIVE, IVAL);
  YY_BREAK   YY_BREAK
 case 95:  case 92:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 299 "loader.l"  #line 325 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_REFL_MISSILE, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_REFL_MISSILE, IVAL);
  YY_BREAK   YY_BREAK
 case 96:  case 93:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 300 "loader.l"  #line 326 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_REFL_SPELL, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_REFL_SPELL, IVAL);
  YY_BREAK   YY_BREAK
 case 97:  case 94:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 301 "loader.l"  #line 327 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_NO_MAGIC, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_NO_MAGIC, IVAL);
  YY_BREAK   YY_BREAK
 case 98:  case 95:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 302 "loader.l"  #line 328 "loader.l"
 { if (IVAL) {  { if (IVAL) {
      SET_FLAG(op, FLAG_WIZ);       SET_FLAG(op, FLAG_WIZ);
      SET_FLAG(op, FLAG_WAS_WIZ);       SET_FLAG(op, FLAG_WAS_WIZ);
Line 2192
 
Line 2347
  }   }
      }       }
  YY_BREAK   YY_BREAK
   case 96:
   YY_RULE_SETUP
   #line 338 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_WAS_WIZ, IVAL);
    YY_BREAK
   case 97:
   YY_RULE_SETUP
   #line 339 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_NO_FIX_PLAYER, IVAL);
    YY_BREAK
   case 98:
   YY_RULE_SETUP
   #line 340 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_TEAR_DOWN, IVAL);
    YY_BREAK
 case 99:  case 99:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 312 "loader.l"  #line 341 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_WAS_WIZ, IVAL);  op->stats.luck = IVAL;
    YY_BREAK
   case 100:
   YY_RULE_SETUP
   #line 342 "loader.l"
   op->run_away = IVAL;
    YY_BREAK
   case 101:
   YY_RULE_SETUP
   #line 343 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_PASS_THRU, IVAL);
    YY_BREAK
   case 102:
   YY_RULE_SETUP
   #line 344 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_CAN_PASS_THRU, IVAL);
    YY_BREAK
   case 103:
   YY_RULE_SETUP
   #line 345 "loader.l"
   op->pick_up = IVAL;
    YY_BREAK
   case 104:
   YY_RULE_SETUP
   #line 346 "loader.l"
   op->anim_speed = IVAL;
    YY_BREAK
   case 105:
   YY_RULE_SETUP
   #line 347 "loader.l"
   op->weight_limit = IVAL;
    YY_BREAK
   case 106:
   YY_RULE_SETUP
   #line 348 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_NO_DROP, IVAL);
    YY_BREAK
   case 107:
   YY_RULE_SETUP
   #line 349 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_NO_PRETEXT, IVAL);
    YY_BREAK
   case 108:
   YY_RULE_SETUP
   #line 350 "loader.l"
   op->will_apply = IVAL;
    YY_BREAK
   case 109:
   YY_RULE_SETUP
   #line 351 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_RANDOM_MOVE, IVAL);
    YY_BREAK
   case 110:
   YY_RULE_SETUP
   #line 352 "loader.l"
   op->can_apply = IVAL;
    YY_BREAK
   case 111:
   YY_RULE_SETUP
   #line 353 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_CAST_SPELL, IVAL);
    YY_BREAK
   case 112:
   YY_RULE_SETUP
   #line 354 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_USE_SCROLL, IVAL);
    YY_BREAK
   case 113:
   YY_RULE_SETUP
   #line 355 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_USE_WAND, IVAL);
    YY_BREAK
   case 114:
   YY_RULE_SETUP
   #line 356 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_USE_BOW, IVAL);
    YY_BREAK
   case 115:
   YY_RULE_SETUP
   #line 357 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_USE_ARMOUR, IVAL);
    YY_BREAK
   case 116:
   YY_RULE_SETUP
   #line 358 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_USE_WEAPON, IVAL);
    YY_BREAK
   case 117:
   YY_RULE_SETUP
   #line 359 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_USE_RING, IVAL);
    YY_BREAK
   case 118:
   YY_RULE_SETUP
   #line 360 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_READY_WAND, IVAL);
    YY_BREAK
   case 119:
   YY_RULE_SETUP
   #line 361 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_READY_BOW, IVAL);
    YY_BREAK
   case 120:
   YY_RULE_SETUP
   #line 362 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_XRAYS, IVAL);
    YY_BREAK
   case 121:
   YY_RULE_SETUP
   #line 363 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_IS_FLOOR, IVAL);
    YY_BREAK
   case 122:
   YY_RULE_SETUP
   #line 364 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_LIFESAVE, IVAL);
    YY_BREAK
   case 123:
   YY_RULE_SETUP
   #line 365 "loader.l"
   SET_OR_CLEAR_FLAG(op, FLAG_NO_STRENGTH, IVAL);
  YY_BREAK   YY_BREAK
 case 100:  case 124:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 313 "loader.l"  #line 366 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_NO_FIX_PLAYER, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_SLEEP, IVAL);
  YY_BREAK   YY_BREAK
 case 101:  case 125:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 314 "loader.l"  #line 367 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_TEAR_DOWN, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_STAND_STILL, IVAL);
  YY_BREAK   YY_BREAK
 case 102:  case 126:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 315 "loader.l"  #line 368 "loader.l"
 op->stats.luck = IVAL;  SET_OR_CLEAR_FLAG(op, FLAG_RANDOM_MOVE, IVAL);
  YY_BREAK   YY_BREAK
 case 103:  case 127:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 316 "loader.l"  #line 369 "loader.l"
 op->run_away = IVAL;  SET_OR_CLEAR_FLAG(op, FLAG_ONLY_ATTACK, IVAL);
  YY_BREAK   YY_BREAK
 case 104:  /* armour is loaded for compatiblity reasons */
   case 128:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 317 "loader.l"  #line 372 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_PASS_THRU, IVAL);  SET_RESIST(op, ATNR_PHYSICAL, IVAL);
  YY_BREAK   YY_BREAK
 case 105:  /* Start of various attacktypes */
   case 129:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 318 "loader.l"  #line 374 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_CAN_PASS_THRU, IVAL);  SET_RESIST(op, ATNR_PHYSICAL, IVAL);
  YY_BREAK   YY_BREAK
 case 106:  case 130:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 319 "loader.l"  #line 375 "loader.l"
 op->pick_up = IVAL;  SET_RESIST(op, ATNR_MAGIC, IVAL);
  YY_BREAK   YY_BREAK
 case 107:  case 131:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 320 "loader.l"  #line 376 "loader.l"
 op->anim_speed = IVAL;  SET_RESIST(op, ATNR_FIRE, IVAL);
  YY_BREAK   YY_BREAK
 case 108:  case 132:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 321 "loader.l"  #line 377 "loader.l"
 op->weight_limit = IVAL;  SET_RESIST(op, ATNR_ELECTRICITY, IVAL);
  YY_BREAK   YY_BREAK
 case 109:  case 133:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 322 "loader.l"  #line 378 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_NO_DROP, IVAL);  SET_RESIST(op, ATNR_COLD, IVAL);
  YY_BREAK   YY_BREAK
 case 110:  case 134:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 323 "loader.l"  #line 379 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_NO_PRETEXT, IVAL);  SET_RESIST(op, ATNR_CONFUSION, IVAL);
  YY_BREAK   YY_BREAK
 case 111:  case 135:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 324 "loader.l"  #line 380 "loader.l"
 op->will_apply = IVAL;  SET_RESIST(op, ATNR_ACID, IVAL);
  YY_BREAK   YY_BREAK
 case 112:  case 136:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 325 "loader.l"  #line 381 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_RANDOM_MOVE, IVAL);  SET_RESIST(op, ATNR_DRAIN, IVAL);
  YY_BREAK   YY_BREAK
 case 113:  case 137:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 326 "loader.l"  #line 382 "loader.l"
 op->can_apply = IVAL;  SET_RESIST(op, ATNR_WEAPONMAGIC, IVAL);
  YY_BREAK   YY_BREAK
 case 114:  case 138:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 327 "loader.l"  #line 383 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_CAST_SPELL, IVAL);  SET_RESIST(op, ATNR_GHOSTHIT, IVAL);
  YY_BREAK   YY_BREAK
 case 115:  case 139:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 328 "loader.l"  #line 384 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_USE_SCROLL, IVAL);  SET_RESIST(op, ATNR_POISON, IVAL);
  YY_BREAK   YY_BREAK
 case 116:  case 140:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 329 "loader.l"  #line 385 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_USE_WAND, IVAL);  SET_RESIST(op, ATNR_SLOW, IVAL);
  YY_BREAK   YY_BREAK
 case 117:  case 141:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 330 "loader.l"  #line 386 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_USE_BOW, IVAL);  SET_RESIST(op, ATNR_PARALYZE, IVAL);
  YY_BREAK   YY_BREAK
 case 118:  case 142:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 331 "loader.l"  #line 387 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_USE_ARMOUR, IVAL);  SET_RESIST(op, ATNR_TURN_UNDEAD, IVAL);
  YY_BREAK   YY_BREAK
 case 119:  case 143:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 332 "loader.l"  #line 388 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_USE_WEAPON, IVAL);  SET_RESIST(op, ATNR_FEAR, IVAL);
  YY_BREAK   YY_BREAK
 case 120:  case 144:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 333 "loader.l"  #line 389 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_USE_RING, IVAL);  SET_RESIST(op, ATNR_CANCELLATION, IVAL);
  YY_BREAK   YY_BREAK
 case 121:  case 145:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 334 "loader.l"  #line 390 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_READY_WAND, IVAL);  SET_RESIST(op, ATNR_DEPLETE, IVAL);
  YY_BREAK   YY_BREAK
 case 122:  case 146:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 335 "loader.l"  #line 391 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_READY_BOW, IVAL);  SET_RESIST(op, ATNR_DEATH, IVAL);
  YY_BREAK   YY_BREAK
 case 123:  case 147:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 336 "loader.l"  #line 392 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_XRAYS, IVAL);  SET_RESIST(op, ATNR_CHAOS, IVAL);
  YY_BREAK   YY_BREAK
 case 124:  case 148:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 337 "loader.l"  #line 393 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_IS_FLOOR, IVAL);  SET_RESIST(op, ATNR_COUNTERSPELL, IVAL);
  YY_BREAK   YY_BREAK
 case 125:  case 149:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 338 "loader.l"  #line 394 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_LIFESAVE, IVAL);  SET_RESIST(op, ATNR_GODPOWER, IVAL);
  YY_BREAK   YY_BREAK
 case 126:  case 150:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 339 "loader.l"  #line 395 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_NO_STRENGTH, IVAL);  SET_RESIST(op, ATNR_HOLYWORD, IVAL);
  YY_BREAK   YY_BREAK
 case 127:  case 151:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 340 "loader.l"  #line 396 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_SLEEP, IVAL);  SET_RESIST(op, ATNR_BLIND, IVAL);
  YY_BREAK   YY_BREAK
 case 128:  case 152:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 341 "loader.l"  #line 397 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_STAND_STILL, IVAL);  SET_RESIST(op, ATNR_INTERNAL, IVAL);
  YY_BREAK   YY_BREAK
 case 129:  /* Old style resistances */
   case 153:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 342 "loader.l"  #line 400 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_RANDOM_MOVE, IVAL);  set_protection(op, IVAL, RESIST_IMMUNE);
  YY_BREAK   YY_BREAK
 case 130:  case 154:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 343 "loader.l"  #line 401 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_ONLY_ATTACK, IVAL);  set_protection(op, IVAL, RESIST_PROT);
  YY_BREAK   YY_BREAK
 case 131:  case 155:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 344 "loader.l"  #line 402 "loader.l"
 op->armour = IVAL;  set_protection(op, IVAL, RESIST_VULN);
  YY_BREAK   YY_BREAK
 case 132:  case 156:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 345 "loader.l"  #line 404 "loader.l"
 op->move_type = IVAL;  op->move_type = IVAL;
  YY_BREAK   YY_BREAK
 case 133:  case 157:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 346 "loader.l"  #line 405 "loader.l"
 op->move_status = IVAL;  op->move_status = IVAL;
  YY_BREAK   YY_BREAK
 case 134:  case 158:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 347 "loader.l"  #line 406 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_CONFUSED, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_CONFUSED, IVAL);
  YY_BREAK   YY_BREAK
 case 135:  case 159:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 348 "loader.l"  #line 407 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_STEALTH, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_STEALTH, IVAL);
  YY_BREAK   YY_BREAK
 case 136:  case 160:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 349 "loader.l"  #line 408 "loader.l"
 add_button_link(op, op->map, IVAL);  add_button_link(op, op->map, IVAL);
  YY_BREAK   YY_BREAK
 case 137:  case 161:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 350 "loader.l"  #line 409 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_CURSED, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_CURSED, IVAL);
  YY_BREAK   YY_BREAK
 case 138:  case 162:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 351 "loader.l"  #line 410 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_DAMNED, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_DAMNED, IVAL);
  YY_BREAK   YY_BREAK
 case 139:  case 163:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 352 "loader.l"  #line 411 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_SEE_ANYWHERE, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_SEE_ANYWHERE, IVAL);
  YY_BREAK   YY_BREAK
 case 140:  case 164:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 353 "loader.l"  #line 412 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_KNOWN_MAGICAL, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_KNOWN_MAGICAL, IVAL);
  YY_BREAK   YY_BREAK
 case 141:  case 165:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 354 "loader.l"  #line 413 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_KNOWN_CURSED, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_KNOWN_CURSED, IVAL);
  YY_BREAK   YY_BREAK
 case 142:  case 166:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 355 "loader.l"  #line 414 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_CAN_USE_SKILL, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_CAN_USE_SKILL, IVAL);
  YY_BREAK   YY_BREAK
 case 143:  case 167:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 356 "loader.l"  #line 415 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_BEEN_APPLIED, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_BEEN_APPLIED, IVAL);
  YY_BREAK   YY_BREAK
 case 144:  case 168:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 357 "loader.l"  #line 416 "loader.l"
 { char *y=yval();  { char *y=yval();
  if (*y=='\0') LOG(llevError,"Title without value.\n");   if (*y=='\0') LOG(llevError,"Title without value.\n");
  else FREE_AND_COPY(op->title, y);   else FREE_AND_COPY(op->title, y);
      }       }
  YY_BREAK   YY_BREAK
 case 145:  case 169:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 361 "loader.l"  #line 420 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_READY_ROD, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_READY_ROD, IVAL);
  YY_BREAK   YY_BREAK
 case 146:  case 170:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 362 "loader.l"  #line 421 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_USE_ROD, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_USE_ROD, IVAL);
  YY_BREAK   YY_BREAK
 case 147:  case 171:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 363 "loader.l"  #line 422 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_READY_HORN, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_READY_HORN, IVAL);
  YY_BREAK   YY_BREAK
 case 148:  case 172:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 364 "loader.l"  #line 423 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_USE_HORN, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_USE_HORN, IVAL);
  YY_BREAK   YY_BREAK
 case 149:  case 173:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 365 "loader.l"  #line 424 "loader.l"
 op->expmul = FVAL;  op->expmul = FVAL;
  YY_BREAK   YY_BREAK
 case 150:  case 174:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 366 "loader.l"  #line 425 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_UNIQUE, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_UNIQUE, IVAL);
  YY_BREAK   YY_BREAK
 case 151:  case 175:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 367 "loader.l"  #line 426 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_MAKE_INVIS, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_MAKE_INVIS, IVAL);
  YY_BREAK   YY_BREAK
 case 152:  case 176:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 368 "loader.l"  #line 427 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_INV_LOCKED, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_INV_LOCKED, IVAL);
  YY_BREAK   YY_BREAK
 case 153:  case 177:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 369 "loader.l"  #line 428 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_IS_WOODED, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_IS_WOODED, IVAL);
  YY_BREAK   YY_BREAK
 case 154:  case 178:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 370 "loader.l"  #line 429 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_IS_HILLY, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_IS_HILLY, IVAL);
  YY_BREAK   YY_BREAK
 case 155:  case 179:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 371 "loader.l"  #line 430 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_READY_SKILL, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_READY_SKILL, IVAL);
  YY_BREAK   YY_BREAK
 case 156:  case 180:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 372 "loader.l"  #line 431 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_READY_WEAPON, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_READY_WEAPON, IVAL);
  YY_BREAK   YY_BREAK
 case 157:  case 181:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 373 "loader.l"  #line 432 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_NO_SKILL_IDENT, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_NO_SKILL_IDENT, IVAL);
  YY_BREAK   YY_BREAK
 case 158:  case 182:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 374 "loader.l"  #line 433 "loader.l"
 op->glow_radius = IVAL;  op->glow_radius = IVAL;
  YY_BREAK   YY_BREAK
 case 159:  case 183:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 375 "loader.l"  #line 434 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_BLIND, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_BLIND, IVAL);
  YY_BREAK   YY_BREAK
 case 160:  case 184:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 376 "loader.l"  #line 435 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_SEE_IN_DARK, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_SEE_IN_DARK, IVAL);
  YY_BREAK   YY_BREAK
 case 161:  case 185:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 377 "loader.l"  #line 436 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_IS_CAULDRON, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_IS_CAULDRON, IVAL);
  YY_BREAK   YY_BREAK
 case 162:  case 186:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 378 "loader.l"  #line 437 "loader.l"
 op->randomitems = find_treasurelist(yval());  op->randomitems = find_treasurelist(yval());
  YY_BREAK   YY_BREAK
 case 163:  case 187:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 379 "loader.l"  #line 438 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_DUST, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_DUST, IVAL);
  YY_BREAK   YY_BREAK
 case 164:  case 188:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 380 "loader.l"  #line 439 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_NO_STEAL, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_NO_STEAL, IVAL);
  YY_BREAK   YY_BREAK
 case 165:  case 189:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 381 "loader.l"  #line 440 "loader.l"
 SET_OR_CLEAR_FLAG(op, FLAG_ONE_HIT, IVAL);  SET_OR_CLEAR_FLAG(op, FLAG_ONE_HIT, IVAL);
  YY_BREAK   YY_BREAK
 case 166:  case 190:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 383 "loader.l"  #line 442 "loader.l"
 { /* Some archetypes have these values in them */ }  { /* Some archetypes have these values in them */ }
  YY_BREAK   YY_BREAK
 case 167:  case 191:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 384 "loader.l"  #line 443 "loader.l"
 { /* Probably the pupland archetypes - I imagined */ }  { /* Probably the pupland archetypes - I imagined */ }
  YY_BREAK   YY_BREAK
 case 168:  case 192:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 385 "loader.l"  #line 444 "loader.l"
 { /* That these are for the new combat code */ }  { /* That these are for the new combat code */ }
  YY_BREAK   YY_BREAK
 case 169:  case 193:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 386 "loader.l"  #line 445 "loader.l"
 { /* just ignore for now */ }  { /* just ignore for now */ }
  YY_BREAK   YY_BREAK
 case 170:  case 194:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 387 "loader.l"  #line 446 "loader.l"
 { }  { }
  YY_BREAK   YY_BREAK
 case 171:  case 195:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 389 "loader.l"  #line 448 "loader.l"
 {/* ignore empty lines, newlines we don't do above */}  {/* ignore empty lines, newlines we don't do above */}
  YY_BREAK   YY_BREAK
 case 172:  case 196:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 390 "loader.l"  #line 449 "loader.l"
 {}  {}
  YY_BREAK   YY_BREAK
 case YY_STATE_EOF(INITIAL):  case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(MESSAGE):  case YY_STATE_EOF(MESSAGE):
 #line 392 "loader.l"  #line 451 "loader.l"
 {/* If we got an error, return the error.  Otherwise, return that we got EOF */  {/* If we got an error, return the error.  Otherwise, return that we got EOF */
      if (lex_error!=0) return lex_error; else return LL_EOF;}       if (lex_error!=0) return lex_error; else return LL_EOF;}
  YY_BREAK   YY_BREAK
 case 173:  case 197:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 394 "loader.l"  #line 453 "loader.l"
 { yyerror( "Unrecognized string"); lex_error= -1; }  { yyerror( "Unrecognized string"); lex_error= -1; }
  YY_BREAK   YY_BREAK
 case 174:  case 198:
 YY_RULE_SETUP  YY_RULE_SETUP
 #line 395 "loader.l"  #line 454 "loader.l"
 ECHO;  ECHO;
  YY_BREAK   YY_BREAK
   
Line 2871
 
Line 3164
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )   while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  {   {
  yy_current_state = (int) yy_def[yy_current_state];   yy_current_state = (int) yy_def[yy_current_state];
  if ( yy_current_state >= 1471 )   if ( yy_current_state >= 1707 )
  yy_c = yy_meta[(unsigned int) yy_c];   yy_c = yy_meta[(unsigned int) yy_c];
  }   }
  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];   yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Line 2906
 
Line 3199
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )   while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  {   {
  yy_current_state = (int) yy_def[yy_current_state];   yy_current_state = (int) yy_def[yy_current_state];
  if ( yy_current_state >= 1471 )   if ( yy_current_state >= 1707 )
  yy_c = yy_meta[(unsigned int) yy_c];   yy_c = yy_meta[(unsigned int) yy_c];
  }   }
  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];   yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  yy_is_jam = (yy_current_state == 1470);   yy_is_jam = (yy_current_state == 1706);
   
  return yy_is_jam ? 0 : yy_current_state;   return yy_is_jam ? 0 : yy_current_state;
  }   }
Line 3466
 
Line 3759
  return 0;   return 0;
  }   }
 #endif  #endif
 #line 395 "loader.l"  #line 454 "loader.l"
   
   
   
 int yyerror(char *s)  int yyerror(char *s)
Line 3750
 
Line 4044
     save_long(buf,variable_const[V_WC],op->stats.wc);      save_long(buf,variable_const[V_WC],op->stats.wc);
   if(op->stats.ac!=op2->stats.ac)    if(op->stats.ac!=op2->stats.ac)
     save_long(buf,variable_const[V_AC],op->stats.ac);      save_long(buf,variable_const[V_AC],op->stats.ac);
   if(op->armour!=op2->armour)  
     save_long(buf,variable_const[V_ARMOUR],op->armour);  
   if(op->x!=op2->x)     if(op->x!=op2->x)
     save_long(buf,variable_const[V_X],op->x);      save_long(buf,variable_const[V_X],op->x);
   if(op->y!=op2->y)    if(op->y!=op2->y)
Line 3776
 
Line 4068
     save_long(buf,variable_const[V_DIRECTION],op->direction);      save_long(buf,variable_const[V_DIRECTION],op->direction);
   if(op->type!=op2->type)    if(op->type!=op2->type)
     save_long(buf,variable_const[V_TYPE],op->type);      save_long(buf,variable_const[V_TYPE],op->type);
   if(op->immune!=op2->immune)  
     save_long(buf,variable_const[V_IMMUNE],op->immune);  
   if(op->protected!=op2->protected)  
     save_long(buf,variable_const[V_PROTECTED],op->protected);  
   if(op->attacktype!=op2->attacktype)    if(op->attacktype!=op2->attacktype)
     save_long(buf,variable_const[V_ATTACKTYPE],op->attacktype);      save_long(buf,variable_const[V_ATTACKTYPE],op->attacktype);
   if(op->vulnerable!=op2->vulnerable)  
     save_long(buf,variable_const[V_VULNERABLE],op->vulnerable);    for (tmp=0; tmp < NROFATTACKS; tmp++) {
      if (op->resist[tmp] != op2->resist[tmp]) {
    sprintf(buf2,"resist_%s %d\n",resist_save[tmp], op->resist[tmp]);
    strcat(buf,buf2);
       }
     }
   
   if(op->path_attuned!=op2->path_attuned)    if(op->path_attuned!=op2->path_attuned)
     save_long(buf,variable_const[V_PATH_ATTUNED],op->path_attuned);      save_long(buf,variable_const[V_PATH_ATTUNED],op->path_attuned);
   if(op->path_repelled!=op2->path_repelled)    if(op->path_repelled!=op2->path_repelled)


Legend:
line(s) removed in v.1.5 
line(s) changed
 line(s) added in v.1.6

File made using version 1.98 of cvs2html by leaf at 2011-07-21 17:11