/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * The contents of this file are subject to the Netscape Public License
 * Version 1.0 (the "NPL"); you may not use this file except in
 * compliance with the NPL.  You may obtain a copy of the NPL at
 * http://www.mozilla.org/NPL/
 *
 * Software distributed under the NPL is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
 * for the specific language governing rights and limitations under the
 * NPL.
 *
 * The Initial Developer of this code under the NPL is Netscape
 * Communications Corporation.  Portions created by Netscape are
 * Copyright (C) 1998 Netscape Communications Corporation.  All Rights
 * Reserved.
 */

#define yy_create_buffer css__create_buffer
#define yy_delete_buffer css__delete_buffer
#define yy_scan_buffer css__scan_buffer
#define yy_scan_string css__scan_string
#define yy_scan_bytes css__scan_bytes
#define yy_flex_debug css__flex_debug
#define yy_init_buffer css__init_buffer
#define yy_flush_buffer css__flush_buffer
#define yy_load_buffer_state css__load_buffer_state
#define yy_switch_to_buffer css__switch_to_buffer
#define yyin css_in
#define yyleng css_leng
#define yylex css_lex
#define yyout css_out
#define yyrestart css_restart
#define yytext css_text
#define yywrap css_wrap

/* A lexical scanner generated by flex */

/* Scanner skeleton version:
 * $Header: /m/pub/ns/lib/libstyle/csslex.c,v 3.1 1998/03/28 03:32:11 ltabb Exp $
 */

#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5

#include <stdio.h>


/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
#ifdef c_plusplus
#ifndef __cplusplus
#define __cplusplus
#endif
#endif


#ifdef __cplusplus

#include <stdlib.h>
#include <unistd.h>

/* Use prototypes in function declarations. */
#define YY_USE_PROTOS

/* The "const" storage-class-modifier is valid. */
#define YY_USE_CONST

#else	/* ! __cplusplus */

#if __STDC__

#define YY_USE_PROTOS
#define YY_USE_CONST

#endif	/* __STDC__ */
#endif	/* ! __cplusplus */

#ifdef __TURBOC__
 #pragma warn -rch
 #pragma warn -use
#include <io.h>
#include <stdlib.h>
#define YY_USE_CONST
#define YY_USE_PROTOS
#endif

#ifdef YY_USE_CONST
#define yyconst const
#else
#define yyconst
#endif


#ifdef YY_USE_PROTOS
#define YY_PROTO(proto) proto
#else
#define YY_PROTO(proto) ()
#endif

/* Returned upon end-of-file. */
#define YY_NULL 0

/* Promotes a possibly negative, possibly signed char to an unsigned
 * integer for use as an array index.  If the signed char is negative,
 * we want to instead treat it as an 8-bit unsigned char, hence the
 * double cast.
 */
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)

/* Enter a start condition.  This macro really ought to take a parameter,
 * but we do it the disgusting crufty way forced on us by the ()-less
 * definition of BEGIN.
 */
#define BEGIN yy_start = 1 + 2 *

/* Translate the current start state into a value that can be later handed
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
 * compatibility.
 */
#define YY_START ((yy_start - 1) / 2)
#define YYSTATE YY_START

/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)

/* Special action meaning "start processing a new file". */
#define YY_NEW_FILE yyrestart( yyin )

#define YY_END_OF_BUFFER_CHAR 0

/* Size of default input buffer. */
#define YY_BUF_SIZE 16384

typedef struct yy_buffer_state *YY_BUFFER_STATE;

extern int yyleng;
extern FILE *yyin, *yyout;

#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2

/* The funky do-while in the following #define is used to turn the definition
 * int a single C statement (which needs a semi-colon terminator).  This
 * avoids problems with code like:
 *
 * 	if ( condition_holds )
 *		yyless( 5 );
 *	else
 *		do_something_else();
 *
 * Prior to using the do-while the compiler would get upset at the
 * "else" because it interpreted the "if" statement as being all
 * done when it reached the ';' after the yyless() call.
 */

/* Return all but the first 'n' matched characters back to the input stream. */

#define yyless(n) \
	do \
		{ \
		/* Undo effects of setting up yytext. */ \
		*yy_cp = yy_hold_char; \
		YY_RESTORE_YY_MORE_OFFSET \
		yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
		} \
	while ( 0 )

#define unput(c) yyunput( c, yytext_ptr )

/* The following is because we cannot portably get our hands on size_t
 * (without autoconf's help, which isn't available because we want
 * flex-generated scanners to compile on their own).
 */
typedef unsigned int yy_size_t;


struct yy_buffer_state
	{
	FILE *yy_input_file;

	char *yy_ch_buf;		/* input buffer */
	char *yy_buf_pos;		/* current position in input buffer */

	/* Size of input buffer in bytes, not including room for EOB
	 * characters.
	 */
	yy_size_t yy_buf_size;

	/* Number of characters read into yy_ch_buf, not including EOB
	 * characters.
	 */
	int yy_n_chars;

	/* Whether we "own" the buffer - i.e., we know we created it,
	 * and can realloc() it to grow it, and should free() it to
	 * delete it.
	 */
	int yy_is_our_buffer;

	/* Whether this is an "interactive" input source; if so, and
	 * if we're using stdio for input, then we want to use getc()
	 * instead of fread(), to make sure we stop fetching input after
	 * each newline.
	 */
	int yy_is_interactive;

	/* Whether we're considered to be at the beginning of a line.
	 * If so, '^' rules will be active on the next match, otherwise
	 * not.
	 */
	int yy_at_bol;

	/* Whether to try to fill the input buffer when we reach the
	 * end of it.
	 */
	int yy_fill_buffer;

	int yy_buffer_status;
#define YY_BUFFER_NEW 0
#define YY_BUFFER_NORMAL 1
	/* When an EOF's been seen but there's still some text to process
	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
	 * shouldn't try reading from the input source any more.  We might
	 * still have a bunch of tokens to match, though, because of
	 * possible backing-up.
	 *
	 * When we actually see the EOF, we change the status to "new"
	 * (via yyrestart()), so that the user can continue scanning by
	 * just pointing yyin at a new input file.
	 */
#define YY_BUFFER_EOF_PENDING 2
	};

static YY_BUFFER_STATE yy_current_buffer = 0;

/* We provide macros for accessing buffer states in case in the
 * future we want to put the buffer states in a more general
 * "scanner state".
 */
#define YY_CURRENT_BUFFER yy_current_buffer


/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;

static int yy_n_chars;		/* number of characters read into yy_ch_buf */


int yyleng;

/* Points to current character in buffer. */
static char *yy_c_buf_p = (char *) 0;
static int yy_init = 1;		/* whether we need to initialize */
static int yy_start = 0;	/* start state number */

/* Flag which is used to allow yywrap()'s to do buffer switches
 * instead of setting up a fresh yyin.  A bit of a hack ...
 */
static int yy_did_buffer_switch_on_eof;

void yyrestart YY_PROTO(( FILE *input_file ));

void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
void yy_load_buffer_state YY_PROTO(( void ));
YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )

YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *str ));
YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));

static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
static void yy_flex_free YY_PROTO(( void * ));

#define yy_new_buffer yy_create_buffer

#define yy_set_interactive(is_interactive) \
	{ \
	if ( ! yy_current_buffer ) \
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
	yy_current_buffer->yy_is_interactive = is_interactive; \
	}

#define yy_set_bol(at_bol) \
	{ \
	if ( ! yy_current_buffer ) \
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
	yy_current_buffer->yy_at_bol = at_bol; \
	}

#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)


#define YY_USES_REJECT
typedef unsigned char YY_CHAR;
FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
typedef int yy_state_type;
extern char *yytext;
#define yytext_ptr yytext

static yy_state_type yy_get_previous_state YY_PROTO(( void ));
static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
static int yy_get_next_buffer YY_PROTO(( void ));
static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));

/* Done after the current pattern has been matched and before the
 * corresponding action - sets up yytext.
 */
#define YY_DO_BEFORE_ACTION \
	yytext_ptr = yy_bp; \
	yyleng = (int) (yy_cp - yy_bp); \
	yy_hold_char = *yy_cp; \
	*yy_cp = '\0'; \
	yy_c_buf_p = yy_cp;

#define YY_NUM_RULES 101
#define YY_END_OF_BUFFER 102
static yyconst short int yy_acclist[746] =
    {   0,
       28,   28,   23,   23,  102,  100,  101,   15,  100,  101,
       15,  101,  100,  101,   14,  100,  101,  100,  101,  100,
      101,   13,  100,  101,  100,  101,  100,  101,  100,  101,
      100,  101,  100,  101,    7,  100,  101,    7,  100,  101,
       35,  100,  101,   28,  100,  101,   28,  101,   29,  100,
      101,   28,  100,  101,   23,  100,  101,   23,  101,   23,
      100,  101,   23,  100,  101,   23,  100,  101,   24,  100,
      101,   25,  100,  101,   26,  100,  101,   31,  100,  101,
       31,  101,   37,  100,  101,   37,  100,  101,   36,  100,
      101,  100,  101,   43,  100,  101,   43,  100,  101,   43,

      100,  101,   43,  100,  101,   32,  100,  101,  100,  101,
      100,  101,   76,  100,  101,  100,  101,   78,  100,  101,
       76,  100,  101,  100,  101,   76,  100,  101,   86,   95,
      100,  101,   95,  100,  101,   33,  100,  101,  100,  101,
       77,  100,  101,   77,  100,  101,   77,  100,  101,  100,
      101,   86,  100,  101,  100,  101,   77,  100,  101,   77,
      100,  101,   77,  100,  101,   77,  100,  101,   77,  100,
      101,   77,  100,  101,   77,  100,  101,   77,  100,  101,
      100,  101,  100,  101,   67,  100,  101,  100,  101,   61,
      100,  101,   52,  100,  101,  100,  101,  100,  101,  100,

      101,  100,  101,  100,  101,  100,  101,  100,  101,  100,
      101,  100,  101,  100,  101,   65,  100,  101,   65,  100,
      101,   65,  100,  101,   65,  100,  101,   65,  100,  101,
       65,  100,  101,   65,  100,  101,   65,  100,  101,   65,
      100,  101,   62,  100,  101,  100,  101,   63,  100,  101,
      100,  101,  100,  101,  100,  101,  100,  101,  100,  101,
      100,  101,  100,  101,  100,  101,  100,  101,  100,  101,
       99,  100,  101,   99,  100,  101,   99,  100,  101,   99,
      100,  101,   99,  100,  101,   99,  100,  101,   99,  100,
      101,   99,  100,  101,   99,  100,  101,   99,  100,  101,

      100,  101,  100,  101,  100,  101,  100,  101,  100,  101,
        6,   13,  100,  101,  100,  101,   15,   20,   27,   21,
       21,   21,    7,    7,    7,    7,   28,   29,   29,   30,
       23,   23,   22,   23,   23,   23,   23,   23,   27,   31,
       43,   43,   43,   43,   43,   43,   43,   79,   95,   85,
       95,   77,   77,   77,   77,   77,   77,   77,   77,   77,
       77,   77,   77,   77,   77,   77,   66,   51,   65,   65,
       65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
       65,   63,   63,   99,   99,   99,   99,   99,   99,   99,
       99,   99,   99,   99,   99,   99,   99,   20,   20,    2,

       21,   21,   21,   21,   21,    7,    7,    7,    7,   22,
       23,   22,   23,   23,   23,   23,   22,   23,   23,   23,
       43,   43,   43,   43,   43,   43,   43,   79,   79,16473,
    16477,16478,16475,16472,16474,16471,16476,   77,   77,   77,
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
       77,   75,   77,   77,   66,   66,16439,16443,16444,16441,
    16438,16440,16437,16442,   47,   65,   65,   65,   65,   65,
       65,   65,   65,   65,   65,   65,   65,   65,   65,   99,
       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
       99,   99,   99,   99,    1,   21,   21,   21,   21,   21,

        7,    7,   22,   23,   22,   23,   43,   43,   43,   43,
       39,   43,   43,   80, 8281, 8281, 8285, 8285, 8286, 8286,
     8283, 8283, 8280, 8280, 8282, 8282, 8279, 8279, 8284, 8284,
       77,   77,   77,   77,   77,   77,   72,   77,   77,   77,
       77,   77, 8247, 8247, 8251, 8251, 8252, 8252, 8249, 8249,
     8246, 8246, 8248, 8248, 8245, 8245, 8250, 8250,   65,   65,
       46,   65,   65,   65,   65,   65,   65,   65,   65,   65,
       65,   65,   65,   68,   69,   99,   99,   99,   99,   99,
       99,   99,   99,   96,   99,   99,   99,   99,   99,   98,
       99,    8,   21,   21,   21,   21,    7,    7,   23,   23,

       43,   43,   43,   43,   43,   43,   77,   77,   77,   77,
       74,   77,   77,   77,   77,   77,   65,   65,   65,   65,
       50,   65,   65,   65,   65,   65,   49,   65,   65,   65,
       65,   65,   99,   99,   99,   99,   99,   99,   97,   99,
       99,   99,   50,   49,    3,    8,   21,   21,   21,   21,
        7,   19,   19,   43,   43,   41,   43,   43,   43,   77,
       84,   84,   77,   73,   77,   77,   65,   46,   65,   44,
       65,   50,   65,   65,   49,   65,   48,   65,   65,   65,
       65,   65,   65,   65,   65,   64,   70,   99,   50,   49,
       10,   21,   21,   16,   21,   18,   43,   43,   43,   81,

       83,   77,   77,   77,   65,   65,   65,    5,   10,    9,
       17,   21,   18,   18,   43,   43,   43,   83,   83,   77,
       73,   77,   77,   65,    4,    9,   43,   42,   43,   43,
       77,   65,   38,   43,   40,   43,   34,   82,   77,   45,
       65,   11,   71,   77,   12
    } ;

static yyconst short int yy_accept[863] =
    {   0,
        1,    1,    1,    2,    3,    4,    5,    5,    5,    5,
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
        5,    5,    5,    5,    5,    6,    8,   11,   13,   15,
       18,   20,   22,   25,   27,   29,   31,   33,   35,   38,
       41,   44,   47,   49,   52,   55,   58,   60,   63,   66,
       69,   72,   75,   78,   81,   83,   86,   89,   92,   94,
       97,  100,  103,  106,  109,  111,  113,  116,  118,  121,
      124,  126,  129,  133,  136,  139,  141,  144,  147,  150,
      152,  155,  157,  160,  163,  166,  169,  172,  175,  178,
      181,  183,  185,  188,  190,  193,  196,  198,  200,  202,

      204,  206,  208,  210,  212,  214,  216,  219,  222,  225,
      228,  231,  234,  237,  240,  243,  246,  248,  251,  253,
      255,  257,  259,  261,  263,  265,  267,  269,  271,  274,
      277,  280,  283,  286,  289,  292,  295,  298,  301,  303,
      305,  307,  309,  311,  315,  317,  318,  318,  319,  319,
      319,  319,  319,  320,  320,  320,  320,  320,  320,  320,
      321,  322,  323,  324,  325,  326,  326,  327,  328,  329,
      330,  331,  332,  333,  335,  335,  336,  337,  337,  338,
      340,  341,  342,  343,  344,  344,  345,  346,  347,  348,
      348,  348,  348,  349,  349,  349,  349,  349,  350,  351,

      351,  352,  352,  352,  352,  352,  352,  353,  354,  355,
      355,  356,  357,  357,  357,  357,  358,  359,  360,  361,
      362,  363,  364,  365,  366,  367,  367,  368,  368,  368,
      368,  368,  369,  369,  369,  369,  369,  369,  369,  369,
      369,  369,  369,  369,  369,  369,  369,  369,  369,  370,
      371,  372,  372,  373,  374,  375,  376,  377,  378,  379,
      380,  381,  382,  383,  383,  384,  384,  384,  384,  384,
      384,  384,  384,  384,  384,  384,  384,  385,  386,  387,
      387,  388,  389,  390,  391,  392,  393,  394,  395,  396,
      397,  398,  398,  398,  398,  398,  398,  398,  398,  398,

      398,  399,  399,  399,  399,  400,  400,  400,  401,  401,
      401,  401,  401,  401,  402,  403,  404,  404,  405,  406,
      407,  408,  409,  410,  411,  411,  412,  414,  415,  415,
      416,  416,  417,  419,  420,  420,  421,  422,  423,  424,
      425,  426,  427,  428,  428,  428,  429,  429,  429,  429,
      429,  430,  430,  430,  431,  432,  433,  434,  435,  436,
      437,  438,  439,  440,  441,  442,  443,  444,  445,  446,
      447,  448,  449,  450,  451,  452,  454,  455,  455,  456,
      456,  456,  456,  457,  457,  457,  458,  459,  460,  461,
      462,  463,  464,  465,  466,  467,  468,  469,  470,  471,

      472,  473,  474,  475,  476,  477,  478,  479,  480,  480,
      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
      481,  482,  483,  484,  485,  486,  487,  488,  489,  490,
      491,  492,  493,  494,  495,  495,  495,  495,  495,  495,
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
      496,  497,  498,  499,  500,  501,  502,  503,  503,  504,
      504,  504,  505,  506,  506,  506,  507,  508,  509,  510,
      511,  513,  514,  514,  514,  515,  515,  516,  517,  518,
      519,  520,  521,  522,  523,  524,  525,  526,  527,  528,
      529,  530,  531,  532,  533,  533,  533,  534,  535,  536,

      537,  539,  540,  541,  542,  543,  543,  543,  544,  545,
      546,  547,  548,  549,  550,  551,  552,  553,  554,  555,
      556,  557,  558,  559,  560,  561,  563,  564,  565,  566,
      567,  568,  569,  570,  571,  572,  573,  574,  574,  574,
      574,  575,  575,  575,  576,  576,  576,  576,  577,  578,
      579,  580,  581,  582,  583,  584,  586,  587,  588,  589,
      590,  592,  592,  592,  592,  592,  592,  592,  592,  592,
      592,  592,  592,  592,  592,  592,  593,  593,  594,  595,
      596,  597,  598,  599,  599,  599,  599,  599,  599,  599,
      599,  600,  600,  601,  602,  603,  604,  605,  606,  607,

      607,  607,  607,  607,  608,  609,  609,  609,  609,  609,
      609,  609,  609,  609,  609,  610,  611,  613,  614,  615,
      616,  617,  617,  617,  618,  619,  620,  621,  623,  624,
      625,  626,  627,  629,  630,  631,  632,  633,  633,  633,
      633,  633,  633,  633,  633,  633,  634,  635,  636,  637,
      638,  639,  641,  642,  643,  644,  644,  645,  645,  645,
      645,  645,  645,  647,  647,  647,  647,  647,  648,  649,
      650,  651,  652,  652,  652,  653,  653,  653,  653,  653,
      653,  653,  653,  654,  654,  654,  655,  656,  658,  659,
      660,  660,  660,  661,  661,  661,  661,  661,  661,  661,

      662,  662,  662,  662,  662,  662,  662,  662,  663,  664,
      666,  667,  668,  670,  672,  674,  675,  677,  679,  680,
      681,  682,  683,  684,  685,  686,  687,  687,  688,  688,
      688,  688,  689,  690,  691,  691,  691,  691,  691,  691,
      691,  691,  692,  692,  692,  693,  694,  696,  696,  697,
      697,  697,  697,  697,  697,  697,  697,  697,  698,  699,
      700,  700,  701,  701,  701,  701,  701,  702,  702,  702,
      702,  702,  702,  702,  702,  702,  703,  704,  705,  706,
      707,  708,  708,  708,  708,  708,  708,  708,  710,  710,
      710,  711,  713,  713,  714,  714,  714,  715,  715,  716,

      717,  718,  718,  718,  718,  718,  718,  718,  719,  719,
      719,  720,  720,  721,  723,  724,  725,  725,  725,  725,
      725,  727,  727,  727,  727,  727,  728,  730,  731,  731,
      731,  731,  731,  731,  731,  732,  733,  733,  733,  733,
      733,  733,  733,  735,  737,  738,  738,  738,  738,  739,
      740,  742,  742,  742,  742,  742,  742,  743,  745,  745,
      746,  746
    } ;

static yyconst int yy_ec[256] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
        4,    4,    4,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    5,    6,    7,    8,    9,   10,    9,   11,   12,
       13,   14,   15,   16,   17,   18,   19,   20,   21,   22,
       23,   24,   25,   26,   27,   28,   29,   30,   31,   32,
        9,   33,    9,   34,   36,   37,   38,   39,   40,   41,
       42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
       52,   53,   54,   55,   56,   57,   58,   59,   60,   61,
        9,   35,    9,    9,    9,    9,   36,   37,   38,   39,

       40,   41,   42,   43,   44,   45,   46,   47,   48,   49,
       50,   51,   52,   53,   54,   55,   56,   57,   58,   59,
       60,   61,   62,    9,   63,    9,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,

       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
       64,   64,   64,   64,   64
    } ;

static yyconst int yy_meta[65] =
    {   0,
        1,    2,    2,    1,    3,    4,    5,    4,    4,    6,
        5,    4,    7,    8,    4,    4,    9,    3,   10,   11,
       11,   11,   11,   11,   11,   11,   11,   11,   11,    4,
       12,    4,    4,    4,   13,   14,   14,   15,   14,   15,
       14,   13,   13,   16,   13,   13,   13,   16,   13,   13,
       16,   13,   13,   13,   13,   13,   13,   13,   13,   13,
       13,   12,   12,   17
    } ;

static yyconst short int yy_base[1012] =
    {   0,
        0,    0,   62,   63,   64,   67,  130,    0,  194,    0,
      247,    0,  302,    0,  365,  427,  489,    0,  546,    0,
      596,    0,   50,   54, 2839, 7351,   85,   89,   62, 7351,
       68, 2819, 7351, 2819,   60, 2824,   64,  636, 2793,   65,
     7351,    0,    0,   90, 2811,    0,    0,  372,  408, 2810,
     7351, 7351, 7351,  108,  117, 7351, 2799, 7351,  658, 2776,
      227,  229,   71, 7351,  396,  254,    0,  255, 7351, 7351,
        0, 2796,  690,    0, 7351,  722, 2774,   81,  245,    0,
      754,    0,  243,  246,  247,  252,  365,  362,   90,  370,
      401,  402, 7351,    0, 2794,  796, 2787, 2786, 2785, 2776,

     2775, 2774, 2773, 2772, 2761,  828, 2745,  391,  383,  381,
      337,  422,  260,  425,  442, 7351,    0,  860, 2729, 2734,
      421, 2728, 2726, 2725, 2718, 2713,  371,  892, 2729,  428,
      427,  346,  434,  431,  432,  440,  433,  444,    0, 2727,
     2722, 2713,  472, 7351,  466,  494,  479, 7351,  927,  474,
      958, 2717, 7351, 2711, 2704, 2703, 2702, 2728,  980, 2709,
      465,  468, 2708, 1002, 2699, 1024,   38,    0,    0,  492,
     7351,    0,  722,    0,  505, 1065,  828,  499, 1129,    0,
      544, 2698, 1174, 2697, 1196,  483,  482,  495,  487,  564,
     2683,  519, 7351, 1231,    0,  521, 1262,  759, 7351,    0,

     1294, 2682,  502, 2669, 2669,  504, 2681, 1326, 2680, 1348,
      523,   67, 1368,    0, 1410,  516,  527,  520,  386,  592,
      248,  530,  580,  529,  489,  631, 7351, 1455,  617, 1486,
     1373, 7351,    0, 1518, 2666,  581, 2664, 2664,  592, 2690,
     2679, 2678, 2677, 2676, 2664, 2663, 2662, 2661, 2645, 1550,
     2644, 1572,  599,  538,  596,  533,  597,  600,  607,  542,
      655,  653, 1405,    0, 1604, 2625, 2624, 2638, 2621, 2620,
     2606, 2612, 2605, 2587, 2591, 2594, 2605, 1636, 2604, 1658,
      613,  636,  654,  666,  668,  686,  697,  602,  692,  658,
      721, 2585, 2587, 2589,  686, 2580, 2558, 2551, 2550,  732,

      761, 1693, 1728,  755,  760, 1759, 1790, 7351, 2538, 2529,
     2532, 2518, 2554, 2535, 1812, 2534, 1834,  687,  719, 1859,
     1904, 1926, 2556, 7351, 1961, 1243, 1467, 2002,  766, 2065,
     2119, 2160, 2165, 2228,  776, 2291, 2339, 2384, 2406, 2511,
     2517, 2500, 2499, 2502,  793,  802, 2441, 2476,    0,  777,
      778, 2507, 2538, 2488, 2487, 2486, 2477, 2476, 2475, 2474,
     2473, 2563, 2608, 2630, 2514, 2513, 2469, 2468, 2482, 2466,
     2467, 2479, 2470, 2466, 2458,    0, 2458,  808,  826, 2665,
     2700,  827,  860, 2731, 2762, 2442, 2430, 2429, 2427, 2426,
     2425, 2424, 2422, 2794, 2829, 2874, 2896, 2436, 2427, 2431,

     2429, 2416, 2411, 2414, 2410, 2420, 2407,  739, 2406, 2415,
     2408, 2413, 2406, 2400, 2397, 2382, 2383, 2378, 2405, 2921,
     2966, 2988, 2373, 2360, 2377, 2352, 2361, 2329, 2332, 2317,
     2358, 2327, 2314,  797, 2315, 2245, 2240, 2250, 2237,  825,
     2228, 2232, 2226, 3023, 3054, 2235, 2222, 2226, 2218, 7351,
     3079, 3124, 3146, 2206, 2210, 3171, 3216,  935,  838, 3251,
     3286, 3327,  864, 3381, 3412, 3453, 3501, 3546, 3568,  818,
      859,  860, 2208, 3604,    0, 3635, 7351, 7351, 7351, 7351,
     7351, 7351, 7351, 7351, 7351, 7351, 7351, 7351, 7351, 7351,
     7351, 7351, 3660, 3705,  891, 1322, 3727,  857,  853,  885,

     2197,  791,  855,  876,  754, 3771, 3802, 7351, 7351, 7351,
     7351, 7351, 7351, 7351, 7351, 7351, 7351, 7351, 7351, 7351,
     7351, 7351, 7351, 3827, 3872, 3894,  899, 2206,  904,  786,
      905,  884, 1201,  918,  921,  936,  489, 2208, 2196, 2192,
     7351, 2199, 2180, 7351, 2181, 2171, 2168, 3919, 3964, 3986,
     2180, 1202,  920,  933,  866, 2170, 2167, 2162,  629, 1235,
     2161, 2159, 2142, 2147, 2140, 2156, 2149, 2130, 2130, 2124,
     2121, 4021, 4052, 2096, 2097, 7351, 2096, 4077, 4122, 4144,
      936, 2115, 4166, 1226, 1388, 1546, 1257,  979, 1632, 4201,
     4242, 4296, 4337, 2107, 4382, 1223, 1254, 1286, 1289, 2085,

     4418,    0, 4449, 2087, 4471, 1308,    0, 2042, 1688, 2170,
     2177, 1273,  980, 2206,  962,  982, 2086,  983, 1004, 1008,
     1006, 4506, 4537, 2100, 4559,  702, 1169,  939, 1295, 1192,
     1309, 1170, 1362, 1361, 1345, 1242, 1227, 2087, 2093, 2096,
     2091, 2046, 2023, 2021, 2040, 2021, 4581, 1302, 1359, 1365,
     1369, 2020, 1195, 1304, 2001, 2005, 2010, 2004, 1989, 1982,
     1998, 1975, 7351, 1965, 1979, 2001, 1977, 1977, 4603, 1254,
     1371, 1979, 1956, 1439, 7351, 2824, 3768, 1411, 1602, 4638,
     1325, 4669, 2201, 4704, 4735, 1971, 1372, 1970,  969, 1385,
     1956,    0, 1945, 2005, 1483, 1515, 1498, 2436, 1734, 7351,

     4775, 4782, 1422, 1864, 4811, 1347, 4842, 2660, 1415, 1455,
     1423, 1959, 1958, 1945, 1943, 1372, 1939, 1938, 1497, 1425,
     1499, 1515, 1533, 1519, 1571, 7351, 1925, 7351, 1411, 1931,
     1451, 1925, 7351, 7351, 1904, 1916, 1891, 1895, 1889, 1895,
     1882, 7351, 1874, 1854, 1853, 1167, 1852, 2046, 7351, 1528,
     4789, 4877, 4912, 1549, 4795, 4943, 4974, 1477, 1522, 1560,
     1854, 7351, 1648,    0, 2268, 2184, 7351, 1612, 4809, 5009,
     5044, 1605, 5084, 5109, 5140, 1567, 1652, 1588, 1431, 1614,
     1657, 1842, 1815, 1817, 1796, 1804, 1796, 7351, 1803, 1663,
     7351, 1785, 5089, 1703, 5162, 5104, 1635, 5184, 1729, 1525,

     1698, 1774, 2272, 1756, 1787, 1802, 5224, 1739, 5240, 5236,
     1810, 5262, 1884, 1772, 1828, 1654, 1758, 1760, 1755, 1754,
     7351, 1738, 1742, 5284, 5306, 1667, 1735, 1581, 1721, 1974,
        0, 2232, 5328, 5350, 1619, 1673, 1732, 1737, 1719, 1724,
     1689, 1703, 1700, 1699, 7351, 2482, 2213, 2706, 7351, 1920,
     1691, 1689, 1675, 1652, 1587, 1542, 7351, 1439, 1398, 7351,
     7351, 5391, 5408, 5425, 5440, 5455, 5460, 5475, 5484, 5501,
     5518, 5535, 5552, 5569, 5584, 5593, 5608, 5615, 5628, 1370,
     5643, 5652, 1298, 5667, 5682, 1268, 5697, 5706, 1025, 5721,
     5730, 5745, 5760, 5775, 5790, 5799, 5808, 5823, 5840, 5857,

     5874, 5891, 5906, 5923, 5938, 5947, 5962, 5977, 5992, 5999,
     6012, 6027, 6039,  916, 6047, 6062, 6074,  863, 6088, 6103,
     6118, 6133, 6145,  780, 6153, 6168, 6180,  695, 6188, 6203,
     6218, 6233, 6248, 6263, 6272, 6287, 6302, 6319, 6334, 6349,
     6366, 6381, 6396, 6411, 6418, 6431, 6446, 6463, 6480, 6497,
     6514, 6531, 6548, 6565, 6582, 6597, 6612, 6627, 6642, 6659,
     6676, 6693, 6710, 6727, 6744, 6761, 6778, 6793, 6808, 6825,
     6840, 6855, 6870, 6885, 6900, 6907, 6920, 6936, 6947, 6962,
     6977, 6992, 7007, 7016, 7033, 7048, 7063, 7078, 7093, 7108,
     7115, 7128, 7144,  559, 7155, 7170, 7185, 7200, 7215, 7224,

     7233, 7248, 7263, 7278, 7285, 7299, 7308, 7323,  367, 7339,
      113
    } ;

static yyconst short int yy_def[1012] =
    {   0,
      861,    1,  862,  862,  863,  863,  861,    7,  861,    9,
        9,   11,  861,   13,  864,  864,  864,   17,   11,   19,
       16,   21,    1,    1,  861,  861,  861,  861,  865,  861,
      866,  861,  861,  861,  861,  861,  867,  868,  869,  869,
      861,  870,  870,  871,  870,  872,  872,  873,  874,  872,
      861,  861,  861,  861,  861,  861,  861,  861,  875,  876,
      876,  876,  876,  861,  861,  877,  878,  879,  861,  861,
      880,  861,  861,   73,  861,  881,  882,  882,  882,  883,
      861,   81,  882,  882,  882,  882,  882,  882,  882,  882,
      884,  885,  861,  886,  861,  861,   96,   96,   96,   96,

       96,   96,   96,   96,   96,  887,  888,  888,  888,  888,
      888,  888,  888,  888,  888,  861,  889,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  890,  891,  891,
      891,  891,  891,  891,  891,  891,  891,  891,   96,  861,
      861,  861,  861,  861,  861,  861,  865,  861,  892,  893,
      894,  861,  861,  861,  861,  861,  861,  861,  895,  896,
      896,  896,  897,  897,  897,  898,  897,  899,  900,  900,
      861,  901,  902,  901,  903,  861,  904,  905,  861,  901,
      861,  906,  906,  906,  907,  906,  906,  906,  906,  861,
      861,  908,  861,  909,  910,  911,  912,  913,  861,  914,

      861,  861,  861,  861,  861,  861,  915,  915,  915,  916,
      915,  915,  917,  918,  861,  915,  915,  915,  915,  915,
      915,  915,  915,  915,  915,  919,  861,  920,  921,  922,
      923,  861,  924,  861,  861,  861,  861,  861,  861,  234,
      234,  234,  234,  234,  234,  234,  234,  234,  925,  925,
      925,  926,  925,  925,  925,  925,  925,  925,  925,  925,
      925,  925,  927,  928,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  929,  929,  929,  930,
      929,  929,  929,  929,  929,  929,  929,  929,  929,  929,
      929,  861,  861,  861,  861,  861,  861,  861,  861,  931,

      931,  931,  932,  933,  933,  933,  934,  861,  861,  861,
      861,  861,  861,  935,  935,  935,  936,  935,  935,  861,
      320,  320,  321,  861,  937,  938,  938,  938,  939,  861,
      940,  941,  941,  941,  942,  861,  861,  337,  337,  338,
      338,  338,  338,  861,  943,  943,  943,  944,  945,  946,
      946,  946,  947,  948,  949,  950,  951,  952,  953,  954,
      955,  861,  362,  362,  363,  363,  363,  363,  363,  363,
      363,  363,  363,  363,  363,  363,  363,  956,  956,  956,
      957,  958,  958,  958,  959,  960,  961,  962,  963,  964,
      965,  966,  967,  861,  861,  395,  395,  396,  396,  396,

      396,  396,  396,  396,  396,  396,  396,  396,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      420,  420,  421,  421,  421,  421,  421,  421,  421,  421,
      421,  421,  421,  421,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  968,  969,  861,  861,  861,  861,  861,
      861,  451,  451,  452,  452,  861,  456,  970,  971,  971,
      972,  861,  973,  973,  974,  861,  861,  467,  467,  469,
      469,  469,  861,  975,  976,  977,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  493,  978,  979,  493,  497,  497,  497,

      497,  497,  497,  497,  497,  980,  981,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  524,  524,  526,  526,  526,  526,
      526,  526,  526,  526,  526,  526,  526,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  548,  548,
      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
      550,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  982,  983,  861,  861,  861,  861,  861,  578,  578,
      580,  984,  984,  985,  985,  985,  986,  987,  985,  988,
      861,  989,  861,  469,  469,  469,  469,  469,  469,  861,

      990,  991,  992,  497,  493,  993,  994,  993,  995,  995,
      995,  996,  997,  995,  497,  497,  497,  497,  497,  497,
      497,  998,  999, 1000, 1000, 1000, 1000, 1000, 1000, 1000,
     1000, 1000, 1000, 1000, 1000, 1000, 1000,  861,  861,  861,
      861,  861,  861,  861,  861, 1001, 1001, 1001, 1001, 1001,
     1001, 1001, 1001, 1001,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  580,  580,  580,
      580,  984,  985,  861,  861,  985,  985,  986,  861, 1002,
      987, 1003,  985, 1004,  989,  469,  469,  469,  469,  469,
      861, 1005,  497,  994,  861,  861, 1006,  995,  861,  861,

      995,  995,  996,  861, 1007,  997, 1008,  995,  497,  497,
      497, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000,
     1000, 1000, 1000, 1000, 1000,  861,  861,  861,  861,  861,
      861, 1001,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  580,  580,  580,  861,  861,  986,
      986,  986, 1002,  987,  987,  987, 1003,  469,  469,  469,
      861,  861, 1006, 1009,  763,  861,  861,  996,  996,  996,
     1007,  997,  997,  997, 1008,  497,  497,  497, 1000, 1000,
     1000,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  580,  986,  986,  752,  987,  987,  756,  469,  469,

      469,  861, 1009,  861,  861, 1010,  996,  996,  770,  997,
      997,  774,  497,  497,  497, 1000,  861,  861,  861,  861,
      861,  861,  861,  752,  756,  469,  469,  469,  861, 1010,
     1011,  830,  770,  774,  497, 1000,  861,  861,  861,  861,
      861,  861,  469,  469,  861, 1011,  861,  861,  861,  497,
     1000,  861,  861,  861,  861,  861,  861,  497,  861,  861,
        0,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,

      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,

      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861
    } ;

static yyconst short int yy_nxt[7416] =
    {   0,
       26,   27,   28,   27,   27,   26,   29,   30,   26,   26,
       31,   26,   26,   26,   26,   30,   32,   33,   34,   26,
       26,   26,   26,   26,   26,   26,   26,   26,   26,   35,
       30,   36,   26,   37,   38,   39,   39,   39,   39,   39,
       39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
       39,   39,   39,   39,   39,   40,   39,   39,   39,   39,
       39,   41,   26,   39,   43,   43,   47,  144,  148,   47,
       48,  144,  166,   48,   49,   44,   44,   49,  148,  145,
       45,   45,   50,  145,  323,   50,  146,  146,  146,  146,
      146,  146,  146,  146,   51,  154,  149,   51,  159,  166,

      155,  210,  151,  170,  161,  185,  156,  162,  171,  181,
      181,  181,  181,  366,  189,  210,  157,  167,  181,  181,
      181,  181,  211,  846,  210,   52,   53,  223,   52,   53,
       26,   54,   55,   54,   54,   26,   26,   56,   26,   26,
       26,   26,   26,   26,   56,   56,   56,   26,   57,   26,
       26,   26,   26,   26,   26,   26,   26,   26,   26,   58,
       56,   26,   26,   26,   59,   60,   61,   60,   60,   60,
       62,   60,   60,   60,   60,   60,   63,   60,   60,   60,
       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
       60,   26,   64,   60,   26,   54,   55,   54,   54,   65,

       66,   67,   26,   26,   68,   69,   69,   26,   70,   70,
       70,   71,   72,   73,   74,   74,   74,   74,   74,   74,
       74,   74,   74,   70,   75,   26,   26,   26,   76,   77,
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
       77,   77,   77,   77,   77,   77,   78,   77,   77,   79,
       77,   77,   77,   77,   77,   26,   64,   77,   26,   26,
      193,  185,  186,  185,   80,  193,   81,   82,   82,   82,
       82,   82,   82,   82,   82,   82,  187,  210,  188,  210,
      210,  210,  210,   83,   84,  217,  210,   85,  194,  197,
      218,  219,  216,   86,  252,   87,  259,  212,  373,   88,

       89,   90,   26,   54,   55,   54,   54,   65,   91,   26,
       26,   26,   92,   26,   26,   26,   93,   93,   26,   94,
       95,   96,   97,   98,   99,  100,  101,  102,  103,  104,
      105,   93,   75,   26,   26,   26,  106,  107,  108,  107,
      107,  107,  107,  107,  107,  109,  107,  107,  110,  111,
      112,  113,  107,  107,  107,  114,  107,  107,  107,  107,
      115,  107,  107,   26,   64,  107,   54,   55,   54,   54,
       65,  252,  172,  172,  172,  172,  257,  803,  174,  116,
      280,  116,  117,   34,  118,  118,  118,  118,  118,  118,
      118,  118,  118,  118,  284,   75,  210,  190,  190,  210,

      190,  221,  175,  211,  210,  222,  176,  227,  172,  172,
      172,  172,  227,  119,  220,  252,  255,  252,  174,  224,
      210,  275,  225,  276,  256,  252,  370,   64,   54,   55,
       54,   54,   65,  175,  175,  228,  230,  254,  178,  191,
      253,  116,  179,  116,  117,   34,  118,  118,  118,  118,
      118,  118,  118,  118,  118,  118,  252,   75,  261,  252,
      268,  280,  280,  281,  269,  280,  280,  280,  280,  178,
      178,  258,  260,  285,  280,  119,  252,  282,  280,  283,
      286,  288,  290,  289,  148,  148,  291,  287,  295,   64,
       54,   55,   54,   54,   65,  146,  146,  146,  146,  317,

      262,  297,  317,   93,   93,  170,  155,   34,  151,  324,
      171,  324,  298,  149,  318,  319,  185,  185,   93,   75,
      340,  185,  299,  210,  377,  193,  120,  121,  251,  185,
      296,  193,  122,  331,  341,  123,  637,  124,  125,  325,
      343,  359,  126,  342,  127,  181,  181,  181,  181,  355,
      210,   64,   26,  194,  210,  197,   26,  210,  360,  365,
      356,  210,  361,  210,  210,  190,  190,  252,  190,  694,
      367,  374,  252,  399,  401,  368,  252,  405,  369,  376,
      128,  129,  129,  129,  130,  129,  129,  131,  129,  132,
      129,  129,  129,  133,  134,  135,  129,  129,  136,  137,

      138,  129,  129,  129,  129,  129,  129,  191,  371,  129,
       93,   93,   26,   94,  210,   96,  139,  139,  139,  139,
      139,  139,  139,  139,  139,   93,  210,  227,  387,  391,
      252,  252,  375,  252,  252,  402,  280,  227,  431,  388,
      372,  252,  140,  141,   26,  398,  392,  280,  400,  142,
      393,  230,  403,  404,  143,  164,  164,  164,  164,  164,
      164,  164,  164,  164,  164,  228,  423,  556,  279,  408,
      280,  164,  164,  164,  164,  164,  164,  183,  183,  183,
      183,  183,  183,  183,  183,  183,  183,  252,  280,  252,
      424,  425,  280,  183,  183,  183,  183,  183,  183,  199,

      280,  406,  280,  426,  433,  263,  428,  200,  407,  201,
      201,  201,  201,  201,  201,  201,  201,  201,  201,  427,
      280,  317,  172,  172,  172,  172,  280,  202,  174,  203,
      432,  280,  438,  204,  429,  454,  252,  205,  148,  439,
      206,  208,  208,  208,  208,  208,  208,  208,  208,  208,
      208,  430,  175,  317,  713,  280,  176,  208,  208,  208,
      208,  208,  208,  199,  434,  148,  149,  148,  199,  455,
      148,  214,  324,  215,  215,  215,  215,  215,  215,  215,
      215,  215,  215,  175,  175,  536,  324,  193,  193,  151,
      231,  202,  537,  203,  151,  149,  202,  204,  203,  193,

      325,  205,  204,  209,  206,  232,  205,  621,  193,  206,
      331,  197,  197,  233,  227,  234,  234,  234,  234,  234,
      234,  234,  234,  234,  234,  251,  619,  194,  172,  172,
      172,  172,  227,  235,  560,  236,  194,  227,  174,  237,
      209,  630,  228,  238,  324,  561,  239,  250,  250,  250,
      250,  250,  250,  250,  250,  250,  250,  597,  178,  184,
      228,  230,  179,  250,  250,  250,  250,  250,  250,  232,
      227,  567,  325,  213,  324,  598,  599,  264,  568,  265,
      265,  265,  265,  265,  265,  265,  265,  265,  265,  178,
      178,  617,  606,  606,  230,  606,  616,  235,  331,  236,

      184,  184,  209,  237,  209,  279,  209,  238,  607,  376,
      239,  278,  278,  278,  278,  278,  278,  278,  278,  278,
      278,  653,  620,  251,  618,  209,  198,  278,  278,  278,
      278,  278,  278,  301,  209,  632,  585,  586,  251,  586,
      631,  587,  627,  251,  251,  588,  302,  302,  302,  302,
      302,  302,  302,  302,  302,  302,  635,  251,  629,  279,
      251,  303,  302,  302,  302,  302,  302,  302,  305,  589,
      634,  636,  279,  252,  316,  251,  651,  306,  306,  306,
      306,  306,  306,  306,  306,  306,  306,  652,  671,  679,
      704,  715,  307,  306,  306,  306,  306,  306,  306,  315,

      315,  315,  315,  315,  315,  315,  315,  315,  315,  376,
      184,  209,  759,  682,  707,  315,  315,  315,  315,  315,
      315,  320,  320,  320,  320,  320,  320,  320,  320,  320,
      320,  209,  209,  709,  376,  263,  166,  320,  320,  320,
      320,  320,  320,  322,  322,  322,  322,  322,  322,  322,
      322,  322,  322,  209,  617,  209,  711,  209,  710,  322,
      322,  322,  322,  322,  322,  172,  172,  172,  172,  326,
      326,  327,  326,  326,  326,  326,  326,  326,  326,  326,
      326,  326,  326,  326,  328,  328,  328,  328,  328,  328,
      328,  328,  328,  328,  326,  329,  326,  326,  326,  330,

      328,  328,  328,  328,  328,  328,  326,  326,  326,  326,
      326,  326,  326,  326,  326,  326,  326,  326,  326,  326,
      326,  326,  326,  326,  326,  326,  329,  329,  326,  172,
      172,  172,  172,  332,  332,  332,  332,  332,  332,  333,
      332,  332,  332,  332,  332,  332,  332,  332,  334,  334,
      334,  334,  334,  334,  334,  334,  334,  334,  332,  335,
      332,  332,  332,  336,  334,  334,  334,  334,  334,  334,
      332,  332,  332,  332,  332,  332,  332,  332,  332,  332,
      332,  332,  332,  332,  332,  332,  332,  332,  332,  332,
      335,  335,  332,  337,  337,  337,  337,  337,  337,  337,

      337,  337,  337,  252,  252,  316,  714,  792,  185,  337,
      337,  337,  337,  337,  337,  339,  339,  339,  339,  339,
      339,  339,  339,  339,  339,  719,  252,  673,  674,  280,
      674,  339,  339,  339,  339,  339,  339,  346,  675,  717,
      251,  279,  561,  172,  172,  172,  172,  633,  650,  174,
      347,  347,  347,  347,  347,  347,  347,  347,  347,  347,
      589,  252,  725,  679,  184,  348,  347,  347,  347,  347,
      347,  347,  351,  175,  279,  687,  252,  176,  231,  704,
      561,  352,  352,  352,  352,  352,  352,  352,  352,  352,
      352,  680,  316,  746,  724,  184,  353,  352,  352,  352,

      352,  352,  352,  199,  175,  175,  688,  705,  213,  606,
      606,  200,  606,  201,  201,  201,  201,  201,  201,  201,
      201,  201,  201,  610,  611,  607,  611,  184,  612,  252,
      184,  202,  613,  203,  716,  679,  280,  204,  280,  689,
      556,  205,  690,  252,  206,  362,  362,  362,  362,  362,
      362,  362,  362,  362,  362,  718,  614,  704,  652,  682,
      210,  362,  362,  362,  362,  362,  362,  364,  364,  364,
      364,  364,  364,  364,  364,  364,  364,  199,  720,  252,
      198,  707,  232,  364,  364,  364,  364,  364,  364,  676,
      677,  723,  677,  280,  587,  252,  252,  556,  588,  280,

      675,  721,  722,  280,  556,  202,  252,  203,  652,  316,
      235,  204,  236,  184,  232,  205,  237,  679,  206,  199,
      238,  758,  589,  239,  713,  747,  184,  214,  704,  215,
      215,  215,  215,  215,  215,  215,  215,  215,  215,  760,
      674,  674,  235,  674,  236,  680,  782,  202,  237,  203,
      860,  675,  238,  204,  776,  239,  705,  205,  778,  252,
      206,  379,  779,  783,  209,  252,  816,  172,  172,  172,
      172,  777,  209,  174,  380,  380,  380,  380,  380,  380,
      380,  380,  380,  380,  695,  695,  784,  695,  209,  381,
      380,  380,  380,  380,  380,  380,  383,  175,  697,  763,

      763,  176,  763,  785,  209,  384,  384,  384,  384,  384,
      384,  384,  384,  384,  384,  764,  695,  695,  184,  695,
      385,  384,  384,  384,  384,  384,  384,  232,  175,  175,
      697,  252,  799,  252,  679,  233,  714,  234,  234,  234,
      234,  234,  234,  234,  234,  234,  234,  585,  586,  252,
      586,  715,  587,  252,  715,  235,  588,  236,  861,  679,
      780,  237,  680,  184,  827,  238,  184,  252,  239,  395,
      395,  395,  395,  395,  395,  395,  395,  395,  395,  717,
      589,  859,  800,  682,  252,  395,  395,  395,  395,  395,
      395,  397,  397,  397,  397,  397,  397,  397,  397,  397,

      397,  184,  813,  748,  748,  252,  748,  397,  397,  397,
      397,  397,  397,  232,  749,  704,  209,  781,  704,  801,
      844,  264,  184,  265,  265,  265,  265,  265,  265,  265,
      265,  265,  265,  673,  674,  541,  673,  209,  584,  707,
      815,  235,  584,  236,  683,  679,  705,  237,  252,  763,
      763,  238,  763,  715,  239,  420,  420,  420,  420,  420,
      420,  420,  420,  420,  420,  764,  589,  850,  209,  682,
      280,  420,  420,  420,  420,  420,  420,  422,  422,  422,
      422,  422,  422,  422,  422,  422,  422,  541,  252,  698,
      699,  252,  699,  422,  422,  422,  422,  422,  422,  148,

      700,  209,  822,  717,  836,  843,  823,  252,  184,  679,
      814,  814,  444,  444,  444,  444,  444,  444,  444,  444,
      444,  444,  614,  541,  541,  252,  851,  149,  444,  444,
      444,  444,  444,  444,  301,  699,  699,  680,  699,  184,
      184,  184,  857,  856,  828,  704,  700,  302,  302,  302,
      302,  302,  302,  302,  302,  302,  302,  804,  804,  855,
      804,  854,  303,  302,  302,  302,  302,  302,  302,  148,
      184,  806,  853,  705,  852,  845,  184,  826,  445,  445,
      445,  445,  445,  445,  445,  445,  445,  445,  804,  804,
      842,  804,  841,  151,  445,  445,  445,  445,  445,  445,

      305,  840,  806,  830,  830,  839,  830,  838,  837,  306,
      306,  306,  306,  306,  306,  306,  306,  306,  306,  831,
      704,  209,  829,  316,  307,  306,  306,  306,  306,  306,
      306,  451,  451,  451,  451,  451,  451,  451,  451,  451,
      451,  821,  734,  733,  707,  820,  317,  451,  451,  451,
      451,  451,  451,  453,  453,  453,  453,  453,  453,  453,
      453,  453,  453,  819,  818,  766,  766,  835,  766,  453,
      453,  453,  453,  453,  453,  165,  767,  209,  456,  456,
      456,  456,  456,  456,  456,  456,  456,  456,  817,  802,
      316,  316,  791,  166,  456,  456,  456,  456,  456,  456,

      165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
      165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
      790,  789,  165,  165,  165,  165,  165,  165,  165,  165,
      165,  165,  165,  209,  788,  787,  786,  734,  814,  165,
      165,  165,  165,  165,  165,  457,  457,  457,  457,  457,
      457,  457,  457,  457,  457,  733,  733,  673,  674,  280,
      674,  457,  457,  457,  457,  457,  457,  459,  675,  209,
      728,  541,  252,  252,  858,  830,  830,  252,  830,  252,
      460,  460,  460,  460,  460,  460,  460,  460,  460,  460,
      589,  831,  252,  252,  209,  461,  460,  460,  460,  460,

      460,  460,  172,  172,  172,  172,  695,  695,  174,  695,
      761,  184,  184,  166,  696,  316,  744,  743,  742,  741,
      697,  462,  462,  462,  462,  462,  462,  462,  462,  462,
      462,  740,  175,  739,  738,  737,  176,  462,  462,  462,
      462,  462,  462,  695,  695,  736,  695,  748,  748,  735,
      748,  696,  734,  733,  280,  280,  731,  697,  749,  607,
      541,  730,  729,  175,  175,  172,  172,  172,  172,  326,
      326,  327,  326,  326,  326,  326,  326,  326,  326,  326,
      326,  326,  326,  326,  328,  328,  328,  328,  328,  328,
      328,  328,  328,  328,  326,  329,  326,  326,  326,  330,

      328,  328,  328,  328,  328,  328,  326,  326,  326,  326,
      326,  326,  326,  326,  326,  326,  326,  326,  326,  326,
      326,  326,  326,  326,  326,  326,  329,  329,  326,  463,
      728,  727,  541,  726,  252,  209,  209,  691,  464,  464,
      464,  464,  464,  464,  464,  464,  464,  464,  184,  166,
      667,  666,  665,  465,  464,  464,  464,  464,  464,  464,
      172,  172,  172,  172,  664,  172,  172,  172,  172,  663,
      174,  701,  702,  662,  702,  174,  612,  661,  610,  611,
      613,  611,  700,  612,  660,  766,  766,  613,  766,  861,
      178,  659,  658,  657,  179,  178,  767,  656,  655,  179,

      279,  652,  673,  674,  614,  674,  654,  698,  699,  279,
      698,  614,  609,  675,  847,  847,  609,  847,  708,  649,
      645,  178,  178,  644,  643,  849,  178,  178,  172,  172,
      172,  172,  642,  847,  847,  589,  847,  641,  174,  640,
      614,  848,  639,  638,  849,  628,  209,  466,  466,  466,
      466,  466,  466,  466,  466,  466,  466,  600,  178,  581,
      580,  577,  179,  466,  466,  466,  466,  466,  466,  804,
      804,  576,  804,  804,  804,  575,  804,  805,  574,  571,
      570,  805,  569,  806,  566,  565,  564,  806,  563,  178,
      178,  172,  172,  172,  172,  332,  332,  332,  332,  332,

      332,  333,  332,  332,  332,  332,  332,  332,  332,  332,
      334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
      332,  335,  332,  332,  332,  336,  334,  334,  334,  334,
      334,  334,  332,  332,  332,  332,  332,  332,  332,  332,
      332,  332,  332,  332,  332,  332,  332,  332,  332,  332,
      332,  332,  335,  335,  332,  184,  562,  559,  467,  467,
      467,  467,  467,  467,  467,  467,  467,  467,  558,  495,
      557,  556,  555,  185,  467,  467,  467,  467,  467,  467,
      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,

      554,  553,  184,  184,  184,  184,  184,  184,  184,  184,
      184,  184,  184,  552,  551,  550,  496,  547,  546,  184,
      184,  184,  184,  184,  184,  468,  468,  468,  468,  468,
      468,  468,  468,  468,  468,  545,  544,  698,  699,  543,
      699,  468,  468,  468,  468,  468,  468,  193,  700,  542,
      541,  540,  539,  538,  535,  534,  533,  532,  531,  530,
      474,  474,  474,  474,  474,  474,  474,  474,  474,  474,
      614,  529,  528,  527,  526,  194,  474,  474,  474,  474,
      474,  474,  346,  847,  847,  523,  847,  521,  519,  517,
      515,  848,  513,  511,  849,  347,  347,  347,  347,  347,

      347,  347,  347,  347,  347,  509,  505,  504,  503,  502,
      348,  347,  347,  347,  347,  347,  347,  193,  501,  500,
      376,  499,  498,  497,  496,  495,  476,  476,  476,  476,
      476,  476,  476,  476,  476,  476,  492,  490,  488,  486,
      484,  197,  476,  476,  476,  476,  476,  476,  351,  482,
      480,  478,  473,  472,  471,  470,  469,  352,  352,  352,
      352,  352,  352,  352,  352,  352,  352,  458,  317,  317,
      450,  449,  353,  352,  352,  352,  352,  352,  352,  209,
      448,  447,  493,  493,  493,  493,  493,  493,  493,  493,
      493,  493,  446,  443,  442,  441,  440,  210,  493,  493,

      493,  493,  493,  493,  209,  209,  209,  209,  209,  209,
      209,  209,  209,  209,  209,  209,  209,  209,  209,  209,
      209,  209,  209,  209,  437,  436,  209,  209,  209,  209,
      209,  209,  209,  209,  209,  209,  209,  435,  280,  280,
      419,  418,  417,  209,  209,  209,  209,  209,  209,  494,
      494,  494,  494,  494,  494,  494,  494,  494,  494,  416,
      415,  698,  699,  414,  699,  494,  494,  494,  494,  494,
      494,  227,  700,  413,  412,  411,  410,  409,  252,  252,
      394,  394,  394,  394,  506,  506,  506,  506,  506,  506,
      506,  506,  506,  506,  614,  394,  394,  394,  394,  228,

      506,  506,  506,  506,  506,  506,  379,  847,  847,  394,
      847,  390,  389,  386,  210,  210,  358,  357,  849,  380,
      380,  380,  380,  380,  380,  380,  380,  380,  380,  354,
      344,  185,  185,  166,  381,  380,  380,  380,  380,  380,
      380,  227,  166,  317,  313,  312,  311,  310,  309,  308,
      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
      294,  293,  292,  280,  274,  230,  507,  507,  507,  507,
      507,  507,  383,  273,  272,  271,  270,  267,  266,  252,
      248,  384,  384,  384,  384,  384,  384,  384,  384,  384,
      384,  247,  246,  245,  244,  243,  385,  384,  384,  384,

      384,  384,  384,  232,  242,  241,  240,  153,  210,  153,
      185,  233,  153,  234,  234,  234,  234,  234,  234,  234,
      234,  234,  234,  180,  153,  676,  677,  166,  677,  158,
      587,  235,  153,  236,  588,  152,  675,  237,  861,  861,
      861,  238,  861,  861,  239,  251,  861,  861,  524,  524,
      524,  524,  524,  524,  524,  524,  524,  524,  589,  861,
      861,  861,  861,  252,  524,  524,  524,  524,  524,  524,
      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
      861,  861,  251,  251,  251,  251,  251,  251,  251,  251,

      251,  251,  251,  861,  861,  861,  861,  861,  861,  251,
      251,  251,  251,  251,  251,  525,  525,  525,  525,  525,
      525,  525,  525,  525,  525,  861,  861,  861,  861,  861,
      861,  525,  525,  525,  525,  525,  525,  279,  861,  861,
      548,  548,  548,  548,  548,  548,  548,  548,  548,  548,
      861,  861,  861,  861,  861,  280,  548,  548,  548,  548,
      548,  548,  279,  279,  279,  279,  279,  279,  279,  279,
      279,  279,  279,  279,  279,  279,  279,  279,  279,  279,
      279,  279,  861,  861,  279,  279,  279,  279,  279,  279,
      279,  279,  279,  279,  279,  861,  861,  861,  861,  861,

      861,  279,  279,  279,  279,  279,  279,  549,  549,  549,
      549,  549,  549,  549,  549,  549,  549,  861,  861,  861,
      861,  861,  861,  549,  549,  549,  549,  549,  549,  148,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  572,  572,  572,  572,  572,  572,  572,  572,
      572,  572,  861,  861,  861,  861,  861,  149,  572,  572,
      572,  572,  572,  572,  148,  861,  861,  861,  861,  861,
      861,  861,  861,  573,  573,  573,  573,  573,  573,  573,
      573,  573,  573,  861,  861,  861,  861,  861,  151,  573,
      573,  573,  573,  573,  573,  316,  861,  861,  578,  578,

      578,  578,  578,  578,  578,  578,  578,  578,  861,  861,
      861,  861,  861,  317,  578,  578,  578,  578,  578,  578,
      316,  316,  316,  316,  316,  316,  316,  316,  316,  316,
      316,  316,  316,  316,  316,  316,  316,  316,  316,  316,
      861,  861,  316,  316,  316,  316,  316,  316,  316,  316,
      316,  316,  316,  861,  861,  861,  861,  861,  861,  316,
      316,  316,  316,  316,  316,  579,  579,  579,  579,  579,
      579,  579,  579,  579,  579,  861,  861,  861,  861,  861,
      861,  579,  579,  579,  579,  579,  579,  165,  861,  861,
      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,

      861,  861,  861,  861,  861,  166,  582,  582,  582,  582,
      582,  582,  165,  165,  165,  165,  165,  165,  165,  165,
      165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
      165,  165,  861,  861,  165,  583,  583,  583,  583,  583,
      583,  583,  583,  583,  583,  861,  861,  861,  861,  861,
      861,  583,  583,  583,  583,  583,  583,  324,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      590,  590,  590,  590,  590,  590,  590,  590,  590,  590,
      861,  861,  861,  861,  861,  325,  590,  590,  590,  590,
      590,  590,  459,  861,  861,  861,  861,  861,  861,  861,

      861,  861,  861,  861,  861,  460,  460,  460,  460,  460,
      460,  460,  460,  460,  460,  861,  861,  861,  861,  861,
      461,  460,  460,  460,  460,  460,  460,  172,  172,  172,
      172,  173,  173,  174,  173,  173,  173,  173,  173,  173,
      173,  173,  173,  173,  173,  173,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  173,  175,  173,  173,
      173,  176,  591,  591,  591,  591,  591,  591,  173,  173,
      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
      173,  173,  173,  173,  173,  173,  173,  173,  175,  175,
      173,  324,  861,  861,  861,  861,  861,  861,  861,  861,

      592,  592,  592,  592,  592,  592,  592,  592,  592,  592,
      861,  861,  861,  861,  861,  331,  592,  592,  592,  592,
      592,  592,  463,  861,  861,  861,  861,  861,  861,  861,
      861,  464,  464,  464,  464,  464,  464,  464,  464,  464,
      464,  861,  861,  861,  861,  861,  465,  464,  464,  464,
      464,  464,  464,  172,  172,  172,  172,  177,  177,  177,
      177,  177,  177,  174,  177,  177,  177,  177,  177,  177,
      177,  177,  593,  593,  593,  593,  593,  593,  593,  593,
      593,  593,  177,  178,  177,  177,  177,  179,  593,  593,
      593,  593,  593,  593,  177,  177,  177,  177,  177,  177,

      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
      177,  177,  177,  177,  178,  178,  177,  184,  861,  861,
      594,  594,  594,  594,  594,  594,  594,  594,  594,  594,
      861,  861,  861,  861,  861,  185,  594,  594,  594,  594,
      594,  594,  184,  184,  184,  184,  184,  184,  184,  184,
      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
      184,  184,  861,  861,  184,  595,  595,  595,  595,  595,
      595,  595,  595,  595,  595,  861,  861,  861,  861,  861,
      861,  595,  595,  595,  595,  595,  595,  184,  184,  184,
      184,  184,  184,  184,  184,  184,  184,  861,  861,  861,

      861,  861,  861,  184,  184,  184,  184,  184,  184,  596,
      193,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  601,  601,  601,  601,  601,  601,  601,
      601,  601,  601,  861,  861,  861,  861,  861,  194,  601,
      601,  601,  601,  601,  601,  193,  861,  861,  861,  861,
      861,  861,  861,  861,  603,  603,  603,  603,  603,  603,
      603,  603,  603,  603,  861,  861,  861,  861,  861,  197,
      603,  603,  603,  603,  603,  603,  209,  861,  861,  604,
      604,  604,  604,  604,  604,  604,  604,  604,  604,  861,
      861,  861,  861,  861,  210,  604,  604,  604,  604,  604,

      604,  209,  209,  209,  209,  209,  209,  209,  209,  209,
      209,  209,  209,  209,  209,  209,  209,  209,  209,  209,
      209,  861,  861,  209,  605,  605,  605,  605,  605,  605,
      605,  605,  605,  605,  861,  861,  861,  861,  861,  861,
      605,  605,  605,  605,  605,  605,  209,  209,  209,  209,
      209,  209,  209,  209,  209,  209,  861,  861,  861,  861,
      861,  861,  209,  209,  209,  209,  209,  209,  861,  676,
      677,  861,  677,  861,  587,  861,  615,  227,  588,  861,
      675,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      622,  622,  622,  622,  622,  622,  622,  622,  622,  622,

      861,  861,  589,  861,  861,  228,  622,  622,  622,  622,
      622,  622,  227,  861,  861,  861,  861,  861,  861,  861,
      861,  623,  623,  623,  623,  623,  623,  623,  623,  623,
      623,  861,  861,  861,  861,  861,  230,  623,  623,  623,
      623,  623,  623,  251,  861,  861,  624,  624,  624,  624,
      624,  624,  624,  624,  624,  624,  861,  861,  861,  861,
      861,  252,  624,  624,  624,  624,  624,  624,  251,  251,
      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
      251,  251,  251,  251,  251,  251,  251,  251,  861,  861,
      251,  625,  625,  625,  625,  625,  625,  625,  625,  625,

      625,  861,  861,  861,  861,  861,  861,  625,  625,  625,
      625,  625,  625,  251,  251,  251,  251,  251,  251,  251,
      251,  251,  251,  861,  861,  861,  861,  861,  861,  251,
      251,  251,  251,  626,  251,  279,  861,  861,  646,  646,
      646,  646,  646,  646,  646,  646,  646,  646,  861,  861,
      861,  861,  861,  280,  646,  646,  646,  646,  646,  646,
      279,  279,  279,  279,  279,  279,  279,  279,  279,  279,
      279,  279,  279,  279,  279,  279,  279,  279,  279,  279,
      861,  861,  279,  647,  647,  647,  647,  647,  647,  647,
      647,  647,  647,  861,  861,  861,  861,  861,  861,  647,

      647,  647,  647,  647,  647,  279,  279,  279,  279,  279,
      279,  279,  279,  279,  279,  861,  861,  861,  861,  861,
      861,  279,  279,  279,  279,  648,  279,  148,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
      861,  861,  861,  861,  861,  149,  300,  300,  300,  300,
      300,  300,  148,  861,  861,  861,  861,  861,  861,  861,
      861,  304,  304,  304,  304,  304,  304,  304,  304,  304,
      304,  861,  861,  861,  861,  861,  151,  304,  304,  304,
      304,  304,  304,  316,  861,  861,  668,  668,  668,  668,

      668,  668,  668,  668,  668,  668,  861,  861,  861,  861,
      861,  317,  668,  668,  668,  668,  668,  668,  316,  316,
      316,  316,  316,  316,  316,  316,  316,  316,  316,  316,
      316,  316,  316,  316,  316,  316,  316,  316,  861,  861,
      316,  669,  669,  669,  669,  669,  669,  669,  669,  669,
      669,  861,  861,  861,  861,  861,  861,  669,  669,  669,
      669,  669,  669,  316,  316,  316,  316,  316,  316,  316,
      316,  316,  316,  861,  861,  861,  861,  861,  861,  316,
      316,  316,  670,  316,  316,  672,  672,  672,  672,  672,
      672,  672,  672,  672,  672,  861,  861,  861,  861,  861,

      166,  672,  672,  672,  672,  672,  672,  324,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      684,  684,  684,  684,  684,  684,  684,  684,  684,  684,
      861,  861,  861,  861,  861,  325,  684,  684,  684,  684,
      684,  684,  172,  172,  172,  172,  173,  173,  174,  173,
      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
      173,  326,  326,  326,  326,  326,  326,  326,  326,  326,
      326,  173,  175,  173,  173,  173,  176,  326,  326,  326,
      326,  326,  326,  173,  173,  173,  173,  173,  173,  173,
      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,

      173,  173,  173,  175,  175,  173,  324,  861,  861,  861,
      861,  861,  861,  861,  861,  685,  685,  685,  685,  685,
      685,  685,  685,  685,  685,  861,  861,  861,  861,  861,
      331,  685,  685,  685,  685,  685,  685,  172,  172,  172,
      172,  177,  177,  177,  177,  177,  177,  174,  177,  177,
      177,  177,  177,  177,  177,  177,  332,  332,  332,  332,
      332,  332,  332,  332,  332,  332,  177,  178,  177,  177,
      177,  179,  332,  332,  332,  332,  332,  332,  177,  177,
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
      177,  177,  177,  177,  177,  177,  177,  177,  178,  178,

      177,  686,  686,  686,  686,  686,  686,  686,  686,  686,
      686,  861,  861,  861,  861,  861,  861,  686,  686,  686,
      686,  686,  686,  184,  193,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  345,  345,  345,
      345,  345,  345,  345,  345,  345,  345,  861,  861,  861,
      861,  861,  194,  345,  345,  345,  345,  345,  345,  193,
      861,  861,  861,  861,  861,  861,  861,  861,  350,  350,
      350,  350,  350,  350,  350,  350,  350,  350,  861,  861,
      861,  861,  861,  197,  350,  350,  350,  350,  350,  350,
      693,  693,  693,  693,  693,  693,  693,  693,  693,  693,

      861,  861,  861,  861,  861,  861,  693,  693,  693,  693,
      693,  693,  227,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  378,  378,  378,  378,  378,
      378,  378,  378,  378,  378,  861,  861,  861,  861,  861,
      228,  378,  378,  378,  378,  378,  378,  227,  861,  861,
      861,  861,  861,  861,  861,  861,  382,  382,  382,  382,
      382,  382,  382,  382,  382,  382,  861,  861,  861,  861,
      861,  230,  382,  382,  382,  382,  382,  382,  712,  712,
      712,  712,  712,  712,  712,  712,  712,  712,  861,  861,
      861,  861,  861,  252,  712,  712,  712,  712,  712,  712,

      732,  732,  732,  732,  732,  732,  732,  732,  732,  732,
      861,  861,  861,  861,  861,  280,  732,  732,  732,  732,
      732,  732,  745,  745,  745,  745,  745,  745,  745,  745,
      745,  745,  861,  861,  861,  861,  861,  861,  745,  745,
      745,  745,  745,  745,  751,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  752,  752,  752,
      752,  752,  752,  752,  752,  752,  752,  861,  861,  861,
      861,  861,  753,  752,  752,  752,  752,  752,  752,  755,
      861,  861,  861,  861,  861,  861,  861,  861,  756,  756,
      756,  756,  756,  756,  756,  756,  756,  756,  861,  861,

      861,  861,  861,  757,  756,  756,  756,  756,  756,  756,
      324,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  329,  329,  329,  329,  329,  329,  329,
      329,  329,  329,  861,  861,  861,  861,  861,  325,  329,
      329,  329,  329,  329,  329,  324,  861,  861,  861,  861,
      861,  861,  861,  861,  335,  335,  335,  335,  335,  335,
      335,  335,  335,  335,  861,  861,  861,  861,  861,  331,
      335,  335,  335,  335,  335,  335,  701,  702,  861,  702,
      861,  612,  861,  701,  702,  613,  702,  700,  612,  861,
      748,  748,  613,  793,  700,  679,  748,  748,  861,  796,

      861,  794,  861,  861,  861,  679,  861,  797,  861,  614,
      766,  766,  861,  807,  861,  704,  614,  769,  861,  861,
      861,  808,  861,  680,  861,  861,  861,  861,  861,  682,
      770,  770,  770,  770,  770,  770,  770,  770,  770,  770,
      861,  861,  861,  705,  861,  771,  770,  770,  770,  770,
      770,  770,  773,  861,  861,  861,  861,  861,  861,  861,
      861,  774,  774,  774,  774,  774,  774,  774,  774,  774,
      774,  861,  861,  861,  861,  861,  775,  774,  774,  774,
      774,  774,  774,  679,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  795,  795,  795,  795,

      795,  795,  795,  795,  795,  795,  861,  861,  861,  861,
      861,  680,  795,  795,  795,  795,  795,  795,  751,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  752,  752,  752,  752,  752,  752,  752,  752,  752,
      752,  861,  861,  861,  861,  861,  753,  752,  752,  752,
      752,  752,  752,  679,  861,  861,  861,  861,  861,  861,
      861,  861,  798,  798,  798,  798,  798,  798,  798,  798,
      798,  798,  861,  861,  861,  861,  861,  682,  798,  798,
      798,  798,  798,  798,  755,  861,  861,  861,  861,  861,
      861,  861,  861,  756,  756,  756,  756,  756,  756,  756,

      756,  756,  756,  861,  861,  861,  861,  861,  757,  756,
      756,  756,  756,  756,  756,  704,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  809,  809,
      809,  809,  809,  809,  809,  809,  809,  809,  861,  861,
      861,  861,  861,  705,  809,  809,  809,  809,  809,  809,
      769,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  770,  770,  770,  770,  770,  770,  770,
      770,  770,  770,  861,  861,  861,  861,  861,  771,  770,
      770,  770,  770,  770,  770,  766,  766,  861,  810,  861,
      748,  748,  861,  793,  704,  679,  811,  861,  861,  861,

      861,  794,  861,  861,  861,  748,  748,  861,  796,  861,
      861,  861,  861,  861,  679,  861,  797,  861,  707,  704,
      861,  861,  861,  680,  861,  861,  861,  861,  812,  812,
      812,  812,  812,  812,  812,  812,  812,  812,  682,  861,
      861,  861,  861,  707,  812,  812,  812,  812,  812,  812,
      773,  861,  861,  861,  861,  861,  861,  861,  861,  774,
      774,  774,  774,  774,  774,  774,  774,  774,  774,  861,
      861,  861,  861,  861,  775,  774,  774,  774,  774,  774,
      774,  824,  824,  824,  824,  824,  824,  824,  824,  824,
      824,  861,  861,  861,  861,  861,  861,  824,  824,  824,

      824,  824,  824,  825,  825,  825,  825,  825,  825,  825,
      825,  825,  825,  861,  861,  861,  861,  861,  861,  825,
      825,  825,  825,  825,  825,  766,  766,  861,  807,  861,
      704,  861,  861,  861,  861,  861,  808,  766,  766,  861,
      810,  861,  861,  861,  861,  861,  704,  861,  811,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  705,  833,
      833,  833,  833,  833,  833,  833,  833,  833,  833,  861,
      707,  861,  861,  861,  861,  833,  833,  833,  833,  833,
      833,  834,  834,  834,  834,  834,  834,  834,  834,  834,
      834,  861,  861,  861,  861,  861,  861,  834,  834,  834,

      834,  834,  834,  750,  750,  750,  750,  750,  750,  750,
      750,  750,  750,  861,  861,  861,  861,  861,  861,  750,
      750,  750,  750,  750,  750,  754,  754,  754,  754,  754,
      754,  754,  754,  754,  754,  861,  861,  861,  861,  861,
      861,  754,  754,  754,  754,  754,  754,  768,  768,  768,
      768,  768,  768,  768,  768,  768,  768,  861,  861,  861,
      861,  861,  861,  768,  768,  768,  768,  768,  768,  772,
      772,  772,  772,  772,  772,  772,  772,  772,  772,  861,
      861,  861,  861,  861,  861,  772,  772,  772,  772,  772,
      772,   42,   42,   42,   42,   42,   42,   42,   42,   42,

       42,   42,   42,   42,   42,   42,   42,   42,   46,   46,
       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
       46,   46,   46,   46,   46,   26,   26,   26,   26,   26,
       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
       26,   26,  147,  147,  147,  147,  147,  147,  147,  147,
      147,  147,  147,  147,  147,  147,  147,  150,  150,  150,
      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
      150,  150,  160,  160,  160,  160,  160,  163,  163,  163,
      163,  163,  163,  163,  163,  163,  163,  163,  163,  163,
      163,  163,  165,  861,  165,  861,  165,  165,  165,  165,

      165,  168,  168,  168,  168,  168,  168,  168,  861,  168,
      168,  168,  168,  168,  168,  168,  168,  168,  169,  169,
      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
      169,  169,  169,  169,  169,  172,  172,  172,  172,  172,
      172,  172,  172,  172,  172,  172,  861,  172,  172,  172,
      172,  172,  173,  173,  173,  173,  173,  173,  173,  173,
      173,  173,  173,  173,  173,  173,  173,  173,  173,  177,
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
      177,  177,  177,  177,  177,  177,  182,  182,  182,  182,
      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,

      182,  184,  861,  184,  861,  184,  184,  184,  184,  184,
      192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
      192,  192,  192,  192,  192,  195,  861,  861,  195,  195,
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
      196,  196,  196,  196,  196,  207,  207,  207,  207,  207,
      207,  207,  207,  207,  207,  207,  207,  207,  207,  207,
      209,  861,  209,  861,  209,  209,  209,  209,  209,  226,
      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
      226,  226,  226,  226,  229,  229,  229,  229,  229,  229,
      229,  229,  229,  229,  229,  229,  229,  229,  229,  249,

      249,  249,  249,  249,  249,  249,  249,  249,  249,  249,
      249,  249,  249,  249,  251,  861,  251,  861,  251,  251,
      251,  251,  251,  277,  277,  277,  277,  277,  277,  277,
      277,  277,  277,  277,  277,  277,  277,  277,  279,  861,
      279,  861,  279,  279,  279,  279,  279,  300,  300,  300,
      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
      300,  300,  150,  150,  150,  150,  150,  150,  150,  150,
      150,  150,  150,  150,  150,  150,  150,  304,  304,  304,
      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
      304,  304,  314,  314,  314,  314,  314,  314,  314,  314,

      314,  314,  314,  314,  314,  314,  314,  316,  861,  316,
      861,  316,  316,  316,  316,  316,  165,  861,  165,  861,
      165,  165,  165,  165,  165,  321,  321,  321,  321,  321,
      321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
      168,  168,  168,  168,  168,  168,  168,  861,  168,  168,
      168,  168,  168,  168,  168,  168,  168,  169,  169,  169,
      169,  169,  169,  169,  861,  169,  861,  169,  169,  169,
      169,  169,  169,  169,  172,  172,  172,  172,  172,  172,
      172,  172,  172,  172,  172,  861,  172,  172,  172,  172,
      172,  173,  173,  173,  173,  173,  173,  173,  173,  173,

      173,  173,  173,  173,  173,  173,  173,  173,  175,  175,
      175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
      175,  175,  175,  177,  177,  177,  177,  177,  177,  177,
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
      178,  178,  178,  178,  178,  184,  861,  184,  861,  184,
      184,  184,  184,  184,  338,  338,  338,  338,  338,  338,
      338,  338,  338,  338,  338,  338,  338,  338,  338,  192,
      192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
      192,  192,  192,  192,  345,  345,  345,  345,  345,  345,

      345,  345,  345,  345,  345,  345,  345,  345,  345,  349,
      861,  861,  349,  349,  196,  196,  196,  196,  196,  196,
      196,  196,  196,  196,  196,  196,  196,  196,  196,  350,
      350,  350,  350,  350,  350,  350,  350,  350,  350,  350,
      350,  350,  350,  350,  198,  861,  861,  861,  861,  198,
      861,  861,  861,  198,  198,  209,  861,  209,  861,  209,
      209,  209,  209,  209,  363,  363,  363,  363,  363,  363,
      363,  363,  363,  363,  363,  363,  363,  363,  363,  213,
      861,  861,  861,  861,  213,  861,  861,  861,  213,  213,
      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,

      226,  226,  226,  226,  226,  378,  378,  378,  378,  378,
      378,  378,  378,  378,  378,  378,  378,  378,  378,  378,
      229,  229,  229,  229,  229,  229,  229,  229,  229,  229,
      229,  229,  229,  229,  229,  382,  382,  382,  382,  382,
      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
      231,  861,  861,  861,  861,  231,  861,  861,  861,  231,
      231,  251,  861,  251,  861,  251,  251,  251,  251,  251,
      396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
      396,  396,  396,  396,  396,  263,  861,  861,  861,  861,
      263,  861,  861,  861,  263,  263,  279,  861,  279,  861,

      279,  279,  279,  279,  279,  421,  421,  421,  421,  421,
      421,  421,  421,  421,  421,  421,  421,  421,  421,  421,
      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
      147,  147,  147,  147,  147,  300,  300,  300,  300,  300,
      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
      150,  150,  150,  150,  150,  304,  304,  304,  304,  304,
      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
      316,  861,  316,  861,  316,  316,  316,  316,  316,  452,
      452,  452,  452,  452,  452,  452,  452,  452,  452,  452,

      452,  452,  452,  452,  329,  329,  329,  329,  329,  329,
      329,  329,  329,  329,  329,  329,  329,  329,  329,  173,
      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
      173,  173,  173,  173,  173,  173,  175,  175,  175,  175,
      175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
      175,  335,  335,  335,  335,  335,  335,  335,  335,  335,
      335,  335,  335,  335,  335,  335,  177,  177,  177,  177,
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
      177,  177,  177,  178,  178,  178,  178,  178,  178,  178,
      178,  178,  178,  178,  178,  178,  178,  178,  192,  192,

      192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
      192,  192,  192,  345,  345,  345,  345,  345,  345,  345,
      345,  345,  345,  345,  345,  345,  345,  345,  475,  861,
      861,  475,  475,  196,  196,  196,  196,  196,  196,  196,
      196,  196,  196,  196,  196,  196,  196,  196,  350,  350,
      350,  350,  350,  350,  350,  350,  350,  350,  350,  350,
      350,  350,  350,  477,  477,  477,  477,  477,  477,  477,
      477,  861,  477,  861,  477,  861,  861,  861,  861,  477,
      479,  479,  479,  479,  479,  479,  479,  479,  861,  479,
      861,  479,  861,  861,  861,  861,  479,  481,  481,  481,

      481,  481,  481,  481,  481,  861,  481,  861,  481,  861,
      861,  861,  861,  481,  483,  483,  483,  483,  483,  483,
      483,  483,  861,  483,  861,  483,  861,  861,  861,  861,
      483,  485,  485,  485,  485,  485,  485,  485,  485,  861,
      485,  861,  485,  861,  861,  861,  861,  485,  487,  487,
      487,  487,  487,  487,  487,  487,  861,  487,  861,  487,
      861,  861,  861,  861,  487,  489,  489,  489,  489,  489,
      489,  489,  489,  861,  489,  861,  489,  861,  861,  861,
      861,  489,  491,  491,  491,  491,  491,  491,  491,  491,
      861,  491,  861,  491,  861,  861,  861,  861,  491,  226,

      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
      226,  226,  226,  226,  378,  378,  378,  378,  378,  378,
      378,  378,  378,  378,  378,  378,  378,  378,  378,  229,
      229,  229,  229,  229,  229,  229,  229,  229,  229,  229,
      229,  229,  229,  229,  382,  382,  382,  382,  382,  382,
      382,  382,  382,  382,  382,  382,  382,  382,  382,  508,
      508,  508,  508,  508,  508,  508,  508,  861,  508,  861,
      508,  861,  861,  861,  861,  508,  510,  510,  510,  510,
      510,  510,  510,  510,  861,  510,  861,  510,  861,  861,
      861,  861,  510,  512,  512,  512,  512,  512,  512,  512,

      512,  861,  512,  861,  512,  861,  861,  861,  861,  512,
      514,  514,  514,  514,  514,  514,  514,  514,  861,  514,
      861,  514,  861,  861,  861,  861,  514,  516,  516,  516,
      516,  516,  516,  516,  516,  861,  516,  861,  516,  861,
      861,  861,  861,  516,  518,  518,  518,  518,  518,  518,
      518,  518,  861,  518,  861,  518,  861,  861,  861,  861,
      518,  520,  520,  520,  520,  520,  520,  520,  520,  861,
      520,  861,  520,  861,  861,  861,  861,  520,  522,  522,
      522,  522,  522,  522,  522,  522,  861,  522,  861,  522,
      861,  861,  861,  861,  522,  147,  147,  147,  147,  147,

      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
      150,  150,  150,  150,  150,  584,  584,  584,  584,  584,
      584,  861,  584,  584,  584,  584,  584,  584,  584,  584,
      584,  584,  175,  175,  175,  175,  175,  175,  175,  175,
      175,  175,  175,  175,  175,  175,  175,  329,  329,  329,
      329,  329,  329,  329,  329,  329,  329,  329,  329,  329,
      329,  329,  178,  178,  178,  178,  178,  178,  178,  178,
      178,  178,  178,  178,  178,  178,  178,  335,  335,  335,
      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,

      335,  335,  192,  192,  192,  192,  192,  192,  192,  192,
      192,  192,  192,  192,  192,  192,  192,  602,  861,  861,
      602,  602,  196,  196,  196,  196,  196,  196,  196,  196,
      196,  196,  196,  196,  196,  196,  196,  608,  608,  861,
      861,  861,  861,  861,  861,  861,  608,  609,  609,  609,
      609,  609,  609,  861,  609,  609,  609,  609,  609,  609,
      609,  609,  609,  609,  226,  226,  226,  226,  226,  226,
      226,  226,  226,  226,  226,  226,  226,  226,  226,  229,
      229,  229,  229,  229,  229,  229,  229,  229,  229,  229,
      229,  229,  229,  229,  147,  147,  147,  147,  147,  147,

      147,  147,  147,  147,  147,  147,  147,  147,  147,  150,
      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
      150,  150,  150,  150,  165,  861,  165,  861,  165,  165,
      165,  165,  165,  584,  584,  584,  584,  861,  584,  584,
      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
      678,  678,  678,  678,  678,  678,  678,  678,  678,  678,
      678,  678,  678,  678,  678,  681,  681,  681,  681,  681,
      681,  681,  681,  681,  681,  681,  681,  681,  681,  681,
      175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
      175,  175,  175,  175,  175,  178,  178,  178,  178,  178,

      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
      192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
      192,  192,  192,  192,  192,  692,  861,  861,  692,  692,
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
      196,  196,  196,  196,  196,  608,  608,  861,  861,  861,
      861,  861,  861,  861,  608,  609,  609,  609,  609,  861,
      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
      609,  609,  703,  703,  703,  703,  703,  703,  703,  703,
      703,  703,  703,  703,  703,  703,  703,  706,  706,  706,
      706,  706,  706,  706,  706,  706,  706,  706,  706,  706,

      706,  706,  226,  226,  226,  226,  226,  226,  226,  226,
      226,  226,  226,  226,  226,  226,  226,  229,  229,  229,
      229,  229,  229,  229,  229,  229,  229,  229,  229,  229,
      229,  229,  251,  861,  251,  861,  251,  251,  251,  251,
      251,  279,  861,  279,  861,  279,  279,  279,  279,  279,
      750,  750,  750,  750,  750,  750,  750,  750,  750,  750,
      750,  750,  750,  750,  750,  754,  754,  754,  754,  754,
      754,  754,  754,  754,  754,  754,  754,  754,  754,  754,
      175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
      175,  175,  175,  175,  175,  762,  861,  861,  762,  762,

      765,  765,  861,  861,  861,  861,  861,  861,  861,  765,
      768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
      768,  768,  768,  768,  768,  772,  772,  772,  772,  772,
      772,  772,  772,  772,  772,  772,  772,  772,  772,  772,
      832,  832,  861,  861,  861,  861,  861,  861,  861,  832,
       25,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,

      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861
    } ;

static yyconst short int yy_chk[7416] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    3,    4,    5,   23,   29,    6,
        5,   24,  167,    6,    5,    3,    4,    6,   31,   23,
        3,    4,    5,   24,  167,    6,   27,   27,   27,   27,
       28,   28,   28,   28,    5,   35,   29,    6,   37,   40,

       35,  212,   31,   44,   37,   63,   35,   37,   44,   54,
       54,   54,   54,  212,   63,   78,   35,   40,   55,   55,
       55,   55,   78, 1011,   89,    5,    5,   89,    6,    6,
        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
        7,    7,    7,    7,    9,    9,    9,    9,    9,    9,

        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
        9,    9,    9,    9,    9,    9,    9,    9,   11,   11,
       66,   61,   61,   62,   11,   68,   11,   11,   11,   11,
       11,   11,   11,   11,   11,   11,   61,   83,   62,   79,
       84,   85,  221,   11,   11,   84,   86,   11,   66,   68,
       85,   86,   83,   11,  113,   11,  113,   79,  221,   11,

       11,   11,   13,   13,   13,   13,   13,   13,   13,   13,
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
       13,   13,   13,   13,   13,   13,   15,   15,   15,   15,
       15,  111,   48,   48,   48,   48,  111, 1009,   48,   15,
      132,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,  132,   15,   88,   65,   65,   87,

       65,   88,   48,   88,   90,   88,   48,   91,   49,   49,
       49,   49,   92,   15,   87,  110,  110,  109,   49,   90,
      219,  127,   90,  127,  110,  108,  219,   15,   16,   16,
       16,   16,   16,   48,   48,   91,   92,  109,   49,   65,
      108,   16,   49,   16,   16,   16,   16,   16,   16,   16,
       16,   16,   16,   16,   16,   16,  112,   16,  115,  114,
      121,  131,  130,  130,  121,  134,  135,  137,  133,   49,
       49,  112,  114,  133,  136,   16,  115,  130,  138,  131,
      134,  136,  137,  136,  150,  147,  138,  135,  143,   16,
       17,   17,   17,   17,   17,  146,  146,  146,  146,  161,

      115,  145,  162,   17,   17,  170,  145,   17,  150,  178,
      170,  175,  145,  147,  161,  162,  187,  186,   17,   17,
      186,  189,  145,  225,  225,  192,   17,   17,  537,  188,
      143,  196,   17,  178,  187,   17,  537,   17,   17,  175,
      189,  206,   17,  188,   17,  181,  181,  181,  181,  203,
      216,   17,   19,  192,  218,  196,   19,  211,  206,  211,
      203,  217,  206,  224,  222,  190,  190,  256,  190,  994,
      216,  222,  254,  254,  256,  217,  260,  260,  218,  224,
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,

       19,   19,   19,   19,   19,   19,   19,  190,  220,   19,
       21,   21,   21,   21,  223,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,  220,  229,  236,  239,
      255,  257,  223,  253,  258,  257,  288,  226,  288,  236,
      220,  259,   21,   21,   21,  253,  239,  281,  255,   21,
      239,  229,  258,  259,   21,   38,   38,   38,   38,   38,
       38,   38,   38,   38,   38,  226,  281,  559,  559,  262,
      282,   38,   38,   38,   38,   38,   38,   59,   59,   59,
       59,   59,   59,   59,   59,   59,   59,  262,  283,  261,
      282,  282,  290,   59,   59,   59,   59,   59,   59,   73,

      284,  261,  285,  283,  290,  928,  285,   73,  261,   73,
       73,   73,   73,   73,   73,   73,   73,   73,   73,  284,
      286,  318,  173,  173,  173,  173,  289,   73,  173,   73,
      289,  287,  295,   73,  286,  318,  626,   73,  300,  295,
       73,   76,   76,   76,   76,   76,   76,   76,   76,   76,
       76,  287,  173,  319,  626,  291,  173,   76,   76,   76,
       76,   76,   76,   81,  291,  304,  300,  301,  198,  319,
      305,   81,  329,   81,   81,   81,   81,   81,   81,   81,
       81,   81,   81,  173,  173,  408,  335,  350,  351,  304,
      924,   81,  408,   81,  305,  301,  198,   81,  198,  345,

      329,   81,  198,  505,   81,   96,  198,  505,  346,  198,
      335,  350,  351,   96,  378,   96,   96,   96,   96,   96,
       96,   96,   96,   96,   96,  530,  502,  345,  177,  177,
      177,  177,  379,   96,  434,   96,  346,  382,  177,   96,
      502,  530,  378,   96,  459,  434,   96,  106,  106,  106,
      106,  106,  106,  106,  106,  106,  106,  470,  177,  470,
      379,  382,  177,  106,  106,  106,  106,  106,  106,  118,
      383,  440,  459,  918,  463,  471,  472,  118,  440,  118,
      118,  118,  118,  118,  118,  118,  118,  118,  118,  177,
      177,  499,  495,  495,  383,  495,  498,  118,  463,  118,

      471,  472,  499,  118,  503,  555,  498,  118,  495,  503,
      118,  128,  128,  128,  128,  128,  128,  128,  128,  128,
      128,  555,  504,  532,  500,  504,  914,  128,  128,  128,
      128,  128,  128,  149,  500,  532,  458,  458,  527,  458,
      531,  458,  527,  529,  531,  458,  149,  149,  149,  149,
      149,  149,  149,  149,  149,  149,  535,  534,  529,  553,
      535,  149,  149,  149,  149,  149,  149,  149,  151,  458,
      534,  536,  554,  628,  581,  536,  553,  151,  151,  151,
      151,  151,  151,  151,  151,  151,  151,  554,  581,  588,
      613,  628,  151,  151,  151,  151,  151,  151,  151,  159,

      159,  159,  159,  159,  159,  159,  159,  159,  159,  615,
      689,  615,  689,  588,  613,  159,  159,  159,  159,  159,
      159,  164,  164,  164,  164,  164,  164,  164,  164,  164,
      164,  616,  618,  618,  616,  889,  164,  164,  164,  164,
      164,  164,  164,  166,  166,  166,  166,  166,  166,  166,
      166,  166,  166,  619,  620,  621,  621,  620,  619,  166,
      166,  166,  166,  166,  166,  176,  176,  176,  176,  176,
      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,

      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
      176,  176,  176,  176,  176,  176,  176,  176,  176,  179,
      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
      179,  179,  179,  183,  183,  183,  183,  183,  183,  183,

      183,  183,  183,  627,  632,  746,  627,  746,  183,  183,
      183,  183,  183,  183,  183,  185,  185,  185,  185,  185,
      185,  185,  185,  185,  185,  632,  630,  584,  584,  653,
      584,  185,  185,  185,  185,  185,  185,  194,  584,  630,
      533,  552,  653,  326,  326,  326,  326,  533,  552,  326,
      194,  194,  194,  194,  194,  194,  194,  194,  194,  194,
      584,  637,  637,  587,  596,  194,  194,  194,  194,  194,
      194,  194,  197,  326,  560,  596,  636,  326,  886,  612,
      560,  197,  197,  197,  197,  197,  197,  197,  197,  197,
      197,  587,  670,  670,  636,  597,  197,  197,  197,  197,

      197,  197,  197,  201,  326,  326,  597,  612,  883,  606,
      606,  201,  606,  201,  201,  201,  201,  201,  201,  201,
      201,  201,  201,  496,  496,  606,  496,  598,  496,  629,
      599,  201,  496,  201,  629,  681,  648,  201,  654,  598,
      648,  201,  599,  631,  201,  208,  208,  208,  208,  208,
      208,  208,  208,  208,  208,  631,  496,  706,  654,  681,
      208,  208,  208,  208,  208,  208,  208,  210,  210,  210,
      210,  210,  210,  210,  210,  210,  210,  213,  633,  635,
      880,  706,  231,  210,  210,  210,  210,  210,  210,  585,
      585,  635,  585,  649,  585,  634,  633,  649,  585,  650,

      585,  633,  634,  651,  650,  213,  716,  213,  651,  671,
      231,  213,  231,  687,  263,  213,  231,  678,  213,  215,
      231,  687,  585,  231,  716,  671,  690,  215,  703,  215,
      215,  215,  215,  215,  215,  215,  215,  215,  215,  690,
      674,  674,  263,  674,  263,  678,  729,  215,  263,  215,
      859,  674,  263,  215,  709,  263,  703,  215,  711,  720,
      215,  228,  720,  729,  709,  779,  779,  327,  327,  327,
      327,  710,  711,  327,  228,  228,  228,  228,  228,  228,
      228,  228,  228,  228,  695,  695,  731,  695,  858,  228,
      228,  228,  228,  228,  228,  228,  230,  327,  695,  697,

      697,  327,  697,  731,  710,  230,  230,  230,  230,  230,
      230,  230,  230,  230,  230,  697,  696,  696,  758,  696,
      230,  230,  230,  230,  230,  230,  230,  234,  327,  327,
      696,  719,  758,  721,  750,  234,  719,  234,  234,  234,
      234,  234,  234,  234,  234,  234,  234,  586,  586,  722,
      586,  721,  586,  724,  722,  234,  586,  234,  586,  754,
      724,  234,  750,  759,  800,  234,  800,  723,  234,  250,
      250,  250,  250,  250,  250,  250,  250,  250,  250,  723,
      586,  856,  759,  754,  250,  250,  250,  250,  250,  250,
      250,  252,  252,  252,  252,  252,  252,  252,  252,  252,

      252,  760,  776,  679,  679,  725,  679,  252,  252,  252,
      252,  252,  252,  265,  679,  772,  776,  725,  768,  760,
      828,  265,  828,  265,  265,  265,  265,  265,  265,  265,
      265,  265,  265,  589,  589,  855,  589,  778,  589,  772,
      778,  265,  589,  265,  589,  797,  768,  265,  780,  763,
      763,  265,  763,  780,  265,  278,  278,  278,  278,  278,
      278,  278,  278,  278,  278,  763,  589,  835,  835,  797,
      278,  278,  278,  278,  278,  278,  278,  280,  280,  280,
      280,  280,  280,  280,  280,  280,  280,  854,  816,  609,
      609,  781,  609,  280,  280,  280,  280,  280,  280,  302,

      609,  777,  790,  781,  816,  826,  790,  836,  826,  794,
      777,  777,  302,  302,  302,  302,  302,  302,  302,  302,
      302,  302,  609,  853,  852,  851,  836,  302,  302,  302,
      302,  302,  302,  302,  303,  699,  699,  794,  699,  801,
      844,  843,  842,  841,  801,  808,  699,  303,  303,  303,
      303,  303,  303,  303,  303,  303,  303,  804,  804,  840,
      804,  839,  303,  303,  303,  303,  303,  303,  303,  306,
      799,  804,  838,  808,  837,  829,  827,  799,  306,  306,
      306,  306,  306,  306,  306,  306,  306,  306,  805,  805,
      823,  805,  822,  306,  306,  306,  306,  306,  306,  306,

      307,  820,  805,  806,  806,  819,  806,  818,  817,  307,
      307,  307,  307,  307,  307,  307,  307,  307,  307,  806,
      811,  814,  802,  792,  307,  307,  307,  307,  307,  307,
      307,  315,  315,  315,  315,  315,  315,  315,  315,  315,
      315,  789,  787,  786,  811,  785,  315,  315,  315,  315,
      315,  315,  315,  317,  317,  317,  317,  317,  317,  317,
      317,  317,  317,  784,  783,  704,  704,  815,  704,  317,
      317,  317,  317,  317,  317,  320,  704,  815,  320,  320,
      320,  320,  320,  320,  320,  320,  320,  320,  782,  761,
      747,  745,  744,  320,  320,  320,  320,  320,  320,  320,

      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
      743,  741,  320,  321,  321,  321,  321,  321,  321,  321,
      321,  321,  321,  813,  740,  739,  738,  737,  813,  321,
      321,  321,  321,  321,  321,  322,  322,  322,  322,  322,
      322,  322,  322,  322,  322,  736,  735,  673,  673,  732,
      673,  322,  322,  322,  322,  322,  322,  325,  673,  850,
      730,  727,  718,  717,  850,  830,  830,  715,  830,  714,
      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
      673,  830,  713,  712,  693,  325,  325,  325,  325,  325,

      325,  325,  328,  328,  328,  328,  694,  694,  328,  694,
      691,  688,  686,  672,  694,  668,  667,  666,  665,  664,
      694,  328,  328,  328,  328,  328,  328,  328,  328,  328,
      328,  662,  328,  661,  660,  659,  328,  328,  328,  328,
      328,  328,  328,  608,  608,  658,  608,  748,  748,  657,
      748,  608,  656,  655,  652,  646,  645,  608,  748,  608,
      644,  643,  642,  328,  328,  330,  330,  330,  330,  330,
      330,  330,  330,  330,  330,  330,  330,  330,  330,  330,
      330,  330,  330,  330,  330,  330,  330,  330,  330,  330,
      330,  330,  330,  330,  330,  330,  330,  330,  330,  330,

      330,  330,  330,  330,  330,  330,  330,  330,  330,  330,
      330,  330,  330,  330,  330,  330,  330,  330,  330,  330,
      330,  330,  330,  330,  330,  330,  330,  330,  330,  331,
      641,  640,  639,  638,  624,  617,  604,  600,  331,  331,
      331,  331,  331,  331,  331,  331,  331,  331,  594,  582,
      577,  575,  574,  331,  331,  331,  331,  331,  331,  331,
      332,  332,  332,  332,  571,  333,  333,  333,  333,  570,
      332,  610,  610,  569,  610,  333,  610,  568,  611,  611,
      610,  611,  610,  611,  567,  766,  766,  611,  766,  611,
      332,  566,  565,  564,  332,  333,  766,  563,  562,  333,

      561,  558,  683,  683,  610,  683,  557,  614,  614,  556,
      614,  611,  614,  683,  847,  847,  614,  847,  614,  551,
      547,  332,  332,  546,  545,  847,  333,  333,  334,  334,
      334,  334,  543,  832,  832,  683,  832,  542,  334,  540,
      614,  832,  539,  538,  832,  528,  501,  334,  334,  334,
      334,  334,  334,  334,  334,  334,  334,  473,  334,  455,
      454,  449,  334,  334,  334,  334,  334,  334,  334,  765,
      765,  448,  765,  803,  803,  447,  803,  765,  446,  443,
      442,  803,  441,  765,  439,  438,  437,  803,  436,  334,
      334,  336,  336,  336,  336,  336,  336,  336,  336,  336,

      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
      336,  336,  336,  336,  336,  337,  435,  433,  337,  337,
      337,  337,  337,  337,  337,  337,  337,  337,  432,  431,
      430,  429,  428,  337,  337,  337,  337,  337,  337,  337,
      337,  337,  337,  337,  337,  337,  337,  337,  337,  337,
      337,  337,  337,  337,  337,  337,  337,  337,  337,  337,

      427,  426,  337,  338,  338,  338,  338,  338,  338,  338,
      338,  338,  338,  425,  424,  423,  419,  418,  417,  338,
      338,  338,  338,  338,  338,  339,  339,  339,  339,  339,
      339,  339,  339,  339,  339,  416,  415,  698,  698,  414,
      698,  339,  339,  339,  339,  339,  339,  347,  698,  413,
      412,  411,  410,  409,  407,  406,  405,  404,  403,  402,
      347,  347,  347,  347,  347,  347,  347,  347,  347,  347,
      698,  401,  400,  399,  398,  347,  347,  347,  347,  347,
      347,  347,  348,  846,  846,  393,  846,  392,  391,  390,
      389,  846,  388,  387,  846,  348,  348,  348,  348,  348,

      348,  348,  348,  348,  348,  386,  377,  375,  374,  373,
      348,  348,  348,  348,  348,  348,  348,  352,  372,  371,
      370,  369,  368,  367,  366,  365,  352,  352,  352,  352,
      352,  352,  352,  352,  352,  352,  361,  360,  359,  358,
      357,  352,  352,  352,  352,  352,  352,  352,  353,  356,
      355,  354,  344,  343,  342,  341,  340,  353,  353,  353,
      353,  353,  353,  353,  353,  353,  353,  323,  316,  314,
      313,  312,  353,  353,  353,  353,  353,  353,  353,  362,
      311,  310,  362,  362,  362,  362,  362,  362,  362,  362,
      362,  362,  309,  299,  298,  297,  296,  362,  362,  362,

      362,  362,  362,  362,  362,  362,  362,  362,  362,  362,
      362,  362,  362,  362,  362,  362,  362,  362,  362,  362,
      362,  362,  362,  362,  294,  293,  362,  363,  363,  363,
      363,  363,  363,  363,  363,  363,  363,  292,  279,  277,
      276,  275,  274,  363,  363,  363,  363,  363,  363,  364,
      364,  364,  364,  364,  364,  364,  364,  364,  364,  273,
      272,  708,  708,  271,  708,  364,  364,  364,  364,  364,
      364,  380,  708,  270,  269,  268,  267,  266,  251,  249,
      248,  247,  246,  245,  380,  380,  380,  380,  380,  380,
      380,  380,  380,  380,  708,  244,  243,  242,  241,  380,

      380,  380,  380,  380,  380,  380,  381,  848,  848,  240,
      848,  238,  237,  235,  209,  207,  205,  204,  848,  381,
      381,  381,  381,  381,  381,  381,  381,  381,  381,  202,
      191,  184,  182,  165,  381,  381,  381,  381,  381,  381,
      381,  384,  163,  160,  158,  157,  156,  155,  154,  152,
      384,  384,  384,  384,  384,  384,  384,  384,  384,  384,
      142,  141,  140,  129,  126,  384,  384,  384,  384,  384,
      384,  384,  385,  125,  124,  123,  122,  120,  119,  107,
      105,  385,  385,  385,  385,  385,  385,  385,  385,  385,
      385,  104,  103,  102,  101,  100,  385,  385,  385,  385,

      385,  385,  385,  394,   99,   98,   97,   95,   77,   72,
       60,  394,   57,  394,  394,  394,  394,  394,  394,  394,
      394,  394,  394,   50,   45,  676,  676,   39,  676,   36,
      676,  394,   34,  394,  676,   32,  676,  394,   25,    0,
        0,  394,    0,    0,  394,  395,    0,    0,  395,  395,
      395,  395,  395,  395,  395,  395,  395,  395,  676,    0,
        0,    0,    0,  395,  395,  395,  395,  395,  395,  395,
      395,  395,  395,  395,  395,  395,  395,  395,  395,  395,
      395,  395,  395,  395,  395,  395,  395,  395,  395,  395,
        0,    0,  395,  396,  396,  396,  396,  396,  396,  396,

      396,  396,  396,    0,    0,    0,    0,    0,    0,  396,
      396,  396,  396,  396,  396,  397,  397,  397,  397,  397,
      397,  397,  397,  397,  397,    0,    0,    0,    0,    0,
        0,  397,  397,  397,  397,  397,  397,  420,    0,    0,
      420,  420,  420,  420,  420,  420,  420,  420,  420,  420,
        0,    0,    0,    0,    0,  420,  420,  420,  420,  420,
      420,  420,  420,  420,  420,  420,  420,  420,  420,  420,
      420,  420,  420,  420,  420,  420,  420,  420,  420,  420,
      420,  420,    0,    0,  420,  421,  421,  421,  421,  421,
      421,  421,  421,  421,  421,    0,    0,    0,    0,    0,

        0,  421,  421,  421,  421,  421,  421,  422,  422,  422,
      422,  422,  422,  422,  422,  422,  422,    0,    0,    0,
        0,    0,    0,  422,  422,  422,  422,  422,  422,  444,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,  444,  444,  444,  444,  444,  444,  444,  444,
      444,  444,    0,    0,    0,    0,    0,  444,  444,  444,
      444,  444,  444,  444,  445,    0,    0,    0,    0,    0,
        0,    0,    0,  445,  445,  445,  445,  445,  445,  445,
      445,  445,  445,    0,    0,    0,    0,    0,  445,  445,
      445,  445,  445,  445,  445,  451,    0,    0,  451,  451,

      451,  451,  451,  451,  451,  451,  451,  451,    0,    0,
        0,    0,    0,  451,  451,  451,  451,  451,  451,  451,
      451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
      451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
        0,    0,  451,  452,  452,  452,  452,  452,  452,  452,
      452,  452,  452,    0,    0,    0,    0,    0,    0,  452,
      452,  452,  452,  452,  452,  453,  453,  453,  453,  453,
      453,  453,  453,  453,  453,    0,    0,    0,    0,    0,
        0,  453,  453,  453,  453,  453,  453,  456,    0,    0,
      456,  456,  456,  456,  456,  456,  456,  456,  456,  456,

        0,    0,    0,    0,    0,  456,  456,  456,  456,  456,
      456,  456,  456,  456,  456,  456,  456,  456,  456,  456,
      456,  456,  456,  456,  456,  456,  456,  456,  456,  456,
      456,  456,    0,    0,  456,  457,  457,  457,  457,  457,
      457,  457,  457,  457,  457,    0,    0,    0,    0,    0,
        0,  457,  457,  457,  457,  457,  457,  460,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
      460,  460,  460,  460,  460,  460,  460,  460,  460,  460,
        0,    0,    0,    0,    0,  460,  460,  460,  460,  460,
      460,  460,  461,    0,    0,    0,    0,    0,    0,    0,

        0,    0,    0,    0,    0,  461,  461,  461,  461,  461,
      461,  461,  461,  461,  461,    0,    0,    0,    0,    0,
      461,  461,  461,  461,  461,  461,  461,  462,  462,  462,
      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
      462,  464,    0,    0,    0,    0,    0,    0,    0,    0,

      464,  464,  464,  464,  464,  464,  464,  464,  464,  464,
        0,    0,    0,    0,    0,  464,  464,  464,  464,  464,
      464,  464,  465,    0,    0,    0,    0,    0,    0,    0,
        0,  465,  465,  465,  465,  465,  465,  465,  465,  465,
      465,    0,    0,    0,    0,    0,  465,  465,  465,  465,
      465,  465,  465,  466,  466,  466,  466,  466,  466,  466,
      466,  466,  466,  466,  466,  466,  466,  466,  466,  466,
      466,  466,  466,  466,  466,  466,  466,  466,  466,  466,
      466,  466,  466,  466,  466,  466,  466,  466,  466,  466,
      466,  466,  466,  466,  466,  466,  466,  466,  466,  466,

      466,  466,  466,  466,  466,  466,  466,  466,  466,  466,
      466,  466,  466,  466,  466,  466,  466,  467,    0,    0,
      467,  467,  467,  467,  467,  467,  467,  467,  467,  467,
        0,    0,    0,    0,    0,  467,  467,  467,  467,  467,
      467,  467,  467,  467,  467,  467,  467,  467,  467,  467,
      467,  467,  467,  467,  467,  467,  467,  467,  467,  467,
      467,  467,    0,    0,  467,  468,  468,  468,  468,  468,
      468,  468,  468,  468,  468,    0,    0,    0,    0,    0,
        0,  468,  468,  468,  468,  468,  468,  469,  469,  469,
      469,  469,  469,  469,  469,  469,  469,    0,    0,    0,

        0,    0,    0,  469,  469,  469,  469,  469,  469,  469,
      474,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,  474,  474,  474,  474,  474,  474,  474,
      474,  474,  474,    0,    0,    0,    0,    0,  474,  474,
      474,  474,  474,  474,  474,  476,    0,    0,    0,    0,
        0,    0,    0,    0,  476,  476,  476,  476,  476,  476,
      476,  476,  476,  476,    0,    0,    0,    0,    0,  476,
      476,  476,  476,  476,  476,  476,  493,    0,    0,  493,
      493,  493,  493,  493,  493,  493,  493,  493,  493,    0,
        0,    0,    0,    0,  493,  493,  493,  493,  493,  493,

      493,  493,  493,  493,  493,  493,  493,  493,  493,  493,
      493,  493,  493,  493,  493,  493,  493,  493,  493,  493,
      493,    0,    0,  493,  494,  494,  494,  494,  494,  494,
      494,  494,  494,  494,    0,    0,    0,    0,    0,    0,
      494,  494,  494,  494,  494,  494,  497,  497,  497,  497,
      497,  497,  497,  497,  497,  497,    0,    0,    0,    0,
        0,    0,  497,  497,  497,  497,  497,  497,    0,  677,
      677,    0,  677,    0,  677,    0,  497,  506,  677,    0,
      677,    0,    0,    0,    0,    0,    0,    0,    0,    0,
      506,  506,  506,  506,  506,  506,  506,  506,  506,  506,

        0,    0,  677,    0,    0,  506,  506,  506,  506,  506,
      506,  506,  507,    0,    0,    0,    0,    0,    0,    0,
        0,  507,  507,  507,  507,  507,  507,  507,  507,  507,
      507,    0,    0,    0,    0,    0,  507,  507,  507,  507,
      507,  507,  507,  524,    0,    0,  524,  524,  524,  524,
      524,  524,  524,  524,  524,  524,    0,    0,    0,    0,
        0,  524,  524,  524,  524,  524,  524,  524,  524,  524,
      524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
      524,  524,  524,  524,  524,  524,  524,  524,    0,    0,
      524,  525,  525,  525,  525,  525,  525,  525,  525,  525,

      525,    0,    0,    0,    0,    0,    0,  525,  525,  525,
      525,  525,  525,  526,  526,  526,  526,  526,  526,  526,
      526,  526,  526,    0,    0,    0,    0,    0,    0,  526,
      526,  526,  526,  526,  526,  548,    0,    0,  548,  548,
      548,  548,  548,  548,  548,  548,  548,  548,    0,    0,
        0,    0,    0,  548,  548,  548,  548,  548,  548,  548,
      548,  548,  548,  548,  548,  548,  548,  548,  548,  548,
      548,  548,  548,  548,  548,  548,  548,  548,  548,  548,
        0,    0,  548,  549,  549,  549,  549,  549,  549,  549,
      549,  549,  549,    0,    0,    0,    0,    0,    0,  549,

      549,  549,  549,  549,  549,  550,  550,  550,  550,  550,
      550,  550,  550,  550,  550,    0,    0,    0,    0,    0,
        0,  550,  550,  550,  550,  550,  550,  572,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
      572,  572,  572,  572,  572,  572,  572,  572,  572,  572,
        0,    0,    0,    0,    0,  572,  572,  572,  572,  572,
      572,  572,  573,    0,    0,    0,    0,    0,    0,    0,
        0,  573,  573,  573,  573,  573,  573,  573,  573,  573,
      573,    0,    0,    0,    0,    0,  573,  573,  573,  573,
      573,  573,  573,  578,    0,    0,  578,  578,  578,  578,

      578,  578,  578,  578,  578,  578,    0,    0,    0,    0,
        0,  578,  578,  578,  578,  578,  578,  578,  578,  578,
      578,  578,  578,  578,  578,  578,  578,  578,  578,  578,
      578,  578,  578,  578,  578,  578,  578,  578,    0,    0,
      578,  579,  579,  579,  579,  579,  579,  579,  579,  579,
      579,    0,    0,    0,    0,    0,    0,  579,  579,  579,
      579,  579,  579,  580,  580,  580,  580,  580,  580,  580,
      580,  580,  580,    0,    0,    0,    0,    0,    0,  580,
      580,  580,  580,  580,  580,  583,  583,  583,  583,  583,
      583,  583,  583,  583,  583,    0,    0,    0,    0,    0,

      583,  583,  583,  583,  583,  583,  583,  590,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
      590,  590,  590,  590,  590,  590,  590,  590,  590,  590,
        0,    0,    0,    0,    0,  590,  590,  590,  590,  590,
      590,  590,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,

      591,  591,  591,  591,  591,  591,  592,    0,    0,    0,
        0,    0,    0,    0,    0,  592,  592,  592,  592,  592,
      592,  592,  592,  592,  592,    0,    0,    0,    0,    0,
      592,  592,  592,  592,  592,  592,  592,  593,  593,  593,
      593,  593,  593,  593,  593,  593,  593,  593,  593,  593,
      593,  593,  593,  593,  593,  593,  593,  593,  593,  593,
      593,  593,  593,  593,  593,  593,  593,  593,  593,  593,
      593,  593,  593,  593,  593,  593,  593,  593,  593,  593,
      593,  593,  593,  593,  593,  593,  593,  593,  593,  593,
      593,  593,  593,  593,  593,  593,  593,  593,  593,  593,

      593,  595,  595,  595,  595,  595,  595,  595,  595,  595,
      595,    0,    0,    0,    0,    0,    0,  595,  595,  595,
      595,  595,  595,  595,  601,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,  601,  601,  601,
      601,  601,  601,  601,  601,  601,  601,    0,    0,    0,
        0,    0,  601,  601,  601,  601,  601,  601,  601,  603,
        0,    0,    0,    0,    0,    0,    0,    0,  603,  603,
      603,  603,  603,  603,  603,  603,  603,  603,    0,    0,
        0,    0,    0,  603,  603,  603,  603,  603,  603,  603,
      605,  605,  605,  605,  605,  605,  605,  605,  605,  605,

        0,    0,    0,    0,    0,    0,  605,  605,  605,  605,
      605,  605,  622,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,  622,  622,  622,  622,  622,
      622,  622,  622,  622,  622,    0,    0,    0,    0,    0,
      622,  622,  622,  622,  622,  622,  622,  623,    0,    0,
        0,    0,    0,    0,    0,    0,  623,  623,  623,  623,
      623,  623,  623,  623,  623,  623,    0,    0,    0,    0,
        0,  623,  623,  623,  623,  623,  623,  623,  625,  625,
      625,  625,  625,  625,  625,  625,  625,  625,    0,    0,
        0,    0,    0,  625,  625,  625,  625,  625,  625,  625,

      647,  647,  647,  647,  647,  647,  647,  647,  647,  647,
        0,    0,    0,    0,    0,  647,  647,  647,  647,  647,
      647,  647,  669,  669,  669,  669,  669,  669,  669,  669,
      669,  669,    0,    0,    0,    0,    0,    0,  669,  669,
      669,  669,  669,  669,  680,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,  680,  680,  680,
      680,  680,  680,  680,  680,  680,  680,    0,    0,    0,
        0,    0,  680,  680,  680,  680,  680,  680,  680,  682,
        0,    0,    0,    0,    0,    0,    0,    0,  682,  682,
      682,  682,  682,  682,  682,  682,  682,  682,    0,    0,

        0,    0,    0,  682,  682,  682,  682,  682,  682,  682,
      684,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,  684,  684,  684,  684,  684,  684,  684,
      684,  684,  684,    0,    0,    0,    0,    0,  684,  684,
      684,  684,  684,  684,  684,  685,    0,    0,    0,    0,
        0,    0,    0,    0,  685,  685,  685,  685,  685,  685,
      685,  685,  685,  685,    0,    0,    0,    0,    0,  685,
      685,  685,  685,  685,  685,  685,  701,  701,    0,  701,
        0,  701,    0,  702,  702,  701,  702,  701,  702,    0,
      751,  751,  702,  751,  702,  751,  755,  755,    0,  755,

        0,  751,    0,    0,    0,  755,    0,  755,    0,  701,
      769,  769,    0,  769,    0,  769,  702,  705,    0,    0,
        0,  769,    0,  751,    0,    0,    0,    0,    0,  755,
      705,  705,  705,  705,  705,  705,  705,  705,  705,  705,
        0,    0,    0,  769,    0,  705,  705,  705,  705,  705,
      705,  705,  707,    0,    0,    0,    0,    0,    0,    0,
        0,  707,  707,  707,  707,  707,  707,  707,  707,  707,
      707,    0,    0,    0,    0,    0,  707,  707,  707,  707,
      707,  707,  707,  752,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,  752,  752,  752,  752,

      752,  752,  752,  752,  752,  752,    0,    0,    0,    0,
        0,  752,  752,  752,  752,  752,  752,  752,  753,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,  753,  753,  753,  753,  753,  753,  753,  753,  753,
      753,    0,    0,    0,    0,    0,  753,  753,  753,  753,
      753,  753,  753,  756,    0,    0,    0,    0,    0,    0,
        0,    0,  756,  756,  756,  756,  756,  756,  756,  756,
      756,  756,    0,    0,    0,    0,    0,  756,  756,  756,
      756,  756,  756,  756,  757,    0,    0,    0,    0,    0,
        0,    0,    0,  757,  757,  757,  757,  757,  757,  757,

      757,  757,  757,    0,    0,    0,    0,    0,  757,  757,
      757,  757,  757,  757,  757,  770,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,  770,  770,
      770,  770,  770,  770,  770,  770,  770,  770,    0,    0,
        0,    0,    0,  770,  770,  770,  770,  770,  770,  770,
      771,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,  771,  771,  771,  771,  771,  771,  771,
      771,  771,  771,    0,    0,    0,    0,    0,  771,  771,
      771,  771,  771,  771,  771,  773,  773,    0,  773,    0,
      793,  793,    0,  793,  773,  793,  773,    0,    0,    0,

        0,  793,    0,    0,    0,  796,  796,    0,  796,    0,
        0,    0,    0,    0,  796,    0,  796,    0,  773,  774,
        0,    0,    0,  793,    0,    0,    0,    0,  774,  774,
      774,  774,  774,  774,  774,  774,  774,  774,  796,    0,
        0,    0,    0,  774,  774,  774,  774,  774,  774,  774,
      775,    0,    0,    0,    0,    0,    0,    0,    0,  775,
      775,  775,  775,  775,  775,  775,  775,  775,  775,    0,
        0,    0,    0,    0,  775,  775,  775,  775,  775,  775,
      775,  795,  795,  795,  795,  795,  795,  795,  795,  795,
      795,    0,    0,    0,    0,    0,    0,  795,  795,  795,

      795,  795,  795,  798,  798,  798,  798,  798,  798,  798,
      798,  798,  798,    0,    0,    0,    0,    0,    0,  798,
      798,  798,  798,  798,  798,  807,  807,    0,  807,    0,
      807,    0,    0,    0,    0,    0,  807,  810,  810,    0,
      810,    0,    0,    0,    0,    0,  810,    0,  810,    0,
        0,    0,    0,    0,    0,    0,    0,    0,  807,  809,
      809,  809,  809,  809,  809,  809,  809,  809,  809,    0,
      810,    0,    0,    0,    0,  809,  809,  809,  809,  809,
      809,  812,  812,  812,  812,  812,  812,  812,  812,  812,
      812,    0,    0,    0,    0,    0,    0,  812,  812,  812,

      812,  812,  812,  824,  824,  824,  824,  824,  824,  824,
      824,  824,  824,    0,    0,    0,    0,    0,    0,  824,
      824,  824,  824,  824,  824,  825,  825,  825,  825,  825,
      825,  825,  825,  825,  825,    0,    0,    0,    0,    0,
        0,  825,  825,  825,  825,  825,  825,  833,  833,  833,
      833,  833,  833,  833,  833,  833,  833,    0,    0,    0,
        0,    0,    0,  833,  833,  833,  833,  833,  833,  834,
      834,  834,  834,  834,  834,  834,  834,  834,  834,    0,
        0,    0,    0,    0,    0,  834,  834,  834,  834,  834,
      834,  862,  862,  862,  862,  862,  862,  862,  862,  862,

      862,  862,  862,  862,  862,  862,  862,  862,  863,  863,
      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
      863,  863,  863,  863,  863,  864,  864,  864,  864,  864,
      864,  864,  864,  864,  864,  864,  864,  864,  864,  864,
      864,  864,  865,  865,  865,  865,  865,  865,  865,  865,
      865,  865,  865,  865,  865,  865,  865,  866,  866,  866,
      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
      866,  866,  867,  867,  867,  867,  867,  868,  868,  868,
      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
      868,  868,  869,    0,  869,    0,  869,  869,  869,  869,

      869,  870,  870,  870,  870,  870,  870,  870,    0,  870,
      870,  870,  870,  870,  870,  870,  870,  870,  871,  871,
      871,  871,  871,  871,  871,  871,  871,  871,  871,  871,
      871,  871,  871,  871,  871,  872,  872,  872,  872,  872,
      872,  872,  872,  872,  872,  872,    0,  872,  872,  872,
      872,  872,  873,  873,  873,  873,  873,  873,  873,  873,
      873,  873,  873,  873,  873,  873,  873,  873,  873,  874,
      874,  874,  874,  874,  874,  874,  874,  874,  874,  874,
      874,  874,  874,  874,  874,  874,  875,  875,  875,  875,
      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,

      875,  876,    0,  876,    0,  876,  876,  876,  876,  876,
      877,  877,  877,  877,  877,  877,  877,  877,  877,  877,
      877,  877,  877,  877,  877,  878,    0,    0,  878,  878,
      879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
      879,  879,  879,  879,  879,  881,  881,  881,  881,  881,
      881,  881,  881,  881,  881,  881,  881,  881,  881,  881,
      882,    0,  882,    0,  882,  882,  882,  882,  882,  884,
      884,  884,  884,  884,  884,  884,  884,  884,  884,  884,
      884,  884,  884,  884,  885,  885,  885,  885,  885,  885,
      885,  885,  885,  885,  885,  885,  885,  885,  885,  887,

      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
      887,  887,  887,  887,  888,    0,  888,    0,  888,  888,
      888,  888,  888,  890,  890,  890,  890,  890,  890,  890,
      890,  890,  890,  890,  890,  890,  890,  890,  891,    0,
      891,    0,  891,  891,  891,  891,  891,  892,  892,  892,
      892,  892,  892,  892,  892,  892,  892,  892,  892,  892,
      892,  892,  893,  893,  893,  893,  893,  893,  893,  893,
      893,  893,  893,  893,  893,  893,  893,  894,  894,  894,
      894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
      894,  894,  895,  895,  895,  895,  895,  895,  895,  895,

      895,  895,  895,  895,  895,  895,  895,  896,    0,  896,
        0,  896,  896,  896,  896,  896,  897,    0,  897,    0,
      897,  897,  897,  897,  897,  898,  898,  898,  898,  898,
      898,  898,  898,  898,  898,  898,  898,  898,  898,  898,
      899,  899,  899,  899,  899,  899,  899,    0,  899,  899,
      899,  899,  899,  899,  899,  899,  899,  900,  900,  900,
      900,  900,  900,  900,    0,  900,    0,  900,  900,  900,
      900,  900,  900,  900,  901,  901,  901,  901,  901,  901,
      901,  901,  901,  901,  901,    0,  901,  901,  901,  901,
      901,  902,  902,  902,  902,  902,  902,  902,  902,  902,

      902,  902,  902,  902,  902,  902,  902,  902,  903,  903,
      903,  903,  903,  903,  903,  903,  903,  903,  903,  903,
      903,  903,  903,  904,  904,  904,  904,  904,  904,  904,
      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
      905,  905,  905,  905,  905,  905,  905,  905,  905,  905,
      905,  905,  905,  905,  905,  906,    0,  906,    0,  906,
      906,  906,  906,  906,  907,  907,  907,  907,  907,  907,
      907,  907,  907,  907,  907,  907,  907,  907,  907,  908,
      908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
      908,  908,  908,  908,  909,  909,  909,  909,  909,  909,

      909,  909,  909,  909,  909,  909,  909,  909,  909,  910,
        0,    0,  910,  910,  911,  911,  911,  911,  911,  911,
      911,  911,  911,  911,  911,  911,  911,  911,  911,  912,
      912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
      912,  912,  912,  912,  913,    0,    0,    0,    0,  913,
        0,    0,    0,  913,  913,  915,    0,  915,    0,  915,
      915,  915,  915,  915,  916,  916,  916,  916,  916,  916,
      916,  916,  916,  916,  916,  916,  916,  916,  916,  917,
        0,    0,    0,    0,  917,    0,    0,    0,  917,  917,
      919,  919,  919,  919,  919,  919,  919,  919,  919,  919,

      919,  919,  919,  919,  919,  920,  920,  920,  920,  920,
      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
      921,  921,  921,  921,  921,  921,  921,  921,  921,  921,
      921,  921,  921,  921,  921,  922,  922,  922,  922,  922,
      922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
      923,    0,    0,    0,    0,  923,    0,    0,    0,  923,
      923,  925,    0,  925,    0,  925,  925,  925,  925,  925,
      926,  926,  926,  926,  926,  926,  926,  926,  926,  926,
      926,  926,  926,  926,  926,  927,    0,    0,    0,    0,
      927,    0,    0,    0,  927,  927,  929,    0,  929,    0,

      929,  929,  929,  929,  929,  930,  930,  930,  930,  930,
      930,  930,  930,  930,  930,  930,  930,  930,  930,  930,
      931,  931,  931,  931,  931,  931,  931,  931,  931,  931,
      931,  931,  931,  931,  931,  932,  932,  932,  932,  932,
      932,  932,  932,  932,  932,  932,  932,  932,  932,  932,
      933,  933,  933,  933,  933,  933,  933,  933,  933,  933,
      933,  933,  933,  933,  933,  934,  934,  934,  934,  934,
      934,  934,  934,  934,  934,  934,  934,  934,  934,  934,
      935,    0,  935,    0,  935,  935,  935,  935,  935,  936,
      936,  936,  936,  936,  936,  936,  936,  936,  936,  936,

      936,  936,  936,  936,  937,  937,  937,  937,  937,  937,
      937,  937,  937,  937,  937,  937,  937,  937,  937,  938,
      938,  938,  938,  938,  938,  938,  938,  938,  938,  938,
      938,  938,  938,  938,  938,  938,  939,  939,  939,  939,
      939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
      939,  940,  940,  940,  940,  940,  940,  940,  940,  940,
      940,  940,  940,  940,  940,  940,  941,  941,  941,  941,
      941,  941,  941,  941,  941,  941,  941,  941,  941,  941,
      941,  941,  941,  942,  942,  942,  942,  942,  942,  942,
      942,  942,  942,  942,  942,  942,  942,  942,  943,  943,

      943,  943,  943,  943,  943,  943,  943,  943,  943,  943,
      943,  943,  943,  944,  944,  944,  944,  944,  944,  944,
      944,  944,  944,  944,  944,  944,  944,  944,  945,    0,
        0,  945,  945,  946,  946,  946,  946,  946,  946,  946,
      946,  946,  946,  946,  946,  946,  946,  946,  947,  947,
      947,  947,  947,  947,  947,  947,  947,  947,  947,  947,
      947,  947,  947,  948,  948,  948,  948,  948,  948,  948,
      948,    0,  948,    0,  948,    0,    0,    0,    0,  948,
      949,  949,  949,  949,  949,  949,  949,  949,    0,  949,
        0,  949,    0,    0,    0,    0,  949,  950,  950,  950,

      950,  950,  950,  950,  950,    0,  950,    0,  950,    0,
        0,    0,    0,  950,  951,  951,  951,  951,  951,  951,
      951,  951,    0,  951,    0,  951,    0,    0,    0,    0,
      951,  952,  952,  952,  952,  952,  952,  952,  952,    0,
      952,    0,  952,    0,    0,    0,    0,  952,  953,  953,
      953,  953,  953,  953,  953,  953,    0,  953,    0,  953,
        0,    0,    0,    0,  953,  954,  954,  954,  954,  954,
      954,  954,  954,    0,  954,    0,  954,    0,    0,    0,
        0,  954,  955,  955,  955,  955,  955,  955,  955,  955,
        0,  955,    0,  955,    0,    0,    0,    0,  955,  956,

      956,  956,  956,  956,  956,  956,  956,  956,  956,  956,
      956,  956,  956,  956,  957,  957,  957,  957,  957,  957,
      957,  957,  957,  957,  957,  957,  957,  957,  957,  958,
      958,  958,  958,  958,  958,  958,  958,  958,  958,  958,
      958,  958,  958,  958,  959,  959,  959,  959,  959,  959,
      959,  959,  959,  959,  959,  959,  959,  959,  959,  960,
      960,  960,  960,  960,  960,  960,  960,    0,  960,    0,
      960,    0,    0,    0,    0,  960,  961,  961,  961,  961,
      961,  961,  961,  961,    0,  961,    0,  961,    0,    0,
        0,    0,  961,  962,  962,  962,  962,  962,  962,  962,

      962,    0,  962,    0,  962,    0,    0,    0,    0,  962,
      963,  963,  963,  963,  963,  963,  963,  963,    0,  963,
        0,  963,    0,    0,    0,    0,  963,  964,  964,  964,
      964,  964,  964,  964,  964,    0,  964,    0,  964,    0,
        0,    0,    0,  964,  965,  965,  965,  965,  965,  965,
      965,  965,    0,  965,    0,  965,    0,    0,    0,    0,
      965,  966,  966,  966,  966,  966,  966,  966,  966,    0,
      966,    0,  966,    0,    0,    0,    0,  966,  967,  967,
      967,  967,  967,  967,  967,  967,    0,  967,    0,  967,
        0,    0,    0,    0,  967,  968,  968,  968,  968,  968,

      968,  968,  968,  968,  968,  968,  968,  968,  968,  968,
      969,  969,  969,  969,  969,  969,  969,  969,  969,  969,
      969,  969,  969,  969,  969,  970,  970,  970,  970,  970,
      970,    0,  970,  970,  970,  970,  970,  970,  970,  970,
      970,  970,  971,  971,  971,  971,  971,  971,  971,  971,
      971,  971,  971,  971,  971,  971,  971,  972,  972,  972,
      972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
      972,  972,  973,  973,  973,  973,  973,  973,  973,  973,
      973,  973,  973,  973,  973,  973,  973,  974,  974,  974,
      974,  974,  974,  974,  974,  974,  974,  974,  974,  974,

      974,  974,  975,  975,  975,  975,  975,  975,  975,  975,
      975,  975,  975,  975,  975,  975,  975,  976,    0,    0,
      976,  976,  977,  977,  977,  977,  977,  977,  977,  977,
      977,  977,  977,  977,  977,  977,  977,  978,  978,    0,
        0,    0,    0,    0,    0,    0,  978,  979,  979,  979,
      979,  979,  979,    0,  979,  979,  979,  979,  979,  979,
      979,  979,  979,  979,  980,  980,  980,  980,  980,  980,
      980,  980,  980,  980,  980,  980,  980,  980,  980,  981,
      981,  981,  981,  981,  981,  981,  981,  981,  981,  981,
      981,  981,  981,  981,  982,  982,  982,  982,  982,  982,

      982,  982,  982,  982,  982,  982,  982,  982,  982,  983,
      983,  983,  983,  983,  983,  983,  983,  983,  983,  983,
      983,  983,  983,  983,  984,    0,  984,    0,  984,  984,
      984,  984,  984,  985,  985,  985,  985,    0,  985,  985,
      985,  985,  985,  985,  985,  985,  985,  985,  985,  985,
      986,  986,  986,  986,  986,  986,  986,  986,  986,  986,
      986,  986,  986,  986,  986,  987,  987,  987,  987,  987,
      987,  987,  987,  987,  987,  987,  987,  987,  987,  987,
      988,  988,  988,  988,  988,  988,  988,  988,  988,  988,
      988,  988,  988,  988,  988,  989,  989,  989,  989,  989,

      989,  989,  989,  989,  989,  989,  989,  989,  989,  989,
      990,  990,  990,  990,  990,  990,  990,  990,  990,  990,
      990,  990,  990,  990,  990,  991,    0,    0,  991,  991,
      992,  992,  992,  992,  992,  992,  992,  992,  992,  992,
      992,  992,  992,  992,  992,  993,  993,    0,    0,    0,
        0,    0,    0,    0,  993,  995,  995,  995,  995,    0,
      995,  995,  995,  995,  995,  995,  995,  995,  995,  995,
      995,  995,  996,  996,  996,  996,  996,  996,  996,  996,
      996,  996,  996,  996,  996,  996,  996,  997,  997,  997,
      997,  997,  997,  997,  997,  997,  997,  997,  997,  997,

      997,  997,  998,  998,  998,  998,  998,  998,  998,  998,
      998,  998,  998,  998,  998,  998,  998,  999,  999,  999,
      999,  999,  999,  999,  999,  999,  999,  999,  999,  999,
      999,  999, 1000,    0, 1000,    0, 1000, 1000, 1000, 1000,
     1000, 1001,    0, 1001,    0, 1001, 1001, 1001, 1001, 1001,
     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     1002, 1002, 1002, 1002, 1002, 1003, 1003, 1003, 1003, 1003,
     1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003,
     1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004,
     1004, 1004, 1004, 1004, 1004, 1005,    0,    0, 1005, 1005,

     1006, 1006,    0,    0,    0,    0,    0,    0,    0, 1006,
     1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007,
     1007, 1007, 1007, 1007, 1007, 1008, 1008, 1008, 1008, 1008,
     1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
     1010, 1010,    0,    0,    0,    0,    0,    0,    0, 1010,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,

      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
      861,  861,  861,  861,  861
    } ;

static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
static char *yy_full_match;
static int yy_lp;
static int yy_looking_for_trail_begin = 0;
static int yy_full_lp;
static int *yy_full_state;
#define YY_TRAILING_MASK 0x2000
#define YY_TRAILING_HEAD_MASK 0x4000
#define REJECT \
{ \
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
yy_cp = yy_full_match; /* restore poss. backed-over text */ \
yy_lp = yy_full_lp; /* restore orig. accepting pos. */ \
yy_state_ptr = yy_full_state; /* restore orig. state */ \
yy_current_state = *yy_state_ptr; /* restore curr. state */ \
++yy_lp; \
goto find_rule; \
}
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#define INITIAL 0

/* For flex.  Requires support for 8-bit characters and case independence. */

#include "cssI.h"
#include "csstab.h"

#undef YY_INPUT
#define YY_INPUT(buf, result, max_size)  css_GetBuf(buf, &result, max_size)

#if !defined(__cplusplus) && !(__STDC__) && !defined(__TURBOC__)
/* Stuff from stdlib.h -- needed by win16 */
#define YY_MALLOC_DECL \
extern void free (void *); \
extern void *malloc (size_t size); \
extern void *realloc (void *, size_t);
#endif

static int input(void);

/* We never take input off of the command line. */
#define YY_NEVER_INTERACTIVE 1

#ifdef CSS_PARSE_DEBUG
#define RETURN(x) {printf("lex returns %d for '%s'\n",x,css_text);return(x);}
#else
#define RETURN(x) return(x)
#endif

#define css_comment 1

#define css_ignore 2

#define css_property 3

#define css_value 4

#define css_bg 5

#define css_font 6

#define css_line_height 7

#define css_list_style 8

#define css_border 9

#define css_font_size 10

#define css_after_ident 11


/* Macros after this point can all be overridden by user definitions in
 * section 1.
 */

#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern "C" int yywrap YY_PROTO(( void ));
#else
extern int yywrap YY_PROTO(( void ));
#endif
#endif

#ifndef YY_NO_UNPUT
static void yyunput YY_PROTO(( int c, char *buf_ptr ));
#endif

#ifndef yytext_ptr
static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
#endif

#ifdef YY_NEED_STRLEN
static int yy_flex_strlen YY_PROTO(( yyconst char * ));
#endif

#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput YY_PROTO(( void ));
#else
static int input YY_PROTO(( void ));
#endif
#endif

#if YY_STACK_USED
static int yy_start_stack_ptr = 0;
static int yy_start_stack_depth = 0;
static int *yy_start_stack = 0;
#ifndef YY_NO_PUSH_STATE
static void yy_push_state YY_PROTO(( int new_state ));
#endif
#ifndef YY_NO_POP_STATE
static void yy_pop_state YY_PROTO(( void ));
#endif
#ifndef YY_NO_TOP_STATE
static int yy_top_state YY_PROTO(( void ));
#endif

#else
#define YY_NO_PUSH_STATE 1
#define YY_NO_POP_STATE 1
#define YY_NO_TOP_STATE 1
#endif

#ifdef YY_MALLOC_DECL
YY_MALLOC_DECL
#else
#if __STDC__
#ifndef __cplusplus
#include <stdlib.h>
#endif
#else
/* Just try to get by without declaring the routines.  This will fail
 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
 * or sizeof(void*) != sizeof(int).
 */
#endif
#endif

/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE 8192
#endif

/* Copy whatever the last rule matched to the standard output. */

#ifndef ECHO
/* This used to be an fputs(), but since the string might contain NUL's,
 * we now use fwrite().
 */
#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
#endif

/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
 * is returned in "result".
 */
#ifndef YY_INPUT
#define YY_INPUT(buf,result,max_size) \
	if ( yy_current_buffer->yy_is_interactive ) \
		{ \
		int c = '*', n; \
		for ( n = 0; n < max_size && \
			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
			buf[n] = (char) c; \
		if ( c == '\n' ) \
			buf[n++] = (char) c; \
		if ( c == EOF && ferror( yyin ) ) \
			YY_FATAL_ERROR( "input in flex scanner failed" ); \
		result = n; \
		} \
	else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
		  && ferror( yyin ) ) \
		YY_FATAL_ERROR( "input in flex scanner failed" );
#endif

/* No semi-colon after return; correct usage is to write "yyterminate();" -
 * we don't want an extra ';' after the "return" because that will cause
 * some compilers to complain about unreachable statements.
 */
#ifndef yyterminate
#define yyterminate() return YY_NULL
#endif

/* Number of entries by which start-condition stack grows. */
#ifndef YY_START_STACK_INCR
#define YY_START_STACK_INCR 25
#endif

/* Report a fatal error. */
#ifndef YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
#endif

/* Default declaration of generated scanner - a define so the user can
 * easily add parameters.
 */
#ifndef YY_DECL
#define YY_DECL int yylex YY_PROTO(( void ))
#endif

/* Code executed at the beginning of each rule, after yytext and yyleng
 * have been set up.
 */
#ifndef YY_USER_ACTION
#define YY_USER_ACTION
#endif

/* Code executed at the end of each rule. */
#ifndef YY_BREAK
#define YY_BREAK break;
#endif

#define YY_RULE_SETUP \
	YY_USER_ACTION

YY_DECL
	{
	register yy_state_type yy_current_state;
	register char *yy_cp, *yy_bp;
	register int yy_act;





/* CSS1 17 December 1996, with the following changes:
 * 1.  Expand whitespace definition in the rules section.
 * 2.  Change default rule action to be silent.
 * 3.  Require class names to be an IDENT.
 * 4.  Require id names to be an IDENT.
 * 5.  Return '.' as a separate lexical token;
 *     add DOT and DOT_AFTER_IDENT; remove CLASS and CLASS_AFTER_IDENT
 * 6.  Return '#' as a separate lexical token;
 *     remove HASH and HASH_AFTER_IDENT.
 * 7.  Gut the use of AFTER_IDENT tokens for pseudoclasses and pseudoelements.
 * 8.  Provide a definition for HEXCOLOR token.
 *     move { and } out into state triggers
 * 9.  Gave up on preserving any heritage and made use of exclusive states.
 */

/* These state variables can be on the stack because their state is not
 * useful across a token return.  They should always be set to 0 before
 * starting a new input file.
 */
short int css_prior_state = 0;
short int css_nest_count = 0;



	if ( yy_init )
		{
		yy_init = 0;

#ifdef YY_USER_INIT
		YY_USER_INIT;
#endif

		if ( ! yy_start )
			yy_start = 1;	/* first start state */

		if ( ! yyin )
			yyin = stdin;

		if ( ! yyout )
			yyout = stdout;

		if ( ! yy_current_buffer )
			yy_current_buffer =
				yy_create_buffer( yyin, YY_BUF_SIZE );

		yy_load_buffer_state();
		}

	while ( 1 )		/* loops until end-of-file is reached */
		{
		yy_cp = yy_c_buf_p;

		/* Support of yytext. */
		*yy_cp = yy_hold_char;

		/* yy_bp points to the position in yy_ch_buf of the start of
		 * the current run.
		 */
		yy_bp = yy_cp;

		yy_current_state = yy_start;
		yy_state_ptr = yy_state_buf;
		*yy_state_ptr++ = yy_current_state;
yy_match:
		do
			{
			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
				{
				yy_current_state = (int) yy_def[yy_current_state];
				if ( yy_current_state >= 862 )
					yy_c = yy_meta[(unsigned int) yy_c];
				}
			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
			*yy_state_ptr++ = yy_current_state;
			++yy_cp;
			}
		while ( yy_current_state != 861 );

yy_find_action:
		yy_current_state = *--yy_state_ptr;
		yy_lp = yy_accept[yy_current_state];
find_rule: /* we branch to this label when backing up */
		for ( ; ; ) /* until we find what rule we matched */
			{
			if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
				{
				yy_act = yy_acclist[yy_lp];
				if ( yy_act & YY_TRAILING_HEAD_MASK ||
				     yy_looking_for_trail_begin )
					{
					if ( yy_act == yy_looking_for_trail_begin )
						{
						yy_looking_for_trail_begin = 0;
						yy_act &= ~YY_TRAILING_HEAD_MASK;
						break;
						}
					}
				else if ( yy_act & YY_TRAILING_MASK )
					{
					yy_looking_for_trail_begin = yy_act & ~YY_TRAILING_MASK;
					yy_looking_for_trail_begin |= YY_TRAILING_HEAD_MASK;
					}
				else
					{
					yy_full_match = yy_cp;
					yy_full_state = yy_state_ptr;
					yy_full_lp = yy_lp;
					break;
					}
				++yy_lp;
				goto find_rule;
				}
			--yy_cp;
			yy_current_state = *--yy_state_ptr;
			yy_lp = yy_accept[yy_current_state];
			}

		YY_DO_BEFORE_ACTION;


do_action:	/* This label is used only to access EOF actions. */


		switch ( yy_act )
	{ /* beginning of action switch */
case 1:
YY_RULE_SETUP
{BEGIN(0); RETURN(CDO);}
	YY_BREAK
case 2:
YY_RULE_SETUP
{BEGIN(0); RETURN(CDC);}
	YY_BREAK
case 3:
YY_RULE_SETUP
{BEGIN(0);RETURN(LINK_PSCLASS);}
	YY_BREAK
case 4:
YY_RULE_SETUP
{BEGIN(0);RETURN(VISITED_PSCLASS);}
	YY_BREAK
case 5:
YY_RULE_SETUP
{BEGIN(0);RETURN(ACTIVE_PSCLASS);}
	YY_BREAK
case 6:
YY_RULE_SETUP
{BEGIN(0);RETURN(DOT_AFTER_IDENT);}
	YY_BREAK
case 7:
YY_RULE_SETUP
{BEGIN(css_after_ident); RETURN(IDENT);}
	YY_BREAK
case 8:
YY_RULE_SETUP
{BEGIN(0);RETURN(LEADING_LINK_PSCLASS);}
	YY_BREAK
case 9:
YY_RULE_SETUP
{BEGIN(0);RETURN(LEADING_VISITED_PSCLASS);}
	YY_BREAK
case 10:
YY_RULE_SETUP
{BEGIN(0);RETURN(LEADING_ACTIVE_PSCLASS);}
	YY_BREAK
case 11:
YY_RULE_SETUP
{BEGIN(0);RETURN(FIRST_LINE);}
	YY_BREAK
case 12:
YY_RULE_SETUP
{BEGIN(0);RETURN(FIRST_LETTER);}
	YY_BREAK
case 13:
YY_RULE_SETUP
{BEGIN(0);RETURN(DOT);}
	YY_BREAK
case 14:
YY_RULE_SETUP
{BEGIN(0);return (*css_text);}
	YY_BREAK
case 15:
YY_RULE_SETUP
{BEGIN(0);}
	YY_BREAK
case 16:
YY_RULE_SETUP
{BEGIN(0); RETURN(IMPORT_SYM);}
	YY_BREAK
case 17:
YY_RULE_SETUP
{BEGIN(0); RETURN(FONTDEF);}
	YY_BREAK
case 18:
case 19:
YY_RULE_SETUP
{RETURN(URL);}
	YY_BREAK
case 20:
YY_RULE_SETUP
{RETURN(STRING);}
	YY_BREAK
case 21:
YY_RULE_SETUP
{BEGIN(css_ignore); css_nest_count=0;}
	YY_BREAK
case 22:
case 23:
YY_RULE_SETUP
{ /* unrecognized @rules are ignored. */}
	YY_BREAK
case 24:
YY_RULE_SETUP
{if (0 == css_nest_count) BEGIN(0);}
	YY_BREAK
case 25:
YY_RULE_SETUP
{css_nest_count++;}
	YY_BREAK
case 26:
YY_RULE_SETUP
{if (0 >= --css_nest_count) BEGIN(0);}
	YY_BREAK
case 27:
YY_RULE_SETUP
{if (css_comment != YY_START) {
                         /* Comments cannot be nested. */
                         css_prior_state = YY_START;}
                     BEGIN(css_comment);}
	YY_BREAK
case 28:
case 29:
YY_RULE_SETUP
{/* Comments function as whitespace. */}
	YY_BREAK
case 30:
YY_RULE_SETUP
{BEGIN(css_prior_state);}
	YY_BREAK
case 31:
YY_RULE_SETUP
{/* whitespace can separate tokens */}
	YY_BREAK
case 32:
YY_RULE_SETUP
{BEGIN(0); return (*css_text);}
	YY_BREAK
case 33:
YY_RULE_SETUP
{BEGIN(css_property); return (*css_text);}
	YY_BREAK
case 34:
YY_RULE_SETUP
{RETURN(IMPORTANT_SYM);}
	YY_BREAK
case 35:
YY_RULE_SETUP
{BEGIN(css_property); return (*css_text);}
	YY_BREAK
case 36:
YY_RULE_SETUP
{BEGIN(css_value); return (*css_text);}
	YY_BREAK
case 37:
YY_RULE_SETUP
{return (*css_text);}
	YY_BREAK
case 38:
YY_RULE_SETUP
{BEGIN(css_bg); RETURN(BACKGROUND);}
	YY_BREAK
case 39:
YY_RULE_SETUP
{BEGIN(css_font); RETURN(FONT);}
	YY_BREAK
case 40:
YY_RULE_SETUP
{BEGIN(css_list_style); RETURN(LIST_STYLE);}
	YY_BREAK
case 41:
YY_RULE_SETUP
{BEGIN(css_border); RETURN(BORDER);}
	YY_BREAK
case 42:
YY_RULE_SETUP
{BEGIN(css_font_size); RETURN(FONT_SIZE_PROPERTY);}
	YY_BREAK
case 43:
YY_RULE_SETUP
{RETURN(IDENT);}
	YY_BREAK
case 44:
YY_RULE_SETUP
{RETURN(FONT_STYLE);}
	YY_BREAK
case 45:
YY_RULE_SETUP
{RETURN(FONT_VARIANT);}
	YY_BREAK
case 46:
YY_RULE_SETUP
{RETURN(FONT_WEIGHT);}
	YY_BREAK
case 47:
YY_RULE_SETUP
{RETURN(FONT_WEIGHT);}
	YY_BREAK
case 48:
YY_RULE_SETUP
{RETURN(FONT_NORMAL);}
	YY_BREAK
case 49:
YY_RULE_SETUP
{RETURN(FONT_SIZE);}
	YY_BREAK
case 50:
YY_RULE_SETUP
{RETURN(FONT_SIZE);}
	YY_BREAK
case 51:
YY_RULE_SETUP
{BEGIN(css_font); RETURN(PERCENTAGE);}
	YY_BREAK
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
YY_RULE_SETUP
{BEGIN(css_font); RETURN(LENGTH);}
	YY_BREAK
case 59:
YY_RULE_SETUP
{BEGIN(css_font); RETURN(EMS);}
	YY_BREAK
case 60:
YY_RULE_SETUP
{BEGIN(css_font); RETURN(EXS);}
	YY_BREAK
case 61:
YY_RULE_SETUP
{BEGIN(css_line_height); return (*css_text);}
	YY_BREAK
case 62:
YY_RULE_SETUP
{return (*css_text);}
	YY_BREAK
case 63:
YY_RULE_SETUP
{BEGIN(css_font); RETURN(NUMBER);}
	YY_BREAK
case 64:
YY_RULE_SETUP
{BEGIN(css_font); RETURN(LINE_HEIGHT);}
	YY_BREAK
case 65:
YY_RULE_SETUP
{RETURN(IDENT);}
	YY_BREAK
case 66:
YY_RULE_SETUP
{RETURN(STRING);}
	YY_BREAK
case 67:
YY_RULE_SETUP
{return (*css_text);}
	YY_BREAK
case 68:
YY_RULE_SETUP
{RETURN(LS_TYPE);}
	YY_BREAK
case 69:
YY_RULE_SETUP
{RETURN(LS_NONE);}
	YY_BREAK
case 70:
YY_RULE_SETUP
{RETURN(LS_POSITION);}
	YY_BREAK
case 71:
YY_RULE_SETUP
{RETURN(BG_COLOR);}
	YY_BREAK
case 72:
YY_RULE_SETUP
{RETURN(BG_IMAGE);}
	YY_BREAK
case 73:
YY_RULE_SETUP
{RETURN(BG_REPEAT);}
	YY_BREAK
case 74:
YY_RULE_SETUP
{RETURN(BG_ATTACHMENT);}
	YY_BREAK
case 75:
YY_RULE_SETUP
{RETURN(BG_POSITION);}
	YY_BREAK
case 76:
YY_RULE_SETUP
{return (*css_text);}
	YY_BREAK
case 77:
YY_RULE_SETUP
{RETURN(IDENT);}
	YY_BREAK
case 78:
YY_RULE_SETUP
{RETURN(IDENT); /* quick b2 hack */}
	YY_BREAK
case 79:
YY_RULE_SETUP
{RETURN(STRING);}
	YY_BREAK
case 80:
case 81:
YY_RULE_SETUP
{RETURN(HEXCOLOR);}
	YY_BREAK
case 82:
YY_RULE_SETUP
{RETURN(RGB);}
	YY_BREAK
case 83:
case 84:
YY_RULE_SETUP
{RETURN(URL);}
	YY_BREAK
case 85:
YY_RULE_SETUP
{RETURN(PERCENTAGE);}
	YY_BREAK
case 86:
case 87:
case 88:
case 89:
case 90:
case 91:
case 92:
YY_RULE_SETUP
{RETURN(LENGTH);}
	YY_BREAK
case 93:
YY_RULE_SETUP
{RETURN(EMS);}
	YY_BREAK
case 94:
YY_RULE_SETUP
{RETURN(EXS);}
	YY_BREAK
case 95:
YY_RULE_SETUP
{RETURN(NUMBER);}
	YY_BREAK
case 96:
case 97:
YY_RULE_SETUP
{RETURN(BORDER_STYLE);}
	YY_BREAK
case 98:
YY_RULE_SETUP
{RETURN(BORDER_WIDTH);}
	YY_BREAK
case 99:
YY_RULE_SETUP
{RETURN(IDENT);}
	YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(css_comment):
case YY_STATE_EOF(css_ignore):
case YY_STATE_EOF(css_property):
case YY_STATE_EOF(css_value):
case YY_STATE_EOF(css_bg):
case YY_STATE_EOF(css_font):
case YY_STATE_EOF(css_line_height):
case YY_STATE_EOF(css_list_style):
case YY_STATE_EOF(css_border):
case YY_STATE_EOF(css_font_size):
case YY_STATE_EOF(css_after_ident):
{BEGIN (0); yyterminate();}
	YY_BREAK
case 100:
YY_RULE_SETUP
{RETURN(WILD);}
	YY_BREAK
case 101:
YY_RULE_SETUP
ECHO;
	YY_BREAK

	case YY_END_OF_BUFFER:
		{
		/* Amount of text matched not including the EOB char. */
		int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;

		/* Undo the effects of YY_DO_BEFORE_ACTION. */
		*yy_cp = yy_hold_char;
		YY_RESTORE_YY_MORE_OFFSET

		if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
			{
			/* We're scanning a new file or input source.  It's
			 * possible that this happened because the user
			 * just pointed yyin at a new source and called
			 * yylex().  If so, then we have to assure
			 * consistency between yy_current_buffer and our
			 * globals.  Here is the right place to do so, because
			 * this is the first action (other than possibly a
			 * back-up) that will match for the new input source.
			 */
			yy_n_chars = yy_current_buffer->yy_n_chars;
			yy_current_buffer->yy_input_file = yyin;
			yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
			}

		/* Note that here we test for yy_c_buf_p "<=" to the position
		 * of the first EOB in the buffer, since yy_c_buf_p will
		 * already have been incremented past the NUL character
		 * (since all states make transitions on EOB to the
		 * end-of-buffer state).  Contrast this with the test
		 * in input().
		 */
		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
			{ /* This was really a NUL. */
			yy_state_type yy_next_state;

			yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;

			yy_current_state = yy_get_previous_state();

			/* Okay, we're now positioned to make the NUL
			 * transition.  We couldn't have
			 * yy_get_previous_state() go ahead and do it
			 * for us because it doesn't know how to deal
			 * with the possibility of jamming (and we don't
			 * want to build jamming into it because then it
			 * will run more slowly).
			 */

			yy_next_state = yy_try_NUL_trans( yy_current_state );

			yy_bp = yytext_ptr + YY_MORE_ADJ;

			if ( yy_next_state )
				{
				/* Consume the NUL. */
				yy_cp = ++yy_c_buf_p;
				yy_current_state = yy_next_state;
				goto yy_match;
				}

			else
				{
				yy_cp = yy_c_buf_p;
				goto yy_find_action;
				}
			}

		else switch ( yy_get_next_buffer() )
			{
			case EOB_ACT_END_OF_FILE:
				{
				yy_did_buffer_switch_on_eof = 0;

				if ( yywrap() )
					{
					/* Note: because we've taken care in
					 * yy_get_next_buffer() to have set up
					 * yytext, we can now set up
					 * yy_c_buf_p so that if some total
					 * hoser (like flex itself) wants to
					 * call the scanner after we return the
					 * YY_NULL, it'll still work - another
					 * YY_NULL will get returned.
					 */
					yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;

					yy_act = YY_STATE_EOF(YY_START);
					goto do_action;
					}

				else
					{
					if ( ! yy_did_buffer_switch_on_eof )
						YY_NEW_FILE;
					}
				break;
				}

			case EOB_ACT_CONTINUE_SCAN:
				yy_c_buf_p =
					yytext_ptr + yy_amount_of_matched_text;

				yy_current_state = yy_get_previous_state();

				yy_cp = yy_c_buf_p;
				yy_bp = yytext_ptr + YY_MORE_ADJ;
				goto yy_match;

			case EOB_ACT_LAST_MATCH:
				yy_c_buf_p =
				&yy_current_buffer->yy_ch_buf[yy_n_chars];

				yy_current_state = yy_get_previous_state();

				yy_cp = yy_c_buf_p;
				yy_bp = yytext_ptr + YY_MORE_ADJ;
				goto yy_find_action;
			}
		break;
		}

	default:
		YY_FATAL_ERROR(
			"fatal flex scanner internal error--no action found" );
	} /* end of action switch */
		} /* end of scanning one token */
	} /* end of yylex */


/* yy_get_next_buffer - try to read in a new buffer
 *
 * Returns a code representing an action:
 *	EOB_ACT_LAST_MATCH -
 *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
 *	EOB_ACT_END_OF_FILE - end of file
 */

static int yy_get_next_buffer()
	{
	register char *dest = yy_current_buffer->yy_ch_buf;
	register char *source = yytext_ptr;
	register int number_to_move, i;
	int ret_val;

	if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
		YY_FATAL_ERROR(
		"fatal flex scanner internal error--end of buffer missed" );

	if ( yy_current_buffer->yy_fill_buffer == 0 )
		{ /* Don't try to fill the buffer, so this is an EOF. */
		if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
			{
			/* We matched a single character, the EOB, so
			 * treat this as a final EOF.
			 */
			return EOB_ACT_END_OF_FILE;
			}

		else
			{
			/* We matched some text prior to the EOB, first
			 * process it.
			 */
			return EOB_ACT_LAST_MATCH;
			}
		}

	/* Try to read more data. */

	/* First move last chars to start of buffer. */
	number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;

	for ( i = 0; i < number_to_move; ++i )
		*(dest++) = *(source++);

	if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
		/* don't do the read, it's not guaranteed to return an EOF,
		 * just force an EOF
		 */
		yy_n_chars = 0;

	else
		{
		int num_to_read =
			yy_current_buffer->yy_buf_size - number_to_move - 1;

		while ( num_to_read <= 0 )
			{ /* Not enough room in the buffer - grow it. */
#ifdef YY_USES_REJECT
			YY_FATAL_ERROR(
"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
#else

			/* just a shorter name for the current buffer */
			YY_BUFFER_STATE b = yy_current_buffer;

			int yy_c_buf_p_offset =
				(int) (yy_c_buf_p - b->yy_ch_buf);

			if ( b->yy_is_our_buffer )
				{
				int new_size = b->yy_buf_size * 2;

				if ( new_size <= 0 )
					b->yy_buf_size += b->yy_buf_size / 8;
				else
					b->yy_buf_size *= 2;

				b->yy_ch_buf = (char *)
					/* Include room in for 2 EOB chars. */
					yy_flex_realloc( (void *) b->yy_ch_buf,
							 b->yy_buf_size + 2 );
				}
			else
				/* Can't grow it, we don't own it. */
				b->yy_ch_buf = 0;

			if ( ! b->yy_ch_buf )
				YY_FATAL_ERROR(
				"fatal error - scanner input buffer overflow" );

			yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];

			num_to_read = yy_current_buffer->yy_buf_size -
						number_to_move - 1;
#endif
			}

		if ( num_to_read > YY_READ_BUF_SIZE )
			num_to_read = YY_READ_BUF_SIZE;

		/* Read in more data. */
		YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
			yy_n_chars, num_to_read );
		}

	if ( yy_n_chars == 0 )
		{
		if ( number_to_move == YY_MORE_ADJ )
			{
			ret_val = EOB_ACT_END_OF_FILE;
			yyrestart( yyin );
			}

		else
			{
			ret_val = EOB_ACT_LAST_MATCH;
			yy_current_buffer->yy_buffer_status =
				YY_BUFFER_EOF_PENDING;
			}
		}

	else
		ret_val = EOB_ACT_CONTINUE_SCAN;

	yy_n_chars += number_to_move;
	yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
	yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;

	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];

	return ret_val;
	}


/* yy_get_previous_state - get the state just before the EOB char was reached */

static yy_state_type yy_get_previous_state()
	{
	register yy_state_type yy_current_state;
	register char *yy_cp;

	yy_current_state = yy_start;
	yy_state_ptr = yy_state_buf;
	*yy_state_ptr++ = yy_current_state;

	for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
		{
		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
			{
			yy_current_state = (int) yy_def[yy_current_state];
			if ( yy_current_state >= 862 )
				yy_c = yy_meta[(unsigned int) yy_c];
			}
		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
		*yy_state_ptr++ = yy_current_state;
		}

	return yy_current_state;
	}


/* yy_try_NUL_trans - try to make a transition on the NUL character
 *
 * synopsis
 *	next_state = yy_try_NUL_trans( current_state );
 */

#ifdef YY_USE_PROTOS
static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
#else
static yy_state_type yy_try_NUL_trans( yy_current_state )
yy_state_type yy_current_state;
#endif
	{
	register int yy_is_jam;

	register YY_CHAR yy_c = 1;
	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
		{
		yy_current_state = (int) yy_def[yy_current_state];
		if ( yy_current_state >= 862 )
			yy_c = yy_meta[(unsigned int) yy_c];
		}
	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
	yy_is_jam = (yy_current_state == 861);
	if ( ! yy_is_jam )
		*yy_state_ptr++ = yy_current_state;

	return yy_is_jam ? 0 : yy_current_state;
	}


#ifndef YY_NO_UNPUT
#ifdef YY_USE_PROTOS
static void yyunput( int c, register char *yy_bp )
#else
static void yyunput( c, yy_bp )
int c;
register char *yy_bp;
#endif
	{
	register char *yy_cp = yy_c_buf_p;

	/* undo effects of setting up yytext */
	*yy_cp = yy_hold_char;

	if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
		{ /* need to shift things up to make room */
		/* +2 for EOB chars. */
		register int number_to_move = yy_n_chars + 2;
		register char *dest = &yy_current_buffer->yy_ch_buf[
					yy_current_buffer->yy_buf_size + 2];
		register char *source =
				&yy_current_buffer->yy_ch_buf[number_to_move];

		while ( source > yy_current_buffer->yy_ch_buf )
			*--dest = *--source;

		yy_cp += (int) (dest - source);
		yy_bp += (int) (dest - source);
		yy_n_chars = yy_current_buffer->yy_buf_size;

		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
			YY_FATAL_ERROR( "flex scanner push-back overflow" );
		}

	*--yy_cp = (char) c;


	yytext_ptr = yy_bp;
	yy_hold_char = *yy_cp;
	yy_c_buf_p = yy_cp;
	}
#endif	/* ifndef YY_NO_UNPUT */


#ifdef __cplusplus
static int yyinput()
#else
static int input()
#endif
	{
	int c;

	*yy_c_buf_p = yy_hold_char;

	if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
		{
		/* yy_c_buf_p now points to the character we want to return.
		 * If this occurs *before* the EOB characters, then it's a
		 * valid NUL; if not, then we've hit the end of the buffer.
		 */
		if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
			/* This was really a NUL. */
			*yy_c_buf_p = '\0';

		else
			{ /* need more input */
			int offset = yy_c_buf_p - yytext_ptr;
			++yy_c_buf_p;

			switch ( yy_get_next_buffer() )
				{
				case EOB_ACT_END_OF_FILE:
					{
					if ( yywrap() )
						{
						yy_c_buf_p = yytext_ptr + offset;
						return EOF;
						}

					if ( ! yy_did_buffer_switch_on_eof )
						YY_NEW_FILE;
#ifdef __cplusplus
					return yyinput();
#else
					return input();
#endif
					}

				case EOB_ACT_CONTINUE_SCAN:
					yy_c_buf_p = yytext_ptr + offset;
					break;

				case EOB_ACT_LAST_MATCH:
#ifdef __cplusplus
					YY_FATAL_ERROR(
					"unexpected last match in yyinput()" );
#else
					YY_FATAL_ERROR(
					"unexpected last match in input()" );
#endif
				}
			}
		}

	c = *(unsigned char *) yy_c_buf_p;	/* cast for 8-bit char's */
	*yy_c_buf_p = '\0';	/* preserve yytext */
	yy_hold_char = *++yy_c_buf_p;


	return c;
	}


#ifdef YY_USE_PROTOS
void yyrestart( FILE *input_file )
#else
void yyrestart( input_file )
FILE *input_file;
#endif
	{
	if ( ! yy_current_buffer )
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );

	yy_init_buffer( yy_current_buffer, input_file );
	yy_load_buffer_state();
	}


#ifdef YY_USE_PROTOS
void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
#else
void yy_switch_to_buffer( new_buffer )
YY_BUFFER_STATE new_buffer;
#endif
	{
	if ( yy_current_buffer == new_buffer )
		return;

	if ( yy_current_buffer )
		{
		/* Flush out information for old buffer. */
		*yy_c_buf_p = yy_hold_char;
		yy_current_buffer->yy_buf_pos = yy_c_buf_p;
		yy_current_buffer->yy_n_chars = yy_n_chars;
		}

	yy_current_buffer = new_buffer;
	yy_load_buffer_state();

	/* We don't actually know whether we did this switch during
	 * EOF (yywrap()) processing, but the only time this flag
	 * is looked at is after yywrap() is called, so it's safe
	 * to go ahead and always set it.
	 */
	yy_did_buffer_switch_on_eof = 1;
	}


#ifdef YY_USE_PROTOS
void yy_load_buffer_state( void )
#else
void yy_load_buffer_state()
#endif
	{
	yy_n_chars = yy_current_buffer->yy_n_chars;
	yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
	yyin = yy_current_buffer->yy_input_file;
	yy_hold_char = *yy_c_buf_p;
	}


#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
#else
YY_BUFFER_STATE yy_create_buffer( file, size )
FILE *file;
int size;
#endif
	{
	YY_BUFFER_STATE b;

	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
	if ( ! b )
		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );

	b->yy_buf_size = size;

	/* yy_ch_buf has to be 2 characters longer than the size given because
	 * we need to put in 2 end-of-buffer characters.
	 */
	b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
	if ( ! b->yy_ch_buf )
		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );

	b->yy_is_our_buffer = 1;

	yy_init_buffer( b, file );

	return b;
	}


#ifdef YY_USE_PROTOS
void yy_delete_buffer( YY_BUFFER_STATE b )
#else
void yy_delete_buffer( b )
YY_BUFFER_STATE b;
#endif
	{
	if ( ! b )
		return;

	if ( b == yy_current_buffer )
		yy_current_buffer = (YY_BUFFER_STATE) 0;

	if ( b->yy_is_our_buffer )
		yy_flex_free( (void *) b->yy_ch_buf );

	yy_flex_free( (void *) b );
	}


#ifndef YY_ALWAYS_INTERACTIVE
#ifndef YY_NEVER_INTERACTIVE
extern int isatty YY_PROTO(( int ));
#endif
#endif

#ifdef YY_USE_PROTOS
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
#else
void yy_init_buffer( b, file )
YY_BUFFER_STATE b;
FILE *file;
#endif


	{
	yy_flush_buffer( b );

	b->yy_input_file = file;
	b->yy_fill_buffer = 1;

#if YY_ALWAYS_INTERACTIVE
	b->yy_is_interactive = 1;
#else
#if YY_NEVER_INTERACTIVE
	b->yy_is_interactive = 0;
#else
	b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
#endif
#endif
	}


#ifdef YY_USE_PROTOS
void yy_flush_buffer( YY_BUFFER_STATE b )
#else
void yy_flush_buffer( b )
YY_BUFFER_STATE b;
#endif

	{
	b->yy_n_chars = 0;

	/* We always need two end-of-buffer characters.  The first causes
	 * a transition to the end-of-buffer state.  The second causes
	 * a jam in that state.
	 */
	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;

	b->yy_buf_pos = &b->yy_ch_buf[0];

	b->yy_at_bol = 1;
	b->yy_buffer_status = YY_BUFFER_NEW;

	if ( b == yy_current_buffer )
		yy_load_buffer_state();
	}


#ifndef YY_NO_SCAN_BUFFER
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
#else
YY_BUFFER_STATE yy_scan_buffer( base, size )
char *base;
yy_size_t size;
#endif
	{
	YY_BUFFER_STATE b;

	if ( size < 2 ||
	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
	     base[size-1] != YY_END_OF_BUFFER_CHAR )
		/* They forgot to leave room for the EOB's. */
		return 0;

	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
	if ( ! b )
		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );

	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
	b->yy_buf_pos = b->yy_ch_buf = base;
	b->yy_is_our_buffer = 0;
	b->yy_input_file = 0;
	b->yy_n_chars = b->yy_buf_size;
	b->yy_is_interactive = 0;
	b->yy_at_bol = 1;
	b->yy_fill_buffer = 0;
	b->yy_buffer_status = YY_BUFFER_NEW;

	yy_switch_to_buffer( b );

	return b;
	}
#endif


#ifndef YY_NO_SCAN_STRING
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_string( yyconst char *str )
#else
YY_BUFFER_STATE yy_scan_string( str )
yyconst char *str;
#endif
	{
	int len;
	for ( len = 0; str[len]; ++len )
		;

	return yy_scan_bytes( str, len );
	}
#endif


#ifndef YY_NO_SCAN_BYTES
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
#else
YY_BUFFER_STATE yy_scan_bytes( bytes, len )
yyconst char *bytes;
int len;
#endif
	{
	YY_BUFFER_STATE b;
	char *buf;
	yy_size_t n;
	int i;

	/* Get memory for full buffer, including space for trailing EOB's. */
	n = len + 2;
	buf = (char *) yy_flex_alloc( n );
	if ( ! buf )
		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );

	for ( i = 0; i < len; ++i )
		buf[i] = bytes[i];

	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;

	b = yy_scan_buffer( buf, n );
	if ( ! b )
		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );

	/* It's okay to grow etc. this buffer, and we should throw it
	 * away when we're done.
	 */
	b->yy_is_our_buffer = 1;

	return b;
	}
#endif


#ifndef YY_NO_PUSH_STATE
#ifdef YY_USE_PROTOS
static void yy_push_state( int new_state )
#else
static void yy_push_state( new_state )
int new_state;
#endif
	{
	if ( yy_start_stack_ptr >= yy_start_stack_depth )
		{
		yy_size_t new_size;

		yy_start_stack_depth += YY_START_STACK_INCR;
		new_size = yy_start_stack_depth * sizeof( int );

		if ( ! yy_start_stack )
			yy_start_stack = (int *) yy_flex_alloc( new_size );

		else
			yy_start_stack = (int *) yy_flex_realloc(
					(void *) yy_start_stack, new_size );

		if ( ! yy_start_stack )
			YY_FATAL_ERROR(
			"out of memory expanding start-condition stack" );
		}

	yy_start_stack[yy_start_stack_ptr++] = YY_START;

	BEGIN(new_state);
	}
#endif


#ifndef YY_NO_POP_STATE
static void yy_pop_state()
	{
	if ( --yy_start_stack_ptr < 0 )
		YY_FATAL_ERROR( "start-condition stack underflow" );

	BEGIN(yy_start_stack[yy_start_stack_ptr]);
	}
#endif


#ifndef YY_NO_TOP_STATE
static int yy_top_state()
	{
	return yy_start_stack[yy_start_stack_ptr - 1];
	}
#endif

#ifndef YY_EXIT_FAILURE
#define YY_EXIT_FAILURE 2
#endif

#ifdef YY_USE_PROTOS
static void yy_fatal_error( yyconst char msg[] )
#else
static void yy_fatal_error( msg )
char msg[];
#endif
	{
	(void) fprintf( stderr, "%s\n", msg );
	exit( YY_EXIT_FAILURE );
	}



/* Redefine yyless() so it works in section 3 code. */

#undef yyless
#define yyless(n) \
	do \
		{ \
		/* Undo effects of setting up yytext. */ \
		yytext[yyleng] = yy_hold_char; \
		yy_c_buf_p = yytext + n; \
		yy_hold_char = *yy_c_buf_p; \
		*yy_c_buf_p = '\0'; \
		yyleng = n; \
		} \
	while ( 0 )


/* Internal utility routines. */

#ifndef yytext_ptr
#ifdef YY_USE_PROTOS
static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
#else
static void yy_flex_strncpy( s1, s2, n )
char *s1;
yyconst char *s2;
int n;
#endif
	{
	register int i;
	for ( i = 0; i < n; ++i )
		s1[i] = s2[i];
	}
#endif

#ifdef YY_NEED_STRLEN
#ifdef YY_USE_PROTOS
static int yy_flex_strlen( yyconst char *s )
#else
static int yy_flex_strlen( s )
yyconst char *s;
#endif
	{
	register int n;
	for ( n = 0; s[n]; ++n )
		;

	return n;
	}
#endif


#ifdef YY_USE_PROTOS
static void *yy_flex_alloc( yy_size_t size )
#else
static void *yy_flex_alloc( size )
yy_size_t size;
#endif
	{
	return (void *) malloc( size );
	}

#ifdef YY_USE_PROTOS
static void *yy_flex_realloc( void *ptr, yy_size_t size )
#else
static void *yy_flex_realloc( ptr, size )
void *ptr;
yy_size_t size;
#endif
	{
	/* The cast to (char *) in the following accommodates both
	 * implementations that use char* generic pointers, and those
	 * that use void* generic pointers.  It works with the latter
	 * because both ANSI C and C++ allow castless assignment from
	 * any pointer type to void*, and deal with argument conversions
	 * as though doing an assignment.
	 */
	return (void *) realloc( (char *) ptr, size );
	}

#ifdef YY_USE_PROTOS
static void yy_flex_free( void *ptr )
#else
static void yy_flex_free( ptr )
void *ptr;
#endif
	{
	free( ptr );
	}

#if YY_MAIN
int main()
	{
	yylex();
	return 0;
	}
#endif

