This is dertf.c in view mode; [Download] [Up]
# 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; /* * A simple Lex grammar for Microsoft RTF. * * Copyright (c) 1990, Keith Edwards * May be freely used, modified, distributed, or copied as long as * this notice stays intact. * * Keith Edwards * Georgia Tech / SERC / Multimedia Group * April 5, 1990 * <keith@dali.gatech.edu> */ int pos; /* so far used only for attachments */ # define YYNEWLINE 10 int yylex(){ int nstr; extern int yyprevious; while((nstr = yylook()) >= 0) yyfussy: switch(nstr){ case 0: if(yywrap()) return(0); break; case 1: printf("{"); break; case 2: printf("}"); break; case 3: printf("\\"); break; case 4: ; break; case 5: ; break; case 6: ; break; case 7: ; break; case 8: printf("\n"); break; case 9: ; break; case 10: ; break; case 11: ; break; case 12: ; break; case 13: ; break; case 14: ; break; case 15: ; break; case 16: ; break; case 17: ; break; case 18: ; break; case 19: ; break; case 20: ; break; case 21: ; break; case 22: ; break; case 23: ; break; case 24: ; break; case 25: ; break; case 26: ; break; case 27: ; break; case 28: ; break; case 29: ; break; case 30: ; break; case 31: ; break; case 32: ; break; case 33: ; break; case 34: ; break; case 35: ; break; case 36: ; break; case 37: ; break; case 38: ; break; case 39: ; break; case 40: ; break; case 41: ; break; case 42: ; break; case 43: ; break; case 44: ; break; case 45: ; break; case 46: ; break; case 47: ; break; case 48: ; break; case 49: ; break; case 50: ; break; case 51: ; break; case 52: ; break; case 53: ; break; case 54: ; break; case 55: ; break; case 56: ; break; case 57: ; break; case 58: ; break; case 59: ; break; case 60: ; break; case 61: ; break; case 62: ; break; case 63: ; break; case 64: ; break; case 65: ; break; case 66: ; break; case 67: ; break; case 68: ; break; case 69: ; break; case 70: ; break; case 71: ; break; case 72: ; break; case 73: ; break; case 74: ; break; case 75: ; break; case 76: ; break; case 77: ; break; case 78: ; break; case 79: ; break; case 80: ; break; case 81: ; break; case 82: ; break; case 83: ; break; case 84: ; break; case 85: ; break; case 86: ; break; case 87: ; break; case 88: ; break; case 89: ; break; case 90: ; break; case 91: ; break; case 92: ; break; case 93: ; break; case 94: ; break; case 95: ; break; case 96: ; break; case 97: ; break; case 98: ; break; case 99: ; break; case 100: ; break; case 101: ; break; case 102: ; break; case 103: ; break; case 104: ; break; case 105: ; break; case 106: ; break; case 107: ; break; case 108: ; break; case 109: ; break; case 110: ; break; case 111: ; break; case 112: ; break; case 113: ; break; case 114: ; break; case 115: ; break; case 116: ; break; case 117: ; break; case 118: ; break; case 119: ; break; case 120: ; break; case 121: ; break; case 122: ; break; case 123: ; break; case 124: ; break; case 125: ; break; case 126: ; break; case 127: ; break; case 128: ; break; case 129: ; break; case 130: ; break; case 131: ; break; case 132: ; break; case 133: ; break; case 134: ; break; case 135: ; break; case 136: ; break; case 137: ; break; case 138: ; break; case 139: ; break; case 140: ; break; case 141: ; break; case 142: ; break; case 143: ; break; case 144: ; break; case 145: ; break; case 146: ; break; case 147: ; break; case 148: ; break; case 149: ; break; case 150: ; break; case 151: ; break; case 152: ; break; case 153: ; break; case 154: ; break; case 155: ; break; case 156: ; break; case 157: ; break; case 158: ; break; case 159: ; break; case 160: ; break; case 161: ; break; case 162: ; break; case 163: ; break; case 164: ; break; case 165: ; break; case 166: ; break; case 167: ; break; case 168: ; break; case 169: ; break; case 170: ; break; case 171: ; break; case 172: ; break; case 173: ; break; case 174: ; break; case 175: ; break; case 176: ; break; case 177: ; break; case 178: ; break; case 179: ; break; case 180: ; break; case 181: ; break; case 182: ; break; case 183: ; break; case 184: ; break; case 185: ; break; case 186: ; break; case 187: ; break; case 188: ; break; case 189: ; break; case 190: ; break; case 191: ; break; case 192: ; break; case 193: ; break; case 194: ; break; case 195: ; break; case 196: ; break; case 197: ; break; case 198: ; break; case 199: ; break; case 200: ; break; case 201: ; break; case 202: ; break; case 203: ; break; case 204: ; break; case 205: ; break; case 206: ; break; case 207: ; break; case 208: ; break; case 209: ; break; case 210: ; break; case 211: ; break; case 212: ; break; case 213: ; break; case 214: ; break; case 215: ; break; case 216: ; break; case 217: ; break; case 218: ; break; case 219: ; break; case 220: ; break; case 222: ; break; case 223: ; break; case 224: ; break; case 225: ; break; case 226: ; break; case 227: ; break; case 228: ; break; case 229: ; break; case 230: ; break; case 231: ; break; case 232: ; break; case 233: ; break; case 234: ; break; case 235: ; break; case 236: ; break; case 237: ; break; case 238: ; break; case 239: ; break; case 240: ; break; case 241: ; break; case 242: ; break; case 243: ; break; case 244: ; break; case 245: ; break; case 246: ; break; case 247: ; break; case 248: ; break; case 249: ; break; case 250: ; break; case 251: ; break; case 252: ; break; case 253: ; break; case 254: ; break; case 255: ; break; case 256: ; break; case 257: ; break; case 258: ; break; case 259: ; break; case 260: ; break; case 261: ; break; case 262: ; break; case 263: ; break; case 264: ; break; case 265: ; break; case 266: ; break; case 267: ; break; case 268: ; break; case 269: ; break; case 270: ; break; case 271: ; break; case 272: ; break; case 273: ; break; case 274: ; break; case 275: ; break; case 276: ; break; case 277: ; break; case 278: { pos=index( yytext, ' '); if (pos) printf("[ Attachment inserted here: %s ]\n", pos ); } break; case -1: break; default: fprintf(yyout,"bad switch yylook %d",nstr); } return(0); } /* end of yylex */ main() { yylex(); } int yyvstop[] ={ 0, 4, 0, 9, 0, 10, 0, 3, 0, 8, 0, 275, 0, 263, 0, 274, 0, 264, 0, 237, 0, 238, 0, 244, 0, 1, 0, 261, 0, 2, 0, 262, 0, 245, 0, 13, 0, 174, 0, 173, 0, 171, 0, 172, 0, 170, 0, 191, 0, 94, 0, 248, 0, 265, 0, 168, 0, 90, 0, 23, 0, 22, 0, 253, 0, 77, 0, 175, 0, 246, 0, 78, 0, 83, 0, 91, 0, 176, 0, 12, 0, 76, 0, 268, 0, 14, 0, 177, 0, 267, 0, 179, 0, 178, 0, 180, 0, 273, 0, 189, 0, 188, 0, 187, 0, 249, 0, 252, 0, 75, 0, 11, 0, 49, 0, 243, 0, 266, 0, 182, 0, 272, 0, 79, 0, 240, 0, 270, 0, 169, 0, 220, 0, 25, 0, 218, 0, 19, 0, 276, 0, 184, 0, 269, 0, 241, 0, 95, 0, 96, 0, 204, 0, 203, 0, 229, 0, 227, 0, 228, 0, 250, 0, 215, 0, 54, 0, 21, 0, 165, 0, 166, 0, 167, 0, 26, 194, 0, 164, 0, 200, 0, 52, 259, 0, 51, 258, 0, 257, 0, 234, 0, 235, 0, 159, 0, 5, 0, 116, 0, 112, 0, 115, 0, 277, 0, 181, 0, 183, 0, 145, 0, 146, 0, 221, 0, 219, 0, 36, 0, 35, 0, 236, 0, 205, 0, 206, 0, 207, 0, 208, 0, 209, 0, 210, 0, 214, 0, 213, 0, 212, 0, 217, 0, 93, 0, 242, 0, 131, 0, 61, 0, 201, 0, 190, 0, 226, 0, 231, 0, 92, 0, 69, 0, 63, 0, 27, 197, 0, 29, 196, 0, 28, 195, 0, 73, 0, 233, 0, 255, 0, 256, 0, 160, 0, 271, 0, 114, 0, 247, 0, 110, 0, 20, 0, 150, 0, 104, 0, 101, 0, 102, 0, 103, 0, 186, 0, 185, 0, 140, 0, 211, 0, 71, 0, 133, 0, 136, 0, 18, 0, 239, 0, 202, 0, 251, 0, 156, 0, 98, 0, 192, 0, 193, 0, 30, 198, 0, 222, 0, 224, 0, 225, 0, 223, 0, 66, 0, 70, 0, 7, 107, 0, 68, 0, 74, 0, 105, 0, 85, 0, 88, 0, 86, 0, 87, 0, 89, 0, 16, 0, 60, 0, 58, 0, 59, 0, 111, 0, 106, 0, 57, 0, 55, 0, 56, 0, 32, 0, 100, 0, 99, 0, 138, 0, 142, 0, 141, 0, 72, 0, 130, 0, 254, 0, 135, 0, 132, 0, 134, 0, 62, 0, 163, 0, 230, 0, 232, 0, 157, 0, 158, 0, 155, 0, 31, 199, 0, 260, 0, 24, 0, 162, 0, 113, 0, 84, 0, 148, 0, 50, 0, 147, 0, 109, 0, 65, 0, 154, 0, 149, 0, 123, 0, 64, 0, 144, 0, 143, 0, 129, 0, 124, 0, 67, 0, 34, 0, 97, 0, 6, 126, 0, 216, 0, 122, 0, 117, 0, 121, 0, 153, 0, 82, 0, 80, 0, 81, 0, 119, 0, 43, 0, 44, 0, 45, 0, 42, 0, 38, 0, 41, 0, 37, 0, 127, 0, 17, 0, 108, 0, 53, 0, 15, 0, 118, 0, 161, 0, 120, 0, 125, 0, 128, 0, 139, 0, 137, 0, 39, 0, 40, 0, 47, 0, 33, 0, 152, 0, 151, 0, 278, 0, 46, 0, 48, 0, 0}; # define YYTYPE unsigned short struct yywork { YYTYPE verify, advance; } yycrank[] ={ 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 1,3, 0,0, 4,7, 4,8, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 4,9, 0,0, 0,0, 4,10, 0,0, 0,0, 4,11, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 4,12, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 1,4, 0,0, 0,0, 0,0, 0,0, 0,0, 4,13, 0,0, 4,14, 4,15, 4,16, 4,17, 4,18, 4,19, 4,20, 4,21, 4,22, 0,0, 4,23, 4,24, 4,25, 4,26, 4,27, 4,28, 4,29, 4,30, 4,31, 4,32, 4,33, 4,34, 4,35, 1,5, 4,36, 1,6, 4,37, 4,38, 4,39, 4,40, 9,41, 9,41, 9,41, 9,41, 9,41, 9,41, 9,41, 9,41, 9,41, 9,41, 20,81, 14,42, 23,89, 20,82, 34,139, 36,143, 24,90, 9,41, 9,41, 9,41, 9,41, 9,41, 9,41, 14,43, 24,91, 15,46, 17,61, 15,47, 15,48, 14,44, 14,45, 15,49, 26,95, 25,92, 15,50, 17,62, 17,63, 15,51, 18,66, 33,137, 15,52, 25,93, 26,96, 33,138, 21,83, 17,64, 17,65, 25,94, 18,67, 9,41, 9,41, 9,41, 9,41, 9,41, 9,41, 16,53, 16,54, 21,84, 18,68, 16,55, 16,56, 42,145, 16,57, 27,97, 21,85, 44,148, 16,58, 45,150, 27,98, 16,59, 19,69, 44,149, 16,60, 19,70, 19,70, 19,70, 19,70, 19,70, 19,70, 19,70, 19,70, 19,70, 19,70, 22,86, 28,99, 46,151, 28,100, 29,108, 47,152, 48,153, 28,101, 28,102, 28,103, 22,87, 29,109, 28,104, 29,110, 49,154, 28,105, 50,155, 30,112, 28,106, 29,111, 22,88, 30,113, 28,107, 35,140, 43,146, 51,157, 52,158, 30,114, 53,159, 43,147, 35,141, 50,156, 30,115, 55,162, 35,142, 58,170, 30,116, 59,172, 59,173, 19,71, 60,174, 61,175, 19,72, 63,178, 64,179, 66,182, 58,171, 19,73, 67,183, 68,184, 19,74, 19,75, 19,76, 19,77, 71,185, 72,186, 19,78, 19,79, 19,80, 31,117, 74,189, 75,190, 31,118, 31,118, 31,118, 31,118, 31,118, 31,118, 31,118, 31,118, 31,118, 31,118, 32,128, 32,129, 32,130, 76,191, 32,131, 77,192, 77,193, 82,204, 32,132, 80,200, 81,202, 32,133, 83,205, 85,208, 81,203, 87,211, 32,134, 32,135, 80,201, 88,212, 78,194, 54,160, 89,213, 32,136, 54,161, 54,161, 54,161, 54,161, 54,161, 54,161, 54,161, 54,161, 54,161, 54,161, 78,195, 90,215, 92,219, 93,222, 95,225, 31,119, 31,120, 31,121, 89,214, 31,122, 92,220, 97,228, 31,123, 96,226, 98,229, 100,233, 31,124, 92,221, 31,125, 96,227, 101,234, 103,238, 104,239, 105,240, 31,126, 31,127, 41,144, 41,144, 41,144, 41,144, 41,144, 41,144, 41,144, 41,144, 41,144, 41,144, 106,241, 107,242, 114,248, 115,249, 107,243, 116,250, 121,258, 41,144, 41,144, 41,144, 41,144, 41,144, 41,144, 56,163, 112,244, 122,259, 56,164, 56,164, 56,164, 56,164, 56,164, 56,164, 56,164, 56,164, 56,164, 56,164, 123,260, 99,230, 125,263, 126,264, 57,165, 127,265, 112,245, 57,166, 128,266, 57,167, 99,231, 131,269, 99,232, 41,144, 41,144, 41,144, 41,144, 41,144, 41,144, 57,168, 132,270, 62,176, 139,291, 57,169, 62,177, 62,177, 62,177, 62,177, 62,177, 62,177, 62,177, 62,177, 62,177, 62,177, 65,180, 141,294, 142,295, 65,181, 65,181, 65,181, 65,181, 65,181, 65,181, 65,181, 65,181, 65,181, 65,181, 69,70, 69,70, 69,70, 69,70, 69,70, 69,70, 69,70, 69,70, 69,70, 69,70, 73,187, 145,298, 146,299, 73,188, 73,188, 73,188, 73,188, 73,188, 73,188, 73,188, 73,188, 73,188, 73,188, 79,196, 147,300, 148,301, 79,197, 79,197, 79,197, 79,197, 79,197, 79,197, 79,197, 79,197, 79,197, 79,197, 84,206, 149,302, 150,303, 84,207, 84,207, 84,207, 84,207, 84,207, 84,207, 84,207, 84,207, 84,207, 84,207, 86,209, 152,306, 153,307, 86,210, 86,210, 86,210, 86,210, 86,210, 86,210, 86,210, 86,210, 86,210, 86,210, 91,216, 155,308, 156,309, 91,217, 91,217, 91,217, 91,217, 91,217, 91,217, 91,217, 91,217, 91,217, 91,217, 94,223, 157,310, 79,198, 94,224, 94,224, 94,224, 94,224, 94,224, 94,224, 94,224, 94,224, 94,224, 94,224, 102,235, 130,267, 140,292, 159,311, 162,312, 165,313, 140,293, 130,268, 166,314, 79,199, 102,236, 113,246, 167,315, 102,237, 113,247, 113,247, 113,247, 113,247, 113,247, 113,247, 113,247, 113,247, 113,247, 113,247, 117,118, 117,118, 117,118, 117,118, 117,118, 117,118, 117,118, 117,118, 117,118, 117,118, 168,316, 169,317, 170,318, 119,251, 173,324, 91,218, 119,252, 119,252, 119,252, 119,252, 119,252, 119,252, 119,252, 119,252, 119,252, 119,252, 120,253, 174,325, 178,328, 120,254, 120,254, 120,254, 120,254, 120,254, 120,254, 120,254, 120,254, 120,254, 120,254, 124,261, 134,275, 134,276, 124,262, 124,262, 124,262, 124,262, 124,262, 124,262, 124,262, 124,262, 124,262, 124,262, 133,271, 135,278, 171,319, 134,277, 133,272, 137,286, 135,279, 175,326, 179,329, 135,280, 182,330, 135,281, 135,282, 171,320, 172,321, 137,287, 133,273, 133,274, 172,322, 183,331, 172,323, 175,327, 184,333, 185,334, 137,288, 186,335, 120,255, 190,342, 191,343, 183,332, 192,344, 193,345, 194,346, 195,347, 136,283, 198,348, 120,256, 136,284, 136,284, 136,284, 136,284, 136,284, 136,284, 136,284, 136,284, 136,284, 136,284, 199,349, 138,289, 200,350, 120,257, 138,290, 138,290, 138,290, 138,290, 138,290, 138,290, 138,290, 138,290, 138,290, 138,290, 143,296, 202,356, 203,357, 143,297, 143,297, 143,297, 143,297, 143,297, 143,297, 143,297, 143,297, 143,297, 143,297, 151,304, 204,358, 205,359, 151,305, 151,305, 151,305, 151,305, 151,305, 151,305, 151,305, 151,305, 151,305, 151,305, 208,360, 211,361, 213,362, 136,285, 160,161, 160,161, 160,161, 160,161, 160,161, 160,161, 160,161, 160,161, 160,161, 160,161, 163,164, 163,164, 163,164, 163,164, 163,164, 163,164, 163,164, 163,164, 163,164, 163,164, 176,177, 176,177, 176,177, 176,177, 176,177, 176,177, 176,177, 176,177, 176,177, 176,177, 180,181, 180,181, 180,181, 180,181, 180,181, 180,181, 180,181, 180,181, 180,181, 180,181, 187,188, 187,188, 187,188, 187,188, 187,188, 187,188, 187,188, 187,188, 187,188, 187,188, 189,336, 189,337, 214,363, 215,364, 218,365, 189,338, 219,366, 220,367, 189,339, 201,351, 201,352, 221,368, 189,340, 225,371, 189,341, 196,197, 196,197, 196,197, 196,197, 196,197, 196,197, 196,197, 196,197, 196,197, 196,197, 201,353, 201,354, 201,355, 206,207, 206,207, 206,207, 206,207, 206,207, 206,207, 206,207, 206,207, 206,207, 206,207, 209,210, 209,210, 209,210, 209,210, 209,210, 209,210, 209,210, 209,210, 209,210, 209,210, 216,217, 216,217, 216,217, 216,217, 216,217, 216,217, 216,217, 216,217, 216,217, 216,217, 222,369, 227,375, 228,376, 222,370, 222,370, 222,370, 222,370, 222,370, 222,370, 222,370, 222,370, 222,370, 222,370, 223,224, 223,224, 223,224, 223,224, 223,224, 223,224, 223,224, 223,224, 223,224, 223,224, 226,372, 229,377, 230,378, 231,379, 232,380, 235,389, 234,381, 234,382, 236,390, 237,391, 239,397, 240,398, 240,399, 226,373, 238,392, 234,383, 241,400, 242,401, 243,402, 238,393, 226,374, 234,384, 234,385, 250,411, 234,386, 255,412, 257,418, 234,387, 234,388, 258,419, 238,394, 238,395, 244,403, 259,420, 238,396, 244,404, 244,404, 244,404, 244,404, 244,404, 244,404, 244,404, 244,404, 244,404, 244,404, 245,405, 260,421, 263,422, 264,423, 256,413, 265,424, 256,414, 245,406, 269,429, 270,430, 271,431, 272,432, 273,433, 274,434, 245,407, 256,415, 256,416, 256,417, 245,408, 246,247, 246,247, 246,247, 246,247, 246,247, 246,247, 246,247, 246,247, 246,247, 246,247, 249,409, 276,435, 278,436, 249,410, 249,410, 249,410, 249,410, 249,410, 249,410, 249,410, 249,410, 249,410, 249,410, 251,252, 251,252, 251,252, 251,252, 251,252, 251,252, 251,252, 251,252, 251,252, 251,252, 253,254, 253,254, 253,254, 253,254, 253,254, 253,254, 253,254, 253,254, 253,254, 253,254, 261,262, 261,262, 261,262, 261,262, 261,262, 261,262, 261,262, 261,262, 261,262, 261,262, 267,425, 279,437, 280,438, 267,426, 267,426, 267,426, 267,426, 267,426, 267,426, 267,426, 267,426, 267,426, 267,426, 268,427, 282,442, 285,443, 268,428, 268,428, 268,428, 268,428, 268,428, 268,428, 268,428, 268,428, 268,428, 268,428, 281,439, 286,444, 287,445, 292,449, 294,453, 291,446, 295,454, 299,457, 301,458, 281,440, 291,447, 291,448, 302,459, 303,460, 310,474, 281,441, 283,284, 283,284, 283,284, 283,284, 283,284, 283,284, 283,284, 283,284, 283,284, 283,284, 289,290, 289,290, 289,290, 289,290, 289,290, 289,290, 289,290, 289,290, 289,290, 289,290, 293,450, 296,297, 296,297, 296,297, 296,297, 296,297, 296,297, 296,297, 296,297, 296,297, 296,297, 312,475, 313,476, 314,477, 293,451, 315,478, 316,479, 317,480, 318,481, 298,455, 319,482, 293,452, 298,456, 298,456, 298,456, 298,456, 298,456, 298,456, 298,456, 298,456, 298,456, 298,456, 304,305, 304,305, 304,305, 304,305, 304,305, 304,305, 304,305, 304,305, 304,305, 304,305, 306,461, 307,463, 320,483, 321,484, 307,464, 307,464, 307,464, 307,464, 307,464, 307,464, 307,464, 307,464, 307,464, 307,464, 306,462, 308,465, 323,488, 308,466, 324,489, 325,490, 327,494, 308,467, 328,495, 329,496, 330,497, 308,468, 331,498, 333,501, 332,499, 334,502, 335,503, 308,469, 308,470, 308,471, 309,472, 332,500, 336,504, 309,473, 309,473, 309,473, 309,473, 309,473, 309,473, 309,473, 309,473, 309,473, 309,473, 322,485, 337,505, 338,506, 322,486, 322,486, 322,486, 322,486, 322,486, 322,486, 322,486, 322,486, 322,486, 322,486, 326,491, 339,507, 340,508, 326,492, 326,492, 326,492, 326,492, 326,492, 326,492, 326,492, 326,492, 326,492, 326,492, 341,509, 342,510, 343,511, 344,512, 345,513, 346,515, 347,516, 348,517, 349,518, 350,343, 351,519, 352,520, 353,521, 345,514, 354,522, 355,524, 356,525, 357,527, 358,528, 356,526, 356,526, 356,526, 356,526, 356,526, 356,526, 356,526, 356,526, 356,526, 356,526, 354,523, 359,529, 360,530, 361,531, 362,532, 363,533, 364,534, 366,542, 367,543, 371,549, 372,550, 365,535, 365,536, 373,551, 374,552, 375,553, 376,554, 378,555, 379,556, 368,544, 322,487, 381,557, 365,537, 382,558, 326,493, 365,538, 383,559, 365,539, 365,540, 368,545, 368,546, 384,560, 385,561, 365,541, 386,562, 368,547, 389,567, 368,548, 369,370, 369,370, 369,370, 369,370, 369,370, 369,370, 369,370, 369,370, 369,370, 369,370, 387,563, 390,568, 392,569, 387,564, 387,564, 387,564, 387,564, 387,564, 387,564, 387,564, 387,564, 387,564, 387,564, 388,565, 394,573, 397,577, 388,566, 388,566, 388,566, 388,566, 388,566, 388,566, 388,566, 388,566, 388,566, 388,566, 393,570, 400,590, 401,591, 393,571, 393,571, 393,571, 393,571, 393,571, 393,571, 393,571, 393,571, 393,571, 393,571, 396,574, 405,592, 406,593, 396,575, 396,575, 396,575, 396,575, 396,575, 396,575, 396,575, 396,575, 396,575, 396,575, 398,578, 407,594, 408,595, 398,579, 398,579, 398,579, 398,579, 398,579, 398,579, 398,579, 398,579, 398,579, 398,579, 412,597, 399,584, 413,598, 414,599, 399,585, 399,585, 399,585, 399,585, 399,585, 399,585, 399,585, 399,585, 399,585, 399,585, 415,600, 416,601, 417,602, 419,603, 420,604, 393,572, 403,404, 403,404, 403,404, 403,404, 403,404, 403,404, 403,404, 403,404, 403,404, 403,404, 422,605, 423,606, 396,576, 424,607, 429,608, 430,609, 431,610, 432,611, 435,612, 436,613, 437,614, 398,580, 438,615, 445,619, 447,622, 448,623, 449,624, 450,625, 451,626, 452,627, 398,581, 453,628, 454,629, 398,582, 399,586, 399,587, 398,583, 457,630, 459,631, 460,632, 461,633, 399,588, 409,410, 409,410, 409,410, 409,410, 409,410, 409,410, 409,410, 409,410, 409,410, 409,410, 399,589, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 462,634, 467,639, 470,640, 471,641, 474,642, 477,645, 478,646, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 480,647, 481,648, 484,649, 488,652, 489,653, 490,654, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 411,596, 425,426, 425,426, 425,426, 425,426, 425,426, 425,426, 425,426, 425,426, 425,426, 425,426, 427,428, 427,428, 427,428, 427,428, 427,428, 427,428, 427,428, 427,428, 427,428, 427,428, 442,616, 493,655, 494,656, 442,617, 442,617, 442,617, 442,617, 442,617, 442,617, 442,617, 442,617, 442,617, 442,617, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 495,657, 496,658, 497,659, 498,660, 499,661, 500,662, 502,665, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 503,343, 504,666, 505,667, 506,668, 507,669, 508,670, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 443,618, 446,620, 509,671, 510,672, 446,621, 446,621, 446,621, 446,621, 446,621, 446,621, 446,621, 446,621, 446,621, 446,621, 455,456, 455,456, 455,456, 455,456, 455,456, 455,456, 455,456, 455,456, 455,456, 455,456, 463,464, 463,464, 463,464, 463,464, 463,464, 463,464, 463,464, 463,464, 463,464, 463,464, 465,635, 466,637, 472,473, 472,473, 472,473, 472,473, 472,473, 472,473, 472,473, 472,473, 472,473, 472,473, 512,674, 513,675, 466,638, 514,676, 515,677, 475,643, 516,343, 465,636, 475,644, 475,644, 475,644, 475,644, 475,644, 475,644, 475,644, 475,644, 475,644, 475,644, 485,486, 485,486, 485,486, 485,486, 485,486, 485,486, 485,486, 485,486, 485,486, 485,486, 487,650, 517,678, 518,343, 487,651, 487,651, 487,651, 487,651, 487,651, 487,651, 487,651, 487,651, 487,651, 487,651, 491,492, 491,492, 491,492, 491,492, 491,492, 491,492, 491,492, 491,492, 491,492, 491,492, 501,663, 521,679, 522,680, 501,664, 501,664, 501,664, 501,664, 501,664, 501,664, 501,664, 501,664, 501,664, 501,664, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 523,681, 528,684, 529,685, 530,686, 533,687, 534,688, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 511,673, 525,526, 525,526, 525,526, 525,526, 525,526, 525,526, 525,526, 525,526, 525,526, 525,526, 527,682, 535,689, 536,690, 527,683, 527,683, 527,683, 527,683, 527,683, 527,683, 527,683, 527,683, 527,683, 527,683, 537,691, 538,692, 539,693, 540,694, 541,695, 542,697, 543,698, 541,696, 541,696, 541,696, 541,696, 541,696, 541,696, 541,696, 541,696, 541,696, 541,696, 544,699, 546,703, 549,708, 544,700, 544,700, 544,700, 544,700, 544,700, 544,700, 544,700, 544,700, 544,700, 544,700, 545,701, 550,709, 551,710, 545,702, 545,702, 545,702, 545,702, 545,702, 545,702, 545,702, 545,702, 545,702, 545,702, 547,704, 552,711, 553,712, 547,705, 547,705, 547,705, 547,705, 547,705, 547,705, 547,705, 547,705, 547,705, 547,705, 548,706, 554,713, 555,714, 548,707, 548,707, 548,707, 548,707, 548,707, 548,707, 548,707, 548,707, 548,707, 548,707, 556,715, 557,717, 558,718, 559,719, 560,721, 561,722, 562,723, 569,725, 572,726, 559,720, 573,727, 576,728, 562,724, 588,729, 590,730, 556,716, 563,564, 563,564, 563,564, 563,564, 563,564, 563,564, 563,564, 563,564, 563,564, 563,564, 565,566, 565,566, 565,566, 565,566, 565,566, 565,566, 565,566, 565,566, 565,566, 565,566, 570,571, 570,571, 570,571, 570,571, 570,571, 570,571, 570,571, 570,571, 570,571, 570,571, 574,575, 574,575, 574,575, 574,575, 574,575, 574,575, 574,575, 574,575, 574,575, 574,575, 578,579, 578,579, 578,579, 578,579, 578,579, 578,579, 578,579, 578,579, 578,579, 578,579, 584,585, 584,585, 584,585, 584,585, 584,585, 584,585, 584,585, 584,585, 584,585, 584,585, 592,731, 593,732, 594,734, 595,735, 597,736, 593,733, 598,737, 599,738, 600,739, 601,740, 602,741, 605,742, 606,744, 607,745, 605,743, 605,743, 605,743, 605,743, 605,743, 605,743, 605,743, 605,743, 605,743, 605,743, 608,746, 609,747, 611,748, 613,749, 614,750, 616,617, 616,617, 616,617, 616,617, 616,617, 616,617, 616,617, 616,617, 616,617, 616,617, 619,751, 620,621, 620,621, 620,621, 620,621, 620,621, 620,621, 620,621, 620,621, 620,621, 620,621, 622,752, 623,753, 624,754, 625,755, 626,756, 627,757, 628,758, 629,759, 630,760, 631,761, 633,762, 634,763, 635,764, 636,765, 638,766, 639,767, 643,644, 643,644, 643,644, 643,644, 643,644, 643,644, 643,644, 643,644, 643,644, 643,644, 646,768, 648,769, 649,773, 653,774, 654,775, 655,776, 657,779, 658,780, 661,783, 662,784, 665,785, 648,770, 666,786, 667,787, 668,788, 669,789, 670,790, 648,771, 671,791, 648,772, 650,651, 650,651, 650,651, 650,651, 650,651, 650,651, 650,651, 650,651, 650,651, 650,651, 656,777, 673,792, 674,793, 656,778, 656,778, 656,778, 656,778, 656,778, 656,778, 656,778, 656,778, 656,778, 656,778, 659,781, 676,798, 677,799, 659,782, 659,782, 659,782, 659,782, 659,782, 659,782, 659,782, 659,782, 659,782, 659,782, 663,664, 663,664, 663,664, 663,664, 663,664, 663,664, 663,664, 663,664, 663,664, 663,664, 675,794, 678,343, 679,800, 680,801, 681,802, 686,809, 675,795, 687,810, 688,811, 689,812, 690,813, 691,814, 675,796, 692,815, 693,816, 694,817, 697,818, 698,819, 703,820, 675,797, 682,683, 682,683, 682,683, 682,683, 682,683, 682,683, 682,683, 682,683, 682,683, 682,683, 684,803, 708,821, 709,822, 684,804, 684,804, 684,804, 684,804, 684,804, 684,804, 684,804, 684,804, 684,804, 684,804, 685,805, 710,823, 711,824, 713,825, 717,830, 719,831, 685,806, 720,832, 721,833, 722,834, 723,835, 724,836, 685,807, 725,837, 726,838, 727,839, 728,840, 730,841, 732,844, 685,808, 695,696, 695,696, 695,696, 695,696, 695,696, 695,696, 695,696, 695,696, 695,696, 695,696, 699,700, 699,700, 699,700, 699,700, 699,700, 699,700, 699,700, 699,700, 699,700, 699,700, 701,702, 701,702, 701,702, 701,702, 701,702, 701,702, 701,702, 701,702, 701,702, 701,702, 704,705, 704,705, 704,705, 704,705, 704,705, 704,705, 704,705, 704,705, 704,705, 704,705, 706,707, 706,707, 706,707, 706,707, 706,707, 706,707, 706,707, 706,707, 706,707, 706,707, 715,826, 733,845, 734,846, 715,827, 715,827, 715,827, 715,827, 715,827, 715,827, 715,827, 715,827, 715,827, 715,827, 716,828, 736,847, 738,848, 716,829, 716,829, 716,829, 716,829, 716,829, 716,829, 716,829, 716,829, 716,829, 716,829, 731,842, 739,849, 741,850, 731,843, 731,843, 731,843, 731,843, 731,843, 731,843, 731,843, 731,843, 731,843, 731,843, 742,743, 742,743, 742,743, 742,743, 742,743, 742,743, 742,743, 742,743, 742,743, 742,743, 745,851, 746,852, 747,853, 749,854, 752,858, 754,862, 749,855, 749,855, 749,855, 749,855, 749,855, 749,855, 749,855, 749,855, 749,855, 749,855, 750,856, 755,863, 756,864, 750,857, 750,857, 750,857, 750,857, 750,857, 750,857, 750,857, 750,857, 750,857, 750,857, 753,859, 757,865, 758,866, 759,867, 760,868, 761,869, 763,870, 753,860, 767,871, 768,872, 773,873, 776,874, 780,875, 783,876, 784,877, 786,878, 793,879, 753,861, 777,778, 777,778, 777,778, 777,778, 777,778, 777,778, 777,778, 777,778, 777,778, 777,778, 781,782, 781,782, 781,782, 781,782, 781,782, 781,782, 781,782, 781,782, 781,782, 781,782, 797,880, 798,882, 799,883, 797,881, 797,881, 797,881, 797,881, 797,881, 797,881, 797,881, 797,881, 797,881, 797,881, 800,884, 802,885, 803,804, 803,804, 803,804, 803,804, 803,804, 803,804, 803,804, 803,804, 803,804, 803,804, 808,886, 809,888, 810,889, 808,887, 808,887, 808,887, 808,887, 808,887, 808,887, 808,887, 808,887, 808,887, 808,887, 811,890, 812,891, 813,892, 814,893, 815,895, 816,896, 814,894, 814,894, 814,894, 814,894, 814,894, 814,894, 814,894, 814,894, 814,894, 814,894, 817,897, 819,898, 820,899, 821,900, 822,901, 823,902, 824,903, 825,904, 826,827, 826,827, 826,827, 826,827, 826,827, 826,827, 826,827, 826,827, 826,827, 826,827, 828,829, 828,829, 828,829, 828,829, 828,829, 828,829, 828,829, 828,829, 828,829, 828,829, 831,905, 833,906, 834,907, 835,908, 837,909, 838,913, 839,914, 840,915, 845,916, 847,919, 852,920, 863,925, 864,926, 865,927, 837,910, 866,928, 867,929, 868,930, 869,931, 870,932, 837,911, 874,933, 837,912, 842,843, 842,843, 842,843, 842,843, 842,843, 842,843, 842,843, 842,843, 842,843, 842,843, 846,917, 879,936, 883,937, 846,918, 846,918, 846,918, 846,918, 846,918, 846,918, 846,918, 846,918, 846,918, 846,918, 854,855, 854,855, 854,855, 854,855, 854,855, 854,855, 854,855, 854,855, 854,855, 854,855, 856,857, 856,857, 856,857, 856,857, 856,857, 856,857, 856,857, 856,857, 856,857, 856,857, 858,921, 884,938, 890,941, 858,922, 858,922, 858,922, 858,922, 858,922, 858,922, 858,922, 858,922, 858,922, 858,922, 862,923, 891,942, 895,943, 862,924, 862,924, 862,924, 862,924, 862,924, 862,924, 862,924, 862,924, 862,924, 862,924, 875,934, 896,944, 897,945, 875,935, 875,935, 875,935, 875,935, 875,935, 875,935, 875,935, 875,935, 875,935, 875,935, 880,881, 880,881, 880,881, 880,881, 880,881, 880,881, 880,881, 880,881, 880,881, 880,881, 885,939, 898,946, 899,947, 885,940, 885,940, 885,940, 885,940, 885,940, 885,940, 885,940, 885,940, 885,940, 885,940, 886,887, 886,887, 886,887, 886,887, 886,887, 886,887, 886,887, 886,887, 886,887, 886,887, 893,894, 893,894, 893,894, 893,894, 893,894, 893,894, 893,894, 893,894, 893,894, 893,894, 901,948, 906,954, 916,973, 901,949, 901,949, 901,949, 901,949, 901,949, 901,949, 901,949, 901,949, 901,949, 901,949, 902,950, 925,976, 926,977, 902,951, 902,951, 902,951, 902,951, 902,951, 902,951, 902,951, 902,951, 902,951, 902,951, 903,952, 927,978, 928,979, 903,953, 903,953, 903,953, 903,953, 903,953, 903,953, 903,953, 903,953, 903,953, 903,953, 907,955, 929,980, 930,981, 907,956, 907,956, 907,956, 907,956, 907,956, 907,956, 907,956, 907,956, 907,956, 907,956, 909,958, 931,982, 938,985, 909,959, 909,959, 909,959, 909,959, 909,959, 909,959, 909,959, 909,959, 909,959, 909,959, 910,960, 942,986, 944,987, 910,961, 910,961, 910,961, 910,961, 910,961, 910,961, 910,961, 910,961, 910,961, 910,961, 911,962, 946,991, 947,992, 911,963, 911,963, 911,963, 911,963, 911,963, 911,963, 911,963, 911,963, 911,963, 911,963, 912,964, 954,993, 976,1000, 912,965, 912,965, 912,965, 912,965, 912,965, 912,965, 912,965, 912,965, 912,965, 912,965, 914,968, 978,1003, 987,1008, 913,966, 1000,1011, 907,957, 913,967, 913,967, 913,967, 913,967, 913,967, 913,967, 913,967, 913,967, 913,967, 913,967, 1003,1012, 1007,1013, 1011,1014, 915,971, 914,969, 914,970, 915,972, 915,972, 915,972, 915,972, 915,972, 915,972, 915,972, 915,972, 915,972, 915,972, 917,918, 917,918, 917,918, 917,918, 917,918, 917,918, 917,918, 917,918, 917,918, 917,918, 919,974, 1012,1015, 1015,1019, 919,975, 919,975, 919,975, 919,975, 919,975, 919,975, 919,975, 919,975, 919,975, 919,975, 921,922, 921,922, 921,922, 921,922, 921,922, 921,922, 921,922, 921,922, 921,922, 921,922, 923,924, 923,924, 923,924, 923,924, 923,924, 923,924, 923,924, 923,924, 923,924, 923,924, 934,935, 934,935, 934,935, 934,935, 934,935, 934,935, 934,935, 934,935, 934,935, 934,935, 936,983, 0,0, 0,0, 936,984, 936,984, 936,984, 936,984, 936,984, 936,984, 936,984, 936,984, 936,984, 936,984, 939,940, 939,940, 939,940, 939,940, 939,940, 939,940, 939,940, 939,940, 939,940, 939,940, 945,988, 0,0, 0,0, 945,989, 945,989, 945,989, 945,989, 945,989, 945,989, 945,989, 945,989, 945,989, 945,989, 948,949, 948,949, 948,949, 948,949, 948,949, 948,949, 948,949, 948,949, 948,949, 948,949, 950,951, 950,951, 950,951, 950,951, 950,951, 950,951, 950,951, 950,951, 950,951, 950,951, 952,953, 952,953, 952,953, 952,953, 952,953, 952,953, 952,953, 952,953, 952,953, 952,953, 955,956, 955,956, 955,956, 955,956, 955,956, 955,956, 955,956, 955,956, 955,956, 955,956, 957,994, 0,0, 0,0, 957,995, 957,995, 957,995, 957,995, 957,995, 957,995, 957,995, 957,995, 957,995, 957,995, 0,0, 0,0, 0,0, 0,0, 945,990, 958,959, 958,959, 958,959, 958,959, 958,959, 958,959, 958,959, 958,959, 958,959, 958,959, 960,961, 960,961, 960,961, 960,961, 960,961, 960,961, 960,961, 960,961, 960,961, 960,961, 962,963, 962,963, 962,963, 962,963, 962,963, 962,963, 962,963, 962,963, 962,963, 962,963, 964,965, 964,965, 964,965, 964,965, 964,965, 964,965, 964,965, 964,965, 964,965, 964,965, 966,967, 966,967, 966,967, 966,967, 966,967, 966,967, 966,967, 966,967, 966,967, 966,967, 969,996, 0,0, 0,0, 969,997, 969,997, 969,997, 969,997, 969,997, 969,997, 969,997, 969,997, 969,997, 969,997, 970,998, 0,0, 0,0, 970,999, 970,999, 970,999, 970,999, 970,999, 970,999, 970,999, 970,999, 970,999, 970,999, 971,972, 971,972, 971,972, 971,972, 971,972, 971,972, 971,972, 971,972, 971,972, 971,972, 974,975, 974,975, 974,975, 974,975, 974,975, 974,975, 974,975, 974,975, 974,975, 974,975, 977,1001, 0,0, 0,0, 977,1002, 977,1002, 977,1002, 977,1002, 977,1002, 977,1002, 977,1002, 977,1002, 977,1002, 977,1002, 980,1004, 0,0, 0,0, 980,1005, 980,1005, 980,1005, 980,1005, 980,1005, 980,1005, 980,1005, 980,1005, 980,1005, 980,1005, 982,1006, 0,0, 0,0, 982,1007, 982,1007, 982,1007, 982,1007, 982,1007, 982,1007, 982,1007, 982,1007, 982,1007, 982,1007, 983,984, 983,984, 983,984, 983,984, 983,984, 983,984, 983,984, 983,984, 983,984, 983,984, 988,989, 988,989, 988,989, 988,989, 988,989, 988,989, 988,989, 988,989, 988,989, 988,989, 990,1009, 0,0, 0,0, 990,1010, 990,1010, 990,1010, 990,1010, 990,1010, 990,1010, 990,1010, 990,1010, 990,1010, 990,1010, 994,995, 994,995, 994,995, 994,995, 994,995, 994,995, 994,995, 994,995, 994,995, 994,995, 996,997, 996,997, 996,997, 996,997, 996,997, 996,997, 996,997, 996,997, 996,997, 996,997, 998,999, 998,999, 998,999, 998,999, 998,999, 998,999, 998,999, 998,999, 998,999, 998,999, 1001,1002, 1001,1002, 1001,1002, 1001,1002, 1001,1002, 1001,1002, 1001,1002, 1001,1002, 1001,1002, 1001,1002, 1004,1005, 1004,1005, 1004,1005, 1004,1005, 1004,1005, 1004,1005, 1004,1005, 1004,1005, 1004,1005, 1004,1005, 1006,1007, 1006,1007, 1006,1007, 1006,1007, 1006,1007, 1006,1007, 1006,1007, 1006,1007, 1006,1007, 1006,1007, 1009,1010, 1009,1010, 1009,1010, 1009,1010, 1009,1010, 1009,1010, 1009,1010, 1009,1010, 1009,1010, 1009,1010, 1013,1016, 0,0, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 0,0, 0,0, 0,0, 0,0, 1013,1016, 0,0, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1013,1016, 1014,1017, 0,0, 0,0, 1014,1018, 1014,1018, 1014,1018, 1014,1018, 1014,1018, 1014,1018, 1014,1018, 1014,1018, 1014,1018, 1014,1018, 1017,1018, 1017,1018, 1017,1018, 1017,1018, 1017,1018, 1017,1018, 1017,1018, 1017,1018, 1017,1018, 1017,1018, 1019,1020, 0,0, 0,0, 1019,1021, 1019,1021, 1019,1021, 1019,1021, 1019,1021, 1019,1021, 1019,1021, 1019,1021, 1019,1021, 1019,1021, 1020,1021, 1020,1021, 1020,1021, 1020,1021, 1020,1021, 1020,1021, 1020,1021, 1020,1021, 1020,1021, 1020,1021, 0,0, 0,0}; struct yysvf yysvec[] ={ 0, 0, 0, yycrank+1, 0, 0, yycrank+0, yysvec+1, 0, yycrank+0, 0, yyvstop+1, yycrank+4, 0, 0, yycrank+0, 0, yyvstop+3, yycrank+0, 0, yyvstop+5, yycrank+0, 0, yyvstop+7, yycrank+0, 0, yyvstop+9, yycrank+83, 0, 0, yycrank+0, 0, yyvstop+11, yycrank+0, 0, yyvstop+13, yycrank+0, 0, yyvstop+15, yycrank+0, 0, yyvstop+17, yycrank+44, 0, 0, yycrank+51, 0, yyvstop+19, yycrank+89, 0, 0, yycrank+56, 0, 0, yycrank+69, 0, 0, yycrank+156, 0, 0, yycrank+27, 0, 0, yycrank+74, 0, 0, yycrank+114, 0, yyvstop+21, yycrank+42, 0, 0, yycrank+50, 0, 0, yycrank+67, 0, 0, yycrank+62, 0, 0, yycrank+82, 0, 0, yycrank+118, 0, 0, yycrank+119, 0, 0, yycrank+130, 0, 0, yycrank+228, 0, 0, yycrank+189, 0, 0, yycrank+62, 0, 0, yycrank+44, 0, yyvstop+23, yycrank+139, 0, 0, yycrank+32, 0, 0, yycrank+0, 0, yyvstop+25, yycrank+0, 0, yyvstop+27, yycrank+0, 0, yyvstop+29, yycrank+0, 0, yyvstop+31, yycrank+298, 0, 0, yycrank+77, 0, 0, yycrank+128, 0, 0, yycrank+86, 0, 0, yycrank+82, 0, 0, yycrank+106, 0, 0, yycrank+110, 0, 0, yycrank+103, 0, 0, yycrank+108, 0, 0, yycrank+130, 0, 0, yycrank+127, 0, 0, yycrank+139, 0, 0, yycrank+130, 0, 0, yycrank+262, 0, 0, yycrank+139, 0, 0, yycrank+324, 0, 0, yycrank+289, 0, 0, yycrank+151, 0, 0, yycrank+143, 0, 0, yycrank+153, 0, 0, yycrank+153, 0, 0, yycrank+358, 0, 0, yycrank+158, 0, 0, yycrank+156, 0, 0, yycrank+371, 0, 0, yycrank+150, 0, 0, yycrank+162, 0, 0, yycrank+151, 0, 0, yycrank+381, 0, 0, yycrank+0, yysvec+69, yyvstop+33, yycrank+169, 0, 0, yycrank+168, 0, 0, yycrank+394, 0, 0, yycrank+174, 0, 0, yycrank+164, 0, 0, yycrank+184, 0, 0, yycrank+181, 0, 0, yycrank+209, 0, 0, yycrank+407, 0, 0, yycrank+194, 0, 0, yycrank+199, 0, 0, yycrank+177, 0, 0, yycrank+201, 0, 0, yycrank+420, 0, 0, yycrank+187, 0, 0, yycrank+433, 0, 0, yycrank+185, 0, 0, yycrank+204, 0, 0, yycrank+207, 0, 0, yycrank+211, 0, 0, yycrank+446, 0, 0, yycrank+223, 0, 0, yycrank+213, 0, 0, yycrank+459, 0, 0, yycrank+204, 0, 0, yycrank+231, 0, 0, yycrank+230, 0, 0, yycrank+218, 0, 0, yycrank+280, 0, 0, yycrank+238, 0, yyvstop+35, yycrank+230, 0, 0, yycrank+418, 0, 0, yycrank+242, 0, 0, yycrank+245, 0, 0, yycrank+228, 0, 0, yycrank+251, 0, 0, yycrank+248, 0, 0, yycrank+0, 0, yyvstop+37, yycrank+0, 0, yyvstop+39, yycrank+0, 0, yyvstop+41, yycrank+0, 0, yyvstop+43, yycrank+270, 0, 0, yycrank+483, 0, 0, yycrank+239, 0, 0, yycrank+257, 0, 0, yycrank+260, 0, 0, yycrank+493, 0, 0, yycrank+0, yysvec+117, yyvstop+45, yycrank+509, 0, 0, yycrank+522, 0, 0, yycrank+265, 0, 0, yycrank+272, 0, 0, yycrank+285, 0, 0, yycrank+535, 0, 0, yycrank+283, 0, 0, yycrank+271, 0, 0, yycrank+289, 0, 0, yycrank+292, 0, 0, yycrank+0, 0, yyvstop+47, yycrank+416, 0, yyvstop+49, yycrank+284, 0, 0, yycrank+286, 0, 0, yycrank+493, 0, 0, yycrank+482, 0, 0, yycrank+491, 0, 0, yycrank+582, 0, 0, yycrank+498, 0, yyvstop+51, yycrank+596, 0, 0, yycrank+290, 0, 0, yycrank+414, 0, 0, yycrank+317, 0, 0, yycrank+317, 0, 0, yycrank+609, 0, 0, yycrank+0, 0, yyvstop+53, yycrank+321, 0, 0, yycrank+330, 0, 0, yycrank+348, 0, 0, yycrank+349, 0, 0, yycrank+369, 0, 0, yycrank+363, 0, 0, yycrank+622, 0, 0, yycrank+372, 0, 0, yycrank+379, 0, 0, yycrank+0, 0, yyvstop+55, yycrank+378, 0, 0, yycrank+381, 0, 0, yycrank+389, 0, 0, yycrank+0, 0, yyvstop+57, yycrank+405, 0, 0, yycrank+636, 0, 0, yycrank+0, yysvec+160, yyvstop+59, yycrank+413, 0, 0, yycrank+646, 0, 0, yycrank+0, yysvec+163, yyvstop+61, yycrank+406, 0, 0, yycrank+428, 0, 0, yycrank+413, 0, 0, yycrank+448, 0, 0, yycrank+447, 0, 0, yycrank+439, 0, 0, yycrank+492, 0, 0, yycrank+496, 0, 0, yycrank+446, 0, 0, yycrank+471, 0, 0, yycrank+498, 0, 0, yycrank+656, 0, 0, yycrank+0, yysvec+176, yyvstop+63, yycrank+470, 0, 0, yycrank+487, 0, 0, yycrank+666, 0, 0, yycrank+0, yysvec+180, yyvstop+65, yycrank+498, 0, 0, yycrank+512, 0, 0, yycrank+505, 0, 0, yycrank+511, 0, 0, yycrank+519, 0, 0, yycrank+676, 0, 0, yycrank+0, yysvec+187, yyvstop+67, yycrank+634, 0, 0, yycrank+520, 0, 0, yycrank+513, 0, 0, yycrank+507, 0, 0, yycrank+508, 0, 0, yycrank+526, 0, 0, yycrank+517, 0, 0, yycrank+701, 0, 0, yycrank+0, yysvec+196, yyvstop+69, yycrank+514, 0, 0, yycrank+535, 0, 0, yycrank+543, 0, 0, yycrank+645, 0, 0, yycrank+534, 0, 0, yycrank+555, 0, 0, yycrank+552, 0, 0, yycrank+569, 0, 0, yycrank+714, 0, 0, yycrank+0, yysvec+206, yyvstop+71, yycrank+576, 0, 0, yycrank+724, 0, 0, yycrank+0, yysvec+209, yyvstop+73, yycrank+583, 0, 0, yycrank+0, 0, yyvstop+75, yycrank+570, 0, 0, yycrank+617, 0, 0, yycrank+637, 0, 0, yycrank+734, 0, 0, yycrank+0, yysvec+216, yyvstop+77, yycrank+637, 0, 0, yycrank+628, 0, yyvstop+79, yycrank+640, 0, 0, yycrank+642, 0, 0, yycrank+747, 0, 0, yycrank+757, 0, 0, yycrank+0, yysvec+223, yyvstop+81, yycrank+631, 0, 0, yycrank+716, 0, 0, yycrank+688, 0, 0, yycrank+680, 0, 0, yycrank+708, 0, 0, yycrank+716, 0, 0, yycrank+717, 0, 0, yycrank+719, 0, yyvstop+83, yycrank+0, 0, yyvstop+85, yycrank+722, 0, 0, yycrank+709, 0, 0, yycrank+709, 0, 0, yycrank+721, 0, 0, yycrank+730, 0, 0, yycrank+720, 0, 0, yycrank+706, 0, 0, yycrank+721, 0, 0, yycrank+718, 0, 0, yycrank+730, 0, 0, yycrank+802, 0, 0, yycrank+762, 0, 0, yycrank+831, 0, 0, yycrank+0, yysvec+246, yyvstop+87, yycrank+0, 0, yyvstop+89, yycrank+844, 0, 0, yycrank+806, 0, 0, yycrank+854, 0, 0, yycrank+0, yysvec+251, yyvstop+91, yycrank+864, 0, 0, yycrank+0, yysvec+253, yyvstop+93, yycrank+725, 0, 0, yycrank+765, 0, 0, yycrank+726, 0, 0, yycrank+732, 0, 0, yycrank+732, 0, 0, yycrank+761, 0, 0, yycrank+874, 0, 0, yycrank+0, yysvec+261, yyvstop+95, yycrank+742, 0, 0, yycrank+758, 0, 0, yycrank+759, 0, 0, yycrank+0, 0, yyvstop+97, yycrank+887, 0, 0, yycrank+900, 0, 0, yycrank+756, 0, 0, yycrank+761, 0, 0, yycrank+759, 0, 0, yycrank+750, 0, 0, yycrank+768, 0, 0, yycrank+765, 0, 0, yycrank+0, 0, yyvstop+99, yycrank+789, 0, 0, yycrank+0, 0, yyvstop+101, yycrank+794, 0, 0, yycrank+832, 0, 0, yycrank+815, 0, 0, yycrank+859, 0, 0, yycrank+842, 0, 0, yycrank+926, 0, 0, yycrank+0, yysvec+283, yyvstop+103, yycrank+915, 0, 0, yycrank+861, 0, 0, yycrank+849, 0, 0, yycrank+0, 0, yyvstop+105, yycrank+936, 0, 0, yycrank+0, yysvec+289, yyvstop+107, yycrank+853, 0, 0, yycrank+845, 0, 0, yycrank+896, 0, 0, yycrank+851, 0, 0, yycrank+848, 0, 0, yycrank+947, 0, 0, yycrank+0, yysvec+296, yyvstop+109, yycrank+968, 0, 0, yycrank+849, 0, 0, yycrank+0, 0, yyvstop+111, yycrank+866, 0, 0, yycrank+871, 0, 0, yycrank+860, 0, 0, yycrank+978, 0, 0, yycrank+0, yysvec+304, yyvstop+113, yycrank+935, 0, 0, yycrank+992, 0, 0, yycrank+953, 0, 0, yycrank+1025, 0, 0, yycrank+867, 0, 0, yycrank+0, 0, yyvstop+115, yycrank+885, 0, yyvstop+117, yycrank+896, 0, 0, yycrank+891, 0, 0, yycrank+899, 0, 0, yycrank+900, 0, 0, yycrank+902, 0, 0, yycrank+912, 0, 0, yycrank+912, 0, 0, yycrank+935, 0, 0, yycrank+925, 0, 0, yycrank+1038, 0, 0, yycrank+943, 0, 0, yycrank+953, 0, 0, yycrank+939, 0, 0, yycrank+1051, 0, 0, yycrank+959, 0, 0, yycrank+947, 0, 0, yycrank+943, 0, 0, yycrank+950, 0, 0, yycrank+951, 0, 0, yycrank+960, 0, 0, yycrank+963, 0, 0, yycrank+955, 0, 0, yycrank+955, 0, 0, yycrank+967, 0, 0, yycrank+984, 0, 0, yycrank+975, 0, 0, yycrank+986, 0, 0, yycrank+984, 0, 0, yycrank+994, 0, 0, yycrank+1009, 0, 0, yycrank+1079, 0, 0, yycrank+996, 0, 0, yycrank+1012, 0, 0, yycrank+995, 0, 0, yycrank+1018, 0, 0, yycrank+1011, 0, 0, yycrank+1002, 0, 0, yycrank+1014, 0, 0, yycrank+1013, 0, 0, yycrank+1010, 0, 0, yycrank+1020, 0, 0, yycrank+1022, 0, 0, yycrank+1018, 0, 0, yycrank+1080, 0, 0, yycrank+1016, 0, 0, yycrank+1026, 0, 0, yycrank+1038, 0, 0, yycrank+1036, 0, 0, yycrank+1033, 0, 0, yycrank+1032, 0, yyvstop+119, yycrank+1032, 0, 0, yycrank+1029, 0, 0, yycrank+1051, 0, yyvstop+121, yycrank+1040, 0, 0, yycrank+1048, 0, 0, yycrank+1059, 0, 0, yycrank+1128, 0, 0, yycrank+0, yysvec+369, yyvstop+123, yycrank+1045, 0, 0, yycrank+1044, 0, 0, yycrank+1054, 0, 0, yycrank+1041, 0, 0, yycrank+1043, 0, 0, yycrank+1057, 0, 0, yycrank+0, 0, yyvstop+125, yycrank+1057, 0, yyvstop+127, yycrank+1042, 0, 0, yycrank+0, 0, yyvstop+129, yycrank+1048, 0, 0, yycrank+1060, 0, 0, yycrank+1065, 0, 0, yycrank+1068, 0, 0, yycrank+1054, 0, 0, yycrank+1073, 0, 0, yycrank+1141, 0, 0, yycrank+1154, 0, 0, yycrank+1066, 0, 0, yycrank+1084, 0, 0, yycrank+0, 0, yyvstop+131, yycrank+1074, 0, 0, yycrank+1167, 0, 0, yycrank+1101, 0, 0, yycrank+0, 0, yyvstop+133, yycrank+1180, 0, 0, yycrank+1091, 0, 0, yycrank+1193, 0, 0, yycrank+1207, 0, 0, yycrank+1097, 0, 0, yycrank+1111, 0, 0, yycrank+0, 0, yyvstop+135, yycrank+1223, 0, 0, yycrank+0, yysvec+403, yyvstop+137, yycrank+1129, 0, 0, yycrank+1112, 0, 0, yycrank+1125, 0, 0, yycrank+1135, 0, 0, yycrank+1265, 0, 0, yycrank+0, yysvec+409, yyvstop+139, yycrank+1276, 0, 0, yycrank+1150, 0, 0, yycrank+1142, 0, 0, yycrank+1136, 0, 0, yycrank+1154, 0, 0, yycrank+1166, 0, 0, yycrank+1170, 0, 0, yycrank+0, 0, yyvstop+141, yycrank+1153, 0, 0, yycrank+1169, 0, yyvstop+143, yycrank+0, 0, yyvstop+145, yycrank+1165, 0, 0, yycrank+1175, 0, 0, yycrank+1183, 0, 0, yycrank+1351, 0, 0, yycrank+0, yysvec+425, yyvstop+147, yycrank+1361, 0, 0, yycrank+0, yysvec+427, yyvstop+149, yycrank+1177, 0, 0, yycrank+1185, 0, 0, yycrank+1171, 0, 0, yycrank+1176, 0, 0, yycrank+0, 0, yyvstop+151, yycrank+0, 0, yyvstop+153, yycrank+1190, 0, 0, yycrank+1178, 0, 0, yycrank+1189, 0, 0, yycrank+1193, 0, 0, yycrank+0, 0, yyvstop+155, yycrank+0, 0, yyvstop+157, yycrank+0, 0, yyvstop+159, yycrank+1374, 0, 0, yycrank+1384, 0, 0, yycrank+0, 0, yyvstop+161, yycrank+1184, 0, 0, yycrank+1462, 0, 0, yycrank+1190, 0, 0, yycrank+1199, 0, 0, yycrank+1188, 0, 0, yycrank+1193, 0, 0, yycrank+1191, 0, 0, yycrank+1195, 0, 0, yycrank+1183, 0, 0, yycrank+1206, 0, 0, yycrank+1472, 0, 0, yycrank+0, yysvec+455, yyvstop+163, yycrank+1211, 0, 0, yycrank+0, 0, yyvstop+165, yycrank+1205, 0, 0, yycrank+1196, 0, 0, yycrank+1201, 0, 0, yycrank+1218, 0, 0, yycrank+1482, 0, 0, yycrank+0, yysvec+463, yyvstop+167, yycrank+1443, 0, yyvstop+169, yycrank+1443, 0, 0, yycrank+1238, 0, 0, yycrank+0, 0, yyvstop+171, yycrank+0, 0, yyvstop+173, yycrank+1232, 0, yyvstop+175, yycrank+1233, 0, yyvstop+178, yycrank+1494, 0, 0, yycrank+0, yysvec+472, yyvstop+180, yycrank+1229, 0, 0, yycrank+1512, 0, 0, yycrank+0, 0, yyvstop+182, yycrank+1238, 0, 0, yycrank+1225, 0, yyvstop+185, yycrank+0, 0, yyvstop+188, yycrank+1266, 0, 0, yycrank+1254, 0, 0, yycrank+0, 0, yyvstop+190, yycrank+0, 0, yyvstop+192, yycrank+1253, 0, 0, yycrank+1522, 0, 0, yycrank+0, yysvec+485, yyvstop+194, yycrank+1535, 0, 0, yycrank+1260, 0, 0, yycrank+1261, 0, 0, yycrank+1267, 0, 0, yycrank+1545, 0, 0, yycrank+0, yysvec+491, yyvstop+196, yycrank+1306, 0, 0, yycrank+1323, 0, 0, yycrank+1333, 0, 0, yycrank+1342, 0, 0, yycrank+1329, 0, 0, yycrank+1346, 0, 0, yycrank+1345, 0, 0, yycrank+1331, 0, 0, yycrank+1558, 0, 0, yycrank+1345, 0, 0, yycrank+1361, 0, 0, yycrank+1362, 0, 0, yycrank+1372, 0, 0, yycrank+1363, 0, 0, yycrank+1380, 0, 0, yycrank+1375, 0, 0, yycrank+1400, 0, 0, yycrank+1395, 0, 0, yycrank+1551, 0, 0, yycrank+1454, 0, 0, yycrank+1439, 0, 0, yycrank+1444, 0, 0, yycrank+1451, 0, 0, yycrank+1448, 0, 0, yycrank+1469, 0, 0, yycrank+1467, 0, 0, yycrank+0, 0, yyvstop+198, yycrank+0, 0, yyvstop+200, yycrank+1489, 0, 0, yycrank+1493, 0, 0, yycrank+1545, 0, 0, yycrank+0, 0, yyvstop+202, yycrank+1626, 0, 0, yycrank+0, yysvec+525, yyvstop+204, yycrank+1639, 0, 0, yycrank+1529, 0, 0, yycrank+1530, 0, 0, yycrank+1534, 0, 0, yycrank+0, 0, yyvstop+206, yycrank+0, 0, yyvstop+208, yycrank+1532, 0, 0, yycrank+1548, 0, 0, yycrank+1584, 0, 0, yycrank+1575, 0, 0, yycrank+1586, 0, 0, yycrank+1586, 0, 0, yycrank+1598, 0, 0, yycrank+1584, 0, 0, yycrank+1656, 0, 0, yycrank+1603, 0, 0, yycrank+1606, 0, 0, yycrank+1669, 0, 0, yycrank+1682, 0, 0, yycrank+1610, 0, 0, yycrank+1695, 0, 0, yycrank+1708, 0, 0, yycrank+1611, 0, 0, yycrank+1631, 0, 0, yycrank+1626, 0, 0, yycrank+1627, 0, 0, yycrank+1641, 0, 0, yycrank+1638, 0, 0, yycrank+1657, 0, 0, yycrank+1662, 0, 0, yycrank+1657, 0, 0, yycrank+1669, 0, 0, yycrank+1661, 0, 0, yycrank+1655, 0, 0, yycrank+1674, 0, 0, yycrank+1664, 0, 0, yycrank+1734, 0, 0, yycrank+0, yysvec+563, yyvstop+210, yycrank+1744, 0, 0, yycrank+0, yysvec+565, yyvstop+212, yycrank+0, 0, yyvstop+214, yycrank+0, 0, yyvstop+216, yycrank+1662, 0, 0, yycrank+1754, 0, 0, yycrank+0, yysvec+570, yyvstop+218, yycrank+1663, 0, 0, yycrank+1679, 0, 0, yycrank+1764, 0, 0, yycrank+0, yysvec+574, yyvstop+220, yycrank+1666, 0, 0, yycrank+0, 0, yyvstop+222, yycrank+1774, 0, 0, yycrank+0, yysvec+578, yyvstop+224, yycrank+0, 0, yyvstop+226, yycrank+0, 0, yyvstop+228, yycrank+0, 0, yyvstop+230, yycrank+0, 0, yyvstop+232, yycrank+1784, 0, 0, yycrank+0, yysvec+584, yyvstop+234, yycrank+0, 0, yyvstop+236, yycrank+0, 0, yyvstop+238, yycrank+1671, 0, 0, yycrank+0, 0, yyvstop+240, yycrank+1675, 0, 0, yycrank+0, 0, yyvstop+242, yycrank+1728, 0, 0, yycrank+1742, 0, 0, yycrank+1733, 0, 0, yycrank+1736, 0, 0, yycrank+0, yysvec+411, yyvstop+244, yycrank+1746, 0, 0, yycrank+1740, 0, 0, yycrank+1748, 0, 0, yycrank+1740, 0, 0, yycrank+1751, 0, 0, yycrank+1749, 0, 0, yycrank+0, 0, yyvstop+246, yycrank+0, 0, yyvstop+248, yycrank+1808, 0, 0, yycrank+1753, 0, 0, yycrank+1756, 0, 0, yycrank+1769, 0, 0, yycrank+1755, 0, yyvstop+250, yycrank+0, 0, yyvstop+252, yycrank+1764, 0, 0, yycrank+0, 0, yyvstop+254, yycrank+1765, 0, 0, yycrank+1754, 0, 0, yycrank+0, 0, yyvstop+256, yycrank+1823, 0, 0, yycrank+0, yysvec+616, yyvstop+258, yycrank+0, yysvec+443, yyvstop+260, yycrank+1780, 0, 0, yycrank+1834, 0, 0, yycrank+0, yysvec+620, yyvstop+262, yycrank+1781, 0, 0, yycrank+1785, 0, 0, yycrank+1797, 0, 0, yycrank+1779, 0, 0, yycrank+1799, 0, 0, yycrank+1797, 0, 0, yycrank+1799, 0, 0, yycrank+1797, 0, 0, yycrank+1784, 0, 0, yycrank+1792, 0, 0, yycrank+0, 0, yyvstop+264, yycrank+1802, 0, 0, yycrank+1806, 0, 0, yycrank+1790, 0, 0, yycrank+1786, 0, 0, yycrank+0, 0, yyvstop+266, yycrank+1790, 0, 0, yycrank+1802, 0, 0, yycrank+0, 0, yyvstop+269, yycrank+0, 0, yyvstop+272, yycrank+0, 0, yyvstop+275, yycrank+1860, 0, 0, yycrank+0, yysvec+643, yyvstop+277, yycrank+0, 0, yyvstop+279, yycrank+1817, 0, 0, yycrank+0, 0, yyvstop+281, yycrank+1821, 0, 0, yycrank+1822, 0, 0, yycrank+1890, 0, 0, yycrank+0, yysvec+650, yyvstop+283, yycrank+0, 0, yyvstop+285, yycrank+1805, 0, 0, yycrank+1813, 0, 0, yycrank+1814, 0, 0, yycrank+1903, 0, 0, yycrank+1815, 0, 0, yycrank+1805, 0, 0, yycrank+1916, 0, 0, yycrank+0, 0, yyvstop+287, yycrank+1812, 0, 0, yycrank+1826, 0, 0, yycrank+1926, 0, 0, yycrank+0, yysvec+663, yyvstop+289, yycrank+1816, 0, 0, yycrank+1814, 0, 0, yycrank+1815, 0, 0, yycrank+1816, 0, 0, yycrank+1826, 0, 0, yycrank+1816, 0, 0, yycrank+1820, 0, 0, yycrank+0, yysvec+516, 0, yycrank+1890, yysvec+511, 0, yycrank+1842, 0, 0, yycrank+1882, 0, 0, yycrank+1846, 0, 0, yycrank+1863, 0, 0, yycrank+1869, 0, 0, yycrank+1870, 0, 0, yycrank+1888, 0, yyvstop+291, yycrank+1874, 0, 0, yycrank+1956, 0, 0, yycrank+0, yysvec+682, yyvstop+293, yycrank+1969, 0, 0, yycrank+1925, 0, 0, yycrank+1873, 0, 0, yycrank+1891, 0, 0, yycrank+1895, 0, 0, yycrank+1877, 0, 0, yycrank+1884, 0, 0, yycrank+1895, 0, 0, yycrank+1900, 0, 0, yycrank+1883, 0, 0, yycrank+1902, 0, 0, yycrank+1999, 0, 0, yycrank+0, yysvec+695, yyvstop+295, yycrank+1884, 0, 0, yycrank+1902, 0, 0, yycrank+2009, 0, 0, yycrank+0, yysvec+699, yyvstop+297, yycrank+2019, 0, 0, yycrank+0, yysvec+701, yyvstop+299, yycrank+1888, 0, 0, yycrank+2029, 0, 0, yycrank+0, yysvec+704, yyvstop+301, yycrank+2039, 0, 0, yycrank+0, yysvec+706, yyvstop+303, yycrank+1907, 0, 0, yycrank+1902, 0, 0, yycrank+1927, 0, 0, yycrank+1929, 0, 0, yycrank+0, 0, yyvstop+305, yycrank+1919, 0, 0, yycrank+0, 0, yyvstop+307, yycrank+2052, 0, 0, yycrank+2065, 0, 0, yycrank+1915, 0, 0, yycrank+0, 0, yyvstop+309, yycrank+1916, 0, 0, yycrank+1925, 0, 0, yycrank+1919, 0, 0, yycrank+1922, 0, 0, yycrank+1921, 0, 0, yycrank+1929, 0, 0, yycrank+1928, 0, 0, yycrank+1944, 0, 0, yycrank+1934, 0, 0, yycrank+1946, 0, 0, yycrank+0, 0, yyvstop+311, yycrank+1935, 0, 0, yycrank+2078, 0, 0, yycrank+1945, 0, 0, yycrank+1987, 0, 0, yycrank+1987, 0, 0, yycrank+0, 0, yyvstop+313, yycrank+2000, 0, 0, yycrank+0, 0, yyvstop+315, yycrank+2002, 0, 0, yycrank+2023, 0, 0, yycrank+0, 0, yyvstop+317, yycrank+2024, 0, 0, yycrank+2088, 0, 0, yycrank+0, yysvec+742, yyvstop+319, yycrank+0, 0, yyvstop+321, yycrank+2030, 0, 0, yycrank+2031, 0, 0, yycrank+2045, 0, 0, yycrank+0, 0, yyvstop+323, yycrank+2104, 0, 0, yycrank+2117, 0, 0, yycrank+0, 0, yyvstop+325, yycrank+2040, 0, 0, yycrank+2076, 0, yyvstop+327, yycrank+2039, 0, 0, yycrank+2048, 0, 0, yycrank+2054, 0, 0, yycrank+2060, 0, 0, yycrank+2061, 0, 0, yycrank+2073, 0, 0, yycrank+2074, 0, 0, yycrank+2079, 0, 0, yycrank+0, 0, yyvstop+329, yycrank+2067, 0, 0, yycrank+0, 0, yyvstop+331, yycrank+0, 0, yyvstop+333, yycrank+0, 0, yyvstop+335, yycrank+2069, 0, 0, yycrank+2072, 0, 0, yycrank+0, 0, yyvstop+338, yycrank+0, 0, yyvstop+340, yycrank+0, 0, yyvstop+342, yycrank+0, 0, yyvstop+344, yycrank+2077, 0, 0, yycrank+0, 0, yyvstop+346, yycrank+0, 0, yyvstop+348, yycrank+2089, 0, 0, yycrank+2145, 0, 0, yycrank+0, yysvec+777, yyvstop+350, yycrank+0, 0, yyvstop+353, yycrank+2071, 0, 0, yycrank+2155, 0, 0, yycrank+0, yysvec+781, yyvstop+355, yycrank+2087, 0, 0, yycrank+2074, 0, 0, yycrank+0, 0, yyvstop+357, yycrank+2069, 0, 0, yycrank+0, 0, yyvstop+359, yycrank+0, 0, yyvstop+361, yycrank+0, 0, yyvstop+363, yycrank+0, 0, yyvstop+365, yycrank+0, 0, yyvstop+367, yycrank+0, 0, yyvstop+369, yycrank+2099, 0, 0, yycrank+0, 0, yyvstop+371, yycrank+0, 0, yyvstop+373, yycrank+0, 0, yyvstop+375, yycrank+2168, 0, 0, yycrank+2113, 0, 0, yycrank+2099, 0, 0, yycrank+2129, 0, 0, yycrank+0, 0, yyvstop+377, yycrank+2111, 0, 0, yycrank+2180, 0, 0, yycrank+0, yysvec+803, yyvstop+379, yycrank+0, 0, yyvstop+381, yycrank+0, 0, yyvstop+383, yycrank+0, 0, yyvstop+385, yycrank+2193, 0, 0, yycrank+2117, 0, 0, yycrank+2125, 0, 0, yycrank+2139, 0, 0, yycrank+2153, 0, 0, yycrank+2137, 0, 0, yycrank+2209, 0, 0, yycrank+2152, 0, 0, yycrank+2140, 0, 0, yycrank+2153, 0, 0, yycrank+0, 0, yyvstop+387, yycrank+2161, 0, 0, yycrank+2155, 0, 0, yycrank+2169, 0, 0, yycrank+2156, 0, 0, yycrank+2157, 0, 0, yycrank+2158, 0, 0, yycrank+2160, 0, 0, yycrank+2227, 0, 0, yycrank+0, yysvec+826, yyvstop+389, yycrank+2237, 0, 0, yycrank+0, yysvec+828, yyvstop+391, yycrank+0, 0, yyvstop+393, yycrank+2181, 0, 0, yycrank+0, 0, yyvstop+395, yycrank+2199, 0, 0, yycrank+2181, 0, 0, yycrank+2184, 0, 0, yycrank+0, 0, yyvstop+397, yycrank+2201, 0, 0, yycrank+2192, 0, 0, yycrank+2200, 0, 0, yycrank+2194, 0, 0, yycrank+0, 0, yyvstop+399, yycrank+2270, 0, 0, yycrank+0, yysvec+842, yyvstop+401, yycrank+0, 0, yyvstop+403, yycrank+2193, 0, 0, yycrank+2283, 0, 0, yycrank+2194, 0, 0, yycrank+0, 0, yyvstop+405, yycrank+0, 0, yyvstop+407, yycrank+0, 0, yyvstop+409, yycrank+0, 0, yyvstop+411, yycrank+2204, 0, 0, yycrank+0, 0, yyvstop+413, yycrank+2293, 0, 0, yycrank+0, yysvec+854, yyvstop+415, yycrank+2303, 0, 0, yycrank+0, yysvec+856, yyvstop+417, yycrank+2316, 0, 0, yycrank+0, 0, yyvstop+419, yycrank+0, 0, yyvstop+421, yycrank+0, 0, yyvstop+423, yycrank+2329, 0, 0, yycrank+2194, 0, 0, yycrank+2206, 0, 0, yycrank+2204, 0, 0, yycrank+2196, 0, 0, yycrank+2203, 0, 0, yycrank+2201, 0, 0, yycrank+2203, 0, 0, yycrank+2198, 0, 0, yycrank+0, 0, yyvstop+425, yycrank+0, 0, yyvstop+428, yycrank+0, 0, yyvstop+430, yycrank+2200, 0, 0, yycrank+2342, 0, 0, yycrank+0, 0, yyvstop+432, yycrank+0, 0, yyvstop+434, yycrank+0, 0, yyvstop+436, yycrank+2227, 0, 0, yycrank+2352, 0, 0, yycrank+0, yysvec+880, yyvstop+438, yycrank+0, 0, yyvstop+440, yycrank+2226, 0, 0, yycrank+2248, 0, 0, yycrank+2365, 0, 0, yycrank+2375, 0, 0, yycrank+0, yysvec+886, yyvstop+442, yycrank+0, 0, yyvstop+444, yycrank+0, 0, yyvstop+446, yycrank+2262, 0, 0, yycrank+2264, 0, 0, yycrank+0, 0, yyvstop+448, yycrank+2385, 0, 0, yycrank+0, yysvec+893, yyvstop+450, yycrank+2275, 0, 0, yycrank+2291, 0, 0, yycrank+2273, 0, 0, yycrank+2294, 0, 0, yycrank+2301, 0, 0, yycrank+0, 0, yyvstop+452, yycrank+2398, 0, 0, yycrank+2411, 0, 0, yycrank+2424, 0, 0, yycrank+0, 0, yyvstop+454, yycrank+0, 0, yyvstop+456, yycrank+2330, 0, 0, yycrank+2437, 0, 0, yycrank+0, 0, yyvstop+458, yycrank+2450, 0, 0, yycrank+2463, 0, 0, yycrank+2476, 0, 0, yycrank+2489, 0, 0, yycrank+2505, 0, 0, yycrank+2447, 0, 0, yycrank+2521, 0, 0, yycrank+2330, 0, 0, yycrank+2531, 0, 0, yycrank+0, yysvec+917, yyvstop+460, yycrank+2544, 0, 0, yycrank+0, 0, yyvstop+462, yycrank+2554, 0, 0, yycrank+0, yysvec+921, yyvstop+464, yycrank+2564, 0, 0, yycrank+0, yysvec+923, yyvstop+466, yycrank+2352, 0, 0, yycrank+2343, 0, 0, yycrank+2372, 0, 0, yycrank+2363, 0, 0, yycrank+2382, 0, 0, yycrank+2374, 0, 0, yycrank+2380, 0, 0, yycrank+0, 0, yyvstop+468, yycrank+0, 0, yyvstop+470, yycrank+2574, 0, 0, yycrank+0, yysvec+934, yyvstop+473, yycrank+2587, 0, 0, yycrank+0, 0, yyvstop+475, yycrank+2381, 0, 0, yycrank+2597, 0, 0, yycrank+0, yysvec+939, yyvstop+477, yycrank+0, 0, yyvstop+479, yycrank+2401, 0, 0, yycrank+0, 0, yyvstop+481, yycrank+2396, 0, 0, yycrank+2610, 0, 0, yycrank+2410, 0, 0, yycrank+2409, 0, 0, yycrank+2620, 0, 0, yycrank+0, yysvec+948, yyvstop+483, yycrank+2630, 0, 0, yycrank+0, yysvec+950, yyvstop+485, yycrank+2640, 0, 0, yycrank+0, yysvec+952, yyvstop+487, yycrank+2419, 0, 0, yycrank+2650, 0, 0, yycrank+0, yysvec+955, yyvstop+489, yycrank+2663, 0, 0, yycrank+2678, 0, 0, yycrank+0, yysvec+958, yyvstop+491, yycrank+2688, 0, 0, yycrank+0, yysvec+960, yyvstop+493, yycrank+2698, 0, 0, yycrank+0, yysvec+962, yyvstop+495, yycrank+2708, 0, 0, yycrank+0, yysvec+964, yyvstop+497, yycrank+2718, 0, 0, yycrank+0, yysvec+966, yyvstop+499, yycrank+0, 0, yyvstop+501, yycrank+2731, 0, 0, yycrank+2744, 0, 0, yycrank+2754, 0, 0, yycrank+0, yysvec+971, yyvstop+503, yycrank+0, 0, yyvstop+505, yycrank+2764, 0, 0, yycrank+0, yysvec+974, yyvstop+507, yycrank+2416, 0, 0, yycrank+2777, 0, 0, yycrank+2427, 0, 0, yycrank+0, 0, yyvstop+509, yycrank+2790, 0, 0, yycrank+0, 0, yyvstop+511, yycrank+2803, 0, 0, yycrank+2813, 0, 0, yycrank+0, yysvec+983, yyvstop+513, yycrank+0, 0, yyvstop+515, yycrank+0, 0, yyvstop+517, yycrank+2433, 0, 0, yycrank+2823, 0, 0, yycrank+0, yysvec+988, yyvstop+519, yycrank+2836, 0, 0, yycrank+0, 0, yyvstop+521, yycrank+0, 0, yyvstop+523, yycrank+0, 0, yyvstop+525, yycrank+2846, 0, 0, yycrank+0, yysvec+994, yyvstop+527, yycrank+2856, 0, 0, yycrank+0, yysvec+996, yyvstop+529, yycrank+2866, 0, 0, yycrank+0, yysvec+998, yyvstop+531, yycrank+2450, 0, 0, yycrank+2876, 0, 0, yycrank+0, yysvec+1001, yyvstop+533, yycrank+2447, 0, 0, yycrank+2886, 0, 0, yycrank+0, yysvec+1004, yyvstop+535, yycrank+2896, 0, 0, yycrank+2532, yysvec+1006, 0, yycrank+0, 0, yyvstop+537, yycrank+2906, 0, 0, yycrank+0, yysvec+1009, yyvstop+539, yycrank+2457, 0, 0, yycrank+2489, 0, 0, yycrank+2918, 0, 0, yycrank+2996, 0, 0, yycrank+2476, 0, 0, yycrank+0, yysvec+1013, yyvstop+541, yycrank+3006, 0, 0, yycrank+0, yysvec+1017, yyvstop+543, yycrank+3019, 0, 0, yycrank+3029, 0, 0, yycrank+0, yysvec+1020, yyvstop+545, 0, 0, 0}; struct yywork *yytop = yycrank+3086; struct yysvf *yybgin = yysvec+1; char yymatch[] ={ 00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,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 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,'-' ,'.' ,01 , '0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' , '0' ,'0' ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'G' , 'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' , 'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' , 'G' ,'G' ,'G' ,01 ,01 ,01 ,01 ,'.' , 01 ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'G' , 'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' , 'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' , 'G' ,'G' ,'G' ,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,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,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; #if NeXT int yylook(){ #else yylook(){ #endif NeXT 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 } } #if NeXT int yyback(p, m) int *p; int m; #else yyback(p, m) int *p; #endif NeXT { if (p==0) return(0); while (*p) { if (*p++ == m) return(1); } return(0); } /* the following are only used in the lex library */ #if NeXT int yyinput(){ #else yyinput(){ #endif NeXT return(input()); } #if NeXT void yyoutput(c) int c; { output(c); } #else yyoutput(c) int c; { output(c); } #endif NeXT #if NeXT void yyunput(c) int c; { unput(c); } #else yyunput(c) int c; { unput(c); } #endif NeXT
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.