|
|
Power 6/32 Unix version 1.21
# include "stdio.h"
# define U(x) x
# define NLSTATE yyprevious=YYNEWLINE
# define BEGIN yybgin = yysvec + 1 +
# define INITIAL 0
# define YYLERR yysvec
# define YYSTATE (yyestate-yysvec-1)
# define YYOPTIM 1
# define YYLMAX 200
# define output(c) putc(c,yyout)
# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
# define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;}
# define yymore() (yymorfg=1)
# define ECHO fprintf(yyout, "%s",yytext)
# define REJECT { nstr = yyreject(); goto yyfussy;}
int yyleng; extern char yytext[];
int yymorfg;
extern char *yysptr, yysbuf[];
int yytchar;
FILE *yyin ={stdin}, *yyout ={stdout};
extern int yylineno;
struct yysvf {
struct yywork *yystoff;
struct yysvf *yyother;
int *yystops;};
struct yysvf *yyestate;
extern struct yysvf yysvec[], *yybgin;
/* break out words, output cap + word(inverted) */
#ifndef lint
static char sccsid[] = "@(#)nwords.l 4.2 (Berkeley) 82/11/06";
#endif not lint
#include <stdio.h>
#include <ctype.h>
#define OUT() for(i=yyleng-1;i>=0; i--)putchar(yytext[i]); putchar('\n')
#define OUT1(nam) printf("%c:%s\n",nam,yytext)
#define OUTN(string) printf("%s\n",string)
#include "names.h"
#include "nhash.c"
#include "dict.c"
#include "ydict.c"
#include "abbrev.c"
char nt[] = "D:n't";
char qs[] = "c:'s";
char fin[] = "E:.";
int NOCAPS = 0; /* if set all caps are turned to lower case */
int i,j;
int dot = 0;
int first = 1;
int qflg,nflg;
int cap = 0;
# define YYNEWLINE 10
yylex(){
int nstr; extern int yyprevious;
while((nstr = yylook()) >= 0)
yyfussy: switch(nstr){
case 0:
if(yywrap()) return(0); break;
case 1:
{
if(dot){
OUTN(fin);
dot = 0;
first = 1;
}
printf(":%s",yytext);
}
break;
case 2:
{
if(first == 0){
OUT1(NOUN);
}
else {
first = 0;
yytext[0] = tolower(yytext[0]);
cap = 1;
goto wd;
}
}
break;
case 3:
{
OUT1(NOUN);
}
break;
case 4:
{
pos(1);
if(first==1)first=0;
}
break;
case 5:
{
if(NOCAPS)
for(i=0;i<yyleng;i++)
if(isupper(yytext[i]))yytext[i] = tolower(yytext[i]);
OUT1(POS);
}
break;
case 6:
{
if(NOCAPS)
for(i=0;i<yyleng;i++)
if(isupper(yytext[i]))yytext[i] = tolower(yytext[i]);
OUT1(NOUN_ADJ);
}
break;
case 7:
{
if(NOCAPS)
for(i=0;i<yyleng;i++)
yytext[i] = tolower(yytext[i]);
if((i=input()) == 's'){
yytext[yyleng++] = 's';
yytext[yyleng] = '\0';
OUT1(PNOUN);
}
else {
unput(i);
if(!NOCAPS)
for(i=0;i<yyleng;i++)yytext[i] = tolower(yytext[i]);
goto wd;
}
}
break;
case 8:
{
if(NOCAPS){
yytext[0] = tolower(yytext[0]);
yytext[2] = tolower(yytext[2]);
}
OUT1(NOUN_ADJ);
}
break;
case 9:
{
if(first==1)
first=0;
else cap = 1;
if(yyleng==1 && yytext[0] == 'I'){
cap = 0;
goto wd;
}
yytext[0] = tolower(yytext[0]);
goto wd;
}
break;
case 10:
{
OUT1(NOUN_ADJ);
}
break;
case 11:
{
for(i=yyleng-1;i>0;i--)
if(yytext[i] == '.')break;
unput(yytext[yyleng-1]);
yytext[i] = '\0';
OUT1(NOUN_ADJ);
OUTN(fin);
first = 1;
}
break;
case 12:
{
if(NOCAPS)
if(isupper(yytext[0]))yytext[0] = tolower(yytext[0]);
OUT1(PRONS);
}
break;
case 13:
{
if(NOCAPS)
if(isupper(yytext[0]))yytext[0] = tolower(yytext[0]);
OUT1(POS);
}
break;
case 14:
{
if(yytext[yyleng-1] == '.'){
if(ahead() == 0)dot=1;
}
if(NOCAPS)
for(i=0;i<yyleng;i++)
if(isupper(yytext[i]))yytext[i] = tolower(yytext[i]);
OUT1(NOUN_ADJ);
}
break;
case 15:
{
OUT1(NOUN_ADJ);
}
break;
case 16:
{
OUT1(NOUN_ADJ);
}
break;
case 17:
{
if(yytext[yyleng-1] == '.')dot=1;
OUT1(NOUN_ADJ);
}
break;
case 18:
{
if(input() == '.')
ahead();
if(NOCAPS)
for(i=0;i<yyleng;i++)
if(isupper(yytext[i]))yytext[i]=tolower(yytext[i]);
OUT1(NOUN_ADJ);
}
break;
case 19:
{
OUT1(NOUN_ADJ);
}
break;
case 20:
{
if(yytext[yyleng-1] == '.')dot=1;
OUT1(NOUN);
}
break;
case 21:
{
OUT1(ADJ_ADV);
}
break;
case 22:
{
OUT1(ADJ_ADV);
}
break;
case 23:
{
OUT1(ADJ_ADV);
}
break;
case 24:
{
OUT1(ADJ_ADV);
}
break;
case 25:
{
OUT1(PREP);
}
break;
case 26:
{
OUT1(PREP);
}
break;
case 27:
{
i = yytext[4];
yytext[4] = '\0';
OUT1(NOUN);
yytext[4] = i;
yytext[0] = yytext[yyleng-1];
yytext[1] = '\0';
if(yytext[0] == ',' || yytext[0] == ')')
OUT1(',');
else {
OUTN(fin);
first = 1;
}
}
break;
case 28:
{
OUT1(NOUN);
}
break;
case 29:
{
unput(yytext[yyleng-1]);
yytext[2] = '\0';
OUT1(PREP);
OUTN(fin);
first = 1;
}
break;
case 30:
{
OUT1(ADJ);
}
break;
case 31:
{
dot=1;
OUT1(NOUN);
}
break;
case 32:
{
yytext[3]='\0';
yyleng -= 2;
nflg=1;
goto wd;
}
break;
case 33:
{
OUT1('X');
}
break;
case 34:
{
OUT1('g');
}
break;
case 35:
{
nflg=1;
yytext[yyleng-3]='\0';
yyleng -= 3;
goto wd;
}
break;
case 36:
{
yytext[0] = tolower(yytext[0]);
nflg=1;
yytext[yyleng-3]='\0';
yyleng -= 3;
goto wd;
}
break;
case 37:
{
OUT1(ADV);
}
break;
case 38:
{
pos(0);
}
break;
case 39:
{
OUT1(lookup("will",1,0));
}
break;
case 40:
{
OUT1(lookup("have",1,0));
}
break;
case 41:
{
OUT1(lookup("are",1,0));
}
break;
case 42:
{
OUT1(lookup("had",1,0));
}
break;
case 43:
{
OUT1(lookup("am",1,0));
}
break;
case 44:
{
OUT1(lookup("would",1,0));
}
break;
case 45:
{
wd:
if((j = lookup(yytext,1,0)) != 0){
first=0;
if(cap){
if(!NOCAPS)
yytext[0] = toupper(yytext[0]);
cap = 0;
if(dot)OUTN(fin);
}
dot=0;
OUT1(j);
if(nflg==1){
nflg=0;
OUTN(nt);
}
}
else{
first = dot=0;
if(yytext[yyleng-1] == 'y' && cap == 0){
switch(yytext[yyleng-2]){
case 'c': look(cy,yyleng-2,NOUN);
break;
case 'f': look(fy,yyleng-2,VERB);
break;
case 'l': look(ly,yyleng-2,ADV);
break;
case 'g': if(yytext[yyleng-3] == 'o'){
OUT1(NOUN);
break;
}
look(gy,yyleng-2,ADJ);
break;
case 'r': switch(yytext[yyleng-3]){
case 'a': look(ary,yyleng-3,ADJ);
break;
case 'o': look(ory,yyleng-3,ADJ);
break;
case 'e': look(ery,yyleng-3,NOUN);
break;
default: look(ry,yyleng-2,NOUN);
}
break;
case 't': if(yytext[yyleng-3] == 'i')look(ity,yyleng-3,NOUN);
else look(ty,yyleng-2,ADJ);
break;
default: OUT();
}
}
else {
if(cap){
if(!NOCAPS)yytext[0] = toupper(yytext[0]);
cap = 0;
OUT1(NOUN_ADJ);
}
else {
OUT();
}
}
}
}
break;
case 46:
;
break;
case 47:
;
break;
case 48:
;
break;
case 49:
{
OUT1(';');
first=1;
}
break;
case 50:
{
if(dot){
OUTN(fin);
dot=0;
}
if(qflg==1){
qflg=0;
OUT1('"');
}
else {
qflg=1;
first=1;
OUT1('"');
}
}
break;
case 51:
{
qflg=0;
first=1;
OUT1(END);
}
break;
case 52:
{
OUT1(',');
}
break;
case 53:
{
first = 1;
OUT1(END);
}
break;
case 54:
{
yytext[yyleng-1] = '\0';
if((j=abbrev(yytext,1,0)) != 0){
if(isupper(yytext[0])){
if(NOCAPS)yytext[0] = tolower(yytext[0]);
if(first == 1)first=0;
}
yytext[yyleng-1] = '.';
OUT1(j);
}
else {
j = ahead();
if(j == 0)
yyleng--;
for(i=0;i<yyleng;i++)
if(isupper(yytext[i])){
yytext[i] = tolower(yytext[i]);
if(i == 0)cap = 1;
else cap = 0;
}
if(j == 0)goto wd;
OUT1(NOUN_ADJ);
}
}
break;
case 55:
{
first=1;
OUT1(END);
}
break;
case 56:
{
qflg=0;
first=1;
OUT1(END);
}
break;
case 57:
{
first=1;
OUT1(END);
}
break;
case 58:
{
qflg=0;
first=1;
OUT1(END);
}
break;
case 59:
{
first=1;
OUT1(END);
}
break;
case 60:
{
OUT1(',');
first=1;
}
break;
case 61:
{
OUT1(',');
first=1;
}
break;
case 62:
{
OUT1(',');
}
break;
case 63:
{
OUT1(',');
}
break;
case 64:
{
/* fprintf(stderr,"nwords funny char: %c\n",yytext[0])*/ ;
}
break;
case -1:
break;
default:
fprintf(yyout,"bad switch yylook %d",nstr);
} return(0); }
/* end of yylex */
look(f,n,cc)
char (*f)();
int n;
char cc;
{
int nn;
char save;
save=yytext[n];
yytext[n] = '\0';
nn=(*f)(yytext,1,0);
yytext[n] = save;
if(nn != 0){
OUT1(nn);
}
else {
OUT1(cc);
}
}
pos(flg){
int ii,j;
if(flg == 1)yytext[0] = tolower(yytext[0]);
for(ii=yyleng-1;yytext[ii] != '\''; ii--);
yytext[ii] = '\0';
if((j=lookup(yytext,1,0)) != 0){
yyleng = ii;
OUT1(j);
OUTN(qs);
}
else{
if(flg==1 && !NOCAPS)yytext[0] = toupper(yytext[0]);
yytext[ii] = '\'';
OUT1(POS);
}
}
char *filename="-";
main(argc,argv)
int argc;
char *argv[];
{
register int rc=0;
putchar(':'); putchar('\n');
getd();
getab();
ygetd();
if(argc<=1) {
yylex();
OUTN(fin);
}else{
while(argc>1) {
if(freopen(argv[1],"r",stdin)==NULL) {
fprintf(stderr,"%s: cannot open\n", argv[1]);
rc++;
}else{
filename=argv[1];
yylex();
OUTN(fin);
}
argc--; argv++;
}
}
return(rc);
}
ahead(){
register int c;
if(isalnum((c=input()))){
yytext[yyleng++] = '.';
while(!isspace((c=input() )))
yytext[yyleng++] = c;
yytext[yyleng] = '\0';
unput(c);
return(1);
}
unput(c);
unput('.');
return(0);
}
int yyvstop[] ={
0,
64,
0,
48,
64,
0,
46,
0,
47,
64,
0,
57,
64,
0,
50,
64,
0,
64,
0,
50,
64,
0,
63,
64,
0,
62,
64,
0,
61,
64,
0,
55,
64,
0,
64,
0,
15,
17,
18,
64,
0,
60,
64,
0,
49,
64,
0,
59,
64,
0,
9,
64,
0,
9,
64,
0,
9,
64,
0,
9,
64,
0,
9,
64,
0,
9,
64,
0,
9,
64,
0,
9,
64,
0,
50,
64,
0,
45,
64,
0,
45,
64,
0,
45,
64,
0,
45,
64,
0,
45,
64,
0,
45,
64,
0,
45,
64,
0,
45,
64,
0,
45,
64,
0,
45,
64,
0,
45,
64,
0,
57,
64,
0,
55,
64,
0,
48,
0,
47,
0,
56,
0,
50,
0,
20,
0,
42,
0,
43,
0,
61,
0,
51,
0,
16,
0,
14,
53,
0,
14,
0,
19,
0,
15,
17,
0,
17,
0,
15,
17,
18,
0,
18,
0,
15,
17,
18,
0,
58,
0,
31,
0,
7,
0,
9,
0,
31,
0,
9,
0,
9,
0,
9,
0,
31,
0,
9,
0,
9,
0,
31,
0,
50,
0,
45,
0,
45,
0,
45,
0,
45,
0,
45,
0,
45,
0,
45,
0,
45,
0,
45,
0,
45,
0,
56,
0,
51,
0,
16,
0,
20,
0,
44,
0,
39,
0,
41,
0,
40,
0,
52,
0,
16,
0,
16,
0,
14,
0,
15,
17,
0,
15,
17,
0,
6,
0,
17,
0,
17,
0,
15,
16,
17,
0,
17,
0,
4,
5,
0,
54,
0,
9,
0,
8,
0,
9,
0,
9,
0,
2,
9,
0,
54,
0,
9,
0,
38,
0,
45,
0,
45,
0,
45,
0,
45,
0,
45,
0,
54,
0,
45,
0,
45,
0,
1,
0,
52,
0,
14,
0,
16,
0,
16,
0,
20,
0,
16,
0,
16,
0,
17,
0,
11,
0,
17,
0,
15,
16,
17,
0,
15,
16,
17,
0,
10,
0,
21,
0,
5,
0,
4,
0,
14,
0,
22,
0,
3,
0,
23,
0,
35,
0,
24,
0,
26,
0,
27,
54,
0,
25,
0,
29,
0,
14,
0,
16,
0,
17,
0,
15,
16,
17,
0,
15,
16,
17,
0,
21,
0,
36,
0,
14,
0,
14,
0,
14,
0,
22,
0,
30,
0,
14,
0,
23,
0,
34,
35,
0,
24,
0,
32,
35,
0,
26,
0,
27,
0,
27,
0,
25,
0,
29,
0,
33,
35,
0,
12,
14,
0,
14,
0,
14,
0,
30,
0,
28,
0,
13,
14,
0,
37,
0,
0};
# define YYTYPE int
struct yywork { YYTYPE verify, advance; } yycrank[] ={
0,0, 0,0, 1,3, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 1,4, 1,5,
0,0, 6,43, 0,0, 0,0,
0,0, 43,43, 0,0, 0,0,
0,0, 46,43, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 1,6, 1,7, 1,8,
6,46, 1,9, 1,3, 7,47,
1,10, 1,11, 1,11, 19,72,
46,46, 1,12, 1,13, 1,14,
1,15, 1,16, 13,57, 21,77,
0,0, 0,0, 22,78, 27,85,
45,62, 59,121, 0,0, 1,17,
1,18, 22,77, 64,64, 8,48,
1,19, 0,0, 1,20, 1,21,
8,48, 1,22, 49,112, 0,0,
49,113, 1,23, 23,77, 0,0,
0,0, 1,22, 1,24, 25,82,
24,77, 1,25, 61,125, 56,119,
1,26, 56,120, 1,27, 125,125,
62,125, 61,62, 61,45, 128,66,
1,11, 137,189, 1,11, 62,62,
62,45, 1,28, 1,29, 1,30,
1,31, 1,32, 1,33, 1,32,
1,32, 1,34, 1,35, 1,32,
1,32, 1,32, 1,32, 1,32,
1,36, 1,37, 1,32, 1,32,
1,38, 1,32, 1,32, 1,32,
1,39, 1,32, 1,32, 1,32,
1,11, 8,48, 1,11, 2,40,
2,8, 23,79, 2,9, 24,81,
26,77, 23,80, 2,11, 53,116,
54,117, 25,83, 64,126, 73,135,
2,41, 2,15, 9,49, 9,49,
9,49, 9,49, 9,49, 9,49,
9,49, 9,49, 9,49, 9,49,
2,17, 2,18, 12,55, 85,151,
87,152, 2,19, 12,56, 12,56,
12,56, 12,56, 12,56, 12,56,
12,56, 12,56, 12,56, 12,56,
51,114, 93,157, 101,169, 124,124,
126,126, 133,133, 138,190, 140,191,
51,115, 148,197, 151,201, 2,27,
154,203, 156,152, 156,205, 4,42,
158,207, 2,11, 101,152, 2,11,
74,136, 82,147, 26,84, 122,122,
130,130, 2,31, 161,210, 2,33,
2,32, 2,32, 95,160, 2,35,
2,32, 2,32, 2,32, 162,211,
2,32, 2,36, 4,43, 2,32,
2,32, 167,214, 2,32, 2,32,
2,32, 2,39, 2,32, 2,32,
2,32, 2,11, 169,217, 2,11,
4,44, 4,45, 4,44, 4,44,
4,44, 4,44, 4,44, 4,44,
4,44, 4,44, 4,44, 4,44,
99,166, 74,137, 82,148, 160,160,
93,158, 153,153, 181,181, 4,44,
4,44, 4,44, 4,44, 4,44,
4,44, 4,44, 4,44, 4,44,
4,44, 4,44, 4,44, 4,44,
4,44, 4,44, 4,44, 4,44,
4,44, 4,44, 4,44, 4,44,
4,44, 4,44, 4,44, 4,44,
4,44, 74,137, 82,148, 122,181,
130,184, 95,161, 4,43, 4,44,
4,44, 4,44, 4,44, 4,44,
4,44, 4,44, 4,44, 4,44,
4,44, 4,44, 4,44, 4,44,
4,44, 4,44, 4,44, 4,44,
4,44, 4,44, 4,44, 4,44,
4,44, 4,44, 4,44, 4,44,
4,44, 10,48, 143,62, 157,157,
149,198, 99,167, 10,48, 102,147,
166,166, 153,202, 160,209, 28,43,
55,118, 55,118, 55,118, 55,118,
55,118, 55,118, 55,118, 55,118,
55,118, 55,118, 65,127, 65,127,
65,127, 65,127, 65,127, 65,127,
65,127, 65,127, 65,127, 65,127,
178,112, 184,184, 178,113, 186,186,
28,48, 188,225, 196,230, 143,193,
149,199, 28,48, 69,134, 69,134,
69,134, 69,134, 69,134, 69,134,
69,134, 69,134, 69,134, 69,134,
102,148, 112,178, 112,178, 112,178,
112,178, 112,178, 112,178, 112,178,
112,178, 112,178, 112,178, 10,48,
192,191, 192,226, 199,232, 10,50,
202,234, 204,235, 157,206, 143,193,
149,199, 206,236, 14,58, 10,51,
10,52, 166,213, 194,62, 208,237,
209,238, 10,53, 211,239, 213,242,
102,148, 10,54, 14,59, 14,45,
14,60, 14,60, 14,60, 14,60,
14,60, 14,60, 14,60, 14,60,
14,60, 14,60, 28,86, 175,175,
217,244, 218,245, 185,185, 219,219,
194,228, 14,44, 14,44, 14,44,
14,44, 14,44, 14,44, 14,44,
14,44, 14,44, 14,44, 14,44,
14,44, 14,44, 14,44, 14,44,
14,44, 14,44, 14,44, 14,44,
14,44, 14,44, 14,44, 14,44,
14,44, 14,44, 14,44, 136,136,
147,147, 220,220, 224,224, 231,249,
194,228, 14,44, 14,44, 14,44,
14,44, 14,44, 14,44, 14,44,
14,44, 14,44, 14,44, 14,44,
14,44, 14,44, 14,44, 14,44,
14,44, 14,44, 14,44, 14,44,
14,44, 14,44, 14,44, 14,44,
14,44, 14,44, 14,44, 15,61,
239,250, 15,62, 15,62, 15,62,
15,62, 15,62, 15,62, 15,62,
15,62, 15,62, 15,62, 175,220,
136,188, 147,196, 185,224, 244,251,
251,253, 0,0, 15,62, 15,62,
15,62, 15,62, 15,62, 15,62,
15,62, 15,62, 15,62, 15,62,
15,62, 15,62, 15,62, 15,62,
15,62, 15,62, 15,62, 15,62,
15,62, 15,62, 15,62, 15,62,
15,62, 15,62, 15,62, 15,62,
136,188, 147,196, 241,241, 0,0,
0,0, 241,241, 15,62, 15,62,
15,62, 15,62, 15,62, 15,62,
15,62, 15,62, 15,62, 15,62,
15,62, 15,62, 15,62, 15,62,
15,62, 15,62, 15,62, 15,62,
15,62, 15,62, 15,62, 15,62,
15,62, 15,62, 15,62, 15,62,
16,63, 195,62, 16,64, 0,0,
0,0, 0,0, 0,0, 16,65,
16,66, 16,67, 16,45, 16,68,
16,68, 16,68, 16,68, 16,68,
16,68, 16,68, 16,68, 16,68,
16,68, 16,69, 198,198, 0,0,
0,0, 0,0, 0,0, 195,229,
16,70, 16,70, 16,70, 16,70,
16,70, 16,70, 16,70, 16,70,
16,70, 16,70, 16,70, 16,70,
16,70, 16,70, 16,70, 16,70,
16,70, 16,70, 16,70, 16,70,
16,70, 16,70, 16,70, 16,70,
16,70, 16,70, 0,0, 0,0,
0,0, 0,0, 198,231, 195,229,
16,70, 16,70, 16,70, 16,70,
16,70, 16,70, 16,70, 16,70,
16,70, 16,70, 16,70, 16,70,
16,70, 16,70, 16,70, 16,70,
16,70, 16,70, 16,71, 16,70,
16,70, 16,70, 16,70, 16,70,
16,70, 16,70, 20,73, 0,0,
0,0, 0,0, 198,231, 0,0,
20,66, 20,74, 20,45, 20,70,
20,70, 20,70, 20,70, 20,70,
20,70, 20,70, 20,70, 20,70,
20,70, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
20,75, 20,75, 20,75, 20,75,
20,75, 20,75, 20,75, 20,75,
20,75, 20,75, 20,75, 20,75,
20,75, 20,75, 20,75, 20,75,
20,75, 20,75, 20,75, 20,75,
20,75, 20,75, 20,75, 20,75,
20,75, 20,75, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
20,76, 20,76, 20,76, 20,76,
20,76, 20,76, 20,76, 20,76,
20,76, 20,76, 20,76, 20,76,
20,76, 20,76, 20,76, 20,76,
20,76, 20,76, 20,76, 20,76,
20,76, 20,76, 20,76, 20,76,
20,76, 20,76, 29,87, 0,0,
0,0, 0,0, 0,0, 0,0,
113,113, 29,88, 113,113, 113,113,
113,113, 113,113, 113,113, 113,113,
113,113, 113,113, 113,113, 113,113,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
29,89, 29,89, 29,89, 29,89,
29,89, 29,89, 29,89, 29,89,
29,89, 29,89, 29,89, 29,89,
29,89, 29,89, 29,89, 29,89,
29,89, 29,89, 29,89, 29,89,
29,89, 29,89, 29,89, 29,89,
29,89, 29,89, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
29,90, 29,90, 29,90, 29,90,
29,90, 29,90, 29,90, 29,90,
29,91, 29,90, 29,90, 29,90,
29,90, 29,92, 29,90, 29,90,
29,90, 29,90, 29,90, 29,90,
29,90, 29,90, 29,90, 29,90,
29,90, 29,90, 30,87, 0,0,
0,0, 0,0, 118,55, 0,0,
118,179, 30,93, 118,118, 118,118,
118,118, 118,118, 118,118, 118,118,
118,118, 118,118, 118,118, 118,118,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
30,89, 30,89, 30,89, 30,89,
30,89, 30,89, 30,89, 30,89,
30,89, 30,89, 30,89, 30,89,
30,89, 30,89, 30,89, 30,89,
30,89, 30,89, 30,89, 30,89,
30,89, 30,89, 30,89, 30,89,
30,89, 30,89, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
30,90, 30,90, 30,90, 30,90,
30,90, 30,90, 30,90, 30,90,
30,90, 30,90, 30,90, 30,90,
30,90, 30,92, 30,90, 30,90,
30,90, 30,90, 30,90, 30,90,
30,90, 30,90, 30,90, 30,90,
30,90, 30,90, 31,87, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 31,44, 123,60, 123,60,
123,60, 123,60, 123,60, 123,60,
123,60, 123,60, 123,60, 123,60,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
31,89, 31,89, 31,89, 31,89,
31,89, 31,89, 31,89, 31,89,
31,89, 31,89, 31,89, 31,89,
31,89, 31,89, 31,89, 31,89,
31,89, 31,89, 31,89, 31,89,
31,89, 31,89, 31,89, 31,89,
31,89, 31,89, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
31,94, 31,90, 31,90, 31,90,
31,90, 31,90, 31,90, 31,90,
31,90, 31,90, 31,90, 31,90,
31,90, 31,92, 31,90, 31,90,
31,90, 31,90, 31,90, 31,90,
31,90, 31,90, 31,90, 31,90,
31,90, 31,90, 32,87, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 32,44, 134,187, 134,187,
134,187, 134,187, 134,187, 134,187,
134,187, 134,187, 134,187, 134,187,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
32,89, 32,89, 32,89, 32,89,
32,89, 32,89, 32,89, 32,89,
32,89, 32,89, 32,89, 32,89,
32,89, 32,89, 32,89, 32,89,
32,89, 32,89, 32,89, 32,89,
32,89, 32,89, 32,89, 32,89,
32,89, 32,89, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
32,90, 32,90, 32,90, 32,90,
32,90, 32,90, 32,90, 32,90,
32,90, 32,90, 32,90, 32,90,
32,90, 32,92, 32,90, 32,90,
32,90, 32,90, 32,90, 32,90,
32,90, 32,90, 32,90, 32,90,
32,90, 32,90, 33,87, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 33,95, 179,221, 179,221,
179,221, 179,221, 179,221, 179,221,
179,221, 179,221, 179,221, 179,221,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
33,89, 33,89, 33,89, 33,89,
33,89, 33,89, 33,89, 33,89,
33,89, 33,89, 33,89, 33,89,
33,89, 33,89, 33,89, 33,89,
33,89, 33,89, 33,89, 33,89,
33,89, 33,89, 33,89, 33,89,
33,89, 33,89, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
33,90, 33,90, 33,90, 33,90,
33,90, 33,90, 33,90, 33,90,
33,90, 33,90, 33,90, 33,90,
33,90, 33,92, 33,90, 33,90,
33,90, 33,90, 33,90, 33,96,
33,90, 33,90, 33,90, 33,90,
33,90, 33,90, 34,87, 0,0,
0,0, 0,0, 0,0, 0,0,
221,179, 34,44, 221,221, 221,221,
221,221, 221,221, 221,221, 221,221,
221,221, 221,221, 221,221, 221,221,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
34,89, 34,89, 34,89, 34,89,
34,89, 34,89, 34,89, 34,89,
34,89, 34,89, 34,89, 34,89,
34,89, 34,89, 34,89, 34,89,
34,89, 34,89, 34,89, 34,89,
34,89, 34,89, 34,89, 34,89,
34,89, 34,89, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
34,90, 34,90, 34,90, 34,90,
34,97, 34,90, 34,90, 34,90,
34,98, 34,90, 34,90, 34,90,
34,90, 34,92, 34,90, 34,90,
34,90, 34,90, 34,90, 34,90,
34,90, 34,90, 34,90, 34,90,
34,90, 34,90, 35,87, 246,125,
0,0, 0,0, 0,0, 0,0,
252,125, 35,99, 246,62, 246,45,
247,125, 0,0, 248,125, 252,62,
252,45, 0,0, 0,0, 247,62,
247,45, 248,62, 248,45, 0,0,
0,0, 0,0, 0,0, 0,0,
35,89, 35,89, 35,89, 35,89,
35,89, 35,89, 35,89, 35,89,
35,89, 35,89, 35,89, 35,89,
35,89, 35,89, 35,89, 35,89,
35,89, 35,89, 35,89, 35,89,
35,89, 35,89, 35,89, 35,89,
35,89, 35,89, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
35,90, 35,90, 35,90, 35,90,
35,90, 35,90, 35,90, 35,90,
35,90, 35,90, 35,90, 35,90,
35,90, 35,100, 35,90, 35,90,
35,90, 35,90, 35,90, 35,90,
35,90, 35,90, 35,90, 35,90,
35,90, 35,90, 36,101, 0,0,
247,252, 248,252, 0,0, 0,0,
0,0, 36,44, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
36,89, 36,89, 36,89, 36,89,
36,89, 36,89, 36,89, 36,89,
36,89, 36,89, 36,89, 36,89,
36,89, 36,89, 36,89, 36,89,
36,89, 36,89, 36,89, 36,89,
36,89, 36,89, 36,89, 36,89,
36,89, 36,89, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
36,90, 36,90, 36,90, 36,90,
36,90, 36,90, 36,90, 36,90,
36,90, 36,90, 36,90, 36,90,
36,90, 36,92, 36,90, 36,90,
36,90, 36,90, 36,90, 36,90,
36,90, 36,90, 36,90, 36,90,
36,90, 36,90, 37,87, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 37,102, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
37,89, 37,89, 37,89, 37,89,
37,89, 37,89, 37,89, 37,89,
37,89, 37,89, 37,89, 37,89,
37,89, 37,89, 37,89, 37,89,
37,89, 37,89, 37,89, 37,89,
37,89, 37,89, 37,89, 37,89,
37,89, 37,89, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
37,90, 37,90, 37,90, 37,90,
37,90, 37,90, 37,90, 37,90,
37,90, 37,90, 37,90, 37,90,
37,90, 37,92, 37,90, 37,90,
37,90, 37,90, 37,90, 37,90,
37,90, 37,90, 37,90, 37,90,
37,90, 37,90, 38,87, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 38,44, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
38,89, 38,89, 38,89, 38,89,
38,89, 38,89, 38,89, 38,89,
38,89, 38,89, 38,89, 38,89,
38,89, 38,89, 38,89, 38,89,
38,89, 38,89, 38,89, 38,89,
38,89, 38,89, 38,89, 38,89,
38,89, 38,89, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
38,90, 38,90, 38,90, 38,90,
38,90, 38,90, 38,90, 38,103,
38,90, 38,90, 38,90, 38,90,
38,90, 38,92, 38,90, 38,90,
38,90, 38,90, 38,90, 38,90,
38,90, 38,90, 38,90, 38,90,
38,90, 38,90, 39,87, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 39,44, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
39,89, 39,89, 39,89, 39,89,
39,89, 39,89, 39,89, 39,89,
39,89, 39,89, 39,89, 39,89,
39,89, 39,89, 39,89, 39,89,
39,89, 39,89, 39,89, 39,89,
39,89, 39,89, 39,89, 39,89,
39,89, 39,89, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
39,90, 39,90, 39,90, 39,90,
39,90, 39,90, 39,90, 39,90,
39,90, 39,90, 39,90, 39,90,
39,90, 39,92, 39,104, 39,90,
39,90, 39,90, 39,90, 39,90,
39,90, 39,90, 39,90, 39,90,
39,90, 39,90, 40,105, 200,62,
0,0, 0,0, 60,122, 0,0,
0,0, 0,0, 40,105, 40,0,
0,0, 60,123, 0,0, 60,60,
60,60, 60,60, 60,60, 60,60,
60,60, 60,60, 60,60, 60,60,
60,60, 0,0, 212,240, 88,153,
86,43, 200,233, 0,0, 0,0,
0,0, 40,105, 40,105, 40,106,
0,0, 0,0, 40,105, 0,0,
40,105, 0,0, 40,105, 193,125,
0,0, 40,105, 40,105, 40,105,
212,240, 40,105, 193,62, 193,45,
0,0, 86,48, 0,0, 227,125,
41,0, 212,241, 86,48, 0,0,
212,241, 200,233, 227,62, 227,45,
0,0, 0,0, 40,105, 40,105,
228,125, 40,105, 0,0, 0,0,
88,137, 40,105, 0,0, 228,62,
228,45, 40,105, 40,105, 229,125,
41,107, 40,105, 60,124, 233,125,
40,105, 0,0, 229,62, 229,45,
0,0, 0,0, 233,62, 233,45,
41,108, 41,109, 41,110, 88,154,
0,0, 40,105, 40,105, 40,105,
0,0, 40,105, 240,240, 0,0,
88,137, 40,105, 0,0, 0,0,
193,227, 0,0, 40,105, 41,111,
41,111, 40,105, 41,111, 86,86,
40,105, 227,246, 41,111, 0,0,
0,0, 0,0, 41,111, 41,111,
240,240, 0,0, 41,111, 0,0,
0,0, 41,111, 0,0, 0,0,
0,0, 240,241, 228,247, 0,0,
240,241, 0,0, 0,0, 0,0,
0,0, 229,248, 0,0, 41,111,
41,111, 233,246, 41,111, 0,0,
0,0, 0,0, 41,111, 0,0,
0,0, 0,0, 0,0, 41,111,
0,0, 0,0, 41,111, 0,0,
0,0, 41,111, 44,44, 44,45,
44,44, 44,44, 44,44, 44,44,
44,44, 44,44, 44,44, 44,44,
44,44, 44,44, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 44,44, 44,44, 44,44,
44,44, 44,44, 44,44, 44,44,
44,44, 44,44, 44,44, 44,44,
44,44, 44,44, 44,44, 44,44,
44,44, 44,44, 44,44, 44,44,
44,44, 44,44, 44,44, 44,44,
44,44, 44,44, 44,44, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 44,44, 44,44, 44,44,
44,44, 44,44, 44,44, 44,44,
44,44, 44,44, 44,44, 44,44,
44,44, 44,44, 44,44, 44,44,
44,44, 44,44, 44,44, 44,44,
44,44, 44,44, 44,44, 44,44,
44,44, 44,44, 44,44, 66,128,
66,128, 66,128, 66,128, 66,128,
66,128, 66,128, 66,128, 66,128,
66,128, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
66,128, 66,128, 66,128, 66,128,
66,128, 66,128, 66,128, 66,128,
66,128, 66,128, 66,128, 66,128,
66,128, 66,128, 66,128, 66,128,
66,128, 66,128, 66,128, 66,128,
66,128, 66,128, 66,128, 66,128,
66,128, 66,128, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
66,128, 66,128, 66,128, 66,128,
66,128, 66,128, 66,128, 66,128,
66,128, 66,128, 66,128, 66,128,
66,128, 66,128, 66,128, 66,128,
66,128, 66,128, 66,128, 66,128,
66,128, 66,128, 66,128, 66,128,
66,128, 66,128, 67,129, 67,129,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 67,129, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
67,130, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 67,131,
0,0, 67,132, 67,132, 67,132,
67,132, 67,132, 67,132, 67,132,
67,132, 67,132, 67,132, 68,63,
0,0, 68,64, 0,0, 0,0,
0,0, 0,0, 68,65, 68,66,
68,67, 68,45, 68,68, 68,68,
68,68, 68,68, 68,68, 68,68,
68,68, 68,68, 68,68, 68,68,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 68,70,
68,70, 68,70, 68,70, 68,70,
68,70, 68,70, 68,70, 68,70,
68,70, 68,70, 68,70, 68,70,
68,70, 68,70, 68,70, 68,70,
68,70, 68,70, 68,70, 68,70,
68,70, 68,70, 68,70, 68,70,
68,70, 0,0, 0,0, 0,0,
67,133, 0,0, 0,0, 68,70,
68,70, 68,70, 68,70, 68,70,
68,70, 68,70, 68,70, 68,70,
68,70, 68,70, 68,70, 68,70,
68,70, 68,70, 68,70, 68,70,
68,70, 68,71, 68,70, 68,70,
68,70, 68,70, 68,70, 68,70,
68,70, 70,66, 0,0, 0,0,
70,70, 70,70, 70,70, 70,70,
70,70, 70,70, 70,70, 70,70,
70,70, 70,70, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 70,70, 70,70, 70,70,
70,70, 70,70, 70,70, 70,70,
70,70, 70,70, 70,70, 70,70,
70,70, 70,70, 70,70, 70,70,
70,70, 70,70, 70,70, 70,70,
70,70, 70,70, 70,70, 70,70,
70,70, 70,70, 70,70, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 70,70, 70,70, 70,70,
70,70, 70,70, 70,70, 70,70,
70,70, 70,70, 70,70, 70,70,
70,70, 70,70, 70,70, 70,70,
70,70, 70,70, 70,70, 70,70,
70,70, 70,70, 70,70, 70,70,
70,70, 70,70, 70,70, 71,66,
0,0, 0,0, 71,70, 71,70,
71,70, 71,70, 71,70, 71,70,
71,70, 71,70, 71,70, 71,70,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 71,70,
71,70, 71,70, 71,70, 71,70,
71,70, 71,70, 71,70, 71,70,
71,70, 71,70, 71,70, 71,70,
71,70, 71,70, 71,70, 71,70,
71,70, 71,70, 71,70, 71,70,
71,70, 71,70, 71,70, 71,70,
71,70, 90,87, 0,0, 0,0,
0,0, 0,0, 0,0, 71,70,
71,70, 71,70, 71,70, 71,70,
71,70, 71,70, 71,70, 71,70,
71,70, 71,70, 71,70, 71,70,
71,70, 71,70, 71,70, 71,70,
71,70, 71,71, 71,70, 71,70,
71,70, 71,70, 71,70, 71,70,
71,70, 75,138, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
75,139, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 90,90,
90,90, 90,90, 90,90, 90,90,
90,90, 90,90, 90,90, 90,90,
90,90, 90,90, 90,90, 90,90,
90,92, 90,90, 90,90, 90,90,
90,90, 90,90, 90,90, 90,90,
90,90, 90,90, 90,90, 90,90,
90,90, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 75,89,
75,89, 75,89, 75,89, 75,89,
75,89, 75,89, 75,89, 75,89,
75,89, 75,89, 75,89, 75,89,
75,89, 75,89, 75,89, 75,89,
75,89, 75,89, 75,89, 75,89,
75,89, 75,89, 75,89, 75,89,
75,89, 76,140, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
76,139, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 76,89,
76,89, 76,89, 76,89, 76,89,
76,89, 76,89, 76,89, 76,89,
76,89, 76,89, 76,89, 76,89,
76,89, 76,89, 76,89, 76,89,
76,89, 76,89, 76,89, 76,89,
76,89, 76,89, 76,89, 76,89,
76,89, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
76,141, 78,142, 78,142, 78,142,
78,142, 78,142, 78,142, 78,142,
78,142, 78,142, 78,142, 78,142,
78,142, 78,142, 78,142, 78,142,
78,142, 78,142, 78,142, 78,142,
78,142, 78,142, 78,142, 78,142,
78,142, 78,142, 78,142, 79,140,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 79,139, 79,143,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 78,135,
0,0, 79,89, 79,89, 79,89,
79,89, 79,89, 79,89, 79,89,
79,89, 79,89, 79,89, 79,89,
79,89, 79,89, 79,89, 79,89,
79,89, 79,89, 79,89, 79,89,
79,89, 79,89, 79,89, 79,89,
79,89, 79,89, 79,89, 80,140,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 80,139, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 79,141, 0,0,
0,0, 0,0, 79,144, 0,0,
0,0, 80,89, 80,89, 80,89,
80,89, 80,89, 80,89, 80,89,
80,89, 80,89, 80,89, 80,89,
80,89, 80,89, 80,89, 80,89,
80,89, 80,89, 80,89, 80,89,
80,89, 80,89, 80,89, 80,89,
80,89, 80,89, 80,89, 81,140,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 81,139, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 80,141, 0,0,
0,0, 0,0, 0,0, 80,145,
0,0, 81,89, 81,89, 81,89,
81,89, 81,89, 81,89, 81,89,
81,89, 81,89, 81,89, 81,89,
81,89, 81,89, 81,89, 81,89,
81,89, 81,89, 81,89, 81,89,
81,89, 81,89, 81,89, 81,89,
81,89, 81,89, 81,89, 0,0,
0,0, 0,0, 0,0, 0,0,
83,140, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 83,149,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 81,141, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 81,146, 83,89, 83,89,
83,89, 83,89, 83,89, 83,89,
83,89, 83,89, 83,89, 83,89,
83,89, 83,89, 83,89, 83,89,
83,89, 83,89, 83,89, 83,89,
83,89, 83,89, 83,89, 83,89,
83,89, 83,89, 83,89, 83,89,
84,140, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 84,139,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 83,141,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 84,89, 84,89,
84,89, 84,89, 84,89, 84,89,
84,89, 84,89, 84,89, 84,89,
84,89, 84,89, 84,89, 84,89,
84,89, 84,89, 84,89, 84,89,
84,89, 84,89, 84,89, 84,89,
84,89, 84,89, 84,89, 84,89,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 84,150, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 84,141,
89,66, 89,139, 89,45, 89,70,
89,70, 89,70, 89,70, 89,70,
89,70, 89,70, 89,70, 89,70,
89,70, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
89,89, 89,89, 89,89, 89,89,
89,89, 89,89, 89,89, 89,89,
89,89, 89,89, 89,89, 89,89,
89,89, 89,89, 89,89, 89,89,
89,89, 89,89, 89,89, 89,89,
89,89, 89,89, 89,89, 89,89,
89,89, 89,89, 91,87, 0,0,
0,0, 0,0, 0,0, 0,0,
89,89, 89,89, 89,89, 89,89,
89,89, 89,89, 89,89, 89,89,
89,89, 89,89, 89,89, 89,89,
89,89, 89,89, 89,89, 89,89,
89,89, 89,89, 89,89, 89,89,
89,89, 89,89, 89,89, 89,89,
89,89, 89,89, 92,156, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
91,90, 91,90, 91,90, 91,90,
91,90, 91,90, 91,90, 91,90,
91,90, 91,90, 91,90, 91,90,
91,90, 91,155, 91,90, 91,90,
91,90, 91,90, 91,90, 91,90,
91,90, 91,90, 91,90, 91,90,
91,90, 91,90, 94,87, 0,0,
0,0, 0,0, 0,0, 0,0,
92,90, 92,90, 92,90, 92,90,
92,90, 92,90, 92,90, 92,90,
92,90, 92,90, 92,90, 92,90,
92,90, 92,92, 92,90, 92,90,
92,90, 92,90, 92,90, 92,90,
92,90, 92,90, 92,90, 92,90,
92,90, 92,90, 96,162, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 96,87, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
94,90, 94,90, 94,90, 94,90,
94,90, 94,90, 94,90, 94,90,
94,90, 94,90, 94,90, 94,90,
94,90, 94,159, 94,90, 94,90,
94,90, 94,90, 94,90, 94,90,
94,90, 94,90, 94,90, 94,90,
94,90, 94,90, 97,87, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 97,143, 0,0,
0,0, 0,0, 0,0, 96,90,
96,90, 96,163, 96,90, 96,90,
96,90, 96,90, 96,90, 96,90,
96,90, 96,90, 96,90, 96,90,
96,92, 96,90, 96,90, 96,90,
96,90, 96,90, 96,90, 96,90,
96,90, 96,90, 96,90, 96,90,
96,90, 98,87, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
97,90, 97,90, 97,90, 97,90,
97,90, 97,90, 97,90, 97,90,
97,90, 97,90, 97,90, 97,90,
97,90, 97,92, 97,90, 97,90,
97,90, 97,164, 97,90, 97,90,
97,90, 97,90, 97,90, 97,90,
97,90, 97,90, 100,156, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 100,168, 0,0, 0,0,
0,0, 0,0, 0,0, 98,90,
98,90, 98,90, 98,90, 98,90,
98,90, 98,90, 98,90, 98,90,
98,90, 98,90, 98,90, 98,90,
98,92, 98,90, 98,90, 98,90,
98,90, 98,165, 98,90, 98,90,
98,90, 98,90, 98,90, 98,90,
98,90, 103,87, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
100,90, 100,90, 100,90, 100,90,
100,90, 100,90, 100,90, 100,90,
100,90, 100,90, 100,90, 100,90,
100,90, 100,92, 100,90, 100,90,
100,90, 100,90, 100,90, 100,90,
100,90, 100,90, 100,90, 100,90,
100,90, 100,90, 104,87, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 103,90,
103,90, 103,90, 103,90, 103,170,
103,90, 103,90, 103,90, 103,90,
103,90, 103,90, 103,90, 103,90,
103,92, 103,90, 103,90, 103,90,
103,90, 103,90, 103,90, 103,90,
103,90, 103,90, 103,90, 103,90,
103,90, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
104,90, 104,90, 104,90, 104,90,
104,90, 104,90, 104,90, 104,90,
104,90, 104,90, 104,90, 104,90,
104,90, 104,171, 104,90, 104,90,
104,90, 104,90, 104,90, 104,90,
104,90, 104,90, 104,90, 104,90,
104,90, 104,90, 105,105, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 127,64, 105,105, 105,172,
120,129, 120,129, 127,65, 0,0,
127,182, 0,0, 127,127, 127,127,
127,127, 127,127, 127,127, 127,127,
127,127, 127,127, 127,127, 127,127,
0,0, 0,0, 0,0, 0,0,
0,0, 105,105, 105,105, 120,129,
0,0, 0,0, 105,105, 0,0,
105,105, 0,0, 105,105, 0,0,
0,0, 105,105, 105,105, 105,105,
0,0, 105,105, 0,0, 120,180,
120,180, 120,180, 120,180, 120,180,
120,180, 120,180, 120,180, 120,180,
120,180, 0,0, 0,0, 0,0,
0,0, 0,0, 105,105, 105,105,
0,0, 105,105, 0,0, 0,0,
0,0, 105,105, 0,0, 0,0,
0,0, 105,105, 105,105, 0,0,
0,0, 105,105, 0,0, 0,0,
105,105, 127,126, 0,0, 0,0,
0,0, 108,173, 108,109, 108,111,
0,0, 0,0, 0,0, 0,0,
0,0, 105,105, 105,105, 105,105,
0,0, 105,105, 109,174, 0,0,
109,174, 105,105, 0,0, 0,0,
108,111, 108,111, 105,105, 108,111,
0,0, 105,105, 0,0, 108,111,
105,105, 0,0, 0,0, 108,111,
108,111, 109,174, 109,174, 108,111,
109,174, 0,0, 108,111, 0,0,
109,174, 0,0, 0,0, 0,0,
109,174, 109,174, 0,0, 0,0,
109,174, 110,175, 0,0, 109,174,
108,111, 108,111, 0,0, 108,111,
110,176, 110,109, 110,110, 108,111,
0,0, 0,0, 0,0, 0,0,
108,111, 109,174, 109,174, 108,111,
109,174, 0,0, 108,111, 0,0,
109,174, 0,0, 0,0, 110,111,
110,111, 109,174, 110,111, 0,0,
109,174, 0,0, 110,111, 109,174,
0,0, 0,0, 110,111, 110,111,
0,0, 0,0, 110,111, 0,0,
0,0, 110,111, 0,0, 0,0,
0,0, 0,0, 111,111, 111,109,
111,111, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 110,111,
110,111, 0,0, 110,111, 0,0,
0,0, 0,0, 110,111, 129,129,
129,129, 111,111, 111,111, 110,111,
111,111, 0,0, 110,111, 0,0,
111,111, 110,177, 0,0, 0,0,
111,111, 111,111, 131,130, 0,0,
111,111, 0,0, 0,0, 111,111,
0,0, 131,131, 129,129, 131,131,
131,131, 131,131, 131,131, 131,131,
131,131, 131,131, 131,131, 131,131,
131,131, 111,111, 111,111, 0,0,
111,111, 0,0, 0,0, 0,0,
111,111, 0,0, 0,0, 141,192,
0,0, 111,111, 0,0, 0,0,
111,111, 0,0, 0,0, 111,111,
0,0, 0,0, 0,0, 129,183,
129,183, 129,183, 129,183, 129,183,
129,183, 129,183, 129,183, 129,183,
129,183, 129,183, 129,183, 129,183,
129,183, 129,183, 129,183, 129,183,
129,183, 129,183, 129,183, 129,183,
129,183, 129,183, 129,183, 129,183,
129,183, 0,0, 132,185, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 132,67, 131,133, 132,132,
132,132, 132,132, 132,132, 132,132,
132,132, 132,132, 132,132, 132,132,
132,132, 141,76, 141,76, 141,76,
141,76, 141,76, 141,76, 141,76,
141,76, 141,76, 141,76, 141,76,
141,76, 141,76, 141,141, 141,76,
141,76, 141,76, 141,76, 141,76,
141,76, 141,76, 141,76, 141,76,
141,76, 141,76, 141,76, 142,142,
142,142, 142,142, 142,142, 142,142,
142,142, 142,142, 142,142, 142,142,
142,142, 142,142, 142,142, 142,142,
142,142, 142,142, 142,142, 142,142,
142,142, 142,142, 142,142, 142,142,
142,142, 142,142, 142,142, 142,142,
142,142, 144,140, 0,0, 0,0,
0,0, 0,0, 132,186, 0,0,
0,0, 144,194, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 145,140,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 145,195,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 146,140, 0,0, 0,0,
0,0, 0,0, 0,0, 144,76,
144,76, 144,76, 144,76, 144,76,
144,76, 144,76, 144,76, 144,76,
144,76, 144,76, 144,76, 144,76,
144,141, 144,76, 144,76, 144,76,
144,76, 144,76, 144,76, 144,76,
144,76, 144,76, 144,76, 144,76,
144,76, 145,76, 145,76, 145,76,
145,76, 145,76, 145,76, 145,76,
145,76, 145,76, 145,76, 145,76,
145,76, 145,76, 145,141, 145,76,
145,76, 145,76, 145,76, 145,76,
145,76, 145,76, 145,76, 145,76,
145,76, 145,76, 145,76, 146,76,
146,76, 146,76, 146,76, 146,76,
146,76, 146,76, 146,76, 146,76,
146,76, 146,76, 146,76, 146,76,
146,141, 146,76, 146,76, 146,76,
146,76, 146,76, 146,76, 146,76,
146,76, 146,76, 146,76, 146,76,
146,76, 150,140, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 150,200, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 155,204,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 159,208, 0,0, 0,0,
0,0, 0,0, 0,0, 150,76,
150,76, 150,76, 150,76, 150,76,
150,76, 150,76, 150,76, 150,76,
150,76, 150,76, 150,76, 150,76,
150,141, 150,76, 150,76, 150,76,
150,76, 150,76, 150,76, 150,76,
150,76, 150,76, 150,76, 150,76,
150,76, 155,90, 155,90, 155,90,
155,90, 155,90, 155,90, 155,90,
155,90, 155,90, 155,90, 155,90,
155,90, 155,90, 155,92, 155,90,
155,90, 155,90, 155,90, 155,90,
155,90, 155,90, 155,90, 155,90,
155,90, 155,90, 155,90, 159,90,
159,90, 159,90, 159,90, 159,90,
159,90, 159,90, 159,90, 159,90,
159,90, 159,90, 159,90, 159,90,
159,92, 159,90, 159,90, 159,90,
159,90, 159,90, 159,90, 159,90,
159,90, 159,90, 159,90, 159,90,
159,90, 163,87, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
163,212, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 164,87,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 164,194,
180,122, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 180,120,
0,0, 180,180, 180,180, 180,180,
180,180, 180,180, 180,180, 180,180,
180,180, 180,180, 180,180, 0,0,
0,0, 0,0, 0,0, 163,90,
163,90, 163,90, 163,90, 163,90,
163,90, 163,90, 163,90, 163,90,
163,90, 163,90, 163,90, 163,90,
163,92, 163,90, 163,90, 163,90,
163,90, 163,90, 163,90, 163,90,
163,90, 163,90, 163,90, 163,90,
163,90, 164,90, 164,90, 164,90,
164,90, 164,90, 164,90, 164,90,
164,90, 164,90, 164,90, 164,90,
164,90, 164,90, 164,92, 164,90,
164,90, 164,90, 164,90, 164,90,
164,90, 164,90, 164,90, 164,90,
164,90, 164,90, 164,90, 165,87,
180,181, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 165,195,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
168,215, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 168,215, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 165,90, 165,90, 165,90,
165,90, 165,90, 165,90, 165,90,
165,90, 165,90, 165,90, 165,90,
165,90, 165,90, 165,92, 165,90,
165,90, 165,90, 165,90, 165,90,
165,90, 165,90, 165,90, 165,90,
165,90, 165,90, 165,90, 168,216,
168,216, 168,216, 168,216, 168,216,
168,216, 168,216, 168,216, 168,216,
168,216, 168,216, 168,216, 168,216,
168,216, 168,216, 168,216, 168,216,
168,216, 168,216, 168,216, 168,216,
168,216, 168,216, 168,216, 168,216,
168,216, 170,87, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 170,200, 182,129, 182,129,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 171,218,
0,0, 0,0, 0,0, 0,0,
0,0, 182,129, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
182,130, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 182,222,
0,0, 182,223, 182,223, 182,223,
182,223, 182,223, 182,223, 182,223,
182,223, 182,223, 182,223, 170,90,
170,90, 170,90, 170,90, 170,90,
170,90, 170,90, 170,90, 170,90,
170,90, 170,90, 170,90, 170,90,
170,92, 170,90, 170,90, 170,90,
170,90, 170,90, 170,90, 170,90,
170,90, 170,90, 170,90, 170,90,
170,90, 171,90, 171,90, 171,90,
171,90, 171,90, 171,90, 171,90,
171,90, 171,90, 171,90, 171,90,
171,90, 171,90, 171,92, 171,90,
171,90, 171,90, 171,90, 171,90,
171,90, 171,90, 171,90, 171,90,
171,90, 171,90, 171,90, 173,111,
173,109, 173,111, 0,0, 0,0,
182,184, 174,219, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
174,174, 174,109, 174,174, 0,0,
0,0, 0,0, 173,111, 173,111,
0,0, 173,111, 0,0, 0,0,
0,0, 173,111, 0,0, 0,0,
0,0, 173,111, 173,111, 174,174,
174,174, 173,111, 174,174, 0,0,
173,111, 0,0, 174,174, 0,0,
0,0, 0,0, 174,174, 174,174,
0,0, 0,0, 174,174, 0,0,
0,0, 174,174, 173,111, 173,111,
0,0, 173,111, 176,111, 176,109,
176,110, 173,111, 0,0, 0,0,
0,0, 0,0, 173,111, 174,174,
174,174, 173,111, 174,174, 0,0,
173,111, 0,0, 174,174, 0,0,
0,0, 176,111, 176,111, 174,174,
176,111, 0,0, 174,174, 0,0,
176,111, 174,174, 0,0, 0,0,
176,111, 176,111, 0,0, 0,0,
176,111, 0,0, 0,0, 176,111,
0,0, 0,0, 0,0, 0,0,
177,111, 177,109, 177,111, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 176,111, 176,111, 0,0,
176,111, 0,0, 0,0, 0,0,
176,111, 215,215, 0,0, 177,111,
177,111, 176,111, 177,111, 0,0,
176,111, 0,0, 177,111, 176,111,
0,0, 0,0, 177,111, 177,111,
0,0, 0,0, 177,111, 0,0,
0,0, 177,111, 0,0, 215,215,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 177,111,
177,111, 0,0, 177,111, 0,0,
0,0, 0,0, 177,111, 0,0,
0,0, 0,0, 0,0, 177,111,
0,0, 0,0, 177,111, 0,0,
0,0, 177,177, 0,0, 0,0,
215,243, 215,243, 215,243, 215,243,
215,243, 215,243, 215,243, 215,243,
215,243, 215,243, 215,243, 215,243,
215,243, 215,243, 215,243, 215,243,
215,243, 215,243, 215,243, 215,243,
215,243, 215,243, 215,243, 215,243,
215,243, 215,243, 222,130, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 222,222, 0,0, 222,222,
222,222, 222,222, 222,222, 222,222,
222,222, 222,222, 222,222, 222,222,
222,222, 223,185, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
223,182, 0,0, 223,223, 223,223,
223,223, 223,223, 223,223, 223,223,
223,223, 223,223, 223,223, 223,223,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 222,184, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 223,224, 0,0, 0,0,
0,0};
struct yysvf yysvec[] ={
0, 0, 0,
yycrank+-1, 0, 0,
yycrank+-94, yysvec+1, 0,
yycrank+0, 0, yyvstop+1,
yycrank+174, 0, yyvstop+3,
yycrank+0, 0, yyvstop+6,
yycrank+4, yysvec+4, yyvstop+8,
yycrank+5, 0, yyvstop+11,
yycrank+29, 0, yyvstop+14,
yycrank+94, 0, yyvstop+17,
yycrank+263, 0, yyvstop+19,
yycrank+0, 0, yyvstop+22,
yycrank+110, 0, yyvstop+25,
yycrank+5, 0, yyvstop+28,
yycrank+336, 0, yyvstop+31,
yycrank+413, 0, yyvstop+34,
yycrank+499, 0, yyvstop+36,
yycrank+0, 0, yyvstop+41,
yycrank+0, 0, yyvstop+44,
yycrank+9, 0, yyvstop+47,
yycrank+583, 0, yyvstop+50,
yycrank+5, yysvec+20, yyvstop+53,
yycrank+15, yysvec+20, yyvstop+56,
yycrank+28, yysvec+20, yyvstop+59,
yycrank+34, yysvec+20, yyvstop+62,
yycrank+33, yysvec+20, yyvstop+65,
yycrank+86, yysvec+20, yyvstop+68,
yycrank+9, yysvec+20, yyvstop+71,
yycrank+298, yysvec+4, yyvstop+74,
yycrank+667, yysvec+20, yyvstop+77,
yycrank+751, yysvec+20, yyvstop+80,
yycrank+835, yysvec+20, yyvstop+83,
yycrank+919, yysvec+20, yyvstop+86,
yycrank+1003, yysvec+20, yyvstop+89,
yycrank+1087, yysvec+20, yyvstop+92,
yycrank+1171, yysvec+20, yyvstop+95,
yycrank+1255, yysvec+20, yyvstop+98,
yycrank+1339, yysvec+20, yyvstop+101,
yycrank+1423, yysvec+20, yyvstop+104,
yycrank+1507, yysvec+20, yyvstop+107,
yycrank+-1629, 0, yyvstop+110,
yycrank+-1674, yysvec+40, yyvstop+113,
yycrank+0, yysvec+4, yyvstop+116,
yycrank+8, yysvec+4, 0,
yycrank+1744, 0, 0,
yycrank+10, yysvec+15, 0,
yycrank+12, yysvec+4, yyvstop+118,
yycrank+0, 0, yyvstop+120,
yycrank+0, yysvec+8, yyvstop+122,
yycrank+26, yysvec+9, yyvstop+124,
yycrank+0, 0, yyvstop+126,
yycrank+68, 0, 0,
yycrank+0, 0, yyvstop+128,
yycrank+34, 0, 0,
yycrank+35, 0, 0,
yycrank+260, yysvec+12, 0,
yycrank+39, yysvec+12, 0,
yycrank+0, yysvec+13, yyvstop+130,
yycrank+0, 0, yyvstop+132,
yycrank+11, yysvec+44, 0,
yycrank+1595, yysvec+44, yyvstop+134,
yycrank+43, yysvec+15, yyvstop+136,
yycrank+49, yysvec+15, yyvstop+139,
yycrank+0, 0, yyvstop+141,
yycrank+23, 0, yyvstop+143,
yycrank+270, yysvec+12, 0,
yycrank+1819, 0, 0,
yycrank+1933, yysvec+44, yyvstop+146,
yycrank+1954, 0, yyvstop+148,
yycrank+290, 0, 0,
yycrank+2032, yysvec+44, yyvstop+152,
yycrank+2110, yysvec+44, yyvstop+154,
yycrank+0, 0, yyvstop+158,
yycrank+24, 0, 0,
yycrank+156, yysvec+44, yyvstop+160,
yycrank+2194, yysvec+20, yyvstop+162,
yycrank+2278, yysvec+20, yyvstop+164,
yycrank+0, yysvec+44, yyvstop+166,
yycrank+2324, 0, 0,
yycrank+2376, yysvec+20, yyvstop+168,
yycrank+2428, yysvec+20, yyvstop+170,
yycrank+2480, yysvec+20, yyvstop+172,
yycrank+157, yysvec+44, yyvstop+174,
yycrank+2537, yysvec+20, yyvstop+176,
yycrank+2589, yysvec+20, yyvstop+178,
yycrank+72, yysvec+44, yyvstop+180,
yycrank+1647, yysvec+4, yyvstop+182,
yycrank+41, 0, 0,
yycrank+1623, yysvec+44, 0,
yycrank+2655, 0, 0,
yycrank+2162, yysvec+89, yyvstop+184,
yycrank+2707, yysvec+89, yyvstop+186,
yycrank+2739, yysvec+89, yyvstop+188,
yycrank+137, yysvec+44, 0,
yycrank+2791, yysvec+89, yyvstop+190,
yycrank+166, yysvec+44, 0,
yycrank+2830, yysvec+89, yyvstop+192,
yycrank+2875, yysvec+89, yyvstop+194,
yycrank+2914, yysvec+89, yyvstop+196,
yycrank+200, yysvec+44, 0,
yycrank+2959, yysvec+89, yyvstop+198,
yycrank+71, 0, 0,
yycrank+271, yysvec+44, 0,
yycrank+2998, yysvec+89, yyvstop+200,
yycrank+3043, yysvec+89, yyvstop+202,
yycrank+-3165, 0, 0,
yycrank+0, yysvec+105, yyvstop+204,
yycrank+0, yysvec+105, yyvstop+206,
yycrank+-3207, yysvec+105, 0,
yycrank+-3220, yysvec+105, 0,
yycrank+-3262, yysvec+105, yyvstop+208,
yycrank+-3304, yysvec+105, 0,
yycrank+301, 0, 0,
yycrank+666, 0, yyvstop+210,
yycrank+0, 0, yyvstop+212,
yycrank+0, 0, yyvstop+214,
yycrank+0, 0, yyvstop+216,
yycrank+0, 0, yyvstop+218,
yycrank+750, 0, 0,
yycrank+0, yysvec+12, 0,
yycrank+3167, 0, 0,
yycrank+0, yysvec+44, yyvstop+220,
yycrank+152, 0, yyvstop+222,
yycrank+834, yysvec+44, 0,
yycrank+56, yysvec+44, yyvstop+224,
yycrank+48, 0, yyvstop+226,
yycrank+57, 0, yyvstop+228,
yycrank+3134, 0, yyvstop+231,
yycrank+46, yysvec+66, yyvstop+234,
yycrank+3358, 0, 0,
yycrank+153, 0, yyvstop+236,
yycrank+3343, yysvec+44, yyvstop+238,
yycrank+3411, yysvec+44, yyvstop+240,
yycrank+58, yysvec+44, yyvstop+244,
yycrank+918, 0, 0,
yycrank+0, 0, yyvstop+246,
yycrank+395, 0, 0,
yycrank+47, yysvec+44, 0,
yycrank+59, 0, 0,
yycrank+0, yysvec+44, yyvstop+249,
yycrank+60, 0, 0,
yycrank+3372, yysvec+89, yyvstop+251,
yycrank+3398, 0, yyvstop+253,
yycrank+252, yysvec+15, 0,
yycrank+3482, yysvec+89, yyvstop+255,
yycrank+3508, yysvec+89, yyvstop+257,
yycrank+3534, yysvec+89, yyvstop+259,
yycrank+396, 0, 0,
yycrank+131, yysvec+44, 0,
yycrank+268, yysvec+44, yyvstop+262,
yycrank+3618, yysvec+89, yyvstop+264,
yycrank+132, yysvec+44, 0,
yycrank+0, 0, yyvstop+266,
yycrank+205, yysvec+136, 0,
yycrank+134, yysvec+44, 0,
yycrank+3644, yysvec+89, yyvstop+268,
yycrank+66, 0, 0,
yycrank+267, 0, 0,
yycrank+138, yysvec+44, 0,
yycrank+3670, yysvec+89, yyvstop+270,
yycrank+203, 0, 0,
yycrank+148, yysvec+44, 0,
yycrank+106, 0, 0,
yycrank+3754, yysvec+89, yyvstop+272,
yycrank+3780, yysvec+89, yyvstop+274,
yycrank+3864, yysvec+89, yyvstop+276,
yycrank+272, 0, 0,
yycrank+163, yysvec+44, 0,
yycrank+3922, yysvec+44, yyvstop+278,
yycrank+110, 0, 0,
yycrank+3974, yysvec+89, yyvstop+280,
yycrank+4000, yysvec+89, yyvstop+282,
yycrank+0, 0, yyvstop+284,
yycrank+-4077, yysvec+105, yyvstop+286,
yycrank+-4090, yysvec+105, yyvstop+288,
yycrank+-356, yysvec+105, yyvstop+290,
yycrank+-4132, yysvec+105, 0,
yycrank+-4174, yysvec+105, yyvstop+292,
yycrank+284, yysvec+112, yyvstop+294,
yycrank+1002, yysvec+120, 0,
yycrank+3789, 0, yyvstop+296,
yycrank+123, 0, yyvstop+298,
yycrank+4013, 0, yyvstop+300,
yycrank+0, 0, yyvstop+302,
yycrank+214, 0, yyvstop+304,
yycrank+359, 0, yyvstop+306,
yycrank+216, yysvec+44, yyvstop+310,
yycrank+0, 0, yyvstop+314,
yycrank+287, 0, 0,
yycrank+0, yysvec+44, yyvstop+316,
yycrank+0, 0, yyvstop+318,
yycrank+0, 0, yyvstop+320,
yycrank+245, 0, 0,
yycrank+1632, yysvec+15, yyvstop+322,
yycrank+328, yysvec+15, 0,
yycrank+491, yysvec+15, 0,
yycrank+288, 0, 0,
yycrank+0, yysvec+44, yyvstop+324,
yycrank+526, 0, 0,
yycrank+316, yysvec+44, 0,
yycrank+1585, yysvec+15, 0,
yycrank+0, yysvec+44, yyvstop+326,
yycrank+318, 0, 0,
yycrank+0, yysvec+44, yyvstop+328,
yycrank+249, yysvec+156, 0,
yycrank+0, 0, yyvstop+330,
yycrank+323, 0, 0,
yycrank+0, yysvec+44, yyvstop+332,
yycrank+259, yysvec+156, 0,
yycrank+330, 0, 0,
yycrank+0, yysvec+44, yyvstop+334,
yycrank+270, 0, 0,
yycrank+1644, yysvec+44, yyvstop+336,
yycrank+333, 0, 0,
yycrank+0, yysvec+44, yyvstop+339,
yycrank+4227, 0, 0,
yycrank+0, yysvec+44, yyvstop+341,
yycrank+285, 0, 0,
yycrank+281, yysvec+156, 0,
yycrank+-360, yysvec+105, yyvstop+343,
yycrank+-314, yysvec+105, yyvstop+345,
yycrank+1086, 0, 0,
yycrank+4279, 0, yyvstop+347,
yycrank+4298, 0, yyvstop+349,
yycrank+315, 0, yyvstop+353,
yycrank+0, 0, yyvstop+357,
yycrank+0, 0, yyvstop+359,
yycrank+1644, yysvec+15, yyvstop+361,
yycrank+1657, yysvec+15, yyvstop+363,
yycrank+1668, yysvec+15, yyvstop+365,
yycrank+0, 0, yyvstop+367,
yycrank+385, 0, 0,
yycrank+0, yysvec+44, yyvstop+369,
yycrank+1672, yysvec+15, yyvstop+371,
yycrank+0, 0, yyvstop+373,
yycrank+0, 0, yyvstop+375,
yycrank+0, 0, yyvstop+378,
yycrank+0, 0, yyvstop+380,
yycrank+0, 0, yyvstop+383,
yycrank+414, 0, 0,
yycrank+1720, 0, yyvstop+385,
yycrank+465, 0, yyvstop+387,
yycrank+0, 0, yyvstop+389,
yycrank+0, 0, yyvstop+391,
yycrank+376, 0, 0,
yycrank+0, 0, yyvstop+393,
yycrank+1172, yysvec+15, yyvstop+396,
yycrank+1181, yysvec+15, yyvstop+399,
yycrank+1183, yysvec+15, yyvstop+401,
yycrank+0, 0, yyvstop+403,
yycrank+0, 0, yyvstop+405,
yycrank+369, 0, 0,
yycrank+1177, yysvec+15, yyvstop+407,
yycrank+0, 0, yyvstop+410,
0, 0, 0};
struct yywork *yytop = yycrank+4413;
struct yysvf *yybgin = yysvec+1;
char yymatch[] ={
00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,011 ,012 ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
040 ,'!' ,01 ,01 ,01 ,'%' ,01 ,047 ,
01 ,')' ,01 ,01 ,',' ,'-' ,'.' ,01 ,
'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,
'0' ,'0' ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,'A' ,'B' ,'B' ,'D' ,'B' ,'B' ,'B' ,
'H' ,'B' ,'B' ,'B' ,'L' ,'M' ,'B' ,'B' ,
'P' ,'B' ,'B' ,'S' ,'B' ,'B' ,'B' ,'B' ,
'B' ,'B' ,'B' ,01 ,01 ,01 ,01 ,01 ,
'`' ,'a' ,'b' ,'b' ,'d' ,'b' ,'b' ,'b' ,
'h' ,'b' ,'b' ,'b' ,'b' ,'m' ,'b' ,'b' ,
'p' ,'b' ,'b' ,'s' ,'b' ,'b' ,'b' ,'b' ,
'b' ,'b' ,'b' ,01 ,01 ,01 ,01 ,01 ,
0};
char yyextra[] ={
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0};
/* ncform 4.1 83/08/11 */
int yylineno =1;
# define YYU(x) x
# define NLSTATE yyprevious=YYNEWLINE
char yytext[YYLMAX];
struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;
char yysbuf[YYLMAX];
char *yysptr = yysbuf;
int *yyfnd;
extern struct yysvf *yyestate;
int yyprevious = YYNEWLINE;
yylook(){
register struct yysvf *yystate, **lsp;
register struct yywork *yyt;
struct yysvf *yyz;
int yych;
struct yywork *yyr;
# ifdef LEXDEBUG
int debug;
# endif
char *yylastch;
/* start off machines */
# ifdef LEXDEBUG
debug = 0;
# endif
if (!yymorfg)
yylastch = yytext;
else {
yymorfg=0;
yylastch = yytext+yyleng;
}
for(;;){
lsp = yylstate;
yyestate = yystate = yybgin;
if (yyprevious==YYNEWLINE) yystate++;
for (;;){
# ifdef LEXDEBUG
if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1);
# endif
yyt = yystate->yystoff;
if(yyt == yycrank){ /* may not be any transitions */
yyz = yystate->yyother;
if(yyz == 0)break;
if(yyz->yystoff == yycrank)break;
}
*yylastch++ = yych = input();
tryagain:
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"char ");
allprint(yych);
putchar('\n');
}
# endif
yyr = yyt;
if ( (int)yyt > (int)yycrank){
yyt = yyr + yych;
if (yyt <= yytop && yyt->verify+yysvec == yystate){
if(yyt->advance+yysvec == YYLERR) /* error transitions */
{unput(*--yylastch);break;}
*lsp++ = yystate = yyt->advance+yysvec;
goto contin;
}
}
# ifdef YYOPTIM
else if((int)yyt < (int)yycrank) { /* r < yycrank */
yyt = yyr = yycrank+(yycrank-yyt);
# ifdef LEXDEBUG
if(debug)fprintf(yyout,"compressed state\n");
# endif
yyt = yyt + yych;
if(yyt <= yytop && yyt->verify+yysvec == yystate){
if(yyt->advance+yysvec == YYLERR) /* error transitions */
{unput(*--yylastch);break;}
*lsp++ = yystate = yyt->advance+yysvec;
goto contin;
}
yyt = yyr + YYU(yymatch[yych]);
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"try fall back character ");
allprint(YYU(yymatch[yych]));
putchar('\n');
}
# endif
if(yyt <= yytop && yyt->verify+yysvec == yystate){
if(yyt->advance+yysvec == YYLERR) /* error transition */
{unput(*--yylastch);break;}
*lsp++ = yystate = yyt->advance+yysvec;
goto contin;
}
}
if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){
# ifdef LEXDEBUG
if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1);
# endif
goto tryagain;
}
# endif
else
{unput(*--yylastch);break;}
contin:
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"state %d char ",yystate-yysvec-1);
allprint(yych);
putchar('\n');
}
# endif
;
}
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1);
allprint(yych);
putchar('\n');
}
# endif
while (lsp-- > yylstate){
*yylastch-- = 0;
if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){
yyolsp = lsp;
if(yyextra[*yyfnd]){ /* must backup */
while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){
lsp--;
unput(*yylastch--);
}
}
yyprevious = YYU(*yylastch);
yylsp = lsp;
yyleng = yylastch-yytext+1;
yytext[yyleng] = 0;
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"\nmatch ");
sprint(yytext);
fprintf(yyout," action %d\n",*yyfnd);
}
# endif
return(*yyfnd++);
}
unput(*yylastch);
}
if (yytext[0] == 0 /* && feof(yyin) */)
{
yysptr=yysbuf;
return(0);
}
yyprevious = yytext[0] = input();
if (yyprevious>0)
output(yyprevious);
yylastch=yytext;
# ifdef LEXDEBUG
if(debug)putchar('\n');
# endif
}
}
yyback(p, m)
int *p;
{
if (p==0) return(0);
while (*p)
{
if (*p++ == m)
return(1);
}
return(0);
}
/* the following are only used in the lex library */
yyinput(){
return(input());
}
yyoutput(c)
int c; {
output(c);
}
yyunput(c)
int c; {
unput(c);
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.