diff options
-rw-r--r-- | lex.yy.c.shipped | 7610 | ||||
-rw-r--r-- | lib.c | 3 | ||||
-rw-r--r-- | lib.h | 2 | ||||
-rw-r--r-- | match.c | 63 | ||||
-rw-r--r-- | match.h | 4 | ||||
-rw-r--r-- | parser.l | 4 | ||||
-rw-r--r-- | parser.y | 100 | ||||
-rw-r--r-- | stdlib/doc-syms.tl | 16 | ||||
-rw-r--r-- | txr.1 | 103 | ||||
-rw-r--r-- | y.tab.c.shipped | 5014 | ||||
-rw-r--r-- | y.tab.h.shipped | 214 |
11 files changed, 6723 insertions, 6410 deletions
diff --git a/lex.yy.c.shipped b/lex.yy.c.shipped index 5c412a65..e7dc8cb5 100644 --- a/lex.yy.c.shipped +++ b/lex.yy.c.shipped @@ -347,8 +347,8 @@ static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner ); yyg->yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 168 -#define YY_END_OF_BUFFER 169 +#define YY_NUM_RULES 169 +#define YY_END_OF_BUFFER 170 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -356,93 +356,93 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_acclist[1775] = +static const flex_int16_t yy_acclist[1781] = { 0, - 64, 64, 64, 64, 64, 64, 64, 64, 140, 140, - 140, 140, 151, 151, 165, 165, 169, 116, 168, 117, - 168, 117, 168, 115, 168, 119, 168, 116, 168, 116, - 168, 116, 168, 119, 168, 100, 101, 168, 64, 100, - 101, 168, 86, 168, 86, 100, 101, 168, 65, 100, - 101, 168, 100, 101, 168, 57, 100, 101, 168, 63, - 100, 101, 168, 100, 101, 168, 91, 100, 101, 168, - 87, 100, 101, 168, 1, 2, 21, 100, 101, 168, - 16402, 99, 100, 101, 168, 85, 100, 101, 168, 21, - 100, 101, 168,16402, 57, 100, 101, 168, 100, 101, - - 168, 69, 100, 101, 168, 56, 100, 101, 168, 63, - 100, 101, 168, 101, 168, 101, 168, 101, 168, 101, - 168, 64, 100, 101, 168, 22, 100, 101, 168,16403, - 74, 100, 101, 168, 60, 100, 101, 168, 22, 100, - 101, 168,16403, 60, 100, 101, 168, 91, 100, 101, - 168, 1, 2, 22, 100, 101, 168,16403, 22, 100, - 101, 168,16403, 58, 100, 101, 168, 22, 100, 101, - 168,16403, 61, 100, 101, 168, 101, 168, 101, 168, - 101, 168, 64, 100, 101, 168, 23, 100, 101, 168, - 16404, 74, 100, 101, 168, 23, 100, 101, 168,16404, - - 91, 100, 101, 168, 1, 2, 23, 100, 101, 168, - 16404, 23, 100, 101, 168,16404, 58, 100, 101, 168, - 23, 100, 101, 168,16404, 101, 168, 101, 168, 101, - 168, 113, 114, 168, 113, 114, 168, 107, 168, 107, - 113, 114, 168, 109, 113, 114, 168, 102, 109, 113, - 114, 168, 112, 113, 114, 168, 114, 168, 114, 168, - 114, 168, 114, 168, 108, 168, 108, 113, 114, 168, - 148, 154, 168, 148, 154, 168, 134, 168, 134, 148, - 154, 168, 122, 148, 154, 168, 148, 154, 168, 154, - 168, 154, 168, 154, 168, 154, 168, 133, 148, 154, - - 168, 135, 168, 135, 148, 154, 168, 132, 133, 148, - 154, 168, 132, 133, 148, 154, 168, 132, 133, 148, - 154, 168, 133, 154, 168, 133, 154, 168, 133, 154, - 168, 133, 154, 168, 136, 168, 136, 148, 154, 168, - 139, 148, 154, 168, 148, 154, 168, 123, 148, 154, - 168, 64, 100, 101, 168, 100, 101, 168, 100, 101, - 168, 91, 100, 101, 168, 1, 2, 12, 21, 100, - 101, 168,16402, 58, 100, 101, 168, 100, 101, 168, - 140, 148, 154, 168, 137, 168, 137, 148, 154, 168, - 148, 154, 168, 148, 154, 168, 153, 168, 151, 153, - - 168, 152, 168, 152, 153, 168, 150, 153, 168, 149, - 153, 168, 159, 166, 168, 165, 166, 168, 164, 168, - 164, 166, 168, 160, 163, 166, 168, 159, 166, 168, - 163, 166, 168, 159, 166, 168, 155, 159, 166, 168, - 155, 159, 166, 168, 159, 166, 168, 159, 166, 168, - 159, 166, 168, 162, 163, 166, 168, 147, 168, 147, - 148, 154, 168, 141, 148, 154, 168, 148, 154, 168, - 167, 168, 168, 116, 116, 116, 116, 117, 115, 121, - 118, 116, 116, 116, 121, 64, 90, 86, 70, 68, - 66, 72, 1, 2, 89, 5, 6, 92, 1, 2, - - 21,16402, 21,16402, 21,16402, 99, 98, 94, 94, - 98, 95, 98, 96, 98, 97, 98, 100, 64, 90, + 65, 65, 65, 65, 65, 65, 65, 65, 141, 141, + 141, 141, 152, 152, 166, 166, 170, 117, 169, 118, + 169, 118, 169, 116, 169, 120, 169, 117, 169, 117, + 169, 117, 169, 120, 169, 101, 102, 169, 65, 101, + 102, 169, 87, 169, 87, 101, 102, 169, 66, 101, + 102, 169, 101, 102, 169, 58, 101, 102, 169, 64, + 101, 102, 169, 101, 102, 169, 92, 101, 102, 169, + 88, 101, 102, 169, 1, 2, 21, 101, 102, 169, + 16402, 100, 101, 102, 169, 86, 101, 102, 169, 21, + 101, 102, 169,16402, 58, 101, 102, 169, 101, 102, + + 169, 70, 101, 102, 169, 57, 101, 102, 169, 64, + 101, 102, 169, 102, 169, 102, 169, 102, 169, 102, + 169, 65, 101, 102, 169, 22, 101, 102, 169,16403, + 75, 101, 102, 169, 61, 101, 102, 169, 22, 101, + 102, 169,16403, 61, 101, 102, 169, 92, 101, 102, + 169, 1, 2, 22, 101, 102, 169,16403, 22, 101, + 102, 169,16403, 59, 101, 102, 169, 22, 101, 102, + 169,16403, 62, 101, 102, 169, 102, 169, 102, 169, + 102, 169, 65, 101, 102, 169, 23, 101, 102, 169, + 16404, 75, 101, 102, 169, 23, 101, 102, 169,16404, + + 92, 101, 102, 169, 1, 2, 23, 101, 102, 169, + 16404, 23, 101, 102, 169,16404, 59, 101, 102, 169, + 23, 101, 102, 169,16404, 102, 169, 102, 169, 102, + 169, 114, 115, 169, 114, 115, 169, 108, 169, 108, + 114, 115, 169, 110, 114, 115, 169, 103, 110, 114, + 115, 169, 113, 114, 115, 169, 115, 169, 115, 169, + 115, 169, 115, 169, 109, 169, 109, 114, 115, 169, + 149, 155, 169, 149, 155, 169, 135, 169, 135, 149, + 155, 169, 123, 149, 155, 169, 149, 155, 169, 155, + 169, 155, 169, 155, 169, 155, 169, 134, 149, 155, + + 169, 136, 169, 136, 149, 155, 169, 133, 134, 149, + 155, 169, 133, 134, 149, 155, 169, 133, 134, 149, + 155, 169, 134, 155, 169, 134, 155, 169, 134, 155, + 169, 134, 155, 169, 137, 169, 137, 149, 155, 169, + 140, 149, 155, 169, 149, 155, 169, 124, 149, 155, + 169, 65, 101, 102, 169, 101, 102, 169, 101, 102, + 169, 92, 101, 102, 169, 1, 2, 12, 21, 101, + 102, 169,16402, 59, 101, 102, 169, 101, 102, 169, + 141, 149, 155, 169, 138, 169, 138, 149, 155, 169, + 149, 155, 169, 149, 155, 169, 154, 169, 152, 154, + + 169, 153, 169, 153, 154, 169, 151, 154, 169, 150, + 154, 169, 160, 167, 169, 166, 167, 169, 165, 169, + 165, 167, 169, 161, 164, 167, 169, 160, 167, 169, + 164, 167, 169, 160, 167, 169, 156, 160, 167, 169, + 156, 160, 167, 169, 160, 167, 169, 160, 167, 169, + 160, 167, 169, 163, 164, 167, 169, 148, 169, 148, + 149, 155, 169, 142, 149, 155, 169, 149, 155, 169, + 168, 169, 169, 117, 117, 117, 117, 118, 116, 122, + 119, 117, 117, 117, 122, 65, 91, 87, 71, 69, + 67, 73, 1, 2, 90, 5, 6, 93, 1, 2, + + 21,16402, 21,16402, 21,16402, 100, 99, 95, 95, + 99, 96, 99, 97, 99, 98, 99, 101, 65, 91, 22, 24,16403, 22,16403, 22, 24,16403, 22,16403, - 22,16403, 81, 75, 80, 78, 77, 76, 79, 1, - 2, 22, 24,16403, 59, 5, 6, 1, 2, 22, + 22,16403, 82, 76, 81, 79, 78, 77, 80, 1, + 2, 22, 24,16403, 60, 5, 6, 1, 2, 22, 24,16403, 22, 24,16403, 22, 24,16403, 22,16403, 24, 22,16403, 22,16403, 22,16403, 11, 22,16403, - 94, 22, 100,16403, 64, 90, 23, 25,16404, 23, + 95, 22, 101,16403, 65, 91, 23, 25,16404, 23, 16404, 23, 25,16404, 23,16404, 23,16404, 1, 2, - 23, 25,16404, 84, 5, 6, 1, 2, 23, 25, + 23, 25,16404, 85, 5, 6, 1, 2, 23, 25, 16404, 23, 25,16404, 23, 25,16404, 23,16404, 25, 23,16404, 23,16404, 23,16404, 11, 23,16404, 23, - 100,16404, 107, 111, 106, 106, 111, 103, 111, 110, - 111, 104, 111, 105, 111, 111, 113, 108, 134, 130, - 126, 127, 126, 127, 130, 124, 130, 128, 130, 129, - 130, 148, 135, 132, 131, 132, 131, 132, 136, 138, - 11, 138, 138, 125, 130, 64, 90, 1, 2, 12, - 1, 2, 12, 21,16402, 140, 137, 127, 127, 130, - 151, 152, 159, 165, 164, 159, 155, 159, 155, 159, - 159, 159, 155, 159, 159, 159, 159, 161, 147, 146, - - 142, 146, 145, 146, 121, 116, 121, 120, 120, 121, - 88, 93, 71, 73, 67, 3, 3, 3, 62, 1, + 101,16404, 108, 112, 107, 107, 112, 104, 112, 111, + 112, 105, 112, 106, 112, 112, 114, 109, 135, 131, + 127, 128, 127, 128, 131, 125, 131, 129, 131, 130, + 131, 149, 136, 133, 132, 133, 132, 133, 137, 139, + 11, 139, 139, 126, 131, 65, 91, 1, 2, 12, + 1, 2, 12, 21,16402, 141, 138, 128, 128, 131, + 152, 153, 160, 166, 165, 160, 156, 160, 156, 160, + 160, 160, 156, 160, 160, 160, 160, 162, 148, 147, + + 143, 147, 146, 147, 122, 117, 122, 121, 121, 122, + 89, 94, 72, 74, 68, 3, 3, 3, 63, 1, 2, 5, 6, 7, 7, 7, 2, 10, 5, 6, 7, 10, 8210, 7, 10, 7, 10, 5, 6, 21, - 16402, 8210, 94, 96, 96, 96, 22, 24,16403, 22, + 16402, 8210, 95, 97, 97, 97, 22, 24,16403, 22, 24,16403, 22, 24,16403, 22, 24,16403, 8211, 22, 24,16403, 22, 24,16403, 22, 24,16403, 24, 24, - 83, 82, 22, 24,16403, 22,16403, 22,16403, 5, + 84, 83, 22, 24,16403, 22,16403, 22,16403, 5, 6, 8211, 1, 2, 22, 24,16403, 22, 24,16403, 8, 5, 6, 8, 8, 8, 2, 8, 10, 10, @@ -460,13 +460,13 @@ static const flex_int16_t yy_acclist[1775] = 9, 10, 10, 9, 10, 10, 10, 10, 23, 25, 16404, 5, 6, 23, 25,16404, 23, 25,16404, 23, 25,16404, 25, 23, 25,16404, 25, 23, 25,16404, - 23,16404, 23,16404, 11, 23, 25,16404, 106, 106, - 104, 104, 104, 126, 127, 126, 127, 128, 128, 128, + 23,16404, 23,16404, 11, 23, 25,16404, 107, 107, + 105, 105, 105, 127, 128, 127, 128, 129, 129, 129, 11, 3, 16, 3, 14, 1, 2, 12, 2, 10, - 8210, 127, 127, 83, 159, 82, 159, 155, 159, 159, - 155, 159, 159, 159, 159, 120, 5, 6, 7, 7, - 5, 6, 3, 4, 4, 3, 4, 3, 4, 53, - 53, 53, 53, 53, 53, 35, 5, 6, 7, 10, + 8210, 128, 128, 84, 160, 83, 160, 156, 160, 160, + 156, 160, 160, 160, 160, 121, 5, 6, 7, 7, + 5, 6, 3, 4, 4, 3, 4, 3, 4, 54, + 54, 54, 54, 54, 54, 35, 5, 6, 7, 10, 6, 5, 6, 7, 2, 5, 6, 7, 8210, 5, 6, 7, 5, 6, 7, 21,16402, 7, 21,16402, @@ -492,9 +492,9 @@ static const flex_int16_t yy_acclist[1775] = 25,16404, 25, 23, 25,16404, 23, 25,16404, 23, 25,16404, 17, 15, 13, 11, 23, 25,16404, 3, - 4, 16, 3, 4, 14, 2, 159, 159, 159, 3, - 3, 3, 26, 34, 36, 47, 47, 47, 47, 47, - 47, 42, 42, 42, 42, 42, 42, 50, 6, 7, + 4, 16, 3, 4, 14, 2, 160, 160, 160, 3, + 3, 3, 26, 34, 36, 48, 48, 48, 48, 48, + 48, 43, 43, 43, 43, 43, 43, 51, 6, 7, 7, 5, 6, 6, 7, 10, 7, 10, 6, 7, 8210, 5, 6, 8, 22, 24,16403, 22, 24,16403, 22, 24,16403, 24, 8, 8, 6, 8, 8, 8, @@ -515,47 +515,47 @@ static const flex_int16_t yy_acclist[1775] = 23, 25,16404, 9, 8212, 9, 23, 25,16404, 9, 23, 25,16404, 5, 6, 9, 23, 25,16404, 9, 23, 25,16404, 9, 23, 25,16404, 9, 23, 25, - 16404, 9, 23, 25,16404, 9, 25, 9, 25, 159, - 158, 156, 6, 7, 7, 38, 38, 38, 38, 38, - 38, 54, 54, 54, 54, 54, 54, 55, 45, 45, - 45, 45, 45, 45, 28, 27, 27, 27, 27, 27, - 27, 6, 7, 6, 7, 6, 8, 8, 6, 8, - 8, 8, 6, 8, 8, 6, 8, 6, 8, 8, - 22, 24,16403, 8, 22, 24,16403, 8, 22, 24, + 16404, 9, 23, 25,16404, 9, 25, 9, 25, 160, + 159, 157, 6, 7, 7, 38, 38, 38, 38, 38, + 38, 55, 55, 55, 55, 55, 55, 56, 46, 46, + 46, 46, 46, 46, 28, 42, 42, 42, 42, 42, + 42, 27, 27, 27, 27, 27, 27, 6, 7, 6, + 7, 6, 8, 8, 6, 8, 8, 8, 6, 8, + 8, 6, 8, 6, 8, 8, 22, 24,16403, 8, - 16403, 8, 22, 24,16403, 8, 22, 24,16403, 8, - 22, 24,16403, 8, 8211, 8, 22, 24,16403, 8, 22, 24,16403, 8, 22, 24,16403, 8, 22, 24, 16403, 8, 22, 24,16403, 8, 22, 24,16403, 8, - 24, 8, 24, 8, 24, 8, 24, 6, 9, 9, - 6, 9, 9, 9, 6, 9, 9, 6, 9, 6, - 9, 9, 23, 25,16404, 9, 23, 25,16404, 9, - 23, 25,16404, 9, 23, 25,16404, 9, 23, 25, - 16404, 9, 23, 25,16404, 9, 8212, 9, 23, 25, + 8211, 8, 22, 24,16403, 8, 22, 24,16403, 8, + 22, 24,16403, 8, 22, 24,16403, 8, 22, 24, + 16403, 8, 22, 24,16403, 8, 24, 8, 24, 8, + 24, 8, 24, 6, 9, 9, 6, 9, 9, 9, + 6, 9, 9, 6, 9, 6, 9, 9, 23, 25, 16404, 9, 23, 25,16404, 9, 23, 25,16404, 9, - 23, 25,16404, 9, 23, 25,16404, 9, 23, 25, - 16404, 9, 25, 9, 25, 9, 25, 9, 25, 157, - 144, 144, 31, 31, 31, 31, 31, 31, 30, 51, - 51, 51, 51, 51, 51, 46, 44, 29, 39, 39, - 39, 39, 39, 39, 6, 6, 8, 6, 8, 8, + 16404, 9, 8212, 9, 23, 25,16404, 9, 23, 25, + + 16404, 9, 23, 25,16404, 9, 23, 25,16404, 9, + 23, 25,16404, 9, 23, 25,16404, 9, 25, 9, + 25, 9, 25, 9, 25, 158, 145, 145, 31, 31, + 31, 31, 31, 31, 30, 52, 52, 52, 52, 52, + 52, 47, 45, 29, 39, 39, 39, 39, 39, 39, + 6, 6, 8, 6, 8, 8, 22, 24,16403, 8, 22, 24,16403, 8, 22, 24,16403, 8, 22, 24, 16403, 8, 22, 24,16403, 8, 22, 24,16403, 8, 22, 24,16403, 8, 22, 24,16403, 8, 22, 24, - 16403, 8, 22, 24,16403, 8, 24, 6, 9, 6, - 9, 9, 23, 25,16404, 9, 23, 25,16404, 9, + 16403, 8, 24, 6, 9, 6, 9, 9, 23, 25, + 16404, 9, 23, 25,16404, 9, 23, 25,16404, 9, 23, 25,16404, 9, 23, 25,16404, 9, 23, 25, 16404, 9, 23, 25,16404, 9, 23, 25,16404, 9, - 23, 25,16404, 9, 23, 25,16404, 9, 25, 32, - 32, 32, 32, 32, 32, 49, 49, 49, 49, 49, - 49, 33, 33, 33, 33, 33, 33, 40, 40, 40, - 40, 40, 40, 41, 41, 41, 41, 41, 41, 43, - 37, 37, 37, 37, 37, 37, 52, 48, 48, 48, - 48, 48, 48, 143 + 23, 25,16404, 9, 25, 32, 32, 32, 32, 32, + 32, 50, 50, 50, 50, 50, 50, 33, 33, 33, + 33, 33, 33, 40, 40, 40, 40, 40, 40, 41, + 41, 41, 41, 41, 41, 44, 37, 37, 37, 37, + 37, 37, 53, 49, 49, 49, 49, 49, 49, 144 } ; -static const flex_int16_t yy_accept[1749] = +static const flex_int16_t yy_accept[1763] = { 0, 1, 1, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, @@ -581,174 +581,176 @@ static const flex_int16_t yy_accept[1749] = 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, - 493, 495, 496, 498, 499, 499, 499, 503, 505, 507, - 508, 508, 509, 510, 512, 514, 516, 518, 519, 519, - 519, 520, 520, 521, 521, 524, 526, 526, 529, 529, - 531, 531, 531, 531, 531, 533, 534, 535, 536, 537, - 538, 539, 540, 540, 545, 546, 548, 548, 548, 553, - 556, 559, 561, 562, 564, 564, 564, 564, 566, 566, - 568, 571, 571, 571, 571, 572, 575, 575, 575, 576, - 576, 577, 577, 580, 582, 582, 585, 585, 587, 587, - - 587, 587, 589, 589, 594, 595, 597, 597, 597, 602, - 605, 608, 610, 611, 613, 613, 613, 613, 615, 615, - 617, 620, 620, 620, 620, 623, 623, 623, 623, 623, - 624, 625, 626, 628, 630, 632, 634, 636, 637, 638, - 638, 638, 639, 639, 639, 640, 641, 643, 646, 648, - 650, 652, 653, 653, 653, 654, 655, 657, 659, 660, - 660, 661, 661, 663, 664, 666, 667, 668, 668, 668, - 671, 671, 671, 676, 676, 677, 677, 678, 679, 681, - 682, 683, 684, 685, 686, 687, 689, 691, 692, 693, - 695, 696, 697, 698, 699, 700, 701, 703, 705, 706, - - 707, 708, 709, 711, 712, 713, 713, 713, 713, 713, - 714, 715, 716, 716, 717, 717, 718, 718, 719, 719, + 493, 493, 495, 496, 498, 499, 499, 499, 503, 505, + 507, 508, 508, 509, 510, 512, 514, 516, 518, 519, + 519, 519, 520, 520, 521, 521, 524, 526, 526, 529, + 529, 531, 531, 531, 531, 531, 533, 534, 535, 536, + 537, 538, 539, 540, 540, 545, 546, 548, 548, 548, + 553, 556, 559, 561, 562, 564, 564, 564, 564, 566, + 566, 568, 571, 571, 571, 571, 572, 575, 575, 575, + 576, 576, 577, 577, 580, 582, 582, 585, 585, 587, + + 587, 587, 587, 589, 589, 594, 595, 597, 597, 597, + 602, 605, 608, 610, 611, 613, 613, 613, 613, 615, + 615, 617, 620, 620, 620, 620, 623, 623, 623, 623, + 623, 624, 625, 626, 628, 630, 632, 634, 636, 637, + 638, 638, 638, 639, 639, 639, 640, 641, 643, 646, + 648, 650, 652, 653, 653, 653, 654, 655, 657, 659, + 660, 660, 661, 661, 663, 664, 666, 667, 668, 668, + 668, 671, 671, 671, 676, 676, 677, 677, 678, 679, + 681, 682, 683, 684, 685, 686, 687, 689, 691, 692, + 693, 695, 696, 697, 698, 699, 700, 701, 703, 705, + + 706, 707, 708, 709, 711, 712, 713, 713, 713, 713, + 713, 714, 715, 716, 716, 717, 717, 718, 718, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, - 719, 719, 719, 719, 719, 720, 720, 722, 722, 722, - 725, 726, 727, 728, 729, 734, 736, 738, 738, 742, - 743, 744, 745, 746, 747, 747, 747, 747, 747, 747, - 747, 750, 753, 756, 759, 759, 759, 759, 760, 763, - - 766, 769, 769, 769, 769, 770, 770, 771, 771, 771, - 771, 771, 771, 772, 773, 776, 778, 780, 780, 780, - 780, 783, 788, 791, 792, 792, 792, 792, 795, 796, - 796, 797, 797, 797, 797, 798, 800, 801, 806, 808, - 809, 811, 812, 813, 814, 817, 822, 825, 828, 829, - 832, 832, 832, 832, 833, 833, 833, 833, 833, 833, - 836, 838, 840, 840, 840, 840, 844, 844, 844, 844, - 844, 844, 844, 844, 844, 847, 850, 853, 856, 856, - 856, 856, 857, 860, 863, 866, 866, 866, 866, 867, - 867, 868, 868, 868, 868, 868, 868, 871, 873, 875, - - 875, 875, 875, 878, 883, 886, 887, 887, 887, 887, - 890, 891, 891, 892, 892, 892, 892, 893, 895, 896, - 901, 903, 904, 906, 907, 908, 909, 912, 917, 920, - 923, 924, 927, 927, 927, 927, 928, 928, 928, 928, - 928, 928, 931, 933, 935, 935, 935, 935, 935, 935, - 935, 939, 939, 939, 939, 940, 941, 942, 943, 944, - 944, 946, 948, 949, 950, 951, 951, 952, 952, 954, - 954, 956, 956, 959, 960, 962, 963, 964, 966, 968, - 970, 971, 973, 974, 975, 976, 976, 976, 977, 977, - 980, 981, 983, 983, 985, 986, 986, 988, 988, 990, - + 719, 719, 719, 719, 719, 719, 719, 719, 720, 720, + 722, 722, 722, 725, 726, 727, 728, 729, 734, 736, + 738, 738, 742, 743, 744, 745, 746, 747, 747, 747, + 747, 747, 747, 747, 750, 753, 756, 759, 759, 759, + + 759, 760, 763, 766, 769, 769, 769, 769, 770, 770, + 771, 771, 771, 771, 771, 771, 772, 773, 776, 778, + 780, 780, 780, 780, 783, 788, 791, 792, 792, 792, + 792, 795, 796, 796, 797, 797, 797, 797, 798, 800, + 801, 806, 808, 809, 811, 812, 813, 814, 817, 822, + 825, 828, 829, 832, 832, 832, 832, 833, 833, 833, + 833, 833, 833, 836, 838, 840, 840, 840, 840, 844, + 844, 844, 844, 844, 844, 844, 844, 844, 847, 850, + 853, 856, 856, 856, 856, 857, 860, 863, 866, 866, + 866, 866, 867, 867, 868, 868, 868, 868, 868, 868, + + 871, 873, 875, 875, 875, 875, 878, 883, 886, 887, + 887, 887, 887, 890, 891, 891, 892, 892, 892, 892, + 893, 895, 896, 901, 903, 904, 906, 907, 908, 909, + 912, 917, 920, 923, 924, 927, 927, 927, 927, 928, + 928, 928, 928, 928, 928, 931, 933, 935, 935, 935, + 935, 935, 935, 935, 939, 939, 939, 939, 940, 941, + 942, 943, 944, 944, 946, 948, 949, 950, 951, 951, + 952, 952, 954, 954, 956, 956, 959, 960, 962, 963, + 964, 966, 968, 970, 971, 973, 974, 975, 976, 976, + 976, 977, 977, 980, 981, 983, 983, 985, 986, 986, + + 988, 988, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, - 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, - 990, 991, 992, 993, 994, 995, 996, 996, 996, 996, - 996, 996, 997, 997, 997, 997, 997, 997, 997, 997, - 1001, 1002, 1002, 1005, 1005, 1006, 1006, 1010, 1013, 1013, - 1018, 1021, 1021, 1024, 1025, 1025, 1027, 1030, 1033, 1036, - 1036, 1036, 1036, 1036, 1036, 1039, 1042, 1045, 1045, 1045, - 1045, 1045, 1045, 1046, 1047, 1048, 1048, 1048, 1048, 1049, - - 1049, 1049, 1049, 1049, 1049, 1049, 1052, 1055, 1058, 1058, - 1058, 1058, 1058, 1058, 1062, 1063, 1064, 1064, 1064, 1064, - 1065, 1066, 1067, 1068, 1071, 1072, 1073, 1073, 1073, 1073, - 1074, 1074, 1074, 1074, 1075, 1075, 1075, 1075, 1076, 1079, - 1079, 1079, 1079, 1080, 1080, 1084, 1085, 1088, 1092, 1095, - 1095, 1101, 1105, 1105, 1105, 1105, 1105, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1109, 1112, 1115, 1115, - 1115, 1115, 1115, 1115, 1119, 1119, 1119, 1122, 1123, 1123, - 1125, 1128, 1131, 1134, 1134, 1134, 1134, 1134, 1134, 1137, - 1140, 1143, 1143, 1143, 1143, 1143, 1143, 1144, 1145, 1146, - - 1146, 1146, 1146, 1147, 1147, 1147, 1147, 1147, 1147, 1147, - 1150, 1153, 1156, 1156, 1156, 1156, 1156, 1156, 1160, 1161, - 1162, 1162, 1162, 1162, 1163, 1164, 1165, 1166, 1169, 1170, - 1171, 1171, 1171, 1171, 1172, 1172, 1172, 1172, 1173, 1173, - 1173, 1173, 1174, 1177, 1177, 1177, 1177, 1178, 1178, 1182, - 1183, 1186, 1190, 1193, 1193, 1199, 1203, 1203, 1203, 1203, - 1203, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1207, 1210, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, - 1214, 1215, 1215, 1216, 1220, 1220, 1223, 1226, 1227, 1228, - 1229, 1230, 1230, 1230, 1230, 1230, 1231, 1232, 1233, 1233, - + 990, 990, 990, 990, 990, 991, 992, 993, 994, 995, + 996, 996, 996, 996, 996, 996, 997, 997, 997, 997, + 997, 997, 997, 997, 997, 1001, 1002, 1002, 1005, 1005, + 1006, 1006, 1010, 1013, 1013, 1018, 1021, 1021, 1024, 1025, + 1025, 1027, 1030, 1033, 1036, 1036, 1036, 1036, 1036, 1036, + 1039, 1042, 1045, 1045, 1045, 1045, 1045, 1045, 1046, 1047, + + 1048, 1048, 1048, 1048, 1049, 1049, 1049, 1049, 1049, 1049, + 1049, 1052, 1055, 1058, 1058, 1058, 1058, 1058, 1058, 1062, + 1063, 1064, 1064, 1064, 1064, 1065, 1066, 1067, 1068, 1071, + 1072, 1073, 1073, 1073, 1073, 1074, 1074, 1074, 1074, 1075, + 1075, 1075, 1075, 1076, 1079, 1079, 1079, 1079, 1080, 1080, + 1084, 1085, 1088, 1092, 1095, 1095, 1101, 1105, 1105, 1105, + 1105, 1105, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, + 1106, 1109, 1112, 1115, 1115, 1115, 1115, 1115, 1115, 1119, + 1119, 1119, 1122, 1123, 1123, 1125, 1128, 1131, 1134, 1134, + 1134, 1134, 1134, 1134, 1137, 1140, 1143, 1143, 1143, 1143, + + 1143, 1143, 1144, 1145, 1146, 1146, 1146, 1146, 1147, 1147, + 1147, 1147, 1147, 1147, 1147, 1150, 1153, 1156, 1156, 1156, + 1156, 1156, 1156, 1160, 1161, 1162, 1162, 1162, 1162, 1163, + 1164, 1165, 1166, 1169, 1170, 1171, 1171, 1171, 1171, 1172, + 1172, 1172, 1172, 1173, 1173, 1173, 1173, 1174, 1177, 1177, + 1177, 1177, 1178, 1178, 1182, 1183, 1186, 1190, 1193, 1193, + 1199, 1203, 1203, 1203, 1203, 1203, 1204, 1204, 1204, 1204, + 1204, 1204, 1204, 1204, 1204, 1207, 1210, 1213, 1213, 1213, + 1213, 1213, 1213, 1213, 1214, 1214, 1215, 1215, 1216, 1220, + 1220, 1223, 1226, 1227, 1228, 1229, 1230, 1230, 1230, 1230, + + 1230, 1231, 1232, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, - 1233, 1233, 1233, 1233, 1233, 1233, 1234, 1234, 1235, 1235, - 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1236, - 1236, 1236, 1236, 1236, 1236, 1237, 1238, 1239, 1239, 1240, - 1241, 1242, 1242, 1242, 1243, 1244, 1245, 1245, 1246, 1247, - 1248, 1248, 1248, 1248, 1249, 1249, 1251, 1252, 1254, 1257, - 1259, 1259, 1260, 1262, 1262, 1262, 1265, 1268, 1271, 1274, - 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1275, - 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, - - 1275, 1276, 1276, 1276, 1276, 1276, 1276, 1277, 1277, 1277, - 1277, 1279, 1280, 1281, 1281, 1281, 1281, 1281, 1281, 1281, - 1281, 1282, 1283, 1283, 1283, 1283, 1283, 1283, 1286, 1286, - 1289, 1291, 1291, 1292, 1295, 1299, 1303, 1307, 1311, 1311, - 1311, 1311, 1315, 1317, 1321, 1325, 1331, 1335, 1335, 1335, - 1335, 1339, 1343, 1347, 1347, 1347, 1347, 1349, 1349, 1351, + 1233, 1233, 1234, 1234, 1235, 1235, 1235, 1235, 1235, 1235, + 1235, 1235, 1235, 1235, 1235, 1236, 1236, 1236, 1236, 1236, + 1236, 1237, 1238, 1239, 1239, 1240, 1241, 1242, 1242, 1242, + 1242, 1243, 1244, 1245, 1245, 1246, 1247, 1248, 1248, 1248, + 1248, 1249, 1249, 1251, 1252, 1254, 1257, 1259, 1259, 1260, + 1262, 1262, 1262, 1265, 1268, 1271, 1274, 1274, 1274, 1274, + 1274, 1274, 1274, 1274, 1274, 1274, 1275, 1275, 1275, 1275, + + 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1276, 1276, + 1276, 1276, 1276, 1276, 1277, 1277, 1277, 1277, 1279, 1280, + 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1282, 1283, + 1283, 1283, 1283, 1283, 1283, 1286, 1286, 1289, 1291, 1291, + 1292, 1295, 1299, 1303, 1307, 1311, 1311, 1311, 1311, 1315, + 1317, 1321, 1325, 1331, 1335, 1335, 1335, 1335, 1339, 1343, + 1347, 1347, 1347, 1347, 1349, 1349, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, - 1351, 1351, 1351, 1351, 1354, 1357, 1360, 1363, 1363, 1363, - 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1364, 1364, 1364, - 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1365, - - 1365, 1365, 1365, 1365, 1365, 1366, 1366, 1366, 1366, 1368, - 1369, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1371, - 1372, 1372, 1372, 1372, 1372, 1372, 1375, 1375, 1378, 1380, - 1380, 1381, 1384, 1388, 1392, 1396, 1400, 1400, 1400, 1400, - 1404, 1406, 1410, 1414, 1420, 1424, 1424, 1424, 1424, 1428, - 1432, 1436, 1436, 1436, 1436, 1438, 1438, 1440, 1440, 1440, - 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, - 1441, 1442, 1443, 1443, 1443, 1445, 1446, 1446, 1446, 1446, + 1351, 1354, 1357, 1360, 1363, 1363, 1363, 1363, 1363, 1363, + 1363, 1363, 1363, 1363, 1364, 1364, 1364, 1364, 1364, 1364, + + 1364, 1364, 1364, 1364, 1364, 1364, 1365, 1365, 1365, 1365, + 1365, 1365, 1366, 1366, 1366, 1366, 1368, 1369, 1370, 1370, + 1370, 1370, 1370, 1370, 1370, 1370, 1371, 1372, 1372, 1372, + 1372, 1372, 1372, 1375, 1375, 1378, 1380, 1380, 1381, 1384, + 1388, 1392, 1396, 1400, 1400, 1400, 1400, 1404, 1406, 1410, + 1414, 1420, 1424, 1424, 1424, 1424, 1428, 1432, 1436, 1436, + 1436, 1436, 1438, 1438, 1440, 1440, 1440, 1440, 1440, 1440, + 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1441, 1442, 1443, + 1443, 1443, 1445, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, - 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, - - 1446, 1446, 1447, 1448, 1449, 1449, 1450, 1451, 1452, 1452, - 1453, 1454, 1455, 1456, 1457, 1458, 1458, 1459, 1459, 1459, - 1459, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1465, 1465, - 1465, 1466, 1466, 1466, 1466, 1467, 1468, 1469, 1470, 1471, - 1472, 1472, 1472, 1474, 1476, 1478, 1479, 1479, 1479, 1479, - 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, - 1479, 1481, 1482, 1483, 1485, 1485, 1485, 1485, 1485, 1485, - 1485, 1485, 1486, 1488, 1490, 1494, 1498, 1502, 1502, 1502, - 1502, 1502, 1502, 1506, 1510, 1514, 1514, 1514, 1514, 1516, - 1520, 1524, 1528, 1528, 1528, 1528, 1528, 1528, 1532, 1536, - - 1540, 1540, 1540, 1540, 1540, 1540, 1542, 1544, 1546, 1546, - 1546, 1546, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, - 1548, 1550, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1553, 1554, 1555, - 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1558, 1560, - 1562, 1566, 1570, 1574, 1574, 1574, 1574, 1574, 1574, 1578, - 1582, 1586, 1586, 1586, 1586, 1588, 1592, 1596, 1600, 1600, - 1600, 1600, 1600, 1600, 1604, 1608, 1612, 1612, 1612, 1612, - 1612, 1612, 1614, 1616, 1618, 1618, 1618, 1618, 1620, 1620, - 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1621, 1622, 1623, - - 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, - 1623, 1623, 1623, 1623, 1623, 1623, 1624, 1625, 1626, 1627, - 1628, 1629, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, - 1636, 1636, 1636, 1636, 1637, 1637, 1637, 1638, 1638, 1638, - 1639, 1639, 1639, 1639, 1639, 1640, 1641, 1642, 1643, 1644, - 1645, 1646, 1646, 1646, 1646, 1646, 1648, 1648, 1648, 1650, - 1654, 1658, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1666, - 1670, 1674, 1674, 1674, 1674, 1674, 1674, 1678, 1682, 1686, - 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1688, - 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, - - 1688, 1688, 1690, 1690, 1690, 1692, 1696, 1700, 1704, 1704, - 1704, 1704, 1704, 1704, 1704, 1708, 1712, 1716, 1716, 1716, - 1716, 1716, 1716, 1720, 1724, 1728, 1728, 1728, 1728, 1728, - 1728, 1728, 1728, 1728, 1728, 1730, 1730, 1730, 1730, 1730, - 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, - 1730, 1730, 1730, 1730, 1731, 1732, 1733, 1734, 1735, 1736, - 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1742, 1743, 1744, - 1745, 1746, 1747, 1748, 1748, 1749, 1750, 1751, 1752, 1753, - 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1760, 1761, 1761, - 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, - 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, - 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, - 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1767, 1768, 1769, - 1770, 1771, 1772, 1773, 1774, 1774, 1774, 1774, 1774, 1774, - 1774, 1774, 1774, 1774, 1774, 1774, 1775, 1775 + 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, + 1447, 1448, 1449, 1449, 1450, 1451, 1452, 1452, 1453, 1454, + 1455, 1456, 1457, 1458, 1458, 1459, 1459, 1459, 1459, 1459, + 1460, 1461, 1462, 1463, 1464, 1465, 1465, 1465, 1465, 1466, + 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1472, 1472, 1473, + 1474, 1475, 1476, 1477, 1478, 1478, 1478, 1480, 1482, 1484, + 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, + 1485, 1485, 1485, 1485, 1485, 1487, 1488, 1489, 1491, 1491, + 1491, 1491, 1491, 1491, 1491, 1491, 1492, 1494, 1496, 1500, + 1504, 1508, 1508, 1508, 1508, 1508, 1508, 1512, 1516, 1520, + + 1520, 1520, 1520, 1522, 1526, 1530, 1534, 1534, 1534, 1534, + 1534, 1534, 1538, 1542, 1546, 1546, 1546, 1546, 1546, 1546, + 1548, 1550, 1552, 1552, 1552, 1552, 1554, 1554, 1554, 1554, + 1554, 1554, 1554, 1554, 1554, 1556, 1557, 1557, 1557, 1557, + 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, + 1557, 1559, 1560, 1561, 1563, 1563, 1563, 1563, 1563, 1563, + 1563, 1563, 1564, 1566, 1568, 1572, 1576, 1580, 1580, 1580, + 1580, 1580, 1580, 1584, 1588, 1592, 1592, 1592, 1592, 1594, + 1598, 1602, 1606, 1606, 1606, 1606, 1606, 1606, 1610, 1614, + 1618, 1618, 1618, 1618, 1618, 1618, 1620, 1622, 1624, 1624, + + 1624, 1624, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, + 1626, 1627, 1628, 1629, 1629, 1629, 1629, 1629, 1629, 1629, + 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, + 1630, 1631, 1632, 1633, 1634, 1635, 1635, 1636, 1637, 1638, + 1639, 1640, 1641, 1642, 1642, 1642, 1642, 1642, 1643, 1643, + 1643, 1644, 1644, 1644, 1645, 1645, 1645, 1645, 1645, 1646, + 1647, 1648, 1649, 1650, 1651, 1652, 1652, 1652, 1652, 1652, + 1654, 1654, 1654, 1656, 1660, 1664, 1668, 1668, 1668, 1668, + 1668, 1668, 1668, 1672, 1676, 1680, 1680, 1680, 1680, 1680, + 1680, 1684, 1688, 1692, 1692, 1692, 1692, 1692, 1692, 1692, + + 1692, 1692, 1692, 1694, 1694, 1694, 1694, 1694, 1694, 1694, + 1694, 1694, 1694, 1694, 1694, 1694, 1696, 1696, 1696, 1698, + 1702, 1706, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1714, + 1718, 1722, 1722, 1722, 1722, 1722, 1722, 1726, 1730, 1734, + 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1737, 1738, + 1739, 1740, 1741, 1742, 1742, 1743, 1744, 1745, 1746, 1747, + 1748, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1754, 1755, + 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, + + 1766, 1766, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, + 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, + 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, + 1767, 1767, 1767, 1767, 1767, 1768, 1769, 1770, 1771, 1772, + 1773, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1780, + 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, + 1781, 1781 } ; static const YY_CHAR yy_ec[256] = @@ -795,466 +797,470 @@ static const YY_CHAR yy_meta[76] = 1, 1, 24, 24, 24 } ; -static const flex_int16_t yy_base[2011] = +static const flex_int16_t yy_base[2026] = { 0, 0, 3, 78, 0, 153, 0, 228, 0, 302, 376, 6, 8, 350, 356, 451, 0, 525, 599, 673, 0, 362, 534, 715, 789, 863, 912, 961, 1030, 539, 544, - 5852, 5847, 5842, 235,13219, 5828, 5824, 11, 250, 256, - 261, 12,13219, 24,13219, 5825,13219, 621, 1099, 5806, - 30, 37,13219, 389, 0,13219, 6,13219, 1172,13219, - 13219,13219,13219, 5748, 5747, 5737, 551, 633, 1231,13219, - 1289, 5789, 12, 682, 707, 724, 50,13219, 5730, 5729, - 5725, 572, 731, 5771, 1357, 625, 706, 752, 801, 379, - 5721, 5719, 5710,13219, 343,13219, 5774,13219,13219, 1432, - - 13219, 5705, 5702, 5701,13219, 5768,13219, 345,13219, 5767, - 13219, 1505,13219, 5691, 5688, 5685,13219,13219, 5743, 0, - 41, 1552,13219, 5673, 5658, 5657,13219, 5723, 1595, 1660, - 13219, 559, 794, 318, 529, 616, 5715, 61, 366,13219, - 5713, 554, 409,13219, 13,13219, 5706,13219,13219, 0, - 344,13219, 5705,13219, 420,13219, 601, 649, 822, 5662, - 5638, 5639, 5678,13219, 5686,13219, 840,13219,13219, 509, - 584, 678, 690,13219, 5680, 922, 0,13219, 579, 697, - 775, 943, 411, 973, 933, 899, 995,13219,13219, 388, - 13219,13219,13219, 986, 1040, 52, 0, 710, 1681, 832, + 5934, 5918, 5917, 235,13320, 5913, 5910, 11, 250, 256, + 261, 12,13320, 24,13320, 5911,13320, 621, 1099, 5896, + 30, 37,13320, 389, 0,13320, 6,13320, 1172,13320, + 13320,13320,13320, 5837, 5836, 5826, 551, 633, 1231,13320, + 1289, 5882, 12, 682, 707, 724, 50,13320, 5823, 5822, + 5821, 572, 731, 5860, 1357, 625, 706, 752, 801, 379, + 5811, 5810, 5809,13320, 343,13320, 5876,13320,13320, 1432, + + 13320, 5799, 5796, 5791,13320, 5858,13320, 345,13320, 5857, + 13320, 1505,13320, 5778, 5767, 5766,13320,13320, 5825, 0, + 41, 1552,13320, 5754, 5747, 5746,13320, 5805, 1595, 1660, + 13320, 559, 794, 318, 529, 616, 5799, 61, 366,13320, + 5802, 554, 409,13320, 13,13320, 5798,13320,13320, 0, + 344,13320, 5793,13320, 420,13320, 601, 649, 822, 5749, + 5730, 5732, 5769,13320, 5778,13320, 840,13320,13320, 509, + 584, 678, 690,13320, 5771, 922, 0,13320, 579, 697, + 775, 943, 411, 973, 933, 899, 995,13320,13320, 388, + 13320,13320,13320, 986, 1040, 52, 0, 710, 1681, 832, 924, 1167, 805, 1205, 1002, 1212, 990, 1225, 1260, 1016, - 1265, 1093, 1268, 947, 1272, 5604, 5601, 5600, 690, 917, - 1164, 530, 1184,13219, 1047, 1744, 1336, 428, 1372, 0, - 1062,13219, 557, 808,13219, 1074, 0,13219, 5594, 5592, - 1393, 1349, 1188, 1499, 1514, 1569, 1282, 1610, 1329, 1623, - 5575, 5573, 5563, 1397, 1812,13219,13219,13219,13219,13219, - 13219,13219, 1404, 1880,13219, 1948, 1513, 2023, 0, 1811, - 1835, 1840, 703, 1853, 5562, 5560, 5552, 1908, 5599, 2091, - 0, 5550, 5528, 5527, 829, 1916, 5525, 5524, 1655, 1523, - 1872, 1927, 2098, 2109, 1539, 2112, 1555, 2120, 5516, 5513, - - 5509, 2134, 1604, 2202,13219, 2270, 1671, 2345, 0, 2182, - 2229, 2236, 1036, 2241, 5502, 5498, 5494, 2413, 1165, 2481, - 0, 5493, 5490, 5487, 2418, 5480, 5478, 627, 541,13219, - 13219, 558, 867,13219,13219, 1303,13219, 0,13219, 5476, - 5475,13219, 983, 546,13219,13219, 585, 893,13219, 1628, - 0,13219, 5474, 5473,13219, 0, 1177, 2538,13219, 1124, - 13219, 1692, 1802, 0,13219, 1222, 659, 1830, 786, 1979, - 1965, 1898, 1987, 5497, 1241, 575,13219, 921, 1083, 1101, - 13219, 0, 1121,13219, 1995, 1214, 2427, 1991, 2220, 2433, - 5487, 5427, 5393,13219,13219,13219,13219, 7, 0, 1219, - - 621,13219, 645, 1254,13219, 2159, 2169, 2448, 2304,13219, - 13219,13219, 716, 747, 1294, 1329, 0, 2574, 1308, 5379, - 5378, 5376, 972, 5379, 1142, 5381, 1304, 5376, 5375, 5366, - 5363, 624, 5346, 1211, 5354, 259, 5339, 5335, 1581, 1831, - 1899, 2153, 2207, 2439, 2263, 2454, 2400, 2225, 2460, 2232, - 2624, 2260, 2457, 2473, 2488, 2569, 2476, 2467, 2541, 2584, - 2587, 2607, 5312, 5311, 2081, 2699, 2760, 2412, 0, 2768, - 0, 2556, 2781,13219, 2148, 0, 2656, 2308, 2666, 2320, - 1271, 1817,13219, 5356, 5307, 2773, 2799, 2823, 2807, 2839, - 2840, 2857, 2862, 2865, 5303, 5301, 5297, 2785, 2899, 2902, - - 2926, 5293, 5281, 5277, 2828, 5324, 1354, 5275, 5269, 5267, - 5255, 5254,13219,13219, 2938, 2943, 2971, 5253, 5248, 5247, - 3039, 3107, 2988, 2802, 5294, 2937, 2955, 3175, 1520, 2910, - 3019, 5240, 5239, 5238, 3052, 2918, 5277, 3243, 1546, 3045, - 3084, 5228, 5224, 5222, 3060, 3311, 3094, 3162, 1791, 3202, - 5221, 5208, 5199, 1798, 5195, 5194, 5193, 5190, 5187, 3230, - 3270, 3283, 5186, 5180, 5169, 3379, 5167, 5164, 5163, 2813, - 3005, 3447, 3124, 3193, 3319, 3352, 3406, 3413, 5155, 5154, - 5141, 3029, 3420, 3434, 3474, 5135, 5133, 5128, 3168, 5170, - 1863, 5121, 5116, 5098, 5093, 5090, 3496, 3507, 3510, 5084, - - 5082, 5076, 3578, 3646, 3541, 2948, 5118, 3132, 3275, 3714, - 1887, 3087, 3345, 5068, 5056, 5054, 3591, 3011, 5100, 3782, - 2049, 3248, 3609, 5050, 5042, 5039, 3626, 3850, 3673, 3680, - 2071, 3685, 5038, 5033, 5032, 2075, 5026, 5025, 5018, 5000, - 4988, 3748, 3753, 3807, 4986, 4976, 4975, 2140, 2592, 1125, - 3918, 4954, 4952, 4951, 1370, 1279, 2250,13219, 4992, 4941, - 1394, 1315, 2418,13219, 4987, 4938, 3144, 2241, 2635, 0, - 3979, 0, 3211, 3361, 3201, 1656, 1406, 0, 0, 3545, - 3260, 3351, 4947, 4945, 4948, 0, 2580,13219, 3762, 3868, - 3821, 1522, 799, 1680, 4971, 3269, 3320, 4967, 4011, 4908, - - 4906, 4919, 4923, 4906, 775, 4904, 4905, 4909, 280, 4802, - 4808, 1496, 4793, 0, 4790, 4783, 4793, 4774, 2128, 4767, - 4768, 4760, 4746, 4724, 4724, 3612, 3874, 3889, 3893, 3906, - 3898, 4000, 4041, 4060, 4064, 4079, 4083, 4095, 4099, 4107, - 13219, 4119, 4150, 4697, 4693, 4682, 4212, 4216, 4291, 4248, - 2245,13219, 4252, 4366, 4265, 4349, 4380, 4389, 4678, 4210, - 3798, 3369, 3388, 4464, 4227, 3522, 3599, 1702, 3832, 3617, - 4722, 4399, 4532, 4546, 3705, 4563, 3942, 4570, 4581, 4653, - 4651, 4646, 4645, 4641, 4606, 4623, 4634, 4640, 4624, 4618, - 4616, 4614, 3636, 3947, 2766, 4607, 4603, 4602, 2820, 4594, - - 4593, 4581, 4576, 4568, 4564, 4645, 4659, 4667, 4563, 4559, - 4540, 4538, 4532, 4735, 3113, 2922, 4528, 4524, 4523, 2990, - 4803, 3126, 3194, 3730, 3058, 4707, 4521, 4520, 4517, 3221, - 4508, 4506, 4503, 4553, 4502, 4499, 4493, 3840, 4716, 4477, - 4475, 4878, 4752, 4129, 0, 4322, 4772, 4762, 4789, 4823, - 4946, 4953, 3437, 4474, 4410, 4390, 3234, 4389, 4385, 4373, - 4372, 4365, 4361, 4360, 4358, 4964, 4967, 4975, 4357, 4346, - 4340, 4334, 4333, 5043, 4331, 4984, 5111, 5062, 3747, 5071, - 5097, 5135, 5140, 4329, 4328, 4313, 4309, 4308, 5173, 5180, - 5194, 4282, 4281, 4279, 4278, 4276, 4640, 4796, 3278, 4266, - - 4261, 4253, 3338, 4249, 4246, 4242, 4236, 4233, 4229, 5216, - 5233, 5254, 4209, 4202, 4201, 4198, 4197, 5322, 3425, 3342, - 4195, 4194, 4185, 3398, 5390, 3529, 3669, 3911, 3410, 5282, - 4181, 4174, 4172, 3500, 4169, 4163, 4162, 4970, 4152, 4151, - 4144, 5033, 5080, 4138, 4133, 5465, 5263, 4169, 0, 5154, - 5301, 5350, 5358, 5369, 5533, 5540, 3974, 4131, 4116, 4113, - 3504, 4108, 4107, 4100, 4090, 4084, 4076, 4075, 4073, 5551, - 5554, 5562, 4065, 4061, 4055, 4049, 4046, 837, 909, 3568, - 3651, 0, 0, 5630, 4037, 3968, 5691, 4430, 4056, 5740, - 5809, 0, 0, 3955, 5571, 1688, 4108, 5861, 4032, 2504, - - 2811, 4052, 4049, 4046, 4034, 4035, 4029, 4021, 4021, 4006, - 2915, 4022, 4002, 4002, 3983, 3998, 3983, 3988, 3960, 3969, - 3963, 3962, 2942, 3953, 3085,13219, 3172,13219, 3791, 4102, - 3961, 4352, 5911, 4163, 5986, 5240, 4282, 3429,13219, 4255, - 4384, 4702, 6061, 4784,13219, 4313, 6092, 4527, 3932, 3925, - 3924, 5607, 4725,13219, 4618, 0, 5199, 3907, 3889, 3887, - 4740, 6155, 3523,13219, 4773, 5639, 4596, 4145, 0, 5053, - 4058, 4262, 4522, 6223, 5647, 6291, 5675, 5752, 5770, 3886, - 3883, 3881, 3880, 3875, 3873, 3872, 3863, 3857, 3631, 3856, - 3851, 3849, 3848, 3838, 3836, 3835, 3833, 3804, 3797, 3778, - - 3640, 3773, 3768, 3762, 3761, 3745, 3665, 3741, 3739, 3729, - 6359, 5711, 3699, 3727, 3724, 3723, 3721, 3715, 3714, 3707, - 5371, 5379, 3693, 3691, 3661, 3659, 3647, 5784, 3646, 0, - 5942, 4684, 5949, 5815, 5830, 6024, 6160, 6163, 3628, 3627, - 3607, 6232, 5620, 6250, 6257, 6427, 6318, 3593, 3589, 3584, - 6325, 6330, 6393, 3579, 3578, 3571, 5692, 3610, 3733, 3555, - 3545, 3544, 3536, 3525, 3521, 3520, 3497, 3488, 3483, 3460, - 3458, 6495, 5839, 6563, 6398, 6434, 6461, 3445, 3443, 3435, - 3434, 3432, 3431, 3421, 3419, 3418, 3977, 3405, 3404, 3391, - 3368, 3364, 3353, 3333, 3326, 3306, 3303, 3292, 4483, 3284, - - 3276, 3266, 3258, 3254, 4585, 3253, 3244, 3241, 6631, 6017, - 4596, 3230, 3228, 3214, 3201, 3188, 3183, 3173, 5969, 6101, - 3168, 3156, 3145, 3137, 3133, 5910, 3132, 0, 6188, 4846, - 6472, 6270, 6534, 6570, 6597, 6604, 3122, 3104, 3100, 6658, - 5874, 6665, 6676, 6744, 6699, 3069, 3064, 3054, 6752, 6769, - 6777, 3052, 3045, 3037, 6354, 3076, 4626, 3025, 3018, 3007, - 3005, 2986, 2984, 2981, 2972, 2965, 2961, 2960, 2944, 6851, - 13219,13219, 0, 0, 6510, 5421, 2952, 2929, 2937, 2926, - 2931, 2910, 0, 3689, 2898, 2895, 2886, 2879, 0, 2875, - 2878, 4084, 2858, 2866, 2854, 0, 2849, 6921, 6996, 7071, - - 4214,13219, 4307, 7102, 4848, 2828, 2820, 2819, 4983,13219, - 4620, 0, 2815, 2807, 2798, 5012,13219, 5056, 5110, 5075, - 5189,13219, 5154, 0, 2795, 2793, 2781, 5177, 5358, 5193, - 13219, 5570, 5712, 5357,13219, 5349, 0, 2778, 2776, 2766, - 7165, 4936, 5440, 2408, 7233, 6544, 2744, 2740, 251, 255, - 280, 285, 291, 334, 348, 355, 462, 469, 483, 524, - 7301, 6814, 6195, 6579, 592, 606, 625, 634, 651, 658, - 670, 6724, 6826, 6850, 6884, 6943, 7016, 686, 702, 725, - 732, 737, 7034, 7170, 7204, 758, 774, 780, 6734, 7267, - 7272, 7326, 806, 817, 828, 873, 878, 7340, 7343, 7354, - - 900, 915, 920, 937, 938, 6364, 6529, 4671, 948, 965, - 976, 4686, 977, 986, 987, 1000, 1007, 1008, 1025, 1031, - 7422, 6894, 1036, 1043, 1072, 1100, 1107, 1109, 1131, 1145, - 1149, 1155, 1176, 1187, 1236, 1248, 7490, 6957, 7026, 7006, - 1259, 1265, 1283, 1319, 1330, 1335, 1349, 7110, 7105, 7179, - 7381, 7449, 7456, 1350, 1440, 1442, 1446, 1452, 7461, 7524, - 7529, 1456, 1458, 1476, 7195, 7532, 7553, 7565, 1481, 1493, - 1495, 1497, 1504, 7592, 7606, 7614, 1505, 1508, 1513, 1514, - 1519, 6979, 7238, 4800, 1520, 1536, 1537, 4956, 1542, 1561, - 1563, 1568, 1570, 1574, 1580, 1597,13219,13219, 1632, 0, - - 5446, 0, 1629, 1635, 1639, 5598, 1634, 5599, 1634, 5643, - 1641, 1653, 1659, 1674, 0,13219, 5145, 7645, 1662, 1664, - 1669, 5672,13219,13219, 5157, 0, 1690, 1763, 1769, 7708, - 5213, 7783, 5674,13219, 6047, 5685,13219, 7858, 5752,13219, - 5353, 7933, 8008, 6809,13219, 5543, 0, 1774, 1776, 1782, - 5314, 1785, 1788, 1797, 1798, 8076, 1804, 1810, 8144, 7730, - 7805, 7880, 1811, 1813, 1819, 1841, 1850, 1859, 7955, 8016, - 8084, 1861, 1863, 1869, 1870, 1874, 8101, 8161, 8169, 1879, - 1881, 1893, 1895, 1906, 1907, 1917, 1921, 1922, 4961, 1924, - 1934, 1947, 1948, 1969, 2033, 2034, 2036, 2038, 2045, 2048, - - 2056, 8237, 2060, 2067, 8305, 8197, 8224, 8260, 2082, 2087, - 2091, 2104, 2121, 2134, 8265, 8277, 8338, 2135, 2140, 2141, - 2145, 2149, 8341, 8346, 8349, 2161, 2164, 2167, 2172, 2183, - 2195, 2196, 2217, 2224, 5076, 2225, 2237, 2241, 2246, 2251, - 2260, 2261, 2291, 2365, 0, 2367, 0, 2377, 0, 2389, - 0, 0, 5756,13219, 5766, 0, 2386, 2389, 2395, 8424, - 13219, 5794, 0, 2400, 2401, 2407, 7281,13219, 5825, 0, - 2410, 2413, 2414, 8499,13219, 6033, 0, 2424, 2434, 2439, - 13219, 6052, 0, 2447, 2448, 2451, 5786,13219, 2454, 2465, - 2466, 2468, 2472, 2473, 2481, 2482, 2494, 2502, 2508, 2509, - - 2511, 2519, 2520, 2526, 2538, 2546, 2547, 2562, 2566, 2567, - 2574, 2575, 2578, 2581, 2592, 2594, 2641, 0, 5860, 0, - 13219, 6146, 0, 2602, 2603, 2608, 5872,13219,13219, 6178, - 0, 2613, 2619, 2623, 2645, 2705, 2707, 2713, 2715, 2726, - 2737, 2739, 6665, 0, 0,13219,13219, 8574, 8598, 8622, - 8646, 8670, 8694, 8718, 8730, 8753, 8777, 8796, 8815, 8834, - 8853, 8872, 8891, 8915, 8924, 8940, 8963, 8987, 9011, 9035, - 3862, 9054, 9066, 9089, 2846, 9108, 9127, 9146, 9165, 9184, - 9203, 9222, 9241, 9260, 9279, 9298, 9317, 9336, 9355, 9374, - 9393, 9412, 9431, 9450, 9469, 2865, 2890, 9478, 9486, 3880, - - 9509, 9521, 9544, 2946, 9568, 9592, 9616, 9625, 9636, 3126, - 9654, 9665, 3428, 9683, 9702, 9721, 9740, 9759, 9778, 9797, - 9816, 9835, 9854, 9873, 9892, 9911, 9930, 9949, 9968, 9987, - 10006,10025,10044,10063,10082,10101,10120,10139,10158,10177, - 10196,10215,10234,10253,10272,10291,10310,10329,10348,10367, - 10386, 4239, 3640, 3658,10398, 3156,10421,10445, 3218, 3230, - 10457, 3298,10480,10503,10514,10532,10551,10570,10589,10608, - 10627,10646,10665,10684,10703,10722,10741,10760,10779,10798, - 10817,10836,10855,10874,10893,10912,10931,10950,10969,10988, - 11007,11026,11045,11064,11083,11102,11121,11140,11159,11178, - - 11197,11216,11235,11254,11273,11292,11311,11330,11349, 3239, - 11361,11384, 3416, 3442,11393,11416,11440,11459,11478,11497, - 11516,11535,11554,11573,11592,11611,11630,11649,11668,11687, - 11706,11725,11744,11763,11782,11801,11820,11839,11858,11877, - 11896,11915,11934,11953,11972,11991,12010,12029,12048,12067, - 12086,12105,12124,12143,12167, 3443, 3510,12179,12202,12226, - 12250,12274,12298,12317,12336,12355,12374,12393,12412,12431, - 12450,12469,12488,12507,12526,12545,12564,12583,12602,12621, - 12640,12659,12678,12697,12716,12735,12754,12778,12802,12826, - 12845,12856,12874,12893,12912,12931,12950,12969,12988,13007, - - 13026,13050,13074,13098,13122,13146,13170,13194, 3524, 3529 + 1265, 1240, 1093, 1268, 947, 1272, 5703, 5693, 5684, 690, + 917, 1164, 530, 1184,13320, 1047, 1744, 1336, 428, 1372, + 0, 1062,13320, 557, 808,13320, 1074, 0,13320, 5682, + 5678, 1393, 1349, 1188, 1499, 1514, 1569, 1382, 1610, 1352, + 1623, 5674, 5673, 5672, 1397, 1812,13320,13320,13320,13320, + 13320,13320,13320, 1513, 1880,13320, 1948, 1523, 2023, 0, + 1811, 1835, 1840, 703, 1853, 5666, 5665, 5658, 1908, 5705, + 2091, 0, 5650, 5640, 5638, 829, 1916, 5635, 5634, 1655, + 1539, 1872, 1927, 2098, 2109, 1604, 2112, 1555, 2120, 5630, + + 5628, 5626, 2134, 1669, 2202,13320, 2270, 1692, 2345, 0, + 2182, 2229, 2236, 1036, 2241, 5620, 5612, 5595, 2413, 1165, + 2481, 0, 5593, 5583, 5582, 2418, 5572, 5571, 627, 541, + 13320,13320, 558, 867,13320,13320, 1303,13320, 0,13320, + 5570, 5568,13320, 983, 546,13320,13320, 585, 893,13320, + 1628, 0,13320, 5561, 5559,13320, 0, 1177, 2538,13320, + 1124,13320, 1673, 1802, 0,13320, 1222, 659, 1830, 786, + 1979, 1965, 1898, 1987, 5577, 1241, 575,13320, 921, 1083, + 1101,13320, 0, 1121,13320, 1995, 1300, 2427, 1991, 2220, + 2433, 5564, 5563, 5553,13320,13320,13320,13320, 7, 0, + + 1219, 621,13320, 645, 1254,13320, 2159, 2169, 2448, 2304, + 13320,13320,13320, 716, 747, 1362, 1508, 0, 2574, 1581, + 5544, 5536, 5533, 972, 5538, 1142, 5540, 1538, 5531, 5536, + 5528, 5526, 624, 5511, 1211, 5504, 5517, 259, 5505, 5507, + 2192, 1831, 1899, 2260, 2153, 2207, 2263, 2452, 2436, 2225, + 2455, 2232, 2624, 2399, 2448, 2458, 2461, 2538, 2583, 2569, + 2541, 2524, 2497, 2471, 2587, 5492, 5491, 2081, 2699, 2760, + 2412, 0, 2768, 0, 2655, 2781,13320, 2148, 0, 2664, + 2308, 2556, 2320, 1271, 1817,13320, 5478, 5411, 2633, 2799, + 2823, 2807, 2839, 2840, 2857, 2862, 2865, 5410, 5403, 5397, + + 2668, 2899, 2902, 2926, 5396, 5394, 5385, 2828, 5431, 1546, + 5379, 5369, 5368, 5357, 5355,13320,13320, 2938, 2943, 2971, + 5348, 5343, 5341, 3039, 3107, 2988, 2802, 5384, 2937, 2955, + 3175, 1791, 2910, 3019, 5332, 5331, 5329, 3052, 2918, 5376, + 3243, 1798, 3045, 3084, 5327, 5325, 5323, 3060, 3311, 3094, + 3162, 1863, 3202, 5321, 5308, 5303, 1887, 5300, 5297, 5296, + 5295, 5289, 3230, 3270, 3283, 5287, 5275, 5274, 3379, 5268, + 5264, 5262, 2773, 3005, 3447, 3124, 3193, 3319, 3352, 3406, + 3413, 5260, 5259, 5258, 2785, 3420, 3434, 3474, 5249, 5248, + 5244, 3168, 5290, 2049, 5228, 5224, 5223, 5221, 5219, 3496, + + 3507, 3510, 5214, 5213, 5210, 3578, 3646, 3541, 2948, 5254, + 3132, 3275, 3714, 2071, 3087, 3345, 5201, 5200, 5198, 3591, + 3011, 5242, 3782, 2075, 3248, 3609, 5193, 5187, 5180, 3626, + 3850, 3673, 3680, 2085, 3685, 5175, 5161, 5155, 2196, 5154, + 5150, 5148, 5147, 5140, 3748, 3753, 3807, 5136, 5129, 5125, + 2409, 3207, 1125, 3918, 5123, 5122, 5118, 1299, 1279, 2418, + 13320, 5160, 5110, 1394, 1406, 2813,13320, 5151, 5102, 3029, + 2588, 2820, 0, 3979, 0, 3361, 3388, 3144, 1418, 1534, + 0, 0, 3545, 3211, 3260, 5106, 5106, 5110, 0, 2874, + 13320, 3762, 3868, 3821, 1686, 799, 1409, 5132, 3269, 3320, + + 5130, 4011, 5072, 5070, 5078, 5082, 5071, 775, 5066, 5068, + 5067, 280, 5057, 5061, 1519, 5033, 0, 5030, 5015, 5019, + 5009, 1656, 4994, 4983, 4984, 4975, 4973, 4962, 4964, 3612, + 3874, 3889, 3893, 3906, 3898, 4000, 4041, 4060, 4064, 4079, + 4083, 4095, 4099, 4107,13320, 4119, 4150, 4954, 4952, 4949, + 4212, 4216, 4291, 4248, 2128,13320, 4252, 4265, 4366, 4349, + 4380, 4389, 4393, 4946, 4210, 3798, 3351, 3521, 4468, 4227, + 3832, 3369, 1702, 3938, 3599, 4989, 4529, 4571, 4542, 3617, + 4549, 3961, 4604, 4611, 4931, 4927, 4926, 4923, 4920, 4625, + 4632, 4649, 4911, 4909, 4908, 4844, 4824, 3636, 3942, 2922, + + 4823, 4821, 4811, 2990, 4803, 4802, 4798, 4797, 4789, 4780, + 4666, 4674, 4687, 4764, 4763, 4753, 4745, 4744, 4755, 3113, + 3058, 4734, 4726, 4721, 3126, 4823, 3194, 3221, 3705, 3234, + 4587, 4714, 4702, 4697, 3278, 4696, 4694, 4688, 3947, 4687, + 4671, 4666, 3840, 4399, 4663, 4647, 4898, 4735, 4129, 0, + 4562, 4768, 4783, 4810, 4792, 4966, 4973, 3437, 4645, 4644, + 4637, 3338, 4631, 4625, 4623, 4619, 4617, 4616, 4600, 4596, + 4984, 4987, 4995, 4587, 4585, 4582, 4580, 4579, 5063, 4572, + 4844, 5131, 5082, 3730, 5091, 5117, 5155, 5160, 4570, 4561, + 4558, 4555, 4554, 5193, 5200, 5214, 4547, 4540, 4534, 4533, + + 4529, 4721, 4728, 3342, 4528, 4518, 4488, 3398, 4484, 4476, + 4414, 4394, 4390, 4389, 5236, 5253, 5274, 4385, 4381, 4376, + 4365, 4361, 5342, 3425, 3410, 4360, 4346, 4342, 3471, 5410, + 3529, 3669, 3747, 3500, 5302, 4340, 4333, 4331, 3504, 4326, + 4325, 4313, 4976, 4309, 4304, 4282, 5014, 5100, 4281, 4273, + 5485, 5283, 4169, 0, 5053, 5321, 5370, 5378, 5389, 5553, + 5560, 3974, 4271, 4270, 4261, 3514, 4253, 4249, 4242, 4236, + 4233, 4229, 4209, 4201, 5571, 5574, 5582, 4198, 4197, 4194, + 4185, 4184, 837, 909, 3651, 3685, 0, 0, 5650, 4181, + 3912, 5711, 4328, 4202, 5760, 5829, 0, 0, 5193, 5591, + + 1973, 4108, 5881, 4174, 2478, 2536, 4196, 4191, 4187, 4175, + 4168, 4169, 4170, 4155, 4140, 2537, 4142, 4123, 4127, 4116, + 4125, 4106, 4106, 4088, 4094, 4095, 4081, 4077, 2811, 4067, + 2915,13320, 2942,13320, 3791, 4102, 4163, 4255, 5931, 4646, + 6006, 5019, 4313, 3085,13320, 4282, 4746, 4376, 6081, 4590, + 13320, 4384, 6112, 4522, 4046, 4037, 4034, 5174, 4813, 6175, + 13320, 4658, 0, 5233, 4027, 4019, 4015, 4816, 6250, 3172, + 13320, 4990, 5659, 5441, 4145, 0, 5450, 3955, 4262, 4058, + 6318, 5667, 6386, 5677, 5695, 5772, 4011, 4000, 3999, 3997, + 3996, 3992, 3983, 3974, 3973, 3640, 3967, 3966, 3948, 3947, + + 3943, 3940, 3924, 3916, 3912, 3880, 3875, 3665, 3873, 3872, + 3863, 3859, 3857, 3699, 3851, 3849, 3848, 6454, 5790, 3733, + 3838, 3836, 3835, 3833, 3804, 3797, 3778, 5577, 5711, 3773, + 3768, 3762, 3761, 3745, 5427, 3741, 0, 5800, 4423, 5962, + 5835, 5816, 5969, 6044, 6197, 3739, 3727, 3724, 6258, 5361, + 6261, 6342, 6522, 6345, 3714, 3707, 3693, 6353, 6413, 6425, + 3691, 3661, 3659, 5845, 3695, 3977, 3646, 3628, 3627, 3607, + 3593, 3589, 3579, 3571, 3563, 3562, 3555, 3544, 6590, 5945, + 6658, 6488, 6493, 6529, 3536, 3525, 3521, 3520, 3497, 3488, + 3483, 3480, 3460, 4353, 3458, 3445, 3443, 3435, 3434, 3432, + + 3431, 3421, 3419, 3418, 3405, 4479, 3404, 3391, 3368, 3364, + 3353, 4500, 3333, 3326, 3306, 6726, 6037, 4638, 3303, 3292, + 3284, 3276, 3266, 3258, 3254, 6121, 6158, 3253, 3244, 3241, + 3230, 3228, 6207, 3214, 0, 6503, 4706, 6562, 6538, 6597, + 6615, 6633, 6686, 3201, 3188, 3183, 6697, 5640, 6750, 6768, + 6836, 6775, 3168, 3149, 3137, 6809, 6843, 6854, 3133, 3132, + 3122, 6304, 3152, 4706, 3100, 3078, 3069, 3064, 3054, 3052, + 3045, 3037, 3028, 3025, 3018, 3007, 6928,13320,13320, 0, + 0, 6706, 6116, 3022, 2996, 3003, 2991, 2994, 2979, 0, + 3429, 2966, 2976, 2953, 2957, 0, 2941, 2944, 3523, 2924, + + 0, 2935, 2912, 0, 2909, 6998, 7073, 7148, 4087,13320, + 3689, 7179, 4214, 2879, 2877, 2857, 4261,13320, 3984, 0, + 2853, 2852, 2850, 4001,13320, 4091, 4575, 4307, 4733,13320, + 4668, 0, 2840, 2838, 2833, 4741, 4820, 4850,13320, 5183, + 13320, 4865, 0, 2828, 2820, 251, 5250, 5003,13320, 5095, + 0, 255, 280, 285, 7242, 4956, 5458, 2656, 7310, 6677, + 291, 334, 348, 355, 462, 469, 483, 524, 592, 606, + 625, 634, 651, 658, 7378, 6871, 6571, 6759, 670, 686, + 702, 725, 732, 737, 758, 6879, 6893, 6941, 6961, 7020, + 7093, 774, 780, 806, 817, 828, 7111, 7247, 7281, 873, + + 878, 900, 6884, 7344, 7349, 7403, 915, 920, 937, 938, + 948, 7417, 7420, 7431, 965, 976, 977, 986, 987, 6391, + 6459, 4774, 1000, 1007, 1008, 4805, 1025, 1031, 1036, 1043, + 1072, 1100, 1107, 1109, 7499, 7030, 1131, 1145, 1149, 1155, + 1160, 1174, 1176, 1187, 1236, 1248, 1249, 1259, 1265, 1266, + 7567, 7187, 6900, 7256, 1273, 1277, 1279, 1281, 1283, 1288, + 1290, 7103, 7329, 7449, 7458, 7526, 7533, 1301, 1302, 1319, + 1335, 1440, 7538, 7601, 7606, 1442, 1446, 1469, 7272, 7609, + 7630, 7642, 1476, 1481, 1482, 1493, 1495, 7669, 7683, 7691, + 1497, 1504, 1513, 1514, 1519, 6644, 6984, 4980, 1520, 1536, + + 1537, 5004, 1542, 1561, 1563, 1565, 1568, 1570, 1574, 1580, + 13320,13320, 1618, 0, 5130, 0, 1624, 1631, 1633, 5197, + 1631, 5281, 1639, 5332, 1647, 1653, 1659, 1674, 0,13320, + 5315, 7722, 1662, 1664, 1690, 5590,13320,13320, 5349, 0, + 1763, 1769, 1774, 7785, 5673, 7860, 5619,13320, 5563, 5663, + 13320, 7935, 5690,13320, 5704, 8010, 8085, 6420,13320, 5803, + 0, 1776, 1782, 1785, 5334, 1788, 1797, 1798, 1804, 8153, + 1810, 1811, 8221, 7807, 7882, 7957, 1813, 1819, 1841, 1850, + 1859, 1861, 8032, 8093, 8161, 1863, 1869, 1870, 1874, 1879, + 8178, 8238, 8246, 1881, 1893, 1895, 1906, 1907, 1924, 1934, + + 1947, 1948, 5096, 1969, 2033, 2034, 2036, 2038, 2045, 2048, + 2056, 2060, 2067, 2082, 2083, 8314, 2085, 2091, 8382, 8274, + 8301, 8337, 2104, 2121, 2134, 2135, 2141, 2143, 8342, 8354, + 8415, 2145, 2149, 2161, 2164, 2167, 8418, 8423, 8426, 2172, + 2179, 2183, 2186, 2189, 2190, 2203, 2217, 2224, 5165, 2225, + 2237, 2241, 2246, 2260, 2261, 2291, 2353, 2380, 0, 2389, + 0, 2391, 0, 2400, 0, 0, 5705,13320, 5812, 0, + 2395, 2406, 2414, 8501,13320, 5965, 0, 2425, 2428, 2436, + 7106,13320, 6040, 0, 2445, 2446, 2448, 8576,13320, 6053, + 0, 2480, 2481, 2491,13320, 6067, 0, 2492, 2494, 2503, + + 5785,13320, 2508, 2509, 2511, 2519, 2520, 2530, 2546, 2547, + 2562, 2566, 2567, 2569, 2575, 2579, 2588, 2592, 2594, 2608, + 2610, 2611, 2623, 2645, 2705, 2707, 2713, 2715, 2726, 2737, + 2838, 0, 5786, 0,13320, 6072, 0, 2739, 2740, 2744, + 5846,13320,13320, 6161, 0, 2776, 2778, 2781, 2791, 2793, + 2795, 2798, 2807, 2810, 2816, 2819, 5875, 0, 0,13320, + 13320, 8651, 8675, 8699, 8723, 8747, 8771, 8795, 8807, 8830, + 8854, 8873, 8892, 8911, 8930, 8949, 8968, 8992, 9001, 9017, + 9040, 9064, 9088, 9112, 3862, 9131, 9143, 9166, 2890, 9185, + 9204, 9223, 9242, 9261, 9280, 9299, 9318, 9337, 9356, 9375, + + 9394, 9413, 9432, 9451, 9470, 9489, 9508, 9527, 9546, 2946, + 3126, 9555, 9563, 3880, 9586, 9598, 9621, 3156, 9645, 9669, + 9693, 9702, 9713, 3200, 9731, 9742, 3428, 9760, 9779, 9798, + 9817, 9836, 9855, 9874, 9893, 9912, 9931, 9950, 9969, 9988, + 10007,10026,10045,10064,10083,10102,10121,10140,10159,10178, + 10197,10216,10235,10254,10273,10292,10311,10330,10349,10368, + 10387,10406,10425,10444,10463, 5238, 3640, 3658,10475, 3218, + 10498,10522, 3230, 3239,10534, 3298,10557,10580,10591,10609, + 10628,10647,10666,10685,10704,10723,10742,10761,10780,10799, + 10818,10837,10856,10875,10894,10913,10932,10951,10970,10989, + + 11008,11027,11046,11065,11084,11103,11122,11141,11160,11179, + 11198,11217,11236,11255,11274,11293,11312,11331,11350,11369, + 11388,11407,11426, 3416,11438,11461, 3442, 3443,11470,11493, + 11517,11536,11555,11574,11593,11612,11631,11650,11669,11688, + 11707,11726,11745,11764,11783,11802,11821,11840,11859,11878, + 11897,11916,11935,11954,11973,11992,12011,12030,12049,12068, + 12087,12106,12125,12144,12163,12182,12201,12220,12244, 3510, + 3633,12256,12279,12303,12327,12351,12375,12399,12418,12437, + 12456,12475,12494,12513,12532,12551,12570,12589,12608,12627, + 12646,12665,12684,12703,12722,12741,12760,12779,12798,12817, + + 12836,12855,12879,12903,12927,12946,12957,12975,12994,13013, + 13032,13051,13070,13089,13108,13127,13151,13175,13199,13223, + 13247,13271,13295, 3770, 3778 } ; -static const flex_int16_t yy_def[2011] = +static const flex_int16_t yy_def[2026] = { 0, - 1748, 1748, 1747, 3, 1747, 5, 1747, 7, 1749, 1749, - 10, 10, 1750, 1750, 1747, 15, 1750, 1750, 3, 19, - 1750, 1750, 1750, 1750, 1751, 1751, 1752, 1752, 1750, 1750, - 1753, 1753, 1747, 1754, 1747, 1747, 1747, 1747, 1754, 1754, - 1754, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1755, 1756, 1747, 1755, 1747, 1757, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1758, 1747, 1747, - 1758, 1747, 1747, 71, 1759, 1760, 71, 1747, 1747, 1747, - 1747, 1747, 1761, 69, 1761, 1747, 85, 1762, 1763, 85, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1764, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1765, - 1765, 1765, 1747, 1747, 1747, 1747, 1747, 1747, 1766, 1764, - 1747, 1747, 1747, 1747, 1747, 1755, 1747, 1747, 1747, 1747, - 1747, 130, 130, 1747, 1747, 1747, 1747, 1747, 1747, 1767, - 1747, 1747, 1747, 1747, 1767, 1747, 1767, 1767, 1767, 1767, - 1767, 1767, 1747, 1747, 1747, 1747, 1768, 1747, 1747, 1754, - 1754, 1754, 1754, 1747, 1747, 1747, 1769, 1747, 1754, 1754, - 1754, 1747, 1770, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1771, 49, 1772, 1747, 1772, - - 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, - 1772, 1772, 1772, 1772, 1772, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1773, 1747, 1747, 1747, 1755, 1755, 1755, 1774, - 1747, 1747, 1747, 1747, 1747, 1747, 1775, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1776, 1777, 1747, 1778, 1779, 1777, - 1747, 1747, 1747, 1747, 1780, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1776, 1747, 1781, 1747, 1747, 264, 264, - 1782, 1783, 1784, 1783, 1747, 1747, 1747, 1785, 1747, 1785, - 280, 1747, 1747, 1747, 1747, 1777, 1747, 1747, 1747, 1747, - 1747, 1747, 1786, 1787, 1747, 1788, 1789, 1787, 1747, 1747, - - 1747, 1790, 1747, 1786, 1747, 1791, 1747, 1747, 304, 304, - 1792, 1793, 1794, 1793, 1747, 1747, 1747, 1795, 1747, 1795, - 320, 1747, 1747, 1747, 1787, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1796, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1797, 1747, 1747, 1747, 1747, 1798, 1798, 1798, 1747, 1747, - 1747, 1747, 1799, 1799, 1747, 1747, 1747, 1747, 1800, 1747, - 1747, 1801, 1802, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1803, 1747, 1747, 1803, 1803, 1803, 1803, 1803, 1803, - 1803, 1803, 1803, 1747, 1747, 1747, 1747, 1804, 1805, 1806, - - 1807, 1747, 1807, 1747, 1747, 1747, 1808, 1747, 1747, 1747, - 1747, 1747, 1747, 1809, 1747, 1809, 1810, 1809, 1811, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1811, 1811, - 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, - 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, - 1811, 1811, 1747, 1747, 1747, 1747, 1747, 1747, 1808, 1808, - 1808, 1808, 1747, 1747, 470, 1808, 1808, 1747, 1812, 1747, - 1747, 1747, 1747, 1813, 1747, 1747, 1747, 1814, 1747, 1747, - 1815, 1815, 1816, 1815, 1747, 1747, 1747, 1747, 1817, 1818, - - 1818, 1747, 1747, 1747, 1819, 1747, 1820, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1821, 1822, 1822, 1747, 1747, 1747, - 1814, 1815, 522, 1823, 1747, 1747, 1814, 1824, 1825, 1826, - 1823, 1747, 1747, 1747, 1747, 1823, 1747, 1824, 1825, 1826, - 1823, 1747, 1747, 1747, 522, 1827, 1828, 1828, 1829, 1828, - 1747, 1747, 1747, 1830, 1747, 1747, 1747, 1747, 1747, 1831, - 1832, 1832, 1747, 1747, 1747, 1831, 1747, 1747, 1747, 1747, - 1747, 1833, 1747, 1747, 1834, 1834, 1835, 1834, 1747, 1747, - 1747, 1747, 1836, 1837, 1837, 1747, 1747, 1747, 1838, 1747, - 1839, 1747, 1747, 1747, 1747, 1747, 1840, 1841, 1841, 1747, - - 1747, 1747, 1833, 1834, 604, 1842, 1747, 1747, 1833, 1843, - 1844, 1845, 1842, 1747, 1747, 1747, 1747, 1842, 1747, 1843, - 1844, 1845, 1842, 1747, 1747, 1747, 604, 1846, 1847, 1847, - 1848, 1847, 1747, 1747, 1747, 1849, 1747, 1747, 1747, 1747, - 1747, 1850, 1851, 1851, 1747, 1747, 1747, 1747, 1747, 1852, - 1850, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1853, 1747, - 1747, 1747, 1747, 1747, 1854, 1747, 1747, 1747, 1855, 1856, - 1855, 1857, 1747, 1747, 1747, 1747, 1747, 1858, 1858, 1858, - 1858, 1858, 1858, 1858, 1858, 1859, 1860, 1747, 1747, 1861, - 1861, 691, 1747, 1855, 1855, 1747, 1855, 1862, 671, 1747, - - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1863, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1864, 1864, 1864, 1864, 1864, - 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, - 1747, 1864, 1747, 1747, 1747, 1747, 1864, 1864, 1864, 1864, - 1747, 1747, 1864, 1864, 1864, 1864, 1864, 1864, 1747, 1861, - 760, 1747, 1861, 1747, 1747, 1747, 760, 691, 691, 1865, - 1865, 1747, 1866, 1867, 1747, 1868, 1869, 1870, 1870, 1747, - 1747, 1747, 1747, 1747, 1871, 1871, 1871, 1747, 1747, 1747, - 1747, 1747, 1872, 1872, 1873, 1747, 1747, 1747, 1874, 1747, - - 1747, 1747, 1747, 1747, 1747, 1875, 1875, 1875, 1747, 1747, - 1747, 1747, 1747, 1866, 1867, 1876, 1747, 1747, 1747, 1877, - 1868, 1867, 1867, 814, 1878, 1867, 1747, 1747, 1747, 1879, - 1747, 1747, 1747, 1880, 1747, 1747, 1747, 1867, 814, 1747, - 1747, 1747, 1747, 1747, 814, 1867, 814, 1881, 1882, 821, - 1883, 1884, 1885, 1747, 1747, 1747, 1886, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1887, 1887, 1887, 1747, 1747, - 1747, 1747, 1747, 1887, 1747, 1747, 1888, 1889, 1747, 1890, - 1891, 1892, 1892, 1747, 1747, 1747, 1747, 1747, 1893, 1893, - 1893, 1747, 1747, 1747, 1747, 1747, 1894, 1894, 1895, 1747, - - 1747, 1747, 1896, 1747, 1747, 1747, 1747, 1747, 1747, 1897, - 1897, 1897, 1747, 1747, 1747, 1747, 1747, 1888, 1889, 1898, - 1747, 1747, 1747, 1899, 1890, 1889, 1889, 918, 1900, 1889, - 1747, 1747, 1747, 1901, 1747, 1747, 1747, 1902, 1747, 1747, - 1747, 1889, 918, 1747, 1747, 1747, 1747, 1747, 918, 1889, - 918, 1903, 1904, 925, 1905, 1906, 1907, 1747, 1747, 1747, - 1908, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1909, - 1909, 1909, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1910, 1910, 1909, 1747, 1911, 1911, 1747, 1912, 1912, - 1912, 1913, 1914, 1915, 1747, 1911, 1911, 987, 1747, 1747, - - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1916, 1747, 1747, 1917, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1918, 1918, - 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1747, 1747, 1918, - 1918, 1918, 1918, 1918, 1747, 1918, 1747, 1918, 1747, 1747, - 1747, 1918, 1918, 1747, 1918, 1047, 1918, 1747, 1747, 1747, - 1918, 1918, 1747, 1747, 1918, 1915, 1915, 1915, 1066, 1915, - 1747, 1915, 1915, 1919, 1747, 1920, 1921, 1921, 1921, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1922, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - - 1923, 1747, 1747, 1747, 1747, 1747, 1924, 1747, 1747, 1747, - 1920, 1925, 1926, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1927, 1927, 1747, 1747, 1747, 1747, 1747, 1111, 1747, 1111, - 1925, 1747, 1919, 1111, 1928, 1928, 1929, 1928, 1747, 1747, - 1747, 1930, 1925, 1928, 1928, 1931, 1932, 1747, 1747, 1747, - 1933, 1934, 1934, 1747, 1747, 1747, 1935, 1747, 1936, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1937, 1747, 1938, 1939, 1939, 1939, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1940, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1941, 1747, - - 1747, 1747, 1747, 1747, 1942, 1747, 1747, 1747, 1938, 1943, - 1944, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1945, 1945, - 1747, 1747, 1747, 1747, 1747, 1209, 1747, 1209, 1943, 1747, - 1937, 1209, 1946, 1946, 1947, 1946, 1747, 1747, 1747, 1948, - 1943, 1946, 1946, 1949, 1950, 1747, 1747, 1747, 1951, 1952, - 1952, 1747, 1747, 1747, 1953, 1747, 1954, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1955, - 1747, 1747, 1956, 1957, 1958, 1958, 1747, 1747, 1747, 1747, - 1959, 1747, 1960, 1747, 1747, 1747, 1747, 1747, 1961, 1747, - 1747, 1747, 1747, 1747, 1747, 1962, 1747, 1963, 1963, 1963, - - 1299, 1747, 1299, 1747, 1299, 1747, 1747, 1747, 1299, 1747, - 1299, 1304, 1747, 1747, 1747, 1747, 1747, 1299, 1299, 1299, - 1299, 1747, 1299, 1304, 1747, 1747, 1747, 1299, 1299, 1747, - 1747, 1299, 1299, 1299, 1747, 1299, 1304, 1747, 1747, 1747, - 1299, 1747, 1958, 1276, 1964, 1965, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1964, 1965, 1965, 1361, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1965, 1361, 1361, 1966, 1967, 1967, 1747, 1747, 1747, - 1747, 1747, 1968, 1969, 1969, 1747, 1747, 1747, 1965, 1970, - 1971, 1971, 1747, 1747, 1747, 1747, 1747, 1972, 1972, 1972, - - 1747, 1747, 1747, 1747, 1747, 1973, 1973, 1974, 1747, 1747, - 1747, 1975, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1976, 1977, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1976, 1977, 1977, 1437, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1977, 1437, 1437, - 1978, 1979, 1979, 1747, 1747, 1747, 1747, 1747, 1980, 1981, - 1981, 1747, 1747, 1747, 1977, 1982, 1983, 1983, 1747, 1747, - 1747, 1747, 1747, 1984, 1984, 1984, 1747, 1747, 1747, 1747, - 1747, 1985, 1985, 1986, 1747, 1747, 1747, 1987, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1988, - - 1747, 1989, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1990, 1747, 1991, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1991, 1518, 1747, 1747, 1747, 1991, - 1991, 1991, 1747, 1747, 1991, 1747, 1747, 1991, 1747, 1747, - 1991, 1991, 1991, 1991, 1747, 1991, 1518, 1747, 1747, 1747, - 1992, 1747, 1747, 1747, 1747, 1993, 1747, 1747, 1993, 1994, - 1994, 1994, 1747, 1747, 1747, 1747, 1747, 1747, 1995, 1995, - 1995, 1747, 1747, 1747, 1747, 1747, 1996, 1996, 1996, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1997, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - - 1747, 1998, 1747, 1747, 1998, 1999, 1999, 1999, 1747, 1747, - 1747, 1747, 1747, 1747, 2000, 2000, 2000, 1747, 1747, 1747, - 1747, 1747, 2001, 2001, 2001, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1986, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 2002, 1747, 2003, 1747, 2004, 1747, - 2005, 2006, 1747, 1747, 1991, 1518, 1747, 1747, 1747, 1991, - 1747, 1991, 1518, 1747, 1747, 1747, 1991, 1747, 1991, 1518, - 1747, 1747, 1747, 1991, 1747, 1991, 1518, 1747, 1747, 1747, - 1747, 1991, 1518, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 2007, 1747, 2008, - 1747, 1991, 1518, 1747, 1747, 1747, 1747, 1747, 1747, 1991, - 1518, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 2009, 2010, 1747, 0, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747 + 1762, 1762, 1761, 3, 1761, 5, 1761, 7, 1763, 1763, + 10, 10, 1764, 1764, 1761, 15, 1764, 1764, 3, 19, + 1764, 1764, 1764, 1764, 1765, 1765, 1766, 1766, 1764, 1764, + 1767, 1767, 1761, 1768, 1761, 1761, 1761, 1761, 1768, 1768, + 1768, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1769, 1770, 1761, 1769, 1761, 1771, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1772, 1761, 1761, + 1772, 1761, 1761, 71, 1773, 1774, 71, 1761, 1761, 1761, + 1761, 1761, 1775, 69, 1775, 1761, 85, 1776, 1777, 85, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1778, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1779, + 1779, 1779, 1761, 1761, 1761, 1761, 1761, 1761, 1780, 1778, + 1761, 1761, 1761, 1761, 1761, 1769, 1761, 1761, 1761, 1761, + 1761, 130, 130, 1761, 1761, 1761, 1761, 1761, 1761, 1781, + 1761, 1761, 1761, 1761, 1781, 1761, 1781, 1781, 1781, 1781, + 1781, 1781, 1761, 1761, 1761, 1761, 1782, 1761, 1761, 1768, + 1768, 1768, 1768, 1761, 1761, 1761, 1783, 1761, 1768, 1768, + 1768, 1761, 1784, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1785, 49, 1786, 1761, 1786, + + 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, + 1786, 1786, 1786, 1786, 1786, 1786, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1787, 1761, 1761, 1761, 1769, 1769, 1769, + 1788, 1761, 1761, 1761, 1761, 1761, 1761, 1789, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1790, 1791, 1761, 1792, 1793, + 1791, 1761, 1761, 1761, 1761, 1794, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1790, 1761, 1795, 1761, 1761, 265, + 265, 1796, 1797, 1798, 1797, 1761, 1761, 1761, 1799, 1761, + 1799, 281, 1761, 1761, 1761, 1761, 1791, 1761, 1761, 1761, + 1761, 1761, 1761, 1800, 1801, 1761, 1802, 1803, 1801, 1761, + + 1761, 1761, 1804, 1761, 1800, 1761, 1805, 1761, 1761, 305, + 305, 1806, 1807, 1808, 1807, 1761, 1761, 1761, 1809, 1761, + 1809, 321, 1761, 1761, 1761, 1801, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1810, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1811, 1761, 1761, 1761, 1761, 1812, 1812, 1812, 1761, + 1761, 1761, 1761, 1813, 1813, 1761, 1761, 1761, 1761, 1814, + 1761, 1761, 1815, 1816, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1817, 1761, 1761, 1817, 1817, 1817, 1817, 1817, + 1817, 1817, 1817, 1817, 1761, 1761, 1761, 1761, 1818, 1819, + + 1820, 1821, 1761, 1821, 1761, 1761, 1761, 1822, 1761, 1761, + 1761, 1761, 1761, 1761, 1823, 1761, 1823, 1824, 1823, 1825, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, + 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, + 1825, 1825, 1825, 1825, 1825, 1761, 1761, 1761, 1761, 1761, + 1761, 1822, 1822, 1822, 1822, 1761, 1761, 473, 1822, 1822, + 1761, 1826, 1761, 1761, 1761, 1761, 1827, 1761, 1761, 1761, + 1828, 1761, 1761, 1829, 1829, 1830, 1829, 1761, 1761, 1761, + + 1761, 1831, 1832, 1832, 1761, 1761, 1761, 1833, 1761, 1834, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1835, 1836, 1836, + 1761, 1761, 1761, 1828, 1829, 525, 1837, 1761, 1761, 1828, + 1838, 1839, 1840, 1837, 1761, 1761, 1761, 1761, 1837, 1761, + 1838, 1839, 1840, 1837, 1761, 1761, 1761, 525, 1841, 1842, + 1842, 1843, 1842, 1761, 1761, 1761, 1844, 1761, 1761, 1761, + 1761, 1761, 1845, 1846, 1846, 1761, 1761, 1761, 1845, 1761, + 1761, 1761, 1761, 1761, 1847, 1761, 1761, 1848, 1848, 1849, + 1848, 1761, 1761, 1761, 1761, 1850, 1851, 1851, 1761, 1761, + 1761, 1852, 1761, 1853, 1761, 1761, 1761, 1761, 1761, 1854, + + 1855, 1855, 1761, 1761, 1761, 1847, 1848, 607, 1856, 1761, + 1761, 1847, 1857, 1858, 1859, 1856, 1761, 1761, 1761, 1761, + 1856, 1761, 1857, 1858, 1859, 1856, 1761, 1761, 1761, 607, + 1860, 1861, 1861, 1862, 1861, 1761, 1761, 1761, 1863, 1761, + 1761, 1761, 1761, 1761, 1864, 1865, 1865, 1761, 1761, 1761, + 1761, 1761, 1866, 1864, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1867, 1761, 1761, 1761, 1761, 1761, 1868, 1761, 1761, + 1761, 1869, 1870, 1869, 1871, 1761, 1761, 1761, 1761, 1761, + 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1873, 1874, + 1761, 1761, 1875, 1875, 694, 1761, 1869, 1869, 1761, 1869, + + 1876, 674, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1877, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1878, + 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, + 1878, 1878, 1878, 1878, 1761, 1878, 1761, 1761, 1761, 1761, + 1878, 1878, 1878, 1878, 1761, 1761, 1878, 1878, 1878, 1878, + 1878, 1878, 1878, 1761, 1875, 765, 1761, 1875, 1761, 1761, + 1761, 765, 694, 694, 1879, 1879, 1761, 1880, 1881, 1761, + 1882, 1883, 1884, 1884, 1761, 1761, 1761, 1761, 1761, 1885, + 1885, 1885, 1761, 1761, 1761, 1761, 1761, 1886, 1886, 1887, + + 1761, 1761, 1761, 1888, 1761, 1761, 1761, 1761, 1761, 1761, + 1889, 1889, 1889, 1761, 1761, 1761, 1761, 1761, 1880, 1881, + 1890, 1761, 1761, 1761, 1891, 1882, 1881, 1881, 819, 1892, + 1881, 1761, 1761, 1761, 1893, 1761, 1761, 1761, 1894, 1761, + 1761, 1761, 1881, 819, 1761, 1761, 1761, 1761, 1761, 819, + 1881, 819, 1895, 1896, 826, 1897, 1898, 1899, 1761, 1761, + 1761, 1900, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1901, 1901, 1901, 1761, 1761, 1761, 1761, 1761, 1901, 1761, + 1761, 1902, 1903, 1761, 1904, 1905, 1906, 1906, 1761, 1761, + 1761, 1761, 1761, 1907, 1907, 1907, 1761, 1761, 1761, 1761, + + 1761, 1908, 1908, 1909, 1761, 1761, 1761, 1910, 1761, 1761, + 1761, 1761, 1761, 1761, 1911, 1911, 1911, 1761, 1761, 1761, + 1761, 1761, 1902, 1903, 1912, 1761, 1761, 1761, 1913, 1904, + 1903, 1903, 923, 1914, 1903, 1761, 1761, 1761, 1915, 1761, + 1761, 1761, 1916, 1761, 1761, 1761, 1903, 923, 1761, 1761, + 1761, 1761, 1761, 923, 1903, 923, 1917, 1918, 930, 1919, + 1920, 1921, 1761, 1761, 1761, 1922, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1923, 1923, 1923, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1924, 1924, 1923, 1761, + 1925, 1925, 1761, 1926, 1926, 1926, 1927, 1928, 1929, 1761, + + 1925, 1925, 992, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1930, 1761, 1761, 1761, 1931, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1761, 1761, 1932, 1932, 1932, 1932, 1932, + 1761, 1932, 1761, 1932, 1761, 1761, 1761, 1932, 1932, 1932, + 1761, 1932, 1053, 1932, 1761, 1761, 1761, 1932, 1932, 1761, + 1761, 1932, 1929, 1929, 1929, 1073, 1929, 1761, 1929, 1929, + 1933, 1761, 1934, 1935, 1935, 1935, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1936, 1761, 1761, 1761, 1761, + + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1937, 1761, 1761, + 1761, 1761, 1761, 1938, 1761, 1761, 1761, 1934, 1939, 1940, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1941, 1941, 1761, + 1761, 1761, 1761, 1761, 1118, 1761, 1118, 1939, 1761, 1933, + 1118, 1942, 1942, 1943, 1942, 1761, 1761, 1761, 1944, 1939, + 1942, 1942, 1945, 1946, 1761, 1761, 1761, 1947, 1948, 1948, + 1761, 1761, 1761, 1949, 1761, 1950, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1951, 1761, + 1952, 1953, 1953, 1953, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1954, 1761, 1761, 1761, 1761, 1761, 1761, + + 1761, 1761, 1761, 1761, 1761, 1955, 1761, 1761, 1761, 1761, + 1761, 1956, 1761, 1761, 1761, 1952, 1957, 1958, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1959, 1959, 1761, 1761, 1761, + 1761, 1761, 1216, 1761, 1216, 1957, 1761, 1951, 1216, 1960, + 1960, 1961, 1960, 1761, 1761, 1761, 1962, 1957, 1960, 1960, + 1963, 1964, 1761, 1761, 1761, 1965, 1966, 1966, 1761, 1761, + 1761, 1967, 1761, 1968, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1969, 1761, 1761, 1970, + 1971, 1972, 1972, 1761, 1761, 1761, 1761, 1973, 1761, 1974, + 1761, 1761, 1761, 1761, 1761, 1975, 1761, 1761, 1761, 1761, + + 1976, 1761, 1761, 1977, 1761, 1978, 1978, 1978, 1307, 1761, + 1307, 1761, 1307, 1761, 1761, 1761, 1307, 1761, 1307, 1312, + 1761, 1761, 1761, 1761, 1761, 1307, 1307, 1307, 1307, 1761, + 1307, 1312, 1761, 1761, 1761, 1307, 1307, 1761, 1761, 1307, + 1761, 1307, 1312, 1761, 1761, 1761, 1307, 1307, 1761, 1307, + 1312, 1761, 1761, 1761, 1307, 1761, 1972, 1283, 1979, 1980, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1979, 1980, 1980, 1375, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1980, 1375, 1375, 1981, 1982, + 1982, 1761, 1761, 1761, 1761, 1761, 1983, 1984, 1984, 1761, + + 1761, 1761, 1980, 1985, 1986, 1986, 1761, 1761, 1761, 1761, + 1761, 1987, 1987, 1987, 1761, 1761, 1761, 1761, 1761, 1988, + 1988, 1989, 1761, 1761, 1761, 1990, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1991, 1992, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1991, 1992, 1992, 1451, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1992, 1451, 1451, 1993, 1994, 1994, 1761, 1761, 1761, + 1761, 1761, 1995, 1996, 1996, 1761, 1761, 1761, 1992, 1997, + 1998, 1998, 1761, 1761, 1761, 1761, 1761, 1999, 1999, 1999, + 1761, 1761, 1761, 1761, 1761, 2000, 2000, 2001, 1761, 1761, + + 1761, 2002, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 2003, 1761, 2004, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 2005, 1761, + 2006, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 2006, 1532, + 1761, 1761, 1761, 2006, 2006, 2006, 1761, 1761, 2006, 1761, + 1761, 2006, 1761, 1761, 2006, 2006, 2006, 2006, 1761, 2006, + 1532, 1761, 1761, 1761, 2007, 1761, 1761, 1761, 1761, 2008, + 1761, 1761, 2008, 2009, 2009, 2009, 1761, 1761, 1761, 1761, + 1761, 1761, 2010, 2010, 2010, 1761, 1761, 1761, 1761, 1761, + 2011, 2011, 2011, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + + 1761, 1761, 2012, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 2013, 1761, 1761, 2013, 2014, + 2014, 2014, 1761, 1761, 1761, 1761, 1761, 1761, 2015, 2015, + 2015, 1761, 1761, 1761, 1761, 1761, 2016, 2016, 2016, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 2001, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 2017, 1761, + 2018, 1761, 2019, 1761, 2020, 2021, 1761, 1761, 2006, 1532, + 1761, 1761, 1761, 2006, 1761, 2006, 1532, 1761, 1761, 1761, + 2006, 1761, 2006, 1532, 1761, 1761, 1761, 2006, 1761, 2006, + 1532, 1761, 1761, 1761, 1761, 2006, 1532, 1761, 1761, 1761, + + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 2022, 1761, 2023, 1761, 2006, 1532, 1761, 1761, 1761, + 1761, 1761, 1761, 2006, 1532, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 2024, 2025, 1761, + 0, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761 } ; -static const flex_int16_t yy_nxt[13295] = +static const flex_int16_t yy_nxt[13396] = { 0, - 1747, 1747, 35, 36, 37, 35, 36, 37, 105, 106, - 105, 106, 176, 182, 380, 176, 182, 380, 177, 183, - 1747, 1747, 231, 178, 178, 184, 38, 1747, 184, 42, - 266, 266, 266, 266, 177, 183, 687, 185, 222, 185, - 186, 222, 187, 187, 187, 187, 220, 1747, 221, 221, - 221, 221, 233, 285, 687, 223, 223, 223, 223, 357, - 357, 357, 224, 233, 285, 417, 247, 417, 245, 245, - 245, 245, 39, 40, 41, 39, 40, 41, 43, 44, + 1761, 1761, 35, 36, 37, 35, 36, 37, 105, 106, + 105, 106, 176, 182, 381, 176, 182, 381, 177, 183, + 1761, 1761, 232, 178, 178, 184, 38, 1761, 184, 42, + 267, 267, 267, 267, 177, 183, 690, 185, 223, 185, + 186, 223, 187, 187, 187, 187, 221, 1761, 222, 222, + 222, 222, 234, 286, 690, 224, 224, 224, 224, 358, + 358, 358, 225, 234, 286, 418, 248, 418, 246, 246, + 246, 246, 39, 40, 41, 39, 40, 41, 43, 44, 45, 46, 44, 43, 47, 48, 43, 43, 49, 50, 43, 51, 43, 51, 52, 53, 54, 54, 54, 54, @@ -1281,21 +1287,21 @@ static const flex_int16_t yy_nxt[13295] = 83, 83, 83, 83, 43, 43, 62, 83, 63, 63, 91, 92, 93, 95, 96, 97, 95, 171, 172, 173, - 98, 722, 98, 98, 98, 98, 723, 98, 98, 99, - 179, 777, 171, 172, 173, 785, 180, 98, 171, 172, - 173, 181, 1008, 171, 172, 173, 370, 370, 370, 370, - 1009, 98, 100, 98, 328, 383, 343, 328, 383, 343, - 1089, 108, 109, 110, 108, 1553, 111, 108, 109, 110, - 108, 793, 111, 139, 140, 141, 139, 375, 111, 98, - 375, 98, 101, 101, 102, 103, 104, 95, 96, 97, - 95, 233, 285, 329, 98, 344, 98, 98, 98, 98, - 112, 98, 98, 99, 410, 295, 112, 293, 293, 293, - - 293, 98, 142, 225, 799, 226, 376, 227, 227, 227, - 227, 378, 379, 402, 403, 98, 100, 98, 806, 229, - 113, 113, 114, 115, 116, 1101, 113, 113, 114, 115, - 116, 411, 113, 113, 114, 115, 116, 229, 385, 385, - 385, 385, 1747, 98, 231, 98, 101, 101, 102, 103, + 98, 726, 98, 98, 98, 98, 727, 98, 98, 99, + 179, 704, 171, 172, 173, 420, 180, 98, 171, 172, + 173, 181, 1013, 171, 172, 173, 371, 371, 371, 371, + 1014, 98, 100, 98, 329, 384, 344, 329, 384, 344, + 703, 108, 109, 110, 108, 704, 111, 108, 109, 110, + 108, 1084, 111, 139, 140, 141, 139, 376, 111, 98, + 376, 98, 101, 101, 102, 103, 104, 95, 96, 97, + 95, 234, 286, 330, 98, 345, 98, 98, 98, 98, + 112, 98, 98, 99, 411, 296, 112, 294, 294, 294, + + 294, 98, 142, 226, 1566, 227, 377, 228, 228, 228, + 228, 379, 380, 403, 404, 98, 100, 98, 782, 230, + 113, 113, 114, 115, 116, 790, 113, 113, 114, 115, + 116, 412, 113, 113, 114, 115, 116, 230, 386, 386, + 386, 386, 1761, 98, 232, 98, 101, 101, 102, 103, 104, 117, 107, 118, 119, 107, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 120, 120, 120, 120, 117, 117, 117, 117, 117, 120, 120, @@ -1305,1421 +1311,1432 @@ static const flex_int16_t yy_nxt[13295] = 120, 120, 120, 120, 120, 120, 120, 120, 121, 120, 120, 120, 120, 120, 120, 122, 120, 117, 117, 117, 117, 123, 123, 124, 125, 126, 108, 127, 128, 108, - 222, 222, 1554, 222, 222, 139, 140, 141, 139, 815, - 111, 164, 165, 332, 655, 166, 164, 165, 347, 661, - 166, 129, 241, 1107, 224, 241, 378, 379, 481, 656, - 366, 481, 656, 366, 242, 130, 242, 243, 131, 244, - 244, 244, 244, 289, 142, 367, 289, 378, 676, 167, - 346, 171, 172, 173, 167, 290, 662, 290, 291, 662, - 292, 292, 292, 292, 1555, 113, 113, 114, 115, 116, + 223, 223, 1096, 223, 223, 139, 140, 141, 139, 1567, + 111, 164, 165, 333, 658, 166, 164, 165, 348, 664, + 166, 129, 242, 798, 225, 242, 379, 380, 484, 659, + 367, 484, 659, 367, 243, 130, 243, 244, 131, 245, + 245, 245, 245, 290, 142, 368, 290, 379, 679, 167, + 347, 171, 172, 173, 167, 291, 665, 291, 292, 665, + 293, 293, 293, 293, 804, 113, 113, 114, 115, 116, 108, 127, 128, 108, 113, 113, 114, 115, 116, 113, - 113, 114, 115, 116, 113, 113, 114, 115, 116, 386, - 387, 387, 387, 402, 403, 129, 222, 189, 328, 222, - 371, 328, 372, 190, 373, 373, 373, 373, 191, 130, - 246, 305, 131, 306, 306, 306, 306, 688, 403, 247, - 224, 171, 172, 173, 179, 248, 171, 172, 173, 249, - 404, 192, 1113, 404, 193, 388, 194, 329, 716, 113, - 113, 114, 115, 116, 132, 250, 1557, 132, 195, 389, - 133, 717, 70, 58, 405, 196, 134, 72, 134, 135, - 43, 136, 136, 136, 136, 822, 267, 389, 268, 137, - - 269, 269, 269, 269, 830, 251, 252, 253, 465, 465, - 465, 465, 270, 138, 272, 70, 139, 140, 141, 139, - 307, 1121, 308, 247, 309, 309, 309, 309, 1558, 273, - 270, 279, 199, 249, 414, 414, 310, 280, 294, 280, - 834, 129, 281, 281, 281, 281, 255, 295, 180, 274, - 171, 172, 173, 296, 310, 143, 1375, 297, 131, 312, - 181, 693, 171, 172, 173, 694, 694, 179, 295, 171, - 172, 173, 1566, 298, 313, 555, 556, 557, 297, 275, - 276, 277, 420, 421, 422, 113, 113, 114, 115, 116, - 139, 140, 141, 139, 314, 1567, 282, 283, 284, 670, - - 189, 670, 1135, 299, 300, 301, 190, 1568, 319, 481, - 233, 191, 481, 693, 320, 129, 320, 996, 996, 321, - 321, 321, 321, 302, 315, 316, 317, 199, 1383, 143, - 481, 233, 131, 481, 192, 1003, 1004, 193, 388, 194, - 390, 390, 390, 390, 1575, 400, 397, 171, 172, 173, - 1576, 368, 389, 445, 199, 979, 979, 397, 369, 113, - 113, 114, 115, 116, 145, 146, 147, 145, 656, 332, - 389, 656, 148, 322, 323, 324, 1390, 420, 421, 422, - 397, 149, 149, 149, 149, 397, 439, 1583, 440, 397, - 149, 149, 149, 149, 662, 347, 397, 662, 1584, 397, - - 404, 397, 398, 404, 420, 421, 422, 149, 149, 149, - 149, 149, 149, 145, 146, 147, 145, 223, 223, 223, - 223, 148, 677, 176, 405, 677, 176, 979, 979, 177, - 149, 149, 149, 149, 178, 223, 223, 223, 223, 149, - 149, 149, 149, 1144, 182, 177, 199, 182, 1585, 220, + 113, 114, 115, 116, 113, 113, 114, 115, 116, 387, + 388, 388, 388, 403, 404, 129, 223, 189, 329, 223, + 372, 329, 373, 190, 374, 374, 374, 374, 191, 130, + 247, 306, 131, 307, 307, 307, 307, 691, 404, 248, + 225, 171, 172, 173, 179, 249, 171, 172, 173, 250, + 405, 192, 811, 405, 193, 389, 194, 330, 719, 113, + 113, 114, 115, 116, 132, 251, 1108, 132, 195, 390, + 133, 720, 70, 58, 406, 196, 134, 72, 134, 135, + 43, 136, 136, 136, 136, 1568, 268, 390, 269, 137, + + 270, 270, 270, 270, 820, 252, 253, 254, 468, 468, + 468, 468, 271, 138, 273, 70, 139, 140, 141, 139, + 308, 1114, 309, 248, 310, 310, 310, 310, 1569, 274, + 271, 280, 199, 250, 415, 415, 311, 281, 295, 281, + 1120, 129, 282, 282, 282, 282, 256, 296, 180, 275, + 171, 172, 173, 297, 311, 143, 1571, 298, 131, 313, + 181, 696, 171, 172, 173, 697, 697, 179, 296, 171, + 172, 173, 827, 299, 314, 558, 559, 560, 298, 276, + 277, 278, 421, 422, 423, 113, 113, 114, 115, 116, + 139, 140, 141, 139, 315, 835, 283, 284, 285, 673, + + 189, 673, 1128, 300, 301, 302, 190, 1572, 320, 484, + 234, 191, 484, 696, 321, 129, 321, 1001, 1001, 322, + 322, 322, 322, 303, 316, 317, 318, 199, 839, 143, + 484, 234, 131, 484, 192, 1008, 1009, 193, 389, 194, + 391, 391, 391, 391, 1389, 401, 398, 171, 172, 173, + 1580, 369, 390, 447, 199, 984, 984, 398, 370, 113, + 113, 114, 115, 116, 145, 146, 147, 145, 659, 333, + 390, 659, 148, 323, 324, 325, 1581, 421, 422, 423, + 398, 149, 149, 149, 149, 398, 441, 1142, 442, 398, + 149, 149, 149, 149, 665, 348, 398, 665, 1582, 398, + + 405, 398, 399, 405, 421, 422, 423, 149, 149, 149, + 149, 149, 149, 145, 146, 147, 145, 224, 224, 224, + 224, 148, 680, 176, 406, 680, 176, 984, 984, 177, + 149, 149, 149, 149, 178, 224, 224, 224, 224, 149, + 149, 149, 149, 1397, 182, 177, 199, 182, 1589, 221, 183, 187, 187, 187, 187, 178, 149, 149, 149, 149, 149, 149, 151, 152, 153, 151, 183, 154, 155, 199, - 1398, 156, 156, 156, 184, 156, 157, 184, 441, 158, - 159, 159, 159, 156, 343, 1586, 185, 343, 185, 186, - 1587, 187, 187, 187, 187, 412, 420, 421, 422, 413, - - 156, 413, 156, 156, 414, 414, 461, 1151, 1588, 406, - 160, 407, 199, 408, 408, 408, 408, 161, 1406, 420, - 421, 422, 162, 344, 199, 409, 702, 156, 703, 156, - 163, 151, 152, 153, 151, 1593, 154, 155, 199, 451, - 156, 156, 156, 409, 156, 157, 1594, 1412, 158, 159, - 159, 159, 156, 415, 449, 415, 1595, 1596, 416, 416, - 416, 225, 420, 421, 422, 473, 473, 473, 473, 156, - 1157, 156, 156, 455, 420, 421, 422, 1597, 848, 160, - 480, 480, 480, 480, 677, 378, 161, 677, 420, 421, - 422, 162, 482, 482, 482, 857, 156, 483, 156, 163, - - 197, 866, 380, 197, 198, 380, 1175, 198, 637, 638, - 639, 198, 198, 1598, 198, 199, 198, 198, 198, 198, - 198, 199, 383, 198, 198, 383, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 982, 198, - 982, 458, 881, 200, 201, 202, 203, 204, 205, 206, - 198, 207, 198, 208, 209, 210, 211, 198, 212, 213, - 214, 215, 198, 198, 198, 420, 421, 422, 198, 648, - 889, 216, 217, 218, 233, 234, 235, 1187, 225, 1599, - 466, 649, 467, 467, 467, 467, 705, 302, 650, 199, - 236, 236, 236, 706, 409, 357, 357, 357, 468, 707, - - 469, 897, 470, 470, 470, 470, 266, 266, 266, 266, - 648, 442, 409, 405, 472, 903, 235, 235, 443, 910, - 235, 235, 649, 366, 444, 1199, 366, 199, 235, 650, - 388, 235, 472, 235, 199, 235, 237, 189, 367, 420, - 421, 422, 375, 190, 389, 375, 1600, 199, 191, 254, - 254, 254, 254, 255, 256, 404, 450, 919, 404, 446, - 447, 448, 389, 257, 258, 259, 260, 261, 262, 452, - 719, 192, 481, 720, 193, 481, 194, 420, 421, 422, - 656, 376, 199, 656, 420, 421, 422, 199, 195, 179, - 199, 171, 172, 173, 199, 196, 246, 420, 421, 422, - - 498, 498, 498, 498, 453, 263, 1205, 264, 264, 264, - 264, 248, 416, 416, 416, 249, 662, 454, 1601, 662, - 459, 657, 657, 657, 456, 460, 658, 457, 462, 1211, - 199, 250, 420, 421, 422, 1603, 506, 420, 421, 422, - 420, 421, 422, 696, 420, 421, 422, 697, 697, 697, - 225, 507, 226, 926, 227, 227, 227, 227, 709, 710, - 711, 251, 252, 253, 294, 486, 229, 244, 244, 244, - 244, 656, 332, 303, 656, 304, 304, 304, 304, 296, - 420, 421, 422, 297, 229, 478, 1747, 478, 231, 934, - 479, 479, 479, 479, 241, 662, 347, 241, 662, 298, - - 1219, 508, 509, 510, 513, 1604, 242, 677, 242, 243, - 677, 244, 244, 244, 244, 254, 254, 254, 254, 938, - 1451, 514, 521, 521, 521, 521, 800, 801, 802, 299, - 300, 301, 331, 331, 332, 333, 334, 331, 331, 331, - 335, 331, 335, 335, 335, 335, 331, 335, 335, 335, - 336, 336, 336, 331, 331, 331, 331, 335, 331, 331, - 331, 337, 331, 331, 331, 331, 331, 331, 337, 331, - 337, 335, 334, 335, 331, 331, 334, 334, 331, 337, - 334, 334, 331, 331, 331, 331, 331, 331, 334, 331, - 331, 334, 337, 334, 331, 334, 338, 331, 331, 335, - - 331, 335, 331, 331, 331, 331, 331, 347, 348, 349, - 1612, 349, 1613, 487, 349, 488, 1233, 489, 489, 489, - 489, 492, 1614, 350, 350, 350, 1459, 267, 1621, 490, - 247, 535, 535, 535, 535, 1747, 493, 1747, 469, 570, - 249, 292, 292, 292, 292, 349, 1622, 490, 349, 349, - 349, 1466, 1012, 349, 349, 1013, 494, 582, 582, 582, - 582, 349, 590, 1629, 349, 1630, 349, 1242, 349, 351, - 358, 358, 358, 358, 1631, 1474, 246, 591, 1632, 358, - 358, 358, 358, 1633, 1249, 247, 495, 496, 497, 1634, - 1482, 248, 831, 832, 833, 249, 358, 358, 358, 358, - - 358, 358, 360, 199, 361, 361, 1639, 1640, 362, 361, - 362, 250, 1488, 363, 363, 363, 363, 500, 831, 832, - 833, 361, 603, 603, 603, 603, 247, 592, 593, 594, - 246, 1641, 273, 1642, 361, 726, 249, 361, 1255, 247, - 1643, 251, 252, 253, 952, 248, 663, 663, 663, 249, - 961, 664, 501, 420, 421, 422, 289, 677, 378, 289, - 677, 361, 347, 348, 349, 250, 349, 970, 290, 349, - 290, 291, 1644, 292, 292, 292, 292, 1645, 350, 350, - 350, 1646, 502, 503, 504, 307, 365, 1647, 1648, 617, - 617, 617, 617, 1649, 693, 251, 252, 253, 694, 694, - - 349, 1650, 693, 349, 349, 349, 694, 694, 349, 349, - 667, 667, 667, 667, 1651, 1747, 349, 1747, 469, 349, - 1652, 349, 1653, 349, 351, 423, 424, 425, 426, 427, - 428, 429, 419, 430, 700, 431, 432, 433, 434, 701, - 435, 436, 437, 438, 474, 474, 474, 474, 474, 474, - 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, - 419, 474, 475, 475, 475, 475, 474, 474, 474, 474, - 474, 476, 476, 476, 477, 476, 476, 476, 476, 476, - 476, 476, 476, 474, 474, 474, 474, 474, 476, 476, - 476, 476, 477, 476, 476, 476, 476, 476, 476, 476, - - 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, - 474, 474, 474, 474, 474, 474, 474, 474, 474, 516, - 363, 363, 363, 363, 545, 1747, 545, 247, 247, 546, - 546, 546, 546, 700, 273, 482, 482, 482, 249, 701, - 483, 491, 548, 668, 419, 668, 700, 272, 669, 669, - 669, 247, 701, 199, 517, 1077, 247, 549, 1089, 491, - 272, 249, 273, 858, 859, 860, 249, 1101, 1107, 247, - 555, 556, 557, 404, 1113, 273, 404, 550, 727, 249, - 1121, 1560, 274, 1689, 518, 519, 520, 492, 305, 1690, - 306, 306, 306, 306, 267, 274, 268, 405, 522, 522, - - 522, 522, 493, 420, 421, 422, 249, 551, 552, 553, - 523, 1375, 275, 276, 277, 561, 675, 675, 675, 675, - 1691, 199, 494, 246, 247, 275, 276, 277, 523, 1135, - 248, 1569, 247, 1692, 249, 904, 905, 906, 248, 1693, - 1383, 571, 249, 572, 1694, 573, 573, 573, 573, 1577, - 562, 1695, 495, 496, 497, 525, 728, 574, 250, 935, - 936, 937, 526, 1696, 527, 1390, 528, 528, 528, 528, - 529, 420, 421, 422, 530, 574, 1697, 1144, 531, 371, - 563, 564, 565, 674, 674, 674, 674, 1398, 251, 252, - 253, 1698, 1151, 371, 1589, 672, 531, 673, 673, 673, - - 673, 371, 678, 372, 1699, 373, 373, 373, 373, 680, - 680, 680, 680, 385, 385, 385, 385, 1700, 1406, 679, - 532, 533, 534, 474, 474, 474, 474, 474, 536, 474, - 537, 536, 474, 474, 474, 536, 536, 474, 536, 1701, - 474, 538, 538, 538, 538, 539, 474, 536, 536, 540, - 536, 536, 536, 541, 536, 536, 536, 536, 536, 536, - 536, 536, 474, 536, 474, 474, 474, 536, 536, 536, - 536, 541, 536, 536, 536, 536, 536, 536, 536, 536, - 536, 536, 536, 536, 536, 536, 536, 536, 536, 474, - 474, 474, 536, 474, 474, 542, 543, 544, 561, 465, - - 465, 465, 465, 1412, 1702, 576, 1157, 247, 1175, 566, - 566, 566, 566, 248, 295, 1187, 294, 249, 1199, 584, - 577, 935, 936, 937, 297, 295, 1205, 294, 295, 751, - 1211, 296, 751, 562, 313, 297, 295, 1219, 297, 752, - 578, 598, 296, 962, 963, 964, 297, 637, 638, 639, - 295, 298, 1606, 978, 585, 978, 313, 1703, 979, 979, - 297, 1704, 298, 563, 564, 565, 767, 767, 767, 767, - 579, 580, 581, 406, 1451, 199, 599, 689, 689, 689, - 689, 299, 300, 301, 586, 587, 588, 690, 690, 690, - 690, 1705, 299, 300, 301, 627, 1747, 627, 295, 691, - - 628, 628, 628, 628, 1233, 1615, 600, 601, 602, 576, - 1706, 1707, 575, 729, 730, 1459, 307, 691, 308, 1708, - 604, 604, 604, 604, 577, 420, 421, 422, 297, 199, - 575, 1623, 605, 681, 1709, 681, 630, 1710, 682, 682, - 682, 682, 1466, 312, 578, 295, 751, 199, 312, 751, - 605, 631, 295, 1711, 199, 297, 752, 295, 313, 669, - 669, 669, 297, 313, 731, 1242, 1474, 297, 657, 657, - 657, 632, 737, 658, 579, 580, 581, 607, 314, 420, - 421, 422, 199, 314, 608, 199, 609, 1712, 610, 610, - 610, 610, 611, 740, 1249, 1635, 612, 420, 421, 422, - - 613, 633, 634, 635, 420, 421, 422, 1713, 315, 316, - 317, 1714, 733, 315, 316, 317, 1482, 478, 613, 478, - 747, 1715, 692, 692, 692, 692, 692, 692, 692, 692, - 1488, 1716, 420, 421, 422, 420, 421, 422, 480, 480, - 480, 480, 614, 615, 616, 474, 474, 474, 474, 474, - 618, 474, 619, 618, 474, 474, 474, 618, 618, 474, - 618, 1255, 618, 620, 620, 620, 620, 621, 474, 618, - 618, 622, 618, 618, 618, 623, 618, 618, 618, 618, - 618, 618, 618, 618, 474, 618, 474, 474, 474, 618, - 618, 618, 618, 623, 618, 618, 618, 618, 618, 618, - - 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, - 618, 474, 474, 474, 618, 474, 474, 624, 625, 626, - 643, 1747, 199, 1747, 469, 294, 468, 1717, 1718, 295, - 761, 761, 761, 761, 295, 296, 663, 663, 663, 297, - 296, 664, 1719, 388, 297, 390, 390, 390, 390, 388, - 1720, 390, 390, 390, 390, 644, 419, 389, 736, 700, - 298, 199, 406, 389, 407, 701, 408, 408, 408, 408, - 419, 700, 420, 421, 422, 389, 199, 701, 409, 199, - 419, 389, 199, 700, 701, 645, 646, 647, 643, 199, - 299, 300, 301, 732, 419, 199, 409, 295, 199, 651, - - 651, 651, 651, 296, 700, 1025, 734, 297, 1025, 701, - 199, 420, 421, 422, 735, 1026, 738, 419, 700, 739, - 749, 701, 748, 644, 1560, 754, 420, 421, 422, 420, - 421, 422, 420, 421, 422, 1735, 1375, 753, 1569, 420, - 421, 422, 1736, 1383, 750, 420, 421, 422, 420, 421, - 422, 1577, 1737, 645, 646, 647, 358, 358, 358, 358, - 420, 421, 422, 199, 1390, 358, 358, 358, 358, 762, - 751, 762, 1398, 751, 763, 763, 763, 763, 1589, 1738, - 752, 1406, 358, 358, 358, 358, 358, 358, 698, 1412, - 1606, 199, 699, 699, 699, 699, 1739, 755, 992, 992, - - 992, 699, 699, 699, 699, 980, 199, 980, 1451, 199, - 981, 981, 981, 420, 421, 422, 1615, 1740, 699, 699, - 699, 699, 699, 699, 741, 741, 741, 741, 741, 199, - 741, 742, 1459, 741, 741, 741, 1623, 1741, 741, 756, - 741, 420, 421, 422, 1466, 1474, 743, 741, 1635, 696, - 741, 1742, 757, 986, 986, 986, 420, 421, 422, 420, - 421, 422, 1482, 741, 1488, 741, 742, 741, 758, 478, - 1743, 478, 419, 700, 768, 768, 768, 768, 701, 420, - 421, 422, 769, 419, 770, 770, 770, 770, 1743, 700, - 741, 741, 741, 701, 741, 741, 744, 745, 746, 474, - - 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, - 474, 474, 474, 474, 474, 1560, 474, 760, 760, 760, - 760, 474, 474, 474, 474, 474, 476, 476, 476, 477, - 476, 476, 476, 476, 476, 476, 476, 476, 474, 474, - 474, 474, 474, 476, 476, 476, 476, 477, 476, 476, - 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, - 476, 476, 476, 476, 476, 474, 474, 474, 474, 474, - 474, 474, 474, 474, 225, 1569, 466, 1577, 467, 467, - 467, 467, 468, 1589, 469, 1606, 470, 470, 470, 470, - 409, 266, 266, 266, 266, 225, 1615, 764, 472, 765, - - 765, 765, 765, 498, 498, 498, 498, 1623, 409, 1635, - 1552, 766, 1027, 487, 1077, 1027, 472, 772, 772, 772, - 772, 487, 1028, 488, 816, 489, 489, 489, 489, 766, - 525, 306, 306, 306, 306, 794, 701, 490, 1090, 1091, - 1092, 773, 773, 773, 773, 529, 700, 492, 419, 530, - 795, 701, 775, 774, 775, 490, 247, 776, 776, 776, - 776, 484, 493, 700, 492, 419, 249, 484, 701, 778, - 794, 774, 492, 247, 817, 818, 819, 700, 247, 493, - 659, 247, 494, 249, 273, 419, 659, 493, 249, 701, - 700, 249, 800, 801, 802, 532, 533, 534, 419, 494, - - 796, 797, 798, 1515, 779, 665, 786, 494, 1514, 500, - 1513, 665, 495, 496, 497, 247, 1038, 525, 247, 1038, - 1512, 549, 1511, 1510, 273, 249, 1039, 1509, 249, 495, - 496, 497, 820, 500, 780, 781, 782, 495, 496, 497, - 816, 787, 247, 1063, 501, 807, 1063, 1508, 273, 1507, - 516, 526, 249, 1064, 247, 821, 821, 821, 821, 247, - 549, 686, 525, 1506, 249, 273, 1505, 686, 501, 249, - 920, 788, 789, 790, 502, 503, 504, 529, 516, 1504, - 808, 530, 835, 836, 837, 517, 1503, 247, 1502, 1501, - 817, 818, 819, 273, 1102, 1103, 1104, 249, 502, 503, - - 504, 545, 1747, 545, 247, 1500, 546, 546, 546, 546, - 809, 810, 811, 517, 642, 518, 519, 520, 491, 571, - 921, 922, 923, 876, 876, 876, 876, 532, 533, 534, - 1496, 970, 838, 920, 838, 636, 491, 839, 839, 839, - 839, 816, 629, 518, 519, 520, 525, 582, 582, 582, - 582, 1495, 525, 526, 961, 527, 1494, 814, 814, 814, - 814, 529, 1108, 1109, 1110, 530, 267, 820, 842, 531, - 843, 843, 843, 843, 1747, 952, 247, 1493, 546, 546, - 546, 546, 844, 921, 922, 923, 1025, 531, 1492, 1025, - 491, 817, 818, 819, 607, 1255, 1026, 846, 1257, 846, - - 844, 548, 847, 847, 847, 847, 816, 1481, 491, 924, - 247, 532, 533, 534, 492, 1480, 549, 835, 836, 837, - 249, 267, 1249, 268, 1473, 522, 522, 522, 522, 493, - 1114, 1115, 1116, 249, 1472, 816, 550, 523, 571, 1242, - 572, 418, 573, 573, 573, 573, 608, 418, 816, 494, - 925, 925, 925, 925, 574, 523, 817, 818, 819, 939, - 940, 941, 667, 667, 667, 667, 551, 552, 553, 548, - 1458, 671, 574, 1027, 1457, 898, 1027, 671, 247, 495, - 496, 497, 823, 1028, 549, 817, 818, 819, 249, 526, - 899, 527, 1233, 824, 824, 824, 824, 825, 817, 818, - - 819, 530, 606, 1447, 550, 826, 879, 938, 879, 548, - 898, 880, 880, 880, 880, 1446, 825, 815, 247, 480, - 480, 480, 480, 826, 549, 371, 1445, 672, 249, 673, - 673, 673, 673, 992, 551, 552, 553, 867, 1219, 992, - 900, 901, 902, 1444, 550, 993, 247, 827, 828, 829, - 823, 993, 493, 934, 983, 607, 249, 526, 1443, 527, - 983, 845, 845, 845, 845, 825, 817, 818, 819, 530, - 924, 926, 868, 826, 551, 552, 553, 561, 682, 682, - 682, 682, 607, 696, 1442, 815, 247, 997, 997, 997, - 561, 826, 248, 831, 832, 833, 249, 611, 1441, 247, - - 1211, 612, 869, 870, 871, 248, 858, 859, 860, 249, - 998, 1436, 562, 998, 1435, 827, 828, 829, 849, 998, - 939, 940, 941, 1205, 1434, 562, 576, 850, 919, 851, - 851, 851, 851, 852, 696, 295, 1433, 853, 697, 697, - 697, 577, 563, 564, 565, 297, 1432, 614, 615, 616, - 1188, 1189, 1190, 494, 1199, 563, 564, 565, 942, 576, - 942, 578, 597, 943, 943, 943, 943, 920, 295, 682, - 682, 682, 682, 1431, 577, 371, 910, 672, 297, 988, - 988, 988, 988, 854, 855, 856, 867, 1068, 1068, 1068, - 1068, 579, 580, 581, 578, 247, 589, 874, 874, 874, - - 874, 493, 1747, 1430, 469, 249, 763, 763, 763, 763, - 904, 905, 906, 882, 1200, 1201, 1202, 921, 922, 923, - 576, 868, 295, 903, 579, 580, 581, 890, 313, 295, - 1038, 1273, 297, 1038, 1429, 577, 295, 1273, 897, 297, - 1039, 584, 631, 484, 1158, 484, 297, 920, 883, 484, - 295, 869, 870, 871, 607, 578, 313, 1274, 1498, 1159, - 297, 1428, 891, 1274, 1498, 877, 877, 877, 877, 611, - 1206, 1207, 1208, 612, 1427, 1187, 585, 878, 884, 885, - 886, 584, 1212, 1213, 1214, 579, 580, 581, 583, 1426, - 295, 889, 892, 893, 894, 878, 313, 921, 922, 923, - - 297, 575, 1425, 911, 881, 1424, 586, 587, 588, 1160, - 1161, 1162, 295, 1423, 598, 1175, 585, 598, 631, 614, - 615, 616, 297, 295, 1063, 1499, 295, 1063, 560, 313, - 1420, 1499, 313, 297, 1064, 1071, 297, 1071, 912, 1745, - 1072, 1072, 1072, 1072, 1746, 1745, 586, 587, 588, 599, - 1746, 920, 599, 866, 627, 1747, 627, 295, 554, 628, - 628, 628, 628, 680, 680, 680, 680, 547, 913, 914, - 915, 575, 935, 936, 937, 389, 962, 963, 964, 600, - 601, 602, 600, 601, 602, 607, 981, 981, 981, 575, - 1419, 857, 608, 389, 609, 1418, 918, 918, 918, 918, - - 611, 921, 922, 923, 612, 307, 848, 946, 613, 947, - 947, 947, 947, 1025, 1417, 1416, 1025, 767, 767, 767, - 767, 948, 950, 1026, 950, 1157, 613, 951, 951, 951, - 951, 920, 1159, 769, 199, 770, 770, 770, 770, 948, - 1747, 1405, 295, 794, 628, 628, 628, 628, 1404, 1151, - 614, 615, 616, 576, 1397, 659, 575, 659, 795, 1396, - 307, 659, 308, 1144, 604, 604, 604, 604, 577, 981, - 981, 981, 297, 665, 575, 665, 605, 1382, 794, 665, - 630, 921, 922, 923, 420, 421, 422, 630, 578, 295, - 1316, 929, 630, 1316, 605, 631, 295, 1381, 1135, 297, - - 1317, 295, 631, 1090, 1091, 1092, 297, 631, 796, 797, - 798, 297, 1102, 1103, 1104, 632, 524, 1371, 579, 580, - 581, 927, 632, 776, 776, 776, 776, 632, 608, 834, - 609, 1370, 928, 928, 928, 928, 929, 1108, 1109, 1110, - 612, 921, 922, 923, 930, 633, 634, 635, 824, 824, - 824, 824, 633, 634, 635, 971, 919, 633, 634, 635, - 643, 1369, 930, 1121, 295, 880, 880, 880, 880, 295, - 577, 1114, 1115, 1116, 297, 296, 406, 1368, 994, 297, - 995, 995, 995, 995, 830, 1367, 931, 932, 933, 927, - 972, 822, 766, 1366, 1365, 644, 608, 1113, 609, 1360, - - 949, 949, 949, 949, 929, 1413, 1414, 1415, 612, 1359, - 766, 1107, 930, 199, 643, 1358, 1066, 1066, 1066, 1066, - 973, 974, 975, 295, 919, 645, 646, 647, 1067, 296, - 930, 815, 1357, 297, 478, 1747, 478, 1747, 1356, 768, - 768, 768, 768, 1101, 1298, 1747, 1067, 1747, 515, 644, - 1073, 1073, 1073, 1073, 931, 932, 933, 953, 839, 839, - 839, 839, 816, 420, 421, 422, 954, 1355, 955, 955, - 955, 955, 956, 418, 806, 1027, 957, 418, 1027, 645, - 646, 647, 468, 418, 469, 1028, 470, 470, 470, 470, - 1747, 671, 578, 1747, 1747, 671, 199, 1747, 472, 1747, - - 1747, 671, 1747, 505, 1747, 1354, 799, 1747, 1353, 1747, - 1747, 199, 817, 818, 819, 199, 472, 1747, 793, 1352, - 199, 1351, 958, 959, 960, 971, 1089, 499, 199, 928, - 928, 928, 928, 1350, 295, 1029, 984, 984, 984, 984, - 577, 1030, 785, 491, 297, 1349, 420, 421, 422, 1078, - 777, 1348, 1031, 1347, 794, 1032, 1077, 701, 247, 700, - 972, 420, 421, 422, 549, 420, 421, 422, 249, 795, - 420, 421, 422, 1275, 1275, 1275, 1275, 419, 420, 421, - 422, 1256, 696, 199, 1079, 1276, 986, 986, 986, 794, - 973, 974, 975, 698, 701, 700, 1257, 987, 987, 987, - - 987, 1747, 419, 1276, 1747, 1297, 987, 987, 987, 987, - 1296, 1747, 1300, 1295, 1080, 1081, 1082, 1294, 1293, 796, - 797, 798, 199, 987, 987, 987, 987, 987, 987, 699, - 699, 699, 699, 420, 421, 422, 1292, 1291, 699, 699, - 699, 699, 1747, 1290, 1289, 1747, 1258, 1259, 1260, 1188, - 1189, 1190, 1747, 1288, 1033, 699, 699, 699, 699, 699, - 699, 1747, 1287, 199, 1747, 1747, 1286, 1285, 1747, 1284, - 1283, 1747, 420, 421, 422, 1747, 1072, 1072, 1072, 1072, - 1747, 1282, 199, 1747, 1038, 1330, 199, 1038, 1330, 1281, - 1747, 1280, 1279, 1034, 1039, 1331, 1747, 1278, 1277, 1747, - - 1747, 199, 419, 1747, 1270, 199, 1747, 318, 1747, 1035, - 1747, 1747, 1036, 420, 421, 422, 1269, 199, 1747, 642, - 1747, 199, 696, 1747, 199, 1268, 697, 697, 697, 199, - 1747, 1267, 420, 421, 422, 970, 420, 421, 422, 1040, - 1037, 199, 1132, 311, 1132, 1266, 636, 1133, 1133, 1133, - 1133, 420, 421, 422, 1265, 420, 421, 422, 1042, 1041, - 629, 469, 1299, 763, 763, 763, 763, 420, 421, 422, - 1264, 420, 421, 422, 420, 421, 422, 1263, 961, 420, - 421, 422, 1230, 1262, 1230, 199, 1261, 1231, 1231, 1231, - 1231, 420, 421, 422, 423, 424, 425, 426, 427, 428, - - 429, 952, 430, 1227, 431, 432, 433, 434, 606, 435, - 436, 437, 438, 1747, 1225, 1747, 1747, 1747, 1747, 1309, - 1747, 1224, 938, 1747, 468, 1747, 469, 1747, 470, 470, - 470, 470, 1218, 1217, 199, 420, 421, 422, 199, 934, - 472, 225, 1216, 764, 1215, 765, 765, 765, 765, 1747, - 983, 926, 1747, 1747, 983, 1204, 1747, 766, 472, 1747, - 983, 1044, 1530, 1747, 1203, 919, 1747, 1198, 597, 1747, - 199, 1197, 1196, 1043, 199, 766, 1747, 199, 469, 910, - 1344, 1344, 1344, 1344, 420, 421, 422, 199, 420, 421, - 422, 1045, 1045, 1045, 1045, 1045, 1052, 1045, 1046, 293, - - 1045, 1045, 1045, 1195, 199, 1045, 589, 1045, 1747, 1319, - 1053, 1747, 1194, 1047, 1045, 1061, 1193, 1045, 1747, 903, - 420, 421, 422, 1192, 420, 421, 422, 420, 421, 422, - 1045, 1191, 1045, 1046, 1045, 199, 897, 420, 421, 422, - 847, 847, 847, 847, 816, 1048, 1186, 1318, 583, 1185, - 1747, 1184, 889, 1747, 420, 421, 422, 1045, 1045, 1045, - 1747, 1045, 1045, 1049, 1050, 1051, 1054, 1054, 1054, 1054, - 1054, 199, 1054, 1055, 199, 1054, 1054, 1054, 1183, 575, - 1054, 1063, 1054, 1182, 1063, 420, 421, 422, 1056, 1054, - 1747, 1064, 1054, 1747, 817, 818, 819, 1062, 1181, 881, - - 1747, 278, 199, 1171, 560, 1054, 199, 1054, 1055, 1054, - 1170, 199, 1301, 487, 1057, 1074, 1169, 1075, 1075, 1075, - 1075, 420, 421, 422, 420, 421, 422, 866, 271, 844, - 1168, 554, 1054, 1054, 1054, 1167, 1054, 1054, 1058, 1059, - 1060, 1065, 547, 1166, 371, 1320, 672, 844, 988, 988, - 988, 988, 420, 421, 422, 1165, 420, 421, 422, 857, - 1164, 420, 421, 422, 474, 474, 474, 474, 474, 474, - 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, - 1163, 474, 1069, 1069, 1069, 1069, 474, 474, 474, 474, - 474, 476, 476, 476, 1070, 476, 476, 476, 476, 476, - - 476, 476, 476, 474, 474, 474, 474, 474, 476, 476, - 476, 476, 1070, 476, 476, 476, 476, 476, 476, 476, - 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, - 474, 474, 474, 474, 474, 474, 474, 474, 474, 823, - 1073, 1073, 1073, 1073, 848, 1129, 526, 524, 527, 199, - 824, 824, 824, 824, 825, 1200, 1201, 1202, 530, 846, - 1122, 846, 826, 1127, 847, 847, 847, 847, 816, 1126, - 525, 1329, 834, 1120, 815, 816, 1119, 778, 830, 527, - 826, 1076, 1076, 1076, 1076, 529, 247, 1118, 778, 530, - 1117, 822, 273, 1106, 1105, 1122, 249, 247, 815, 420, - - 421, 422, 1100, 273, 827, 828, 829, 249, 515, 1342, - 1099, 1342, 779, 786, 1343, 1343, 1343, 1343, 817, 818, - 819, 1747, 247, 779, 1747, 1123, 1124, 1125, 549, 1098, - 786, 1747, 249, 806, 245, 532, 533, 534, 1097, 247, - 199, 786, 780, 781, 782, 549, 505, 898, 787, 249, - 247, 1096, 807, 780, 781, 782, 549, 1206, 1207, 1208, - 249, 247, 899, 1095, 799, 787, 807, 549, 1212, 1213, - 1214, 249, 1094, 1093, 807, 247, 787, 793, 788, 789, - 790, 549, 898, 247, 1088, 249, 499, 808, 1087, 549, - 420, 421, 422, 249, 1086, 788, 789, 790, 1489, 1490, - - 1491, 808, 1133, 1133, 1133, 1133, 788, 789, 790, 808, - 785, 1085, 900, 901, 902, 491, 1084, 809, 810, 811, - 838, 1083, 838, 777, 199, 839, 839, 839, 839, 816, - 1747, 809, 810, 811, 1128, 1128, 1128, 1128, 231, 809, - 810, 811, 823, 1590, 1591, 1592, 822, 199, 198, 526, - 1321, 527, 701, 845, 845, 845, 845, 825, 1413, 1414, - 1415, 530, 199, 700, 822, 826, 267, 419, 842, 1136, - 843, 843, 843, 843, 420, 421, 422, 815, 247, 817, - 818, 819, 844, 826, 1137, 1024, 1747, 1332, 249, 1023, - 1134, 1134, 1134, 1134, 1334, 199, 492, 420, 421, 422, - - 844, 1022, 822, 898, 1138, 247, 199, 827, 828, 829, - 525, 1142, 420, 421, 422, 249, 1021, 526, 899, 527, - 822, 1111, 1111, 1111, 1111, 529, 1020, 1341, 1019, 530, - 1018, 494, 1328, 1112, 1139, 1140, 1141, 1747, 898, 1747, - 1017, 1143, 1143, 1143, 1143, 420, 421, 422, 1016, 1747, - 1015, 1112, 1747, 524, 1014, 1011, 420, 421, 422, 1747, - 1010, 495, 496, 497, 1231, 1231, 1231, 1231, 900, 901, - 902, 524, 1636, 1637, 1638, 532, 533, 534, 474, 474, - 474, 474, 474, 536, 474, 537, 536, 474, 474, 474, - 536, 536, 474, 536, 1531, 474, 1130, 1130, 1130, 1130, - - 539, 474, 536, 536, 540, 536, 536, 536, 1131, 536, - 536, 536, 536, 536, 536, 536, 536, 474, 536, 474, - 474, 474, 536, 536, 536, 536, 1131, 536, 536, 536, - 536, 536, 536, 536, 536, 536, 536, 536, 536, 536, - 536, 536, 536, 536, 474, 474, 474, 536, 474, 474, - 542, 543, 544, 1145, 1551, 1551, 1551, 1551, 1007, 1006, - 1152, 1005, 850, 1002, 1146, 1146, 1146, 1146, 1147, 247, - 1001, 867, 853, 1000, 867, 273, 999, 1220, 419, 249, - 247, 698, 867, 247, 1747, 1747, 493, 1747, 1138, 493, - 249, 247, 920, 249, 1747, 1153, 991, 493, 571, 990, - - 1172, 249, 1173, 1173, 1173, 1173, 868, 989, 352, 868, - 664, 339, 1220, 1316, 948, 658, 1316, 868, 1148, 1149, - 1150, 325, 985, 1317, 318, 1154, 1155, 1156, 1489, 1490, - 1491, 1532, 948, 1590, 1591, 1592, 869, 870, 871, 869, - 870, 871, 1221, 1222, 1223, 977, 976, 869, 870, 871, - 867, 943, 943, 943, 943, 920, 642, 1533, 969, 247, - 1533, 874, 874, 874, 874, 493, 1071, 1534, 1071, 249, - 311, 1344, 1344, 1344, 1344, 950, 1536, 950, 607, 1536, - 951, 951, 951, 951, 920, 868, 1537, 609, 968, 1174, - 1174, 1174, 1174, 611, 1747, 967, 636, 612, 1226, 1226, - - 1226, 1226, 966, 965, 1176, 921, 922, 923, 629, 945, - 926, 1747, 944, 295, 1747, 869, 870, 871, 927, 631, - 606, 1747, 924, 297, 945, 608, 944, 609, 926, 928, - 928, 928, 928, 929, 921, 922, 923, 612, 606, 1177, - 924, 930, 882, 614, 615, 616, 917, 882, 1636, 1637, - 1638, 295, 916, 919, 597, 1747, 295, 313, 1747, 930, - 909, 297, 313, 293, 1535, 1747, 297, 199, 908, 1178, - 1179, 1180, 951, 951, 951, 951, 920, 883, 1539, 199, - 890, 1539, 883, 931, 932, 933, 907, 890, 1540, 295, - 1747, 589, 591, 1747, 1330, 631, 295, 1330, 896, 297, - - 1747, 890, 631, 895, 1331, 583, 297, 884, 885, 886, - 295, 888, 884, 885, 886, 891, 631, 420, 421, 422, - 297, 199, 891, 911, 887, 575, 921, 922, 923, 420, - 421, 422, 295, 286, 875, 199, 891, 278, 631, 873, - 911, 1316, 297, 1333, 1316, 892, 893, 894, 1538, 295, - 872, 1317, 892, 893, 894, 631, 560, 865, 912, 297, - 271, 911, 199, 864, 863, 554, 892, 893, 894, 862, - 295, 420, 421, 422, 1660, 912, 631, 307, 861, 946, - 297, 947, 947, 947, 947, 420, 421, 422, 913, 914, - 915, 547, 841, 948, 840, 942, 912, 942, 524, 820, - - 943, 943, 943, 943, 920, 913, 914, 915, 841, 840, - 524, 948, 420, 421, 422, 1747, 820, 813, 812, 1232, - 1232, 1232, 1232, 515, 805, 245, 913, 914, 915, 927, - 469, 926, 1343, 1343, 1343, 1343, 608, 804, 609, 803, - 949, 949, 949, 949, 929, 505, 507, 792, 612, 926, - 1747, 791, 930, 1747, 921, 922, 923, 1234, 1747, 1747, - 1747, 1747, 1747, 499, 919, 576, 295, 784, 1747, 1747, - 930, 783, 1235, 491, 295, 199, 297, 238, 1122, 483, - 1240, 759, 198, 1747, 297, 1747, 1122, 1241, 1241, 1241, - 1241, 725, 1236, 816, 931, 932, 933, 607, 724, 606, - - 578, 816, 721, 718, 608, 1544, 609, 715, 1209, 1209, - 1209, 1209, 611, 1122, 1674, 714, 612, 606, 1541, 713, - 1210, 1122, 1237, 1238, 1239, 420, 421, 422, 712, 708, - 579, 580, 581, 704, 1071, 1747, 1071, 1747, 1210, 1344, - 1344, 1344, 1344, 1123, 1124, 1125, 701, 1522, 700, 419, - 1522, 1123, 1124, 1125, 1747, 685, 469, 1523, 1343, 1343, - 1343, 1343, 614, 615, 616, 474, 474, 474, 474, 474, - 618, 474, 619, 618, 474, 474, 474, 618, 618, 474, - 618, 684, 618, 1228, 1228, 1228, 1228, 621, 474, 618, - 618, 622, 618, 618, 618, 1229, 618, 618, 618, 618, - - 618, 618, 618, 618, 474, 618, 474, 474, 474, 618, - 618, 618, 618, 1229, 618, 618, 618, 618, 618, 618, - 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, - 618, 474, 474, 474, 618, 474, 474, 624, 625, 626, - 1243, 683, 648, 666, 352, 660, 339, 1250, 654, 954, - 325, 1244, 1244, 1244, 1244, 1245, 295, 653, 971, 957, - 652, 971, 313, 318, 641, 199, 297, 295, 640, 971, - 295, 1747, 311, 577, 1747, 1236, 577, 297, 295, 596, - 297, 1747, 1251, 595, 577, 406, 293, 994, 297, 995, - 995, 995, 995, 972, 569, 286, 972, 568, 567, 1533, - - 1536, 766, 1533, 1536, 972, 1246, 1247, 1248, 1330, 1534, - 1537, 1330, 1252, 1253, 1254, 420, 421, 422, 1331, 766, - 278, 255, 559, 973, 974, 975, 973, 974, 975, 199, - 558, 1542, 271, 512, 973, 974, 975, 971, 1389, 1389, - 1389, 1389, 816, 511, 1539, 245, 295, 1539, 984, 984, - 984, 984, 577, 468, 1540, 469, 297, 1066, 1066, 1066, - 1066, 487, 485, 1074, 238, 1075, 1075, 1075, 1075, 1067, - 464, 463, 972, 1522, 198, 1533, 1522, 844, 1533, 420, - 421, 422, 1078, 1523, 175, 1534, 1536, 1067, 395, 1536, - 394, 247, 817, 818, 819, 844, 1537, 549, 393, 1407, - - 392, 249, 973, 974, 975, 698, 391, 384, 381, 987, - 987, 987, 987, 1747, 1408, 377, 1747, 1079, 987, 987, - 987, 987, 374, 1747, 1363, 359, 1363, 354, 353, 1364, - 1364, 1364, 1364, 816, 1407, 987, 987, 987, 987, 987, - 987, 1271, 1271, 352, 1271, 355, 1271, 1080, 1081, 1082, - 1271, 1271, 1271, 1539, 1271, 354, 1539, 1687, 353, 1078, - 1687, 352, 1271, 1540, 1409, 1410, 1411, 1688, 247, 345, - 342, 341, 340, 1543, 549, 339, 330, 1078, 249, 1271, - 327, 1271, 1271, 817, 818, 819, 247, 1687, 199, 326, - 1687, 325, 549, 302, 1079, 288, 249, 1688, 1747, 287, - - 286, 265, 1128, 1128, 1128, 1128, 1271, 240, 1271, 1271, - 1272, 1272, 1079, 1272, 822, 1272, 199, 239, 238, 1272, - 1272, 1272, 219, 1272, 1080, 1081, 1082, 188, 175, 1747, - 174, 1272, 822, 1134, 1134, 1134, 1134, 1136, 420, 421, - 422, 1747, 1080, 1081, 1082, 822, 247, 199, 1272, 169, - 1272, 1272, 1137, 571, 169, 1172, 249, 1173, 1173, 1173, - 1173, 1727, 1747, 822, 1727, 1747, 420, 421, 422, 948, - 1747, 1728, 1138, 1727, 1747, 1272, 1727, 1272, 1272, 699, - 699, 699, 699, 1728, 1747, 1747, 1747, 948, 699, 699, - 699, 699, 1465, 1465, 1465, 1465, 920, 420, 421, 422, - - 1747, 1747, 1139, 1140, 1141, 699, 699, 699, 699, 699, - 699, 1302, 1302, 1302, 1302, 1302, 1747, 1302, 1303, 1747, - 1302, 1302, 1302, 1747, 1747, 1302, 1747, 1302, 1226, 1226, - 1226, 1226, 1747, 1304, 1302, 1747, 1747, 1302, 1747, 1747, - 926, 1747, 1747, 1747, 1747, 1747, 921, 922, 923, 1747, - 1302, 1747, 1302, 1303, 1302, 1372, 525, 1372, 926, 1305, - 1373, 1373, 1373, 1373, 816, 527, 1747, 1374, 1374, 1374, - 1374, 529, 1747, 1747, 1747, 530, 1220, 1302, 1302, 1302, - 1747, 1302, 1302, 1306, 1307, 1308, 1310, 1310, 1310, 1310, - 1310, 920, 1310, 1311, 1747, 1310, 1310, 1310, 1747, 1747, - - 1310, 1747, 1310, 1747, 1747, 1747, 1747, 1747, 1312, 1310, - 1747, 1220, 1310, 1747, 817, 818, 819, 1747, 1747, 1747, - 1747, 532, 533, 534, 1747, 1310, 1747, 1310, 1311, 1310, - 1439, 1136, 1439, 1747, 1747, 1440, 1440, 1440, 1440, 920, - 247, 1221, 1222, 1223, 1747, 1747, 1137, 1747, 1747, 1747, - 249, 1747, 1310, 1310, 1310, 199, 1310, 1310, 1313, 1314, - 1315, 1322, 1322, 1322, 1322, 1322, 1138, 1322, 1323, 199, - 1322, 1322, 1322, 1747, 199, 1322, 1747, 1322, 1747, 1747, - 1747, 1747, 1747, 1324, 1322, 1747, 1747, 1322, 1747, 921, - 922, 923, 1747, 1747, 1747, 1747, 1139, 1140, 1141, 1747, - - 1322, 1747, 1322, 1323, 1322, 420, 421, 422, 1220, 1747, - 1747, 1747, 1667, 1747, 1747, 1747, 1747, 1747, 1747, 420, - 421, 422, 1747, 920, 420, 421, 422, 1322, 1322, 1322, - 1747, 1322, 1322, 1325, 1326, 1327, 423, 424, 425, 426, - 427, 428, 429, 1220, 430, 1747, 431, 432, 433, 434, - 1747, 435, 436, 437, 438, 1335, 1335, 1335, 1335, 1335, - 1747, 1335, 1336, 1747, 1335, 1335, 1335, 1376, 199, 1335, - 1136, 1335, 1747, 1221, 1222, 1223, 247, 1337, 1335, 247, - 1747, 1335, 273, 1747, 1747, 1137, 249, 1747, 1747, 249, - 1747, 1747, 1747, 1747, 1335, 1747, 1335, 1336, 1335, 1747, - - 199, 1448, 1377, 1448, 1747, 1138, 1449, 1449, 1449, 1449, - 920, 1747, 1747, 1364, 1364, 1364, 1364, 816, 420, 421, - 422, 1335, 1335, 1335, 1747, 1335, 1335, 1338, 1339, 1340, - 525, 1747, 1378, 1379, 1380, 1139, 1140, 1141, 1747, 1384, - 1747, 1345, 1345, 1345, 1345, 529, 1747, 1747, 247, 530, - 420, 421, 422, 1346, 273, 1747, 1747, 1136, 249, 1747, - 921, 922, 923, 1747, 1136, 1747, 247, 817, 818, 819, - 1747, 1346, 1137, 247, 1385, 1747, 249, 1747, 1747, 1147, - 1747, 1747, 1747, 249, 1747, 1747, 1747, 1747, 1232, 1232, - 1232, 1232, 1138, 1747, 1747, 532, 533, 534, 823, 1138, - - 926, 1747, 1747, 1747, 1386, 1387, 1388, 527, 1747, 1134, - 1134, 1134, 1134, 825, 1747, 1747, 1747, 530, 926, 1747, - 1747, 1747, 1139, 1140, 1141, 1391, 1747, 1747, 1747, 1139, - 1140, 1141, 1399, 815, 247, 1747, 1747, 1152, 1747, 1747, - 273, 247, 1747, 1747, 249, 1747, 247, 549, 1747, 1747, - 1747, 249, 273, 1747, 1747, 1747, 249, 1747, 1747, 1747, - 1392, 1483, 1747, 827, 828, 829, 823, 1400, 1747, 1747, - 1747, 1407, 1153, 526, 1747, 527, 1484, 1361, 1361, 1361, - 1361, 825, 1747, 1747, 1747, 530, 1408, 1747, 1747, 1362, - 1393, 1394, 1395, 1747, 1747, 1747, 1483, 1401, 1402, 1403, - - 1152, 815, 1154, 1155, 1156, 1176, 1407, 1362, 1747, 247, - 1747, 1747, 1747, 1747, 295, 273, 1747, 1747, 1747, 249, - 631, 1747, 1747, 1747, 297, 1747, 1485, 1486, 1487, 1747, - 1747, 827, 828, 829, 1145, 1153, 1409, 1410, 1411, 1747, - 1177, 1176, 1747, 850, 1747, 1146, 1146, 1146, 1146, 1147, - 295, 1747, 1747, 853, 1747, 1747, 631, 1747, 1747, 1747, - 297, 1747, 1747, 1747, 1747, 1154, 1155, 1156, 1176, 1138, - 1178, 1179, 1180, 1747, 1747, 1747, 1177, 295, 1747, 607, - 1747, 1747, 1747, 631, 1747, 1747, 1747, 297, 609, 1747, - 1450, 1450, 1450, 1450, 611, 1747, 1747, 1747, 612, 1148, - - 1149, 1150, 607, 1177, 1747, 1747, 1178, 1179, 1180, 1747, - 1747, 1747, 1747, 1421, 1421, 1421, 1421, 611, 1747, 1747, - 1747, 612, 1747, 1747, 468, 1422, 469, 1747, 1066, 1066, - 1066, 1066, 1747, 1178, 1179, 1180, 1407, 1747, 1747, 1747, - 1067, 1234, 1747, 1422, 614, 615, 616, 1747, 1747, 1747, - 295, 1408, 1747, 1747, 1747, 1747, 1235, 1372, 1067, 1372, - 297, 1747, 1373, 1373, 1373, 1373, 816, 614, 615, 616, - 927, 1407, 1747, 1747, 1747, 1747, 1236, 1234, 1747, 609, - 1747, 1232, 1232, 1232, 1232, 929, 295, 1747, 1747, 612, - 1747, 1747, 1235, 1747, 1747, 1747, 297, 1556, 1556, 1556, - - 1556, 1409, 1410, 1411, 1452, 919, 1237, 1238, 1239, 822, - 1747, 1234, 1236, 295, 1747, 1747, 817, 818, 819, 313, - 295, 1747, 1747, 297, 1747, 1747, 1235, 822, 1747, 1747, - 297, 1747, 1747, 1747, 1747, 931, 932, 933, 927, 1453, - 1747, 1747, 1237, 1238, 1239, 608, 1236, 609, 1747, 1437, - 1437, 1437, 1437, 929, 1747, 1747, 1747, 612, 1747, 1747, - 1747, 1438, 1747, 1747, 1747, 1460, 1747, 1747, 1747, 1454, - 1455, 1456, 1234, 919, 295, 1747, 1237, 1238, 1239, 1438, - 313, 295, 1747, 1234, 297, 1747, 1747, 1235, 1747, 1747, - 1747, 297, 295, 1744, 1744, 1744, 1747, 1747, 1245, 1747, - - 1461, 1747, 297, 931, 932, 933, 1467, 1236, 1747, 1747, - 1747, 1744, 1744, 1744, 1744, 295, 1747, 1747, 1236, 1747, - 1747, 313, 1747, 1747, 1747, 297, 1747, 1747, 1747, 1747, - 1462, 1463, 1464, 1747, 1747, 1747, 1747, 1237, 1238, 1239, - 1747, 1468, 1373, 1373, 1373, 1373, 816, 1747, 1237, 1238, - 1239, 1243, 1389, 1389, 1389, 1389, 816, 1747, 1747, 1475, - 954, 1747, 1244, 1244, 1244, 1244, 1245, 1747, 295, 1747, - 957, 1469, 1470, 1471, 631, 1747, 1250, 1747, 297, 1747, - 1747, 1747, 1747, 1747, 1250, 295, 1236, 1747, 1747, 1747, - 1747, 313, 1747, 295, 1476, 297, 817, 818, 819, 313, - - 1747, 1747, 1747, 297, 1747, 1747, 817, 818, 819, 1747, - 1687, 1251, 1747, 1687, 1747, 1747, 1246, 1247, 1248, 1251, - 1688, 1747, 1747, 1747, 1477, 1478, 1479, 1363, 1747, 1363, - 1747, 199, 1364, 1364, 1364, 1364, 816, 1747, 1747, 1747, - 1747, 1252, 1253, 1254, 1559, 1559, 1559, 1559, 1747, 1252, - 1253, 1254, 1497, 1497, 1747, 1497, 822, 1497, 1747, 1747, - 1747, 1497, 1497, 1497, 1747, 1497, 1747, 1747, 1559, 1559, - 1559, 1559, 1747, 1497, 822, 1747, 1747, 1747, 1747, 1747, - 822, 420, 421, 422, 1747, 1747, 817, 818, 819, 1747, - 1497, 1561, 1497, 1497, 1747, 1747, 1747, 1747, 822, 1747, - - 247, 1747, 1747, 1747, 1747, 1747, 549, 1448, 1747, 1448, - 249, 1747, 1449, 1449, 1449, 1449, 920, 1497, 1747, 1497, - 1497, 1516, 1516, 1516, 1516, 1516, 1562, 1516, 1517, 1747, - 1516, 1516, 1516, 1747, 1747, 1516, 1747, 1516, 1747, 1747, - 1747, 1747, 1747, 1518, 1516, 1747, 1747, 1516, 1747, 1747, - 1376, 1747, 1747, 1747, 1747, 1747, 1563, 1564, 1565, 247, - 1516, 1747, 1516, 1517, 1516, 273, 921, 922, 923, 249, - 1439, 1747, 1439, 1747, 1747, 1440, 1440, 1440, 1440, 920, - 1747, 1747, 1747, 1747, 1747, 1377, 1483, 1516, 1516, 1516, - 1747, 1516, 1516, 1519, 1520, 1521, 1747, 1522, 1747, 1747, - - 1522, 1484, 1747, 1747, 1747, 1747, 1747, 1523, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1378, 1379, 1380, 199, 1747, - 1747, 1483, 1747, 1376, 1602, 1602, 1602, 1602, 1747, 921, - 922, 923, 247, 1747, 1747, 1747, 926, 1747, 273, 1747, - 1747, 1570, 249, 1747, 1440, 1440, 1440, 1440, 920, 1747, - 247, 1485, 1486, 1487, 926, 1747, 549, 1747, 1377, 1747, - 249, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 420, 421, - 422, 1524, 1524, 1524, 1524, 1524, 1571, 1524, 1525, 1747, - 1524, 1524, 1524, 1747, 1747, 1524, 1747, 1524, 1378, 1379, - 1380, 1747, 1747, 1526, 1524, 1747, 1747, 1524, 921, 922, - - 923, 1747, 1747, 1747, 1747, 1747, 1572, 1573, 1574, 1747, - 1524, 1747, 1524, 1525, 1524, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1605, 1605, 1605, 1605, 1747, 1449, 1449, - 1449, 1449, 920, 1747, 1747, 926, 1747, 1524, 1524, 1524, - 1747, 1524, 1524, 1527, 1528, 1529, 423, 424, 425, 426, - 427, 428, 429, 926, 430, 1747, 431, 432, 433, 434, - 1747, 435, 436, 437, 438, 1545, 1545, 1545, 1545, 1545, - 1747, 1545, 1546, 1747, 1545, 1545, 1545, 1384, 1747, 1545, - 1747, 1545, 921, 922, 923, 1747, 247, 1547, 1545, 1747, - 1747, 1545, 273, 1747, 1747, 1747, 249, 1605, 1605, 1605, - - 1605, 1747, 1747, 1747, 1545, 1747, 1545, 1546, 1545, 926, - 1747, 1384, 1385, 1465, 1465, 1465, 1465, 920, 1747, 1747, - 247, 1747, 1747, 1747, 1747, 1747, 273, 926, 1747, 1747, - 249, 1545, 1545, 1545, 1747, 1545, 1545, 1548, 1549, 1550, - 823, 1747, 1386, 1387, 1388, 1483, 1385, 526, 1747, 527, - 1747, 1361, 1361, 1361, 1361, 825, 1747, 1747, 1747, 530, - 1484, 1747, 1747, 1362, 1747, 1747, 1747, 921, 922, 923, - 1747, 1747, 1747, 1747, 1578, 815, 1386, 1387, 1388, 1391, - 1483, 1362, 1727, 247, 1747, 1727, 1747, 1747, 247, 549, - 1747, 1747, 1728, 249, 273, 1747, 1747, 1747, 249, 1747, - - 1747, 1747, 1747, 199, 1747, 827, 828, 829, 823, 1579, - 1485, 1486, 1487, 1747, 1392, 526, 1747, 527, 1747, 1361, - 1361, 1361, 1361, 825, 1747, 1747, 1747, 530, 1747, 1747, - 1747, 1362, 1747, 1391, 1747, 1747, 1747, 1747, 1747, 1580, - 1581, 1582, 247, 815, 1393, 1394, 1395, 1399, 273, 1362, - 1399, 1747, 249, 420, 421, 422, 247, 1747, 1747, 247, - 1747, 1399, 549, 1747, 1747, 549, 249, 1747, 1392, 249, - 247, 1747, 1747, 827, 828, 829, 549, 1747, 1747, 1747, - 249, 1747, 1400, 1747, 1747, 1400, 1747, 1747, 1607, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1400, 295, 1393, 1394, - - 1395, 1747, 1747, 631, 1747, 1747, 1747, 297, 1747, 1747, - 1747, 1747, 1401, 1402, 1403, 1401, 1402, 1403, 1747, 1747, - 1747, 1747, 1747, 1608, 1747, 1747, 1401, 1402, 1403, 927, - 1747, 1747, 1747, 1747, 1747, 1747, 608, 1747, 609, 1747, - 1437, 1437, 1437, 1437, 929, 1747, 1747, 1747, 612, 1747, - 1747, 1747, 1438, 1609, 1610, 1611, 1452, 1747, 1747, 1747, - 1747, 1747, 1747, 1452, 919, 295, 1747, 1747, 1616, 1747, - 1438, 313, 295, 1747, 1747, 297, 1747, 295, 313, 1747, - 1747, 1747, 297, 631, 1747, 1747, 1747, 297, 1747, 1747, - 1747, 1453, 1747, 1747, 931, 932, 933, 927, 1453, 1747, - - 1747, 1747, 1747, 1617, 608, 1747, 609, 1747, 1437, 1437, - 1437, 1437, 929, 1747, 1747, 1747, 612, 1747, 1747, 1747, - 1438, 1454, 1455, 1456, 1747, 1747, 1747, 1747, 1454, 1455, - 1456, 1460, 919, 1618, 1619, 1620, 1460, 1747, 1438, 1624, - 295, 1747, 1747, 1747, 1747, 295, 313, 1747, 295, 1747, - 297, 313, 1747, 1747, 631, 297, 1747, 1747, 297, 1747, - 1467, 1747, 931, 932, 933, 1747, 1461, 1747, 1747, 295, - 1747, 1461, 1467, 1747, 1625, 313, 1747, 1747, 1747, 297, - 1747, 295, 1747, 1747, 1747, 1747, 1747, 313, 1747, 1747, - 1747, 297, 1747, 1747, 1747, 1468, 1462, 1463, 1464, 1475, - - 1747, 1462, 1463, 1464, 1626, 1627, 1628, 1468, 295, 1747, - 1747, 1747, 1747, 1475, 631, 1747, 1747, 1747, 297, 1747, - 1747, 1475, 295, 1747, 1747, 1469, 1470, 1471, 631, 1747, - 295, 1747, 297, 1747, 1476, 1747, 631, 1469, 1470, 1471, - 297, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1476, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1476, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1477, 1478, 1479, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1477, 1478, - 1479, 1747, 1747, 1747, 1747, 1747, 1477, 1478, 1479, 423, - 424, 425, 426, 427, 428, 429, 1747, 430, 1747, 431, - - 432, 433, 434, 1747, 435, 436, 437, 438, 1654, 1654, - 1654, 1654, 1654, 1747, 1654, 1655, 1747, 1654, 1654, 1654, - 1747, 1747, 1654, 1747, 1654, 1747, 1747, 1747, 1747, 1747, - 1656, 1654, 1747, 1747, 1654, 1747, 1747, 1561, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 247, 1654, 1747, 1654, - 1655, 1654, 549, 1747, 1747, 1747, 249, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1562, 1747, 1654, 1654, 1654, 1747, 1654, 1654, - 1657, 1658, 1659, 1661, 1661, 1661, 1661, 1661, 1747, 1661, - 1662, 1747, 1661, 1661, 1661, 1747, 1747, 1661, 1747, 1661, - - 1747, 1747, 1563, 1564, 1565, 1663, 1661, 1747, 1747, 1661, - 1747, 1747, 1561, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 247, 1661, 1747, 1661, 1662, 1661, 549, 1747, 1747, - 1747, 249, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1562, 1747, 1661, - 1661, 1661, 1747, 1661, 1661, 1664, 1665, 1666, 1668, 1668, - 1668, 1668, 1668, 1747, 1668, 1669, 1747, 1668, 1668, 1668, - 1747, 1747, 1668, 1747, 1668, 1747, 1747, 1563, 1564, 1565, - 1670, 1668, 1747, 1747, 1668, 1747, 1747, 1561, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 247, 1668, 1747, 1668, - - 1669, 1668, 549, 1747, 1747, 1747, 249, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1562, 1747, 1668, 1668, 1668, 1747, 1668, 1668, - 1671, 1672, 1673, 1675, 1675, 1675, 1675, 1675, 1747, 1675, - 1676, 1747, 1675, 1675, 1675, 1747, 1747, 1675, 1747, 1675, - 1747, 1747, 1563, 1564, 1565, 1677, 1675, 1747, 1747, 1675, - 1747, 1747, 1570, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 247, 1675, 1747, 1675, 1676, 1675, 549, 1747, 1747, - 1747, 249, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1571, 1747, 1675, - - 1675, 1675, 1747, 1675, 1675, 1678, 1679, 1680, 1681, 1681, - 1681, 1681, 1681, 1747, 1681, 1682, 1747, 1681, 1681, 1681, - 1747, 1747, 1681, 1570, 1681, 1747, 1747, 1572, 1573, 1574, - 1683, 1681, 247, 1747, 1681, 1747, 1747, 1747, 549, 1747, - 1747, 1747, 249, 1747, 1747, 1747, 1747, 1681, 1747, 1681, - 1682, 1681, 1747, 1747, 1747, 1747, 1747, 1747, 1571, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1681, 1681, 1681, 1747, 1681, 1681, - 1684, 1685, 1686, 823, 1747, 1747, 1747, 1747, 1572, 1573, - 1574, 1570, 527, 1747, 1556, 1556, 1556, 1556, 825, 1747, - - 247, 1747, 530, 1747, 1747, 1747, 549, 1747, 1578, 1747, - 249, 1747, 1747, 1747, 1747, 1747, 1747, 247, 815, 1747, - 1747, 1747, 1747, 549, 1747, 1747, 1571, 249, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1579, 1747, 1747, 1747, 1747, 827, 828, - 829, 823, 1747, 1747, 1747, 1747, 1572, 1573, 1574, 1747, - 527, 1747, 1559, 1559, 1559, 1559, 825, 1747, 1578, 1747, - 530, 1747, 1747, 1580, 1581, 1582, 1578, 247, 1747, 1747, - 1747, 1747, 1747, 549, 1747, 247, 815, 249, 1747, 1747, - 1747, 549, 1747, 1747, 1747, 249, 1747, 1747, 1747, 1747, - - 1747, 1747, 1747, 1579, 1607, 1747, 1747, 1747, 1747, 1747, - 1747, 1579, 1747, 295, 1747, 1747, 827, 828, 829, 631, - 1747, 1747, 1747, 297, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1607, 1747, 1580, 1581, 1582, 1747, 1747, 1747, 1608, - 295, 1580, 1581, 1582, 927, 1747, 631, 1747, 1747, 1747, - 297, 1747, 1747, 609, 1747, 1602, 1602, 1602, 1602, 929, - 1747, 1747, 1747, 612, 1747, 1747, 1608, 1607, 1747, 1609, - 1610, 1611, 1616, 1747, 1747, 1747, 295, 1747, 1747, 919, - 1747, 295, 631, 1747, 1616, 1747, 297, 631, 1747, 1747, - 1747, 297, 1747, 295, 1747, 1747, 1609, 1610, 1611, 631, - - 1747, 1747, 1608, 297, 1747, 1747, 1747, 1617, 1747, 931, - 932, 933, 927, 1747, 1747, 1747, 1747, 1747, 1747, 1617, - 1747, 609, 1747, 1605, 1605, 1605, 1605, 929, 1747, 1747, - 1747, 612, 1609, 1610, 1611, 1747, 1747, 1618, 1619, 1620, - 1747, 1747, 1747, 1747, 1747, 1616, 1747, 919, 1624, 1618, - 1619, 1620, 1747, 1624, 295, 1747, 1624, 295, 1747, 1747, - 631, 1747, 295, 631, 297, 295, 1747, 297, 631, 1747, - 1747, 631, 297, 1747, 1747, 297, 1747, 931, 932, 933, - 1617, 1747, 1747, 1625, 1747, 1747, 1747, 1747, 1625, 1747, - 1747, 1625, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1618, 1619, 1620, 1626, 1627, 1628, 1747, 1747, 1626, 1627, - 1628, 1626, 1627, 1628, 1721, 1721, 1721, 1721, 1721, 1747, - 1721, 1722, 1747, 1721, 1721, 1721, 1747, 1747, 1721, 1747, - 1721, 1747, 1747, 1747, 1747, 1747, 1723, 1721, 1747, 1747, - 1721, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1721, 1747, 1721, 1722, 1721, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1721, 1721, 1721, 1747, 1721, 1721, 1724, 1725, 1726, 1729, - - 1729, 1729, 1729, 1729, 1747, 1729, 1730, 1747, 1729, 1729, - 1729, 1747, 1747, 1729, 1747, 1729, 1747, 1747, 1747, 1747, - 1747, 1731, 1729, 1747, 1747, 1729, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1729, 1747, - 1729, 1730, 1729, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1729, 1729, 1729, 1747, 1729, - 1729, 1732, 1733, 1734, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 94, 94, + 1590, 156, 156, 156, 184, 156, 157, 184, 443, 158, + 159, 159, 159, 156, 344, 1404, 185, 344, 185, 186, + 1597, 187, 187, 187, 187, 413, 421, 422, 423, 414, + + 156, 414, 156, 156, 415, 415, 464, 1598, 1151, 407, + 160, 408, 199, 409, 409, 409, 409, 161, 1599, 421, + 422, 423, 162, 345, 199, 410, 705, 156, 706, 156, + 163, 151, 152, 153, 151, 1412, 154, 155, 199, 453, + 156, 156, 156, 410, 156, 157, 1600, 1601, 158, 159, + 159, 159, 156, 416, 451, 416, 1158, 1602, 417, 417, + 417, 226, 421, 422, 423, 476, 476, 476, 476, 156, + 1420, 156, 156, 457, 421, 422, 423, 1607, 1608, 160, + 483, 483, 483, 483, 680, 379, 161, 680, 421, 422, + 423, 162, 485, 485, 485, 1426, 156, 486, 156, 163, + + 197, 1609, 381, 197, 198, 381, 1610, 198, 640, 641, + 642, 198, 198, 1164, 198, 199, 198, 198, 198, 198, + 198, 199, 384, 198, 198, 384, 198, 198, 198, 198, + 198, 198, 198, 198, 198, 198, 198, 198, 987, 198, + 987, 461, 1611, 200, 201, 202, 203, 204, 205, 206, + 198, 207, 198, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 198, 198, 198, 421, 422, 423, 198, 651, + 853, 217, 218, 219, 234, 235, 236, 862, 226, 871, + 469, 652, 470, 470, 470, 470, 708, 303, 653, 199, + 237, 237, 237, 709, 410, 358, 358, 358, 471, 710, + + 472, 1182, 473, 473, 473, 473, 267, 267, 267, 267, + 651, 444, 410, 406, 475, 1612, 236, 236, 445, 886, + 236, 236, 652, 367, 446, 894, 367, 199, 236, 653, + 1194, 236, 475, 236, 199, 236, 238, 189, 368, 421, + 422, 423, 376, 190, 1613, 376, 902, 199, 191, 255, + 255, 255, 255, 256, 257, 405, 452, 908, 405, 448, + 449, 450, 199, 258, 259, 260, 261, 262, 263, 454, + 722, 192, 484, 723, 193, 484, 194, 421, 422, 423, + 659, 377, 199, 659, 421, 422, 423, 199, 195, 179, + 199, 171, 172, 173, 199, 196, 247, 421, 422, 423, + + 659, 333, 460, 659, 455, 264, 915, 265, 265, 265, + 265, 249, 421, 422, 423, 250, 389, 456, 1206, 1614, + 462, 660, 660, 660, 458, 463, 661, 459, 465, 924, + 390, 251, 421, 422, 423, 1212, 1615, 421, 422, 423, + 421, 422, 423, 1218, 421, 422, 423, 1617, 390, 931, + 226, 939, 227, 1226, 228, 228, 228, 228, 1618, 509, + 943, 252, 253, 254, 295, 489, 230, 245, 245, 245, + 245, 1465, 1626, 304, 510, 305, 305, 305, 305, 297, + 417, 417, 417, 298, 230, 481, 1761, 481, 232, 1627, + 482, 482, 482, 482, 242, 665, 348, 242, 665, 299, + + 501, 501, 501, 501, 516, 1240, 243, 665, 243, 244, + 665, 245, 245, 245, 245, 255, 255, 255, 255, 680, + 379, 517, 680, 696, 511, 512, 513, 697, 697, 300, + 301, 302, 332, 332, 333, 334, 335, 332, 332, 332, + 336, 332, 336, 336, 336, 336, 332, 336, 336, 336, + 337, 337, 337, 332, 332, 332, 332, 336, 332, 332, + 332, 338, 332, 332, 332, 332, 332, 332, 338, 332, + 338, 336, 335, 336, 332, 332, 335, 335, 332, 338, + 335, 335, 332, 332, 332, 332, 332, 332, 335, 332, + 332, 335, 338, 335, 332, 335, 339, 332, 332, 336, + + 332, 336, 332, 332, 332, 332, 332, 348, 349, 350, + 1628, 350, 1473, 490, 350, 491, 1635, 492, 492, 492, + 492, 495, 699, 351, 351, 351, 700, 700, 700, 493, + 248, 524, 524, 524, 524, 680, 496, 268, 680, 1636, + 250, 538, 538, 538, 538, 350, 1480, 493, 350, 350, + 350, 1643, 1644, 350, 350, 573, 497, 293, 293, 293, + 293, 350, 593, 1249, 350, 1645, 350, 1488, 350, 352, + 359, 359, 359, 359, 1646, 1017, 247, 594, 1018, 359, + 359, 359, 359, 1647, 1256, 248, 498, 499, 500, 1648, + 1496, 249, 712, 713, 714, 250, 359, 359, 359, 359, + + 359, 359, 361, 199, 362, 362, 1653, 1654, 363, 362, + 363, 251, 1502, 364, 364, 364, 364, 503, 805, 806, + 807, 362, 585, 585, 585, 585, 248, 595, 596, 597, + 247, 1655, 274, 1656, 362, 1262, 250, 362, 1657, 248, + 957, 252, 253, 254, 966, 249, 666, 666, 666, 250, + 975, 667, 504, 421, 422, 423, 290, 755, 1658, 290, + 755, 362, 348, 349, 350, 251, 350, 756, 291, 350, + 291, 292, 1659, 293, 293, 293, 293, 1660, 351, 351, + 351, 1661, 505, 506, 507, 1662, 366, 606, 606, 606, + 606, 670, 670, 670, 670, 252, 253, 254, 1663, 1761, + + 350, 1761, 472, 350, 350, 350, 308, 1664, 350, 350, + 620, 620, 620, 620, 1665, 1761, 350, 1761, 472, 350, + 1666, 350, 1667, 350, 352, 424, 425, 426, 427, 428, + 429, 430, 420, 431, 703, 432, 433, 434, 435, 436, + 437, 438, 439, 440, 477, 477, 477, 477, 477, 477, + 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, + 704, 477, 478, 478, 478, 478, 477, 477, 477, 477, + 477, 479, 479, 479, 480, 479, 479, 479, 479, 479, + 479, 479, 479, 477, 477, 477, 477, 477, 479, 479, + 479, 479, 480, 479, 479, 479, 479, 479, 479, 479, + + 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, + 477, 477, 477, 477, 477, 477, 477, 477, 477, 519, + 364, 364, 364, 364, 548, 1761, 548, 248, 248, 549, + 549, 549, 549, 420, 274, 485, 485, 485, 250, 703, + 486, 494, 551, 671, 704, 671, 420, 273, 672, 672, + 672, 248, 703, 199, 520, 704, 248, 552, 1084, 494, + 273, 250, 274, 836, 837, 838, 250, 1096, 1108, 248, + 836, 837, 838, 405, 1114, 274, 405, 553, 731, 250, + 1120, 1128, 275, 1574, 521, 522, 523, 495, 306, 1703, + 307, 307, 307, 307, 268, 275, 269, 406, 525, 525, + + 525, 525, 496, 421, 422, 423, 250, 554, 555, 556, + 526, 1704, 276, 277, 278, 564, 678, 678, 678, 678, + 1389, 199, 497, 247, 248, 276, 277, 278, 526, 1705, + 249, 1142, 248, 1583, 250, 863, 864, 865, 249, 1706, + 1707, 574, 250, 575, 1397, 576, 576, 576, 576, 1708, + 565, 1591, 498, 499, 500, 528, 732, 577, 251, 558, + 559, 560, 529, 1709, 530, 1710, 531, 531, 531, 531, + 532, 421, 422, 423, 533, 577, 1404, 1711, 534, 372, + 566, 567, 568, 677, 677, 677, 677, 696, 252, 253, + 254, 697, 697, 372, 1151, 675, 534, 676, 676, 676, + + 676, 372, 681, 373, 1412, 374, 374, 374, 374, 683, + 683, 683, 683, 386, 386, 386, 386, 1712, 1158, 682, + 535, 536, 537, 477, 477, 477, 477, 477, 539, 477, + 540, 539, 477, 477, 477, 539, 539, 477, 539, 1603, + 477, 541, 541, 541, 541, 542, 477, 539, 539, 543, + 539, 539, 539, 544, 539, 539, 539, 539, 539, 539, + 539, 539, 477, 539, 477, 477, 477, 539, 539, 539, + 539, 544, 539, 539, 539, 539, 539, 539, 539, 539, + 539, 539, 539, 539, 539, 539, 539, 539, 539, 477, + 477, 477, 539, 477, 477, 545, 546, 547, 564, 468, + + 468, 468, 468, 1713, 1714, 579, 1420, 248, 1715, 569, + 569, 569, 569, 249, 296, 1426, 295, 250, 1716, 587, + 580, 909, 910, 911, 298, 296, 1164, 295, 296, 755, + 1182, 297, 755, 565, 314, 298, 296, 1194, 298, 756, + 581, 601, 297, 940, 941, 942, 298, 940, 941, 942, + 296, 299, 1206, 1212, 588, 1218, 314, 967, 968, 969, + 298, 1226, 299, 566, 567, 568, 772, 772, 772, 772, + 582, 583, 584, 407, 1620, 199, 602, 692, 692, 692, + 692, 300, 301, 302, 589, 590, 591, 693, 693, 693, + 693, 1717, 300, 301, 302, 630, 1761, 630, 296, 694, + + 631, 631, 631, 631, 1718, 1465, 603, 604, 605, 579, + 735, 1719, 578, 1240, 199, 1629, 308, 694, 309, 1720, + 607, 607, 607, 607, 580, 421, 422, 423, 298, 199, + 578, 1721, 608, 684, 1473, 684, 633, 1722, 685, 685, + 685, 685, 1637, 313, 581, 296, 730, 199, 313, 1723, + 608, 634, 296, 1724, 199, 298, 1480, 296, 314, 1725, + 1249, 736, 298, 314, 421, 422, 423, 298, 640, 641, + 642, 635, 741, 1488, 582, 583, 584, 610, 315, 421, + 422, 423, 199, 315, 611, 199, 612, 1726, 613, 613, + 613, 613, 614, 744, 1256, 1649, 615, 421, 422, 423, + + 616, 636, 637, 638, 421, 422, 423, 1727, 316, 317, + 318, 1728, 737, 316, 317, 318, 1496, 481, 616, 481, + 733, 734, 695, 695, 695, 695, 695, 695, 695, 695, + 1729, 1502, 421, 422, 423, 421, 422, 423, 483, 483, + 483, 483, 617, 618, 619, 477, 477, 477, 477, 477, + 621, 477, 622, 621, 477, 477, 477, 621, 621, 477, + 621, 1730, 621, 623, 623, 623, 623, 624, 477, 621, + 621, 625, 621, 621, 621, 626, 621, 621, 621, 621, + 621, 621, 621, 621, 477, 621, 477, 477, 477, 621, + 621, 621, 621, 626, 621, 621, 621, 621, 621, 621, + + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 477, 477, 477, 621, 477, 477, 627, 628, 629, + 646, 199, 983, 1262, 983, 295, 471, 984, 984, 296, + 766, 766, 766, 766, 296, 297, 660, 660, 660, 298, + 297, 661, 1731, 389, 298, 391, 391, 391, 391, 389, + 1732, 391, 391, 391, 391, 647, 1733, 390, 199, 751, + 299, 1734, 407, 390, 408, 420, 409, 409, 409, 409, + 199, 421, 422, 423, 199, 390, 703, 199, 410, 1031, + 199, 390, 1031, 199, 704, 648, 649, 650, 646, 1032, + 300, 301, 302, 199, 740, 420, 410, 296, 703, 654, + + 654, 654, 654, 297, 738, 753, 704, 298, 421, 422, + 423, 742, 739, 752, 743, 420, 703, 754, 704, 199, + 421, 422, 423, 647, 421, 422, 423, 421, 422, 423, + 421, 422, 423, 421, 422, 423, 762, 1033, 1044, 755, + 1033, 1044, 755, 421, 422, 423, 199, 1034, 1045, 756, + 420, 703, 761, 648, 649, 650, 359, 359, 359, 359, + 199, 704, 420, 199, 703, 359, 359, 359, 359, 421, + 422, 423, 774, 704, 775, 775, 775, 775, 1574, 1749, + 760, 1389, 359, 359, 359, 359, 359, 359, 701, 1583, + 1750, 199, 702, 702, 702, 702, 421, 422, 423, 759, + + 1397, 702, 702, 702, 702, 199, 672, 672, 672, 199, + 421, 422, 423, 421, 422, 423, 1591, 1751, 702, 702, + 702, 702, 702, 702, 745, 745, 745, 745, 745, 758, + 745, 746, 1404, 745, 745, 745, 1412, 1603, 745, 1752, + 745, 421, 422, 423, 757, 1420, 747, 745, 763, 1426, + 745, 267, 267, 267, 267, 421, 422, 423, 1620, 421, + 422, 423, 1753, 745, 1465, 745, 746, 745, 767, 1761, + 767, 1761, 472, 768, 768, 768, 768, 481, 1629, 481, + 1754, 1473, 773, 773, 773, 773, 501, 501, 501, 501, + 745, 745, 745, 1637, 745, 745, 748, 749, 750, 477, + + 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, + 477, 477, 477, 477, 477, 1755, 477, 765, 765, 765, + 765, 477, 477, 477, 477, 477, 479, 479, 479, 480, + 479, 479, 479, 479, 479, 479, 479, 479, 477, 477, + 477, 477, 477, 479, 479, 479, 479, 480, 479, 479, + 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, + 479, 479, 479, 479, 479, 477, 477, 477, 477, 477, + 477, 477, 477, 477, 226, 1480, 469, 1488, 470, 470, + 470, 470, 471, 1649, 472, 1756, 473, 473, 473, 473, + 410, 307, 307, 307, 307, 226, 1496, 769, 475, 770, + + 770, 770, 770, 585, 585, 585, 585, 1502, 410, 420, + 703, 771, 1070, 490, 704, 1070, 475, 777, 777, 777, + 777, 490, 1071, 491, 821, 492, 492, 492, 492, 771, + 528, 666, 666, 666, 699, 799, 667, 493, 991, 991, + 991, 778, 778, 778, 778, 532, 420, 495, 703, 533, + 800, 704, 780, 779, 780, 493, 248, 781, 781, 781, + 781, 1574, 496, 1583, 495, 1591, 250, 1757, 1603, 783, + 799, 779, 495, 248, 822, 823, 824, 1620, 248, 496, + 1629, 248, 497, 250, 274, 1757, 1637, 496, 250, 1649, + 703, 250, 997, 997, 997, 535, 536, 537, 420, 497, + + 801, 802, 803, 704, 784, 487, 791, 497, 703, 503, + 420, 487, 498, 499, 500, 248, 1031, 528, 248, 1031, + 704, 552, 703, 420, 274, 250, 1032, 704, 250, 498, + 499, 500, 825, 503, 785, 786, 787, 498, 499, 500, + 821, 792, 248, 1033, 504, 812, 1033, 703, 274, 420, + 519, 529, 250, 1034, 248, 826, 826, 826, 826, 248, + 552, 662, 528, 1529, 250, 274, 1528, 662, 504, 250, + 925, 793, 794, 795, 505, 506, 507, 532, 519, 1527, + 813, 533, 840, 841, 842, 520, 1526, 248, 1525, 1524, + 822, 823, 824, 274, 1097, 1098, 1099, 250, 505, 506, + + 507, 548, 1761, 548, 248, 1523, 549, 549, 549, 549, + 814, 815, 816, 520, 1522, 521, 522, 523, 494, 574, + 926, 927, 928, 881, 881, 881, 881, 535, 536, 537, + 1521, 1520, 843, 925, 843, 1519, 494, 844, 844, 844, + 844, 821, 1518, 521, 522, 523, 528, 670, 670, 670, + 670, 1517, 528, 529, 1516, 530, 1515, 819, 819, 819, + 819, 532, 805, 806, 807, 533, 268, 825, 847, 534, + 848, 848, 848, 848, 1761, 1514, 248, 645, 549, 549, + 549, 549, 849, 926, 927, 928, 1044, 534, 1510, 1044, + 494, 822, 823, 824, 610, 975, 1045, 851, 639, 851, + + 849, 551, 852, 852, 852, 852, 821, 632, 494, 929, + 248, 535, 536, 537, 495, 1509, 552, 840, 841, 842, + 250, 268, 966, 269, 1508, 525, 525, 525, 525, 496, + 1109, 1110, 1111, 250, 957, 821, 553, 526, 574, 1507, + 575, 668, 576, 576, 576, 576, 611, 668, 1506, 497, + 930, 930, 930, 930, 577, 526, 822, 823, 824, 944, + 945, 946, 483, 483, 483, 483, 554, 555, 556, 551, + 1262, 689, 577, 1070, 1264, 903, 1070, 689, 248, 498, + 499, 500, 828, 1071, 552, 822, 823, 824, 250, 529, + 904, 530, 1495, 829, 829, 829, 829, 830, 1115, 1116, + + 1117, 533, 1494, 1256, 553, 831, 884, 1487, 884, 551, + 903, 885, 885, 885, 885, 419, 821, 820, 248, 1486, + 985, 419, 985, 831, 552, 986, 986, 986, 250, 685, + 685, 685, 685, 674, 554, 555, 556, 872, 1249, 674, + 905, 906, 907, 830, 553, 997, 248, 832, 833, 834, + 828, 997, 496, 1472, 998, 610, 250, 529, 1471, 530, + 998, 850, 850, 850, 850, 830, 822, 823, 824, 533, + 929, 1240, 873, 831, 554, 555, 556, 564, 685, 685, + 685, 685, 610, 699, 609, 820, 248, 1002, 1002, 1002, + 564, 831, 249, 822, 823, 824, 250, 614, 1461, 248, + + 943, 615, 874, 875, 876, 249, 1121, 1122, 1123, 250, + 1003, 1460, 565, 1003, 1459, 832, 833, 834, 854, 1003, + 944, 945, 946, 1226, 1458, 565, 579, 855, 939, 856, + 856, 856, 856, 857, 699, 296, 1457, 858, 700, 700, + 700, 580, 566, 567, 568, 298, 931, 617, 618, 619, + 836, 837, 838, 497, 1456, 566, 567, 568, 947, 579, + 947, 581, 1455, 948, 948, 948, 948, 925, 296, 1075, + 1075, 1075, 1075, 1218, 580, 372, 1450, 675, 298, 676, + 676, 676, 676, 859, 860, 861, 872, 772, 772, 772, + 772, 582, 583, 584, 581, 248, 1449, 879, 879, 879, + + 879, 496, 372, 1212, 675, 250, 993, 993, 993, 993, + 863, 864, 865, 887, 1195, 1196, 1197, 926, 927, 928, + 579, 873, 296, 1448, 582, 583, 584, 895, 314, 296, + 1324, 988, 298, 1324, 924, 580, 296, 988, 1447, 298, + 1325, 587, 634, 487, 1165, 487, 298, 925, 888, 487, + 296, 874, 875, 876, 610, 581, 314, 1280, 1281, 1166, + 298, 1446, 896, 1280, 1281, 882, 882, 882, 882, 614, + 909, 910, 911, 615, 1206, 600, 588, 883, 889, 890, + 891, 587, 1207, 1208, 1209, 582, 583, 584, 1445, 915, + 296, 592, 897, 898, 899, 883, 314, 926, 927, 928, + + 298, 1444, 908, 916, 1443, 902, 589, 590, 591, 1167, + 1168, 1169, 296, 1442, 601, 1441, 588, 601, 634, 617, + 618, 619, 298, 296, 1338, 1512, 296, 1338, 1194, 314, + 586, 1512, 314, 298, 1339, 1761, 298, 472, 917, 768, + 768, 768, 768, 1213, 1214, 1215, 589, 590, 591, 602, + 1440, 925, 602, 894, 630, 1761, 630, 296, 578, 631, + 631, 631, 631, 683, 683, 683, 683, 1439, 918, 919, + 920, 578, 1219, 1220, 1221, 390, 940, 941, 942, 603, + 604, 605, 603, 604, 605, 610, 967, 968, 969, 578, + 886, 1438, 611, 390, 612, 1437, 923, 923, 923, 923, + + 614, 926, 927, 928, 615, 308, 1182, 951, 616, 952, + 952, 952, 952, 1031, 563, 774, 1031, 775, 775, 775, + 775, 953, 955, 1032, 955, 1434, 616, 956, 956, 956, + 956, 925, 871, 557, 199, 781, 781, 781, 781, 953, + 1761, 550, 296, 799, 631, 631, 631, 631, 1513, 1433, + 617, 618, 619, 579, 1513, 662, 578, 662, 800, 862, + 308, 662, 309, 1432, 607, 607, 607, 607, 580, 986, + 986, 986, 298, 668, 578, 668, 608, 853, 799, 668, + 633, 926, 927, 928, 421, 422, 423, 633, 581, 296, + 1761, 934, 633, 1761, 608, 634, 296, 1431, 1430, 298, + + 1761, 296, 634, 986, 986, 986, 298, 634, 801, 802, + 803, 298, 1097, 1098, 1099, 635, 1164, 1166, 582, 583, + 584, 932, 635, 829, 829, 829, 829, 635, 611, 1419, + 612, 1418, 933, 933, 933, 933, 934, 1109, 1110, 1111, + 615, 926, 927, 928, 935, 636, 637, 638, 885, 885, + 885, 885, 636, 637, 638, 976, 924, 636, 637, 638, + 646, 1158, 935, 1411, 296, 933, 933, 933, 933, 296, + 580, 1115, 1116, 1117, 298, 297, 407, 1410, 999, 298, + 1000, 1000, 1000, 1000, 1151, 1759, 936, 937, 938, 932, + 977, 1759, 771, 1760, 1396, 647, 611, 1395, 612, 1760, + + 954, 954, 954, 954, 934, 1121, 1122, 1123, 615, 1142, + 771, 527, 935, 199, 646, 1385, 1073, 1073, 1073, 1073, + 978, 979, 980, 296, 924, 648, 649, 650, 1074, 297, + 935, 839, 1384, 298, 481, 1761, 481, 1761, 1383, 773, + 773, 773, 773, 1128, 1306, 1078, 1074, 1078, 1382, 647, + 1079, 1079, 1079, 1079, 936, 937, 938, 958, 844, 844, + 844, 844, 821, 421, 422, 423, 959, 835, 960, 960, + 960, 960, 961, 419, 1381, 1033, 962, 419, 1033, 648, + 649, 650, 471, 419, 472, 1034, 473, 473, 473, 473, + 1761, 674, 581, 1761, 1761, 674, 199, 1761, 475, 1761, + + 1761, 674, 1761, 827, 1761, 1380, 1379, 1761, 1120, 1761, + 1761, 199, 822, 823, 824, 199, 475, 1761, 1374, 1373, + 199, 1114, 963, 964, 965, 976, 699, 1372, 199, 820, + 991, 991, 991, 1371, 296, 1035, 989, 989, 989, 989, + 580, 1036, 1370, 1108, 298, 518, 421, 422, 423, 799, + 1369, 1761, 1037, 1761, 1129, 1038, 1080, 1080, 1080, 1080, + 977, 421, 422, 423, 800, 421, 422, 423, 1085, 821, + 421, 422, 423, 1079, 1079, 1079, 1079, 248, 421, 422, + 423, 1263, 811, 552, 799, 1761, 508, 250, 1761, 1129, + 978, 979, 980, 701, 1368, 1761, 1264, 992, 992, 992, + + 992, 1761, 1324, 1086, 1761, 1324, 992, 992, 992, 992, + 804, 1761, 1325, 1367, 801, 802, 803, 798, 1366, 1130, + 1131, 1132, 199, 992, 992, 992, 992, 992, 992, 702, + 702, 702, 702, 1087, 1088, 1089, 1365, 1096, 702, 702, + 702, 702, 1761, 502, 1364, 1761, 1265, 1266, 1267, 1427, + 1428, 1429, 1761, 790, 1039, 702, 702, 702, 702, 702, + 702, 1761, 494, 199, 1761, 1761, 1363, 782, 1761, 1362, + 1361, 1761, 421, 422, 423, 1761, 1080, 1080, 1080, 1080, + 1761, 1084, 199, 1761, 1044, 704, 199, 1044, 1761, 703, + 1761, 1761, 1547, 1040, 1045, 1547, 1761, 420, 1761, 1761, + + 1761, 199, 1548, 1761, 704, 199, 1761, 703, 1761, 1041, + 1761, 1761, 1042, 421, 422, 423, 420, 199, 1761, 1305, + 1761, 199, 699, 1761, 199, 1304, 700, 700, 700, 199, + 1761, 1303, 421, 422, 423, 1544, 421, 422, 423, 1046, + 1043, 199, 1139, 1302, 1139, 1301, 1300, 1140, 1140, 1140, + 1140, 421, 422, 423, 1299, 421, 422, 423, 1048, 1047, + 1298, 472, 1307, 768, 768, 768, 768, 421, 422, 423, + 1297, 421, 422, 423, 421, 422, 423, 1296, 1295, 421, + 422, 423, 1237, 1294, 1237, 199, 1293, 1238, 1238, 1238, + 1238, 421, 422, 423, 424, 425, 426, 427, 428, 429, + + 430, 1292, 431, 1291, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 1761, 1308, 1761, 1761, 1761, 1761, 1290, + 1761, 1289, 1288, 1761, 471, 1761, 472, 1761, 473, 473, + 473, 473, 1287, 1286, 199, 421, 422, 423, 199, 1285, + 475, 226, 1284, 769, 420, 770, 770, 770, 770, 1761, + 1277, 319, 1761, 1761, 1276, 645, 1761, 771, 475, 1761, + 1545, 1050, 1761, 1761, 1275, 1761, 1761, 1274, 975, 1761, + 199, 312, 1761, 1049, 199, 771, 1761, 199, 472, 1273, + 1358, 1358, 1358, 1358, 421, 422, 423, 199, 421, 422, + 423, 1051, 1051, 1051, 1051, 1051, 1058, 1051, 1052, 639, + + 1051, 1051, 1051, 1272, 199, 1051, 632, 1051, 1550, 1546, + 1059, 1550, 1271, 1053, 1051, 1309, 1060, 1051, 1551, 1270, + 421, 422, 423, 966, 421, 422, 423, 421, 422, 423, + 1051, 1269, 1051, 1052, 1051, 199, 1327, 421, 422, 423, + 1268, 957, 372, 1234, 675, 1054, 993, 993, 993, 993, + 1761, 609, 1232, 1761, 421, 422, 423, 1051, 1051, 1051, + 1761, 1051, 1051, 1055, 1056, 1057, 1061, 1061, 1061, 1061, + 1061, 199, 1061, 1062, 1231, 1061, 1061, 1061, 1326, 943, + 1061, 1761, 1061, 1225, 1761, 421, 422, 423, 1063, 1061, + 1070, 1761, 1061, 1070, 1761, 1224, 939, 1761, 199, 1068, + + 1071, 1223, 199, 1222, 1761, 1061, 199, 1061, 1062, 1061, + 931, 199, 1211, 1761, 1064, 199, 1210, 1135, 1135, 1135, + 1135, 421, 422, 423, 1329, 1195, 1196, 1197, 1069, 827, + 924, 1205, 1061, 1061, 1061, 600, 1061, 1061, 1065, 1066, + 1067, 1140, 1140, 1140, 1140, 1072, 1204, 827, 421, 422, + 423, 1203, 421, 422, 423, 915, 421, 422, 423, 294, + 1202, 421, 422, 423, 592, 421, 422, 423, 477, 477, + 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, + 477, 477, 477, 477, 1201, 477, 1076, 1076, 1076, 1076, + 477, 477, 477, 477, 477, 479, 479, 479, 1077, 479, + + 479, 479, 479, 479, 479, 479, 479, 477, 477, 477, + 477, 477, 479, 479, 479, 479, 1077, 479, 479, 479, + 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, + 479, 479, 479, 479, 477, 477, 477, 477, 477, 477, + 477, 477, 477, 490, 199, 1081, 1200, 1082, 1082, 1082, + 1082, 1207, 1208, 1209, 908, 851, 528, 851, 1199, 849, + 852, 852, 852, 852, 821, 530, 1337, 1083, 1083, 1083, + 1083, 532, 1213, 1214, 1215, 533, 1761, 849, 828, 1761, + 852, 852, 852, 852, 821, 529, 1761, 530, 1198, 829, + 829, 829, 829, 830, 421, 422, 423, 533, 902, 1193, + + 843, 831, 843, 586, 1192, 844, 844, 844, 844, 821, + 1191, 783, 199, 820, 822, 823, 824, 894, 783, 831, + 248, 535, 536, 537, 1190, 578, 274, 248, 1189, 1549, + 250, 1188, 791, 274, 822, 823, 824, 250, 1336, 791, + 886, 248, 279, 832, 833, 834, 784, 552, 248, 1178, + 563, 250, 1177, 784, 552, 1176, 791, 871, 250, 822, + 823, 824, 421, 422, 423, 248, 272, 792, 199, 1761, + 1175, 552, 1761, 812, 792, 250, 785, 786, 787, 1761, + 199, 812, 248, 785, 786, 787, 557, 1174, 552, 550, + 248, 792, 250, 1173, 812, 1172, 552, 793, 794, 795, + + 250, 862, 1317, 248, 793, 794, 795, 1171, 813, 552, + 1219, 1220, 1221, 250, 1170, 853, 813, 1136, 421, 422, + 423, 793, 794, 795, 1238, 1238, 1238, 1238, 903, 813, + 421, 422, 423, 527, 1761, 903, 1134, 1761, 814, 815, + 816, 1133, 1553, 904, 1761, 1553, 814, 815, 816, 268, + 904, 847, 1554, 848, 848, 848, 848, 839, 1127, 814, + 815, 816, 828, 903, 1126, 849, 835, 1125, 199, 529, + 903, 530, 1124, 850, 850, 850, 850, 830, 1503, 1504, + 1505, 533, 1761, 849, 827, 831, 1141, 1141, 1141, 1141, + 1143, 1113, 1552, 905, 906, 907, 1112, 820, 827, 248, + + 905, 906, 907, 831, 820, 1144, 1761, 1328, 1761, 250, + 1150, 1150, 1150, 1150, 1107, 518, 827, 495, 421, 422, + 423, 1761, 527, 1106, 1761, 1145, 248, 832, 833, 834, + 528, 1761, 1149, 1105, 811, 199, 250, 529, 199, 530, + 527, 1118, 1118, 1118, 1118, 532, 1604, 1605, 1606, 533, + 246, 1338, 497, 1119, 1338, 1146, 1147, 1148, 574, 1104, + 1179, 1339, 1180, 1180, 1180, 1180, 1761, 508, 1103, 1761, + 1348, 1119, 1102, 804, 953, 1340, 1761, 1427, 1428, 1429, + 1555, 1101, 498, 499, 500, 421, 422, 423, 421, 422, + 423, 1100, 953, 798, 1095, 535, 536, 537, 477, 477, + + 477, 477, 477, 539, 477, 540, 539, 477, 477, 477, + 539, 539, 477, 539, 502, 477, 1137, 1137, 1137, 1137, + 542, 477, 539, 539, 543, 539, 539, 539, 1138, 539, + 539, 539, 539, 539, 539, 539, 539, 477, 539, 477, + 477, 477, 539, 539, 539, 539, 1138, 539, 539, 539, + 539, 539, 539, 539, 539, 539, 539, 539, 539, 539, + 539, 539, 539, 539, 477, 477, 477, 539, 477, 477, + 545, 546, 547, 1152, 1565, 1565, 1565, 1565, 1094, 1093, + 1159, 790, 855, 1227, 1153, 1153, 1153, 1153, 1154, 248, + 1092, 872, 858, 494, 872, 274, 1091, 1090, 925, 250, + + 248, 782, 872, 248, 1761, 232, 496, 1761, 1145, 496, + 250, 248, 199, 250, 1761, 1160, 198, 496, 1227, 704, + 1324, 250, 703, 1324, 420, 1030, 873, 1029, 1028, 873, + 1325, 1027, 948, 948, 948, 948, 925, 873, 1155, 1156, + 1157, 199, 1026, 1025, 1355, 1161, 1162, 1163, 1228, 1229, + 1230, 1558, 1650, 1651, 1652, 1024, 874, 875, 876, 874, + 875, 876, 421, 422, 423, 1023, 1022, 874, 875, 876, + 872, 956, 956, 956, 956, 925, 1503, 1504, 1505, 248, + 1021, 879, 879, 879, 879, 496, 926, 927, 928, 250, + 1020, 421, 422, 423, 1019, 955, 1761, 955, 610, 1761, + + 956, 956, 956, 956, 925, 873, 1761, 612, 1016, 1181, + 1181, 1181, 1181, 614, 1761, 1015, 1012, 615, 1233, 1233, + 1233, 1233, 1011, 1010, 1183, 926, 927, 928, 1007, 1006, + 931, 1536, 1005, 296, 1536, 874, 875, 876, 932, 634, + 1004, 1537, 420, 298, 701, 611, 1761, 612, 931, 933, + 933, 933, 933, 934, 926, 927, 928, 615, 996, 1184, + 995, 935, 887, 617, 618, 619, 994, 887, 1604, 1605, + 1606, 296, 353, 924, 667, 1338, 296, 314, 1338, 935, + 340, 298, 314, 661, 1761, 1339, 298, 1761, 326, 1185, + 1186, 1187, 990, 319, 1761, 982, 199, 888, 1547, 981, + + 895, 1547, 888, 936, 937, 938, 645, 895, 1548, 296, + 974, 1282, 1282, 1282, 1282, 634, 296, 312, 973, 298, + 972, 895, 634, 1283, 639, 971, 298, 889, 890, 891, + 296, 970, 889, 890, 891, 896, 634, 1650, 1651, 1652, + 298, 1283, 896, 916, 1556, 632, 421, 422, 423, 988, + 950, 1761, 296, 988, 1761, 199, 896, 949, 634, 988, + 916, 1761, 298, 609, 929, 897, 898, 899, 950, 296, + 949, 609, 897, 898, 899, 634, 929, 1347, 917, 298, + 922, 916, 1550, 921, 600, 1550, 897, 898, 899, 914, + 296, 294, 1551, 913, 912, 917, 634, 308, 592, 951, + + 298, 952, 952, 952, 952, 421, 422, 423, 918, 919, + 920, 1557, 594, 953, 901, 947, 917, 947, 900, 586, + 948, 948, 948, 948, 925, 918, 919, 920, 893, 892, + 578, 953, 287, 1553, 880, 1761, 1553, 199, 279, 1239, + 1239, 1239, 1239, 1554, 878, 877, 918, 919, 920, 932, + 472, 931, 1357, 1357, 1357, 1357, 611, 563, 612, 870, + 954, 954, 954, 954, 934, 272, 869, 868, 615, 931, + 557, 199, 935, 867, 926, 927, 928, 1241, 866, 1403, + 1403, 1403, 1403, 821, 924, 579, 296, 421, 422, 423, + 935, 550, 1242, 846, 296, 845, 298, 527, 825, 846, + + 1247, 845, 527, 1761, 298, 1761, 825, 1248, 1248, 1248, + 1248, 818, 1243, 817, 936, 937, 938, 610, 518, 609, + 581, 421, 422, 423, 611, 810, 612, 246, 1216, 1216, + 1216, 1216, 614, 822, 823, 824, 615, 609, 809, 808, + 1217, 1761, 1244, 1245, 1246, 1135, 1135, 1135, 1135, 508, + 582, 583, 584, 510, 1356, 797, 1356, 827, 1217, 1357, + 1357, 1357, 1357, 1078, 796, 1078, 502, 789, 1358, 1358, + 1358, 1358, 1761, 788, 472, 827, 1357, 1357, 1357, 1357, + 494, 239, 617, 618, 619, 477, 477, 477, 477, 477, + 621, 477, 622, 621, 477, 477, 477, 621, 621, 477, + + 621, 486, 621, 1235, 1235, 1235, 1235, 624, 477, 621, + 621, 625, 621, 621, 621, 1236, 621, 621, 621, 621, + 621, 621, 621, 621, 477, 621, 477, 477, 477, 621, + 621, 621, 621, 1236, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 477, 477, 477, 621, 477, 477, 627, 628, 629, + 1250, 764, 198, 729, 728, 725, 724, 1257, 721, 959, + 718, 1251, 1251, 1251, 1251, 1252, 296, 717, 976, 962, + 716, 976, 314, 715, 1129, 199, 298, 296, 711, 976, + 296, 1536, 707, 580, 1536, 1243, 580, 298, 296, 821, + + 298, 1537, 1258, 704, 580, 407, 703, 999, 298, 1000, + 1000, 1000, 1000, 977, 420, 688, 977, 687, 686, 1129, + 1547, 771, 651, 1547, 977, 1253, 1254, 1255, 1681, 669, + 1548, 353, 1259, 1260, 1261, 421, 422, 423, 663, 771, + 340, 657, 326, 978, 979, 980, 978, 979, 980, 1130, + 1131, 1132, 656, 655, 978, 979, 980, 976, 1479, 1479, + 1479, 1479, 925, 319, 1550, 644, 296, 1550, 989, 989, + 989, 989, 580, 471, 1551, 472, 298, 1073, 1073, 1073, + 1073, 490, 643, 1081, 1085, 1082, 1082, 1082, 1082, 1074, + 312, 1553, 977, 248, 1553, 199, 599, 849, 598, 552, + + 294, 1554, 1085, 250, 572, 287, 1701, 1074, 571, 1701, + 570, 248, 926, 927, 928, 849, 1702, 552, 1129, 1086, + 279, 250, 978, 979, 980, 701, 199, 256, 562, 992, + 992, 992, 992, 821, 1674, 561, 272, 1086, 992, 992, + 992, 992, 515, 514, 246, 421, 422, 423, 488, 1087, + 1088, 1089, 239, 1129, 467, 992, 992, 992, 992, 992, + 992, 1278, 1278, 466, 1278, 1688, 1278, 1087, 1088, 1089, + 1278, 1278, 1278, 198, 1278, 175, 421, 422, 423, 1085, + 396, 395, 1278, 1130, 1131, 1132, 1701, 1741, 248, 1701, + 1741, 394, 393, 392, 552, 385, 1702, 1742, 250, 1278, + + 382, 1278, 1278, 1377, 378, 1377, 375, 360, 1378, 1378, + 1378, 1378, 821, 1386, 1086, 1386, 355, 354, 1387, 1387, + 1387, 1387, 821, 1143, 353, 199, 1278, 356, 1278, 1278, + 1279, 1279, 248, 1279, 199, 1279, 355, 354, 1144, 1279, + 1279, 1279, 250, 1279, 1087, 1088, 1089, 1741, 353, 1761, + 1741, 1279, 1421, 1141, 1141, 1141, 1141, 1742, 1145, 346, + 343, 342, 822, 823, 824, 827, 341, 1422, 1279, 340, + 1279, 1279, 822, 823, 824, 421, 422, 423, 331, 328, + 327, 326, 303, 827, 421, 422, 423, 1421, 1146, 1147, + 1148, 289, 288, 287, 266, 1279, 241, 1279, 1279, 702, + + 702, 702, 702, 1758, 1758, 1758, 240, 239, 702, 702, + 702, 702, 220, 188, 175, 174, 1761, 1423, 1424, 1425, + 169, 1758, 1758, 1758, 1758, 702, 702, 702, 702, 702, + 702, 1310, 1310, 1310, 1310, 1310, 169, 1310, 1311, 1761, + 1310, 1310, 1310, 1761, 1761, 1310, 1761, 1310, 1761, 1761, + 1761, 1761, 1761, 1312, 1310, 1761, 1761, 1310, 1761, 574, + 1761, 1179, 1761, 1180, 1180, 1180, 1180, 1761, 1761, 528, + 1310, 1761, 1310, 1311, 1310, 953, 1143, 1761, 530, 1313, + 1388, 1388, 1388, 1388, 532, 248, 1761, 199, 533, 1761, + 1761, 1144, 1761, 953, 1761, 250, 1761, 1310, 1310, 1310, + + 1761, 1310, 1310, 1314, 1315, 1316, 1318, 1318, 1318, 1318, + 1318, 1145, 1318, 1319, 1761, 1318, 1318, 1318, 1761, 1761, + 1318, 1761, 1318, 1761, 1761, 1761, 1761, 1761, 1320, 1318, + 1761, 1761, 1318, 1761, 535, 536, 537, 421, 422, 423, + 1761, 1146, 1147, 1148, 1761, 1318, 1761, 1318, 1319, 1318, + 1453, 1390, 1453, 1761, 1761, 1454, 1454, 1454, 1454, 925, + 248, 1761, 199, 1761, 1761, 1761, 274, 1761, 1761, 1761, + 250, 1761, 1318, 1318, 1318, 199, 1318, 1318, 1321, 1322, + 1323, 1330, 1330, 1330, 1330, 1330, 1391, 1330, 1331, 199, + 1330, 1330, 1330, 1761, 199, 1330, 1761, 1330, 1761, 1761, + + 1761, 1761, 1761, 1332, 1330, 1761, 1761, 1330, 1761, 926, + 927, 928, 421, 422, 423, 1761, 1392, 1393, 1394, 1761, + 1330, 1761, 1330, 1331, 1330, 421, 422, 423, 1227, 1078, + 1761, 1078, 1761, 1761, 1358, 1358, 1358, 1358, 1761, 421, + 422, 423, 1761, 925, 421, 422, 423, 1330, 1330, 1330, + 1761, 1330, 1330, 1333, 1334, 1335, 424, 425, 426, 427, + 428, 429, 430, 1227, 431, 1227, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 1341, 1341, 1341, 1341, 1341, + 925, 1341, 1342, 199, 1341, 1341, 1341, 1761, 1761, 1341, + 1761, 1341, 1761, 1228, 1229, 1230, 1761, 1343, 1341, 1761, + + 1227, 1341, 1761, 1761, 1143, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 248, 1341, 1761, 1341, 1342, 1341, 1144, + 1761, 1761, 1761, 250, 1761, 1233, 1233, 1233, 1233, 1761, + 1228, 1229, 1230, 421, 422, 423, 1761, 931, 1761, 1145, + 1761, 1341, 1341, 1341, 1761, 1341, 1341, 1344, 1345, 1346, + 1349, 1349, 1349, 1349, 1349, 931, 1349, 1350, 1761, 1349, + 1349, 1349, 1761, 1761, 1349, 1398, 1349, 1761, 1143, 1146, + 1147, 1148, 1351, 1349, 248, 1761, 1349, 248, 1761, 1761, + 274, 1761, 1761, 1144, 250, 1761, 1761, 250, 1761, 1349, + 1761, 1349, 1350, 1349, 1761, 1761, 1761, 1761, 1761, 1761, + + 1399, 1761, 1761, 1145, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1497, 1761, 1761, 1761, 1761, 1349, 1349, 1349, 1761, + 1349, 1349, 1352, 1353, 1354, 528, 1498, 1761, 1761, 1761, + 1400, 1401, 1402, 1146, 1147, 1148, 1359, 1359, 1359, 1359, + 532, 1761, 1761, 1761, 533, 1761, 1497, 1761, 1360, 1143, + 1761, 1761, 1405, 1761, 1761, 1761, 1761, 1761, 248, 1761, + 1413, 248, 1761, 1761, 1154, 1761, 1360, 274, 250, 248, + 1761, 250, 1761, 1761, 1761, 552, 1499, 1500, 1501, 250, + 1761, 1761, 1761, 1761, 1145, 1761, 1761, 1406, 1761, 1761, + 535, 536, 537, 828, 1761, 1414, 1761, 1761, 1421, 1761, + + 1761, 1761, 530, 1761, 1141, 1141, 1141, 1141, 830, 1761, + 1761, 1761, 533, 1422, 1146, 1147, 1148, 1407, 1408, 1409, + 1159, 1701, 1761, 1761, 1701, 1415, 1416, 1417, 820, 248, + 1761, 1702, 1159, 1421, 1761, 274, 1761, 1761, 1761, 250, + 1761, 248, 199, 1761, 1761, 1761, 1761, 274, 1761, 1761, + 1761, 250, 1761, 1761, 1761, 1160, 1761, 1761, 832, 833, + 834, 828, 1761, 1423, 1424, 1425, 1421, 1160, 529, 1761, + 530, 1761, 1375, 1375, 1375, 1375, 830, 1761, 1761, 1761, + 533, 1422, 1761, 1761, 1376, 1161, 1162, 1163, 1761, 1761, + 1761, 1761, 421, 422, 423, 1183, 820, 1161, 1162, 1163, + + 1183, 1421, 1376, 1761, 296, 1761, 1761, 1761, 1761, 296, + 634, 1761, 1761, 1761, 298, 634, 1462, 1761, 1462, 298, + 1761, 1463, 1463, 1463, 1463, 925, 832, 833, 834, 1152, + 1184, 1423, 1424, 1425, 1761, 1184, 1183, 1761, 855, 1761, + 1153, 1153, 1153, 1153, 1154, 296, 1761, 1761, 858, 1761, + 1761, 634, 1761, 1761, 1761, 298, 1239, 1239, 1239, 1239, + 1185, 1186, 1187, 1761, 1145, 1185, 1186, 1187, 931, 610, + 1761, 1184, 1761, 1761, 1761, 926, 927, 928, 612, 1761, + 1464, 1464, 1464, 1464, 614, 1761, 931, 1761, 615, 1378, + 1378, 1378, 1378, 821, 1155, 1156, 1157, 610, 1761, 1761, + + 1761, 1185, 1186, 1187, 1241, 1761, 1761, 1761, 1435, 1435, + 1435, 1435, 614, 296, 1761, 1761, 615, 1761, 1761, 1242, + 1436, 1761, 1241, 298, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 296, 1761, 1761, 617, 618, 619, 1242, 1436, 1243, + 1466, 298, 1761, 822, 823, 824, 1761, 1761, 1761, 296, + 1761, 1497, 1761, 1761, 1761, 314, 1761, 1243, 1761, 298, + 1761, 1761, 617, 618, 619, 932, 1498, 1761, 1761, 1244, + 1245, 1246, 1761, 1761, 612, 1467, 1239, 1239, 1239, 1239, + 934, 1761, 1761, 1761, 615, 1761, 1497, 1244, 1245, 1246, + 1386, 1761, 1386, 1241, 1761, 1387, 1387, 1387, 1387, 821, + + 924, 1761, 296, 1761, 1474, 1468, 1469, 1470, 1242, 1761, + 1761, 1761, 298, 296, 1761, 1761, 1499, 1500, 1501, 314, + 471, 1761, 472, 298, 1073, 1073, 1073, 1073, 1243, 1761, + 936, 937, 938, 932, 1761, 1761, 1074, 1761, 1761, 1475, + 611, 1761, 612, 1761, 1451, 1451, 1451, 1451, 934, 822, + 823, 824, 615, 1761, 1074, 1761, 1452, 1241, 1244, 1245, + 1246, 1761, 1761, 1761, 1761, 1761, 296, 1761, 924, 1476, + 1477, 1478, 1242, 1761, 1452, 1241, 298, 1570, 1570, 1570, + 1570, 1761, 1481, 1761, 296, 1761, 1761, 1761, 1761, 827, + 1252, 296, 1243, 1761, 298, 1761, 1761, 314, 936, 937, + + 938, 298, 1761, 1761, 1761, 1761, 1761, 827, 1761, 1761, + 1243, 1761, 1761, 1761, 1761, 1761, 1489, 1482, 1761, 1761, + 1761, 1761, 1244, 1245, 1246, 296, 1761, 1761, 1761, 1761, + 1761, 634, 1761, 1761, 1761, 298, 1761, 1761, 1761, 1761, + 1244, 1245, 1246, 1250, 1761, 1761, 1761, 1483, 1484, 1485, + 1257, 1490, 959, 1761, 1251, 1251, 1251, 1251, 1252, 296, + 1761, 1257, 962, 1761, 1761, 314, 1761, 1761, 1761, 298, + 296, 1761, 1761, 1761, 1761, 1761, 314, 1761, 1243, 1761, + 298, 1491, 1492, 1493, 1377, 1258, 1377, 1761, 1761, 1378, + 1378, 1378, 1378, 821, 1761, 1761, 1258, 1387, 1387, 1387, + + 1387, 821, 1403, 1403, 1403, 1403, 821, 1761, 1253, 1254, + 1255, 1573, 1573, 1573, 1573, 1259, 1260, 1261, 1454, 1454, + 1454, 1454, 925, 827, 1761, 1761, 1259, 1260, 1261, 1511, + 1511, 1761, 1511, 1761, 1511, 1761, 1761, 1761, 1511, 1511, + 1511, 827, 1511, 822, 823, 824, 1761, 1761, 1761, 1761, + 1511, 822, 823, 824, 1761, 1761, 822, 823, 824, 1573, + 1573, 1573, 1573, 1761, 1761, 1761, 1761, 1511, 1575, 1511, + 1511, 827, 926, 927, 928, 1761, 1761, 248, 1761, 1761, + 1761, 1761, 1761, 552, 1761, 1761, 1761, 250, 1761, 827, + 1761, 1497, 1761, 1761, 1511, 1761, 1511, 1511, 1530, 1530, + + 1530, 1530, 1530, 1576, 1530, 1531, 1498, 1530, 1530, 1530, + 1761, 1761, 1530, 1761, 1530, 1761, 1761, 1761, 1761, 1761, + 1532, 1530, 1761, 1761, 1530, 1761, 1497, 1390, 1761, 1761, + 1761, 1761, 1761, 1577, 1578, 1579, 248, 1530, 1761, 1530, + 1531, 1530, 274, 1462, 1761, 1462, 250, 1761, 1463, 1463, + 1463, 1463, 925, 1761, 1761, 1761, 1499, 1500, 1501, 1761, + 1761, 1761, 1391, 1761, 1530, 1530, 1530, 1761, 1530, 1530, + 1533, 1534, 1535, 1761, 1536, 1761, 1761, 1536, 1761, 1761, + 1761, 1761, 1761, 1761, 1537, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1392, 1393, 1394, 199, 1761, 1761, 1761, 1761, + + 1390, 1761, 926, 927, 928, 1761, 1761, 1741, 1761, 248, + 1741, 1761, 1761, 1761, 1761, 274, 1761, 1742, 1584, 250, + 1761, 1463, 1463, 1463, 1463, 925, 1761, 248, 199, 1761, + 1761, 1761, 1761, 552, 1761, 1391, 1761, 250, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 421, 422, 423, 1538, 1538, + 1538, 1538, 1538, 1585, 1538, 1539, 1761, 1538, 1538, 1538, + 1761, 1761, 1538, 1761, 1538, 1392, 1393, 1394, 1761, 1761, + 1540, 1538, 1761, 1761, 1538, 926, 927, 928, 421, 422, + 423, 1761, 1761, 1586, 1587, 1588, 1761, 1538, 1761, 1538, + 1539, 1538, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + + 1453, 1761, 1453, 1761, 1761, 1454, 1454, 1454, 1454, 925, + 1761, 1761, 1761, 1761, 1538, 1538, 1538, 1761, 1538, 1538, + 1541, 1542, 1543, 424, 425, 426, 427, 428, 429, 430, + 1761, 431, 1761, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 1559, 1559, 1559, 1559, 1559, 1761, 1559, 1560, + 1761, 1559, 1559, 1559, 1398, 1761, 1559, 1761, 1559, 926, + 927, 928, 1761, 248, 1561, 1559, 1761, 1761, 1559, 274, + 1761, 1761, 1761, 250, 1616, 1616, 1616, 1616, 1761, 1761, + 1761, 1559, 1761, 1559, 1560, 1559, 931, 1761, 1398, 1399, + 1479, 1479, 1479, 1479, 925, 1761, 1761, 248, 1761, 1761, + + 1761, 1761, 1761, 274, 931, 1761, 1761, 250, 1559, 1559, + 1559, 1761, 1559, 1559, 1562, 1563, 1564, 828, 1761, 1400, + 1401, 1402, 1761, 1399, 529, 1761, 530, 1761, 1375, 1375, + 1375, 1375, 830, 1761, 1761, 1761, 533, 1761, 1761, 1761, + 1376, 1761, 1761, 1761, 926, 927, 928, 1619, 1619, 1619, + 1619, 1592, 820, 1400, 1401, 1402, 1405, 1761, 1376, 931, + 248, 1761, 1761, 1761, 1761, 248, 552, 1761, 1761, 1761, + 250, 274, 1761, 1761, 1761, 250, 1761, 931, 1761, 1761, + 1761, 1761, 832, 833, 834, 828, 1593, 1761, 1761, 1761, + 1761, 1406, 529, 1761, 530, 1761, 1375, 1375, 1375, 1375, + + 830, 1761, 1761, 1761, 533, 1761, 1761, 1761, 1376, 1761, + 1405, 1761, 1761, 1761, 1761, 1761, 1594, 1595, 1596, 248, + 820, 1407, 1408, 1409, 1413, 274, 1376, 1413, 1761, 250, + 1761, 1761, 1761, 248, 1761, 1761, 248, 1761, 1413, 552, + 1761, 1761, 552, 250, 1761, 1406, 250, 248, 1761, 1761, + 832, 833, 834, 552, 1761, 1761, 1761, 250, 1761, 1414, + 1761, 1761, 1414, 1761, 1761, 1621, 1761, 1619, 1619, 1619, + 1619, 1761, 1761, 1414, 296, 1407, 1408, 1409, 1761, 931, + 634, 1761, 1761, 1761, 298, 1761, 1761, 1761, 1761, 1415, + 1416, 1417, 1415, 1416, 1417, 1761, 1761, 931, 1761, 1761, + + 1622, 1761, 1761, 1415, 1416, 1417, 932, 1761, 1761, 1761, + 1761, 1761, 1761, 611, 1761, 612, 1761, 1451, 1451, 1451, + 1451, 934, 1761, 1761, 1761, 615, 1761, 1761, 1761, 1452, + 1623, 1624, 1625, 1466, 1761, 1761, 1761, 1761, 1761, 1761, + 1466, 924, 296, 1761, 1761, 1630, 1761, 1452, 314, 296, + 1761, 1761, 298, 1761, 296, 314, 1761, 1761, 1761, 298, + 634, 1761, 1761, 1761, 298, 1761, 1761, 1761, 1467, 1761, + 1761, 936, 937, 938, 932, 1467, 1761, 1761, 1761, 1761, + 1631, 611, 1761, 612, 1761, 1451, 1451, 1451, 1451, 934, + 1761, 1761, 1761, 615, 1761, 1761, 1761, 1452, 1468, 1469, + + 1470, 1761, 1761, 1761, 1761, 1468, 1469, 1470, 1474, 924, + 1632, 1633, 1634, 1474, 1761, 1452, 1638, 296, 1761, 1761, + 1761, 1761, 296, 314, 1761, 296, 1761, 298, 314, 1761, + 1761, 634, 298, 1761, 1761, 298, 1761, 1481, 1761, 936, + 937, 938, 1761, 1475, 1761, 1761, 296, 1761, 1475, 1481, + 1761, 1639, 314, 1761, 1761, 1761, 298, 1761, 296, 1761, + 1761, 1761, 1761, 1761, 314, 1761, 1761, 1761, 298, 1761, + 1761, 1761, 1482, 1476, 1477, 1478, 1489, 1761, 1476, 1477, + 1478, 1640, 1641, 1642, 1482, 296, 1761, 1761, 1761, 1761, + 1489, 634, 1761, 1761, 1761, 298, 1761, 1761, 1489, 296, + + 1761, 1761, 1483, 1484, 1485, 634, 1761, 296, 1761, 298, + 1761, 1490, 1761, 634, 1483, 1484, 1485, 298, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1490, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1490, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1491, 1492, 1493, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1491, 1492, 1493, 1761, 1761, + 1761, 1761, 1761, 1491, 1492, 1493, 424, 425, 426, 427, + 428, 429, 430, 1761, 431, 1761, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 1668, 1668, 1668, 1668, 1668, + 1761, 1668, 1669, 1761, 1668, 1668, 1668, 1761, 1761, 1668, + + 1761, 1668, 1761, 1761, 1761, 1761, 1761, 1670, 1668, 1761, + 1761, 1668, 1761, 1761, 1575, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 248, 1668, 1761, 1668, 1669, 1668, 552, + 1761, 1761, 1761, 250, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1576, + 1761, 1668, 1668, 1668, 1761, 1668, 1668, 1671, 1672, 1673, + 1675, 1675, 1675, 1675, 1675, 1761, 1675, 1676, 1761, 1675, + 1675, 1675, 1761, 1761, 1675, 1761, 1675, 1761, 1761, 1577, + 1578, 1579, 1677, 1675, 1761, 1761, 1675, 1761, 1761, 1575, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 248, 1675, + + 1761, 1675, 1676, 1675, 552, 1761, 1761, 1761, 250, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1576, 1761, 1675, 1675, 1675, 1761, + 1675, 1675, 1678, 1679, 1680, 1682, 1682, 1682, 1682, 1682, + 1761, 1682, 1683, 1761, 1682, 1682, 1682, 1761, 1761, 1682, + 1761, 1682, 1761, 1761, 1577, 1578, 1579, 1684, 1682, 1761, + 1761, 1682, 1761, 1761, 1575, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 248, 1682, 1761, 1682, 1683, 1682, 552, + 1761, 1761, 1761, 250, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1576, + + 1761, 1682, 1682, 1682, 1761, 1682, 1682, 1685, 1686, 1687, + 1689, 1689, 1689, 1689, 1689, 1761, 1689, 1690, 1761, 1689, + 1689, 1689, 1761, 1761, 1689, 1761, 1689, 1761, 1761, 1577, + 1578, 1579, 1691, 1689, 1761, 1761, 1689, 1761, 1761, 1584, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 248, 1689, + 1761, 1689, 1690, 1689, 552, 1761, 1761, 1761, 250, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1585, 1761, 1689, 1689, 1689, 1761, + 1689, 1689, 1692, 1693, 1694, 1695, 1695, 1695, 1695, 1695, + 1761, 1695, 1696, 1761, 1695, 1695, 1695, 1761, 1761, 1695, + + 1584, 1695, 1761, 1761, 1586, 1587, 1588, 1697, 1695, 248, + 1761, 1695, 1761, 1761, 1761, 552, 1761, 1761, 1761, 250, + 1761, 1761, 1761, 1761, 1695, 1761, 1695, 1696, 1695, 1761, + 1761, 1761, 1761, 1761, 1761, 1585, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1695, 1695, 1695, 1761, 1695, 1695, 1698, 1699, 1700, + 828, 1761, 1761, 1761, 1761, 1586, 1587, 1588, 1584, 530, + 1761, 1570, 1570, 1570, 1570, 830, 1761, 248, 1761, 533, + 1761, 1761, 1761, 552, 1761, 1592, 1761, 250, 1761, 1761, + 1761, 1761, 1761, 1761, 248, 820, 1761, 1761, 1761, 1761, + 552, 1761, 1761, 1585, 250, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1593, 1761, 1761, 1761, 1761, 832, 833, 834, 828, 1761, + 1761, 1761, 1761, 1586, 1587, 1588, 1761, 530, 1761, 1573, + 1573, 1573, 1573, 830, 1761, 1592, 1761, 533, 1761, 1761, + 1594, 1595, 1596, 1592, 248, 1761, 1761, 1761, 1761, 1761, + 552, 1761, 248, 820, 250, 1761, 1761, 1761, 552, 1761, + 1761, 1761, 250, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1593, 1621, 1761, 1761, 1761, 1761, 1761, 1761, 1593, 1761, + 296, 1761, 1761, 832, 833, 834, 634, 1761, 1761, 1761, + + 298, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1621, 1761, + 1594, 1595, 1596, 1761, 1761, 1761, 1622, 296, 1594, 1595, + 1596, 932, 1761, 634, 1761, 1761, 1761, 298, 1761, 1761, + 612, 1761, 1616, 1616, 1616, 1616, 934, 1761, 1761, 1761, + 615, 1761, 1761, 1622, 1621, 1761, 1623, 1624, 1625, 1630, + 1761, 1761, 1761, 296, 1761, 1761, 924, 1761, 296, 634, + 1761, 1630, 1761, 298, 634, 1761, 1761, 1761, 298, 1761, + 296, 1761, 1761, 1623, 1624, 1625, 634, 1761, 1761, 1622, + 298, 1761, 1761, 1761, 1631, 1761, 936, 937, 938, 932, + 1761, 1761, 1761, 1761, 1761, 1761, 1631, 1761, 612, 1761, + + 1619, 1619, 1619, 1619, 934, 1761, 1761, 1761, 615, 1623, + 1624, 1625, 1761, 1761, 1632, 1633, 1634, 1761, 1761, 1761, + 1761, 1761, 1630, 1761, 924, 1638, 1632, 1633, 1634, 1761, + 1638, 296, 1761, 1638, 296, 1761, 1761, 634, 1761, 296, + 634, 298, 296, 1761, 298, 634, 1761, 1761, 634, 298, + 1761, 1761, 298, 1761, 936, 937, 938, 1631, 1761, 1761, + 1639, 1761, 1761, 1761, 1761, 1639, 1761, 1761, 1639, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1632, 1633, 1634, + 1640, 1641, 1642, 1761, 1761, 1640, 1641, 1642, 1640, 1641, + + 1642, 1735, 1735, 1735, 1735, 1735, 1761, 1735, 1736, 1761, + 1735, 1735, 1735, 1761, 1761, 1735, 1761, 1735, 1761, 1761, + 1761, 1761, 1761, 1737, 1735, 1761, 1761, 1735, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1735, 1761, 1735, 1736, 1735, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1735, 1735, 1735, + 1761, 1735, 1735, 1738, 1739, 1740, 1743, 1743, 1743, 1743, + 1743, 1761, 1743, 1744, 1761, 1743, 1743, 1743, 1761, 1761, + 1743, 1761, 1743, 1761, 1761, 1761, 1761, 1761, 1745, 1743, + + 1761, 1761, 1743, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1743, 1761, 1743, 1744, 1743, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1743, 1743, 1743, 1761, 1743, 1743, 1746, 1747, + 1748, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 107, 107, 107, 107, 107, 107, 107, 107, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 107, + 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 144, 144, 144, 144, - 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, - 150, 150, 150, 150, 168, 168, 168, 168, 168, 168, - + 150, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 170, 170, - 1747, 1747, 1747, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 1747, 170, 170, 170, - 170, 170, 228, 228, 1747, 228, 1747, 1747, 1747, 228, - 1747, 228, 228, 230, 230, 1747, 1747, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 232, 232, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - - 232, 245, 1747, 245, 1747, 1747, 245, 245, 1747, 245, - 1747, 245, 245, 1747, 245, 245, 245, 245, 245, 245, - 271, 1747, 271, 1747, 1747, 271, 271, 1747, 271, 1747, - 271, 271, 1747, 271, 271, 271, 271, 271, 271, 278, - 1747, 278, 1747, 1747, 278, 278, 1747, 1747, 1747, 278, - 278, 1747, 1747, 278, 1747, 278, 278, 278, 293, 1747, - 293, 1747, 1747, 293, 293, 1747, 293, 293, 293, 293, - 1747, 293, 293, 293, 293, 293, 293, 311, 1747, 311, - 1747, 1747, 311, 311, 1747, 311, 311, 311, 311, 1747, - 311, 311, 311, 311, 311, 311, 318, 1747, 318, 1747, - - 1747, 318, 318, 1747, 1747, 318, 318, 318, 1747, 1747, - 318, 1747, 318, 318, 318, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 356, - 1747, 1747, 1747, 356, 1747, 356, 356, 364, 364, 364, - 1747, 364, 364, 1747, 1747, 364, 1747, 1747, 364, 364, - 364, 364, 364, 382, 1747, 1747, 1747, 1747, 382, 1747, - 382, 382, 1747, 1747, 382, 1747, 382, 382, 382, 1747, - 382, 382, 382, 1747, 382, 382, 382, 396, 396, 1747, - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - 396, 399, 399, 1747, 399, 399, 399, 399, 399, 399, - 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, - 399, 399, 399, 399, 399, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 419, - 1747, 419, 1747, 1747, 419, 419, 1747, 1747, 419, 419, - 419, 1747, 1747, 419, 419, 419, 419, 419, 471, 471, - 1747, 471, 1747, 1747, 1747, 471, 1747, 471, 471, 230, - 230, 1747, 1747, 230, 230, 230, 230, 230, 230, 230, - - 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 491, 1747, 491, 1747, 1747, 491, 491, - 1747, 491, 1747, 491, 491, 1747, 491, 491, 491, 491, - 491, 491, 245, 1747, 245, 1747, 1747, 245, 245, 1747, - 245, 1747, 245, 245, 1747, 245, 245, 245, 245, 245, - 245, 499, 1747, 499, 1747, 1747, 499, 499, 1747, 499, - 1747, 499, 499, 1747, 499, 499, 499, 499, 499, 499, - 505, 1747, 505, 1747, 1747, 505, 505, 1747, 1747, 1747, - 505, 505, 1747, 1747, 505, 1747, 505, 505, 505, 515, - 1747, 515, 1747, 1747, 515, 515, 1747, 515, 1747, 515, - - 515, 1747, 515, 515, 515, 515, 515, 515, 524, 1747, - 524, 1747, 1747, 524, 524, 524, 524, 1747, 524, 524, - 1747, 524, 524, 1747, 524, 524, 524, 547, 1747, 547, - 1747, 1747, 547, 547, 1747, 547, 1747, 547, 547, 1747, - 547, 547, 547, 547, 547, 547, 271, 1747, 271, 1747, - 1747, 271, 271, 1747, 271, 1747, 271, 271, 1747, 271, - 271, 271, 271, 271, 271, 554, 1747, 554, 1747, 1747, - 554, 554, 1747, 1747, 1747, 554, 1747, 1747, 1747, 554, - 554, 554, 554, 554, 560, 1747, 560, 1747, 1747, 560, - 560, 1747, 560, 1747, 560, 560, 1747, 560, 560, 560, - - 560, 560, 560, 575, 1747, 575, 1747, 1747, 575, 575, - 1747, 575, 575, 575, 575, 1747, 575, 575, 575, 575, - 575, 575, 293, 1747, 293, 1747, 1747, 293, 293, 1747, - 293, 293, 293, 293, 1747, 293, 293, 293, 293, 293, - 293, 583, 1747, 583, 1747, 1747, 583, 583, 1747, 583, - 583, 583, 583, 1747, 583, 583, 583, 583, 583, 583, - 589, 1747, 589, 1747, 1747, 589, 589, 1747, 1747, 589, - 589, 589, 1747, 1747, 589, 1747, 589, 589, 589, 597, - 1747, 597, 1747, 1747, 597, 597, 1747, 597, 597, 597, - 597, 1747, 597, 597, 597, 597, 597, 597, 606, 1747, - - 606, 1747, 1747, 606, 606, 606, 606, 606, 606, 606, - 1747, 606, 606, 1747, 606, 606, 606, 629, 1747, 629, - 1747, 1747, 629, 629, 1747, 629, 629, 629, 629, 1747, - 629, 629, 629, 629, 629, 629, 311, 1747, 311, 1747, - 1747, 311, 311, 1747, 311, 311, 311, 311, 1747, 311, - 311, 311, 311, 311, 311, 636, 1747, 636, 1747, 1747, - 636, 636, 1747, 1747, 636, 636, 1747, 1747, 1747, 636, - 636, 636, 636, 636, 642, 1747, 642, 1747, 1747, 642, - 642, 1747, 642, 642, 642, 642, 1747, 642, 642, 642, - 642, 642, 642, 356, 1747, 1747, 1747, 356, 1747, 356, - - 356, 364, 1747, 1747, 1747, 364, 1747, 364, 364, 474, - 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, - 474, 474, 1747, 474, 474, 474, 474, 474, 474, 474, - 474, 474, 474, 228, 228, 1747, 228, 1747, 1747, 1747, - 228, 1747, 228, 228, 382, 1747, 1747, 1747, 1747, 382, - 1747, 382, 382, 1747, 1747, 382, 1747, 382, 382, 382, - 1747, 382, 382, 382, 1747, 382, 382, 382, 399, 399, - 1747, 399, 399, 399, 399, 399, 399, 399, 399, 399, - 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, - 399, 399, 170, 170, 1747, 1747, 1747, 170, 170, 170, + 168, 168, 168, 168, 168, 170, 170, 1761, 1761, 1761, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 1747, 170, 170, 170, 170, 170, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 471, 1747, 1747, 1747, 471, 1747, 471, 471, 695, 1747, - 1747, 695, 1747, 1747, 1747, 695, 1747, 695, 695, 419, - 1747, 419, 1747, 1747, 419, 419, 1747, 1747, 419, 419, - 419, 1747, 1747, 419, 419, 419, 419, 419, 771, 1747, - 771, 1747, 1747, 1747, 771, 1747, 771, 771, 524, 1747, - 524, 1747, 1747, 524, 524, 1747, 1747, 1747, 524, 524, - - 1747, 524, 524, 1747, 524, 524, 524, 491, 1747, 491, - 1747, 1747, 491, 491, 1747, 491, 1747, 491, 491, 1747, - 491, 491, 491, 491, 491, 491, 777, 1747, 777, 1747, - 1747, 777, 777, 1747, 777, 1747, 777, 777, 1747, 777, - 777, 777, 777, 777, 777, 785, 1747, 785, 1747, 1747, - 785, 785, 1747, 785, 1747, 785, 785, 1747, 785, 785, - 785, 785, 785, 785, 499, 1747, 499, 1747, 1747, 499, - 499, 1747, 499, 1747, 499, 499, 1747, 499, 499, 499, - 499, 499, 499, 793, 1747, 793, 1747, 1747, 793, 793, - 1747, 1747, 1747, 793, 793, 1747, 1747, 793, 793, 793, - - 793, 793, 799, 1747, 799, 1747, 1747, 799, 799, 1747, - 1747, 1747, 799, 1747, 1747, 1747, 799, 799, 799, 799, - 799, 806, 1747, 806, 1747, 1747, 806, 806, 1747, 806, - 1747, 806, 806, 1747, 806, 806, 806, 806, 806, 806, - 515, 1747, 515, 1747, 1747, 515, 515, 1747, 515, 1747, - 515, 515, 1747, 515, 515, 515, 515, 515, 515, 815, - 1747, 815, 1747, 1747, 815, 815, 1747, 1747, 1747, 815, - 815, 1747, 1747, 815, 815, 815, 815, 815, 822, 1747, - 822, 1747, 1747, 822, 822, 822, 822, 1747, 822, 822, - 1747, 822, 822, 822, 822, 822, 822, 830, 1747, 830, - - 1747, 1747, 830, 830, 1747, 1747, 1747, 830, 1747, 1747, - 1747, 830, 830, 830, 830, 830, 834, 1747, 834, 1747, - 1747, 834, 834, 1747, 1747, 1747, 834, 834, 1747, 1747, - 834, 1747, 834, 834, 834, 848, 1747, 848, 1747, 1747, - 848, 848, 1747, 848, 1747, 848, 848, 1747, 848, 848, - 848, 848, 848, 848, 547, 1747, 547, 1747, 1747, 547, - 547, 1747, 547, 1747, 547, 547, 1747, 547, 547, 547, - 547, 547, 547, 857, 1747, 857, 1747, 1747, 857, 857, - 1747, 1747, 1747, 857, 1747, 1747, 1747, 857, 857, 857, - 857, 857, 554, 1747, 554, 1747, 1747, 554, 554, 1747, - - 1747, 1747, 554, 1747, 1747, 1747, 554, 554, 554, 554, - 554, 866, 1747, 866, 1747, 1747, 866, 866, 1747, 866, - 1747, 866, 866, 1747, 866, 866, 866, 866, 866, 866, - 560, 1747, 560, 1747, 1747, 560, 560, 1747, 560, 1747, - 560, 560, 1747, 560, 560, 560, 560, 560, 560, 606, - 1747, 606, 1747, 1747, 606, 606, 1747, 1747, 606, 606, - 606, 1747, 606, 606, 1747, 606, 606, 606, 575, 1747, - 575, 1747, 1747, 575, 575, 1747, 575, 575, 575, 575, - 1747, 575, 575, 575, 575, 575, 575, 881, 1747, 881, - 1747, 1747, 881, 881, 1747, 881, 881, 881, 881, 1747, - - 881, 881, 881, 881, 881, 881, 889, 1747, 889, 1747, - 1747, 889, 889, 1747, 889, 889, 889, 889, 1747, 889, - 889, 889, 889, 889, 889, 583, 1747, 583, 1747, 1747, - 583, 583, 1747, 583, 583, 583, 583, 1747, 583, 583, - 583, 583, 583, 583, 897, 1747, 897, 1747, 1747, 897, - 897, 1747, 1747, 897, 897, 897, 1747, 1747, 897, 897, - 897, 897, 897, 903, 1747, 903, 1747, 1747, 903, 903, - 1747, 1747, 903, 903, 1747, 1747, 1747, 903, 903, 903, - 903, 903, 910, 1747, 910, 1747, 1747, 910, 910, 1747, - 910, 910, 910, 910, 1747, 910, 910, 910, 910, 910, - - 910, 597, 1747, 597, 1747, 1747, 597, 597, 1747, 597, - 597, 597, 597, 1747, 597, 597, 597, 597, 597, 597, - 919, 1747, 919, 1747, 1747, 919, 919, 1747, 1747, 919, - 919, 919, 1747, 1747, 919, 919, 919, 919, 919, 926, - 1747, 926, 1747, 1747, 926, 926, 926, 926, 926, 926, - 926, 1747, 926, 926, 926, 926, 926, 926, 934, 1747, - 934, 1747, 1747, 934, 934, 1747, 1747, 934, 934, 1747, - 1747, 1747, 934, 934, 934, 934, 934, 938, 1747, 938, - 1747, 1747, 938, 938, 1747, 1747, 938, 938, 938, 1747, - 1747, 938, 1747, 938, 938, 938, 952, 1747, 952, 1747, - - 1747, 952, 952, 1747, 952, 952, 952, 952, 1747, 952, - 952, 952, 952, 952, 952, 629, 1747, 629, 1747, 1747, - 629, 629, 1747, 629, 629, 629, 629, 1747, 629, 629, - 629, 629, 629, 629, 961, 1747, 961, 1747, 1747, 961, - 961, 1747, 1747, 961, 961, 1747, 1747, 1747, 961, 961, - 961, 961, 961, 636, 1747, 636, 1747, 1747, 636, 636, - 1747, 1747, 636, 636, 1747, 1747, 1747, 636, 636, 636, - 636, 636, 970, 1747, 970, 1747, 1747, 970, 970, 1747, - 970, 970, 970, 970, 1747, 970, 970, 970, 970, 970, - 970, 642, 1747, 642, 1747, 1747, 642, 642, 1747, 642, - - 642, 642, 642, 1747, 642, 642, 642, 642, 642, 642, - 695, 1747, 1747, 695, 1747, 1747, 1747, 695, 1747, 695, - 695, 474, 474, 474, 474, 474, 474, 474, 474, 474, - 474, 474, 474, 474, 1747, 474, 474, 474, 474, 474, - 474, 474, 474, 474, 474, 382, 1747, 1747, 1747, 1747, - 382, 1747, 382, 382, 1747, 1747, 382, 1747, 382, 382, - 382, 1747, 382, 382, 382, 1747, 382, 382, 382, 471, - 471, 1747, 471, 1747, 1747, 1747, 471, 1747, 471, 471, - 741, 741, 741, 741, 741, 1747, 741, 741, 741, 741, - 1747, 1747, 741, 741, 1747, 1747, 741, 741, 741, 1747, - - 741, 1747, 1747, 741, 419, 1747, 1747, 419, 419, 1747, - 419, 1747, 1747, 419, 419, 1747, 1747, 419, 419, 419, - 1747, 1747, 419, 419, 419, 419, 419, 771, 1747, 771, - 1747, 1747, 1747, 771, 1747, 771, 771, 822, 1747, 822, - 1747, 1747, 822, 822, 822, 822, 1747, 822, 822, 1747, - 822, 822, 822, 822, 822, 822, 815, 1747, 815, 1747, - 1747, 815, 815, 1747, 1747, 1747, 815, 815, 1747, 1747, - 815, 815, 815, 815, 815, 524, 1747, 524, 1747, 1747, - 524, 524, 1747, 524, 1747, 524, 524, 1747, 524, 524, - 1747, 524, 524, 524, 1077, 1747, 1077, 1747, 1747, 1077, - - 1077, 1747, 1077, 1747, 1077, 1077, 1747, 1077, 1077, 1077, - 1077, 1077, 1077, 777, 1747, 777, 1747, 1747, 777, 777, - 1747, 777, 1747, 777, 777, 1747, 777, 777, 777, 777, - 777, 777, 785, 1747, 785, 1747, 1747, 785, 785, 1747, - 785, 1747, 785, 785, 1747, 785, 785, 785, 785, 785, - 785, 793, 1747, 793, 1747, 1747, 793, 793, 1747, 1747, - 1747, 793, 793, 1747, 1747, 793, 793, 793, 793, 793, - 1089, 1747, 1089, 1747, 1747, 1089, 1089, 1747, 1747, 1747, - 1089, 1747, 1747, 1747, 1089, 1089, 1089, 1089, 1089, 799, - 1747, 799, 1747, 1747, 799, 799, 1747, 1747, 1747, 799, - - 1747, 1747, 1747, 799, 799, 799, 799, 799, 806, 1747, - 806, 1747, 1747, 806, 806, 1747, 806, 1747, 806, 806, - 1747, 806, 806, 806, 806, 806, 806, 1101, 1747, 1101, - 1747, 1747, 1101, 1101, 1747, 1747, 1747, 1101, 1747, 1747, - 1747, 1101, 1101, 1101, 1101, 1101, 1107, 1747, 1107, 1747, - 1747, 1107, 1107, 1747, 1747, 1747, 1107, 1747, 1747, 1747, - 1107, 1107, 1107, 1107, 1107, 1113, 1747, 1113, 1747, 1747, - 1113, 1113, 1747, 1747, 1747, 1113, 1747, 1747, 1747, 1113, - 1113, 1113, 1113, 1113, 830, 1747, 830, 1747, 1747, 830, - 830, 1747, 1747, 1747, 830, 1747, 1747, 1747, 830, 830, - - 830, 830, 830, 1121, 1747, 1121, 1747, 1747, 1121, 1121, - 1747, 1747, 1747, 1121, 1121, 1747, 1747, 1121, 1121, 1121, - 1121, 1121, 1135, 1747, 1135, 1747, 1747, 1135, 1135, 1747, - 1135, 1747, 1135, 1135, 1747, 1135, 1135, 1135, 1135, 1135, - 1135, 491, 1747, 491, 1747, 1747, 491, 491, 1747, 491, - 1747, 491, 491, 1747, 491, 491, 491, 491, 491, 491, - 1144, 1747, 1144, 1747, 1747, 1144, 1144, 1747, 1144, 1747, - 1144, 1144, 1747, 1144, 1144, 1144, 1144, 1144, 1144, 1151, - 1747, 1151, 1747, 1747, 1151, 1151, 1747, 1151, 1747, 1151, - 1151, 1747, 1151, 1151, 1151, 1151, 1151, 1151, 1157, 1747, - - 1157, 1747, 1747, 1157, 1157, 1747, 1747, 1747, 1157, 1157, - 1747, 1747, 1157, 1747, 1157, 1157, 1157, 857, 1747, 857, - 1747, 1747, 857, 857, 1747, 1747, 1747, 857, 1747, 1747, - 1747, 857, 857, 857, 857, 857, 866, 1747, 866, 1747, - 1747, 866, 866, 1747, 866, 1747, 866, 866, 1747, 866, - 866, 866, 866, 866, 866, 926, 1747, 926, 1747, 1747, - 926, 926, 926, 926, 926, 926, 926, 1747, 926, 926, - 926, 926, 926, 926, 919, 1747, 919, 1747, 1747, 919, - 919, 1747, 1747, 919, 919, 919, 1747, 1747, 919, 919, - 919, 919, 919, 606, 1747, 606, 1747, 1747, 606, 606, - - 1747, 606, 606, 606, 606, 1747, 606, 606, 1747, 606, - 606, 606, 1175, 1747, 1175, 1747, 1747, 1175, 1175, 1747, - 1175, 1175, 1175, 1175, 1747, 1175, 1175, 1175, 1175, 1175, - 1175, 881, 1747, 881, 1747, 1747, 881, 881, 1747, 881, - 881, 881, 881, 1747, 881, 881, 881, 881, 881, 881, - 889, 1747, 889, 1747, 1747, 889, 889, 1747, 889, 889, - 889, 889, 1747, 889, 889, 889, 889, 889, 889, 897, - 1747, 897, 1747, 1747, 897, 897, 1747, 1747, 897, 897, - 897, 1747, 1747, 897, 897, 897, 897, 897, 1187, 1747, - 1187, 1747, 1747, 1187, 1187, 1747, 1747, 1187, 1187, 1747, - - 1747, 1747, 1187, 1187, 1187, 1187, 1187, 903, 1747, 903, - 1747, 1747, 903, 903, 1747, 1747, 903, 903, 1747, 1747, - 1747, 903, 903, 903, 903, 903, 910, 1747, 910, 1747, - 1747, 910, 910, 1747, 910, 910, 910, 910, 1747, 910, - 910, 910, 910, 910, 910, 1199, 1747, 1199, 1747, 1747, - 1199, 1199, 1747, 1747, 1199, 1199, 1747, 1747, 1747, 1199, - 1199, 1199, 1199, 1199, 1205, 1747, 1205, 1747, 1747, 1205, - 1205, 1747, 1747, 1205, 1205, 1747, 1747, 1747, 1205, 1205, - 1205, 1205, 1205, 1211, 1747, 1211, 1747, 1747, 1211, 1211, - 1747, 1747, 1211, 1211, 1747, 1747, 1747, 1211, 1211, 1211, - - 1211, 1211, 934, 1747, 934, 1747, 1747, 934, 934, 1747, - 1747, 934, 934, 1747, 1747, 1747, 934, 934, 934, 934, - 934, 1219, 1747, 1219, 1747, 1747, 1219, 1219, 1747, 1747, - 1219, 1219, 1219, 1747, 1747, 1219, 1219, 1219, 1219, 1219, - 1233, 1747, 1233, 1747, 1747, 1233, 1233, 1747, 1233, 1233, - 1233, 1233, 1747, 1233, 1233, 1233, 1233, 1233, 1233, 575, - 1747, 575, 1747, 1747, 575, 575, 1747, 575, 575, 575, - 575, 1747, 575, 575, 575, 575, 575, 575, 1242, 1747, - 1242, 1747, 1747, 1242, 1242, 1747, 1242, 1242, 1242, 1242, - 1747, 1242, 1242, 1242, 1242, 1242, 1242, 1249, 1747, 1249, - - 1747, 1747, 1249, 1249, 1747, 1249, 1249, 1249, 1249, 1747, - 1249, 1249, 1249, 1249, 1249, 1249, 1255, 1747, 1255, 1747, - 1747, 1255, 1255, 1747, 1747, 1255, 1255, 1255, 1747, 1747, - 1255, 1747, 1255, 1255, 1255, 961, 1747, 961, 1747, 1747, - 961, 961, 1747, 1747, 961, 961, 1747, 1747, 1747, 961, - 961, 961, 961, 961, 970, 1747, 970, 1747, 1747, 970, - 970, 1747, 970, 970, 970, 970, 1747, 970, 970, 970, - 970, 970, 970, 695, 1747, 1747, 695, 1747, 1747, 1747, - 695, 1747, 695, 695, 382, 1747, 1747, 1747, 1747, 382, - 1747, 382, 382, 1747, 1747, 382, 1747, 382, 382, 382, - - 1747, 382, 382, 382, 1747, 382, 382, 382, 471, 1747, - 1747, 1747, 471, 1747, 471, 471, 1045, 1045, 1045, 1045, - 1045, 1747, 1045, 1045, 1045, 1045, 1747, 1747, 1045, 1045, - 1747, 1747, 1045, 1045, 1045, 1747, 1045, 1747, 1045, 1045, - 1054, 1054, 1054, 1054, 1054, 1747, 1054, 1054, 1054, 1054, - 1747, 1747, 1054, 1054, 1747, 1747, 1054, 1054, 1054, 1747, - 1054, 1054, 1747, 1054, 419, 1747, 419, 1747, 1747, 419, - 419, 1747, 1747, 419, 419, 419, 1747, 1747, 419, 419, - 419, 419, 419, 524, 1747, 524, 1747, 1747, 524, 524, - 1747, 1747, 1747, 524, 524, 1747, 524, 524, 1747, 524, - - 524, 524, 822, 1747, 822, 1747, 1747, 822, 822, 1747, - 822, 1747, 822, 822, 1747, 822, 822, 822, 822, 822, - 822, 1077, 1747, 1077, 1747, 1747, 1077, 1077, 1747, 1077, - 1747, 1077, 1077, 1747, 1077, 1077, 1077, 1077, 1077, 1077, - 1089, 1747, 1089, 1747, 1747, 1089, 1089, 1747, 1747, 1747, - 1089, 1747, 1747, 1747, 1089, 1089, 1089, 1089, 1089, 1101, - 1747, 1101, 1747, 1747, 1101, 1101, 1747, 1747, 1747, 1101, - 1747, 1747, 1747, 1101, 1101, 1101, 1101, 1101, 1107, 1747, - 1107, 1747, 1747, 1107, 1107, 1747, 1747, 1747, 1107, 1747, - 1747, 1747, 1107, 1107, 1107, 1107, 1107, 815, 1747, 815, - - 1747, 1747, 815, 815, 1747, 1747, 1747, 815, 815, 1747, - 1747, 815, 815, 815, 815, 815, 1113, 1747, 1113, 1747, - 1747, 1113, 1113, 1747, 1747, 1747, 1113, 1747, 1747, 1747, - 1113, 1113, 1113, 1113, 1113, 1121, 1747, 1121, 1747, 1747, - 1121, 1121, 1747, 1747, 1747, 1121, 1121, 1747, 1747, 1121, - 1121, 1121, 1121, 1121, 1135, 1747, 1135, 1747, 1747, 1135, - 1135, 1747, 1135, 1747, 1135, 1135, 1747, 1135, 1135, 1135, - 1135, 1135, 1135, 1375, 1747, 1375, 1747, 1747, 1375, 1375, - 1747, 1375, 1747, 1375, 1375, 1747, 1375, 1375, 1375, 1375, - 1375, 1375, 1383, 1747, 1383, 1747, 1747, 1383, 1383, 1747, - - 1383, 1747, 1383, 1383, 1747, 1383, 1383, 1383, 1383, 1383, - 1383, 1144, 1747, 1144, 1747, 1747, 1144, 1144, 1747, 1144, - 1747, 1144, 1144, 1747, 1144, 1144, 1144, 1144, 1144, 1144, - 1390, 1747, 1390, 1747, 1747, 1390, 1390, 1747, 1390, 1747, - 1390, 1390, 1747, 1390, 1390, 1390, 1390, 1390, 1390, 1398, - 1747, 1398, 1747, 1747, 1398, 1398, 1747, 1398, 1747, 1398, - 1398, 1747, 1398, 1398, 1398, 1398, 1398, 1398, 1151, 1747, - 1151, 1747, 1747, 1151, 1151, 1747, 1151, 1747, 1151, 1151, - 1747, 1151, 1151, 1151, 1151, 1151, 1151, 1406, 1747, 1406, - 1747, 1747, 1406, 1406, 1747, 1747, 1747, 1406, 1406, 1747, - - 1747, 1406, 1406, 1406, 1406, 1406, 1412, 1747, 1412, 1747, - 1747, 1412, 1412, 1747, 1747, 1747, 1412, 1747, 1747, 1747, - 1412, 1412, 1412, 1412, 1412, 606, 1747, 606, 1747, 1747, - 606, 606, 1747, 1747, 606, 606, 606, 1747, 606, 606, - 1747, 606, 606, 606, 926, 1747, 926, 1747, 1747, 926, - 926, 1747, 926, 926, 926, 926, 1747, 926, 926, 926, - 926, 926, 926, 1175, 1747, 1175, 1747, 1747, 1175, 1175, - 1747, 1175, 1175, 1175, 1175, 1747, 1175, 1175, 1175, 1175, - 1175, 1175, 1187, 1747, 1187, 1747, 1747, 1187, 1187, 1747, - 1747, 1187, 1187, 1747, 1747, 1747, 1187, 1187, 1187, 1187, - - 1187, 1199, 1747, 1199, 1747, 1747, 1199, 1199, 1747, 1747, - 1199, 1199, 1747, 1747, 1747, 1199, 1199, 1199, 1199, 1199, - 1205, 1747, 1205, 1747, 1747, 1205, 1205, 1747, 1747, 1205, - 1205, 1747, 1747, 1747, 1205, 1205, 1205, 1205, 1205, 919, - 1747, 919, 1747, 1747, 919, 919, 1747, 1747, 919, 919, - 919, 1747, 1747, 919, 919, 919, 919, 919, 1211, 1747, - 1211, 1747, 1747, 1211, 1211, 1747, 1747, 1211, 1211, 1747, - 1747, 1747, 1211, 1211, 1211, 1211, 1211, 1219, 1747, 1219, - 1747, 1747, 1219, 1219, 1747, 1747, 1219, 1219, 1219, 1747, - 1747, 1219, 1219, 1219, 1219, 1219, 1233, 1747, 1233, 1747, - - 1747, 1233, 1233, 1747, 1233, 1233, 1233, 1233, 1747, 1233, - 1233, 1233, 1233, 1233, 1233, 1451, 1747, 1451, 1747, 1747, - 1451, 1451, 1747, 1451, 1451, 1451, 1451, 1747, 1451, 1451, - 1451, 1451, 1451, 1451, 1459, 1747, 1459, 1747, 1747, 1459, - 1459, 1747, 1459, 1459, 1459, 1459, 1747, 1459, 1459, 1459, - 1459, 1459, 1459, 1242, 1747, 1242, 1747, 1747, 1242, 1242, - 1747, 1242, 1242, 1242, 1242, 1747, 1242, 1242, 1242, 1242, - 1242, 1242, 1466, 1747, 1466, 1747, 1747, 1466, 1466, 1747, - 1466, 1466, 1466, 1466, 1747, 1466, 1466, 1466, 1466, 1466, - 1466, 1474, 1747, 1474, 1747, 1747, 1474, 1474, 1747, 1474, - - 1474, 1474, 1474, 1747, 1474, 1474, 1474, 1474, 1474, 1474, - 1249, 1747, 1249, 1747, 1747, 1249, 1249, 1747, 1249, 1249, - 1249, 1249, 1747, 1249, 1249, 1249, 1249, 1249, 1249, 1482, - 1747, 1482, 1747, 1747, 1482, 1482, 1747, 1747, 1482, 1482, - 1482, 1747, 1747, 1482, 1482, 1482, 1482, 1482, 1488, 1747, - 1488, 1747, 1747, 1488, 1488, 1747, 1747, 1488, 1488, 1747, - 1747, 1747, 1488, 1488, 1488, 1488, 1488, 382, 382, 382, - 1747, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 471, 471, 1747, 471, 1747, 1747, 1747, 471, 1747, - - 471, 471, 1302, 1302, 1302, 1302, 1302, 1747, 1302, 1302, - 1302, 1302, 1747, 1747, 1302, 1302, 1747, 1747, 1302, 1302, - 1302, 1747, 1302, 1302, 1747, 1302, 1310, 1310, 1310, 1310, - 1310, 1747, 1310, 1310, 1310, 1310, 1747, 1747, 1310, 1310, - 1747, 1747, 1310, 1310, 1310, 1747, 1310, 1747, 1747, 1310, - 1322, 1322, 1322, 1322, 1322, 1747, 1322, 1322, 1322, 1322, - 1747, 1747, 1322, 1322, 1747, 1747, 1322, 1322, 1322, 1747, - 1322, 1747, 1747, 1322, 1335, 1335, 1335, 1335, 1335, 1747, - 1335, 1335, 1335, 1335, 1747, 1747, 1335, 1335, 1747, 1747, - 1335, 1335, 1335, 1747, 1335, 1747, 1747, 1335, 419, 419, - - 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, - 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, - 419, 419, 822, 1747, 822, 1747, 1747, 822, 822, 822, - 822, 1747, 822, 822, 1747, 822, 822, 822, 822, 822, - 822, 815, 1747, 815, 1747, 1747, 815, 815, 1747, 1747, - 1747, 815, 815, 1747, 1747, 815, 815, 815, 815, 815, - 1560, 1747, 1560, 1747, 1747, 1560, 1560, 1747, 1560, 1747, - 1560, 1560, 1747, 1560, 1560, 1560, 1560, 1560, 1560, 1375, - 1747, 1375, 1747, 1747, 1375, 1375, 1747, 1375, 1747, 1375, - 1375, 1747, 1375, 1375, 1375, 1375, 1375, 1375, 1569, 1747, - - 1569, 1747, 1747, 1569, 1569, 1747, 1569, 1747, 1569, 1569, - 1747, 1569, 1569, 1569, 1569, 1569, 1569, 1383, 1747, 1383, - 1747, 1747, 1383, 1383, 1747, 1383, 1747, 1383, 1383, 1747, - 1383, 1383, 1383, 1383, 1383, 1383, 1577, 1747, 1577, 1747, - 1747, 1577, 1577, 1747, 1577, 1747, 1577, 1577, 1747, 1577, - 1577, 1577, 1577, 1577, 1577, 1390, 1747, 1390, 1747, 1747, - 1390, 1390, 1747, 1390, 1747, 1390, 1390, 1747, 1390, 1390, - 1390, 1390, 1390, 1390, 1398, 1747, 1398, 1747, 1747, 1398, - 1398, 1747, 1398, 1747, 1398, 1398, 1747, 1398, 1398, 1398, - 1398, 1398, 1398, 1406, 1747, 1406, 1747, 1747, 1406, 1406, - - 1747, 1747, 1747, 1406, 1406, 1747, 1747, 1406, 1406, 1406, - 1406, 1406, 1589, 1747, 1589, 1747, 1747, 1589, 1589, 1747, - 1747, 1747, 1589, 1747, 1747, 1747, 1589, 1589, 1589, 1589, - 1589, 1412, 1747, 1412, 1747, 1747, 1412, 1412, 1747, 1747, - 1747, 1412, 1747, 1747, 1747, 1412, 1412, 1412, 1412, 1412, - 926, 1747, 926, 1747, 1747, 926, 926, 926, 926, 926, - 926, 926, 1747, 926, 926, 926, 926, 926, 926, 919, - 1747, 919, 1747, 1747, 919, 919, 1747, 1747, 919, 919, - 919, 1747, 1747, 919, 919, 919, 919, 919, 1606, 1747, - 1606, 1747, 1747, 1606, 1606, 1747, 1606, 1606, 1606, 1606, - - 1747, 1606, 1606, 1606, 1606, 1606, 1606, 1451, 1747, 1451, - 1747, 1747, 1451, 1451, 1747, 1451, 1451, 1451, 1451, 1747, - 1451, 1451, 1451, 1451, 1451, 1451, 1615, 1747, 1615, 1747, - 1747, 1615, 1615, 1747, 1615, 1615, 1615, 1615, 1747, 1615, - 1615, 1615, 1615, 1615, 1615, 1459, 1747, 1459, 1747, 1747, - 1459, 1459, 1747, 1459, 1459, 1459, 1459, 1747, 1459, 1459, - 1459, 1459, 1459, 1459, 1623, 1747, 1623, 1747, 1747, 1623, - 1623, 1747, 1623, 1623, 1623, 1623, 1747, 1623, 1623, 1623, - 1623, 1623, 1623, 1466, 1747, 1466, 1747, 1747, 1466, 1466, - 1747, 1466, 1466, 1466, 1466, 1747, 1466, 1466, 1466, 1466, - - 1466, 1466, 1474, 1747, 1474, 1747, 1747, 1474, 1474, 1747, - 1474, 1474, 1474, 1474, 1747, 1474, 1474, 1474, 1474, 1474, - 1474, 1482, 1747, 1482, 1747, 1747, 1482, 1482, 1747, 1747, - 1482, 1482, 1482, 1747, 1747, 1482, 1482, 1482, 1482, 1482, - 1635, 1747, 1635, 1747, 1747, 1635, 1635, 1747, 1747, 1635, - 1635, 1747, 1747, 1747, 1635, 1635, 1635, 1635, 1635, 1488, - 1747, 1488, 1747, 1747, 1488, 1488, 1747, 1747, 1488, 1488, - 1747, 1747, 1747, 1488, 1488, 1488, 1488, 1488, 1516, 1516, - 1516, 1516, 1516, 1747, 1516, 1516, 1516, 1516, 1747, 1747, - 1516, 1516, 1747, 1747, 1516, 1516, 1516, 1747, 1516, 1747, - - 1747, 1516, 1524, 1524, 1524, 1524, 1524, 1747, 1524, 1524, - 1524, 1524, 1747, 1747, 1524, 1524, 1747, 1747, 1524, 1524, - 1524, 1747, 1524, 1747, 1747, 1524, 1545, 1545, 1545, 1545, - 1545, 1747, 1545, 1545, 1545, 1545, 1747, 1747, 1545, 1545, - 1747, 1747, 1545, 1545, 1545, 1747, 1545, 1747, 1747, 1545, - 419, 1747, 419, 1747, 1747, 419, 419, 1747, 1747, 419, - 419, 419, 1747, 1747, 419, 419, 419, 419, 419, 471, - 1747, 471, 1747, 1747, 1747, 471, 1747, 471, 471, 822, - 1747, 822, 1747, 1747, 822, 822, 1747, 822, 1747, 822, - 822, 1747, 822, 822, 822, 822, 822, 822, 1560, 1747, - - 1560, 1747, 1747, 1560, 1560, 1747, 1560, 1747, 1560, 1560, - 1747, 1560, 1560, 1560, 1560, 1560, 1560, 1569, 1747, 1569, - 1747, 1747, 1569, 1569, 1747, 1569, 1747, 1569, 1569, 1747, - 1569, 1569, 1569, 1569, 1569, 1569, 1577, 1747, 1577, 1747, - 1747, 1577, 1577, 1747, 1577, 1747, 1577, 1577, 1747, 1577, - 1577, 1577, 1577, 1577, 1577, 1589, 1747, 1589, 1747, 1747, - 1589, 1589, 1747, 1747, 1747, 1589, 1747, 1747, 1747, 1589, - 1589, 1589, 1589, 1589, 926, 1747, 926, 1747, 1747, 926, - 926, 1747, 926, 926, 926, 926, 1747, 926, 926, 926, - 926, 926, 926, 1606, 1747, 1606, 1747, 1747, 1606, 1606, - - 1747, 1606, 1606, 1606, 1606, 1747, 1606, 1606, 1606, 1606, - 1606, 1606, 1615, 1747, 1615, 1747, 1747, 1615, 1615, 1747, - 1615, 1615, 1615, 1615, 1747, 1615, 1615, 1615, 1615, 1615, - 1615, 1623, 1747, 1623, 1747, 1747, 1623, 1623, 1747, 1623, - 1623, 1623, 1623, 1747, 1623, 1623, 1623, 1623, 1623, 1623, - 1654, 1654, 1654, 1654, 1654, 1747, 1654, 1654, 1654, 1654, - 1747, 1747, 1654, 1654, 1747, 1747, 1654, 1654, 1654, 1747, - 1654, 1747, 1747, 1654, 1661, 1661, 1661, 1661, 1661, 1747, - 1661, 1661, 1661, 1661, 1747, 1747, 1661, 1661, 1747, 1747, - 1661, 1661, 1661, 1747, 1661, 1747, 1747, 1661, 1668, 1668, - - 1668, 1668, 1668, 1747, 1668, 1668, 1668, 1668, 1747, 1747, - 1668, 1668, 1747, 1747, 1668, 1668, 1668, 1747, 1668, 1747, - 1747, 1668, 1675, 1675, 1675, 1675, 1675, 1747, 1675, 1675, - 1675, 1675, 1747, 1747, 1675, 1675, 1747, 1747, 1675, 1675, - 1675, 1747, 1675, 1747, 1747, 1675, 1681, 1681, 1681, 1681, - 1681, 1747, 1681, 1681, 1681, 1681, 1747, 1747, 1681, 1681, - 1747, 1747, 1681, 1681, 1681, 1747, 1681, 1747, 1747, 1681, - 1721, 1721, 1721, 1721, 1721, 1747, 1721, 1721, 1721, 1721, - 1747, 1747, 1721, 1721, 1747, 1747, 1721, 1721, 1721, 1747, - 1721, 1747, 1747, 1721, 1729, 1729, 1729, 1729, 1729, 1747, - - 1729, 1729, 1729, 1729, 1747, 1747, 1729, 1729, 1747, 1747, - 1729, 1729, 1729, 1747, 1729, 1747, 1747, 1729, 33, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747 + 170, 170, 170, 1761, 170, 170, 170, 170, 170, 229, + 229, 1761, 229, 1761, 1761, 1761, 229, 1761, 229, 229, + 231, 231, 1761, 1761, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 246, 1761, + 246, 1761, 1761, 246, 246, 1761, 246, 1761, 246, 246, + 1761, 246, 246, 246, 246, 246, 246, 272, 1761, 272, + + 1761, 1761, 272, 272, 1761, 272, 1761, 272, 272, 1761, + 272, 272, 272, 272, 272, 272, 279, 1761, 279, 1761, + 1761, 279, 279, 1761, 1761, 1761, 279, 279, 1761, 1761, + 279, 1761, 279, 279, 279, 294, 1761, 294, 1761, 1761, + 294, 294, 1761, 294, 294, 294, 294, 1761, 294, 294, + 294, 294, 294, 294, 312, 1761, 312, 1761, 1761, 312, + 312, 1761, 312, 312, 312, 312, 1761, 312, 312, 312, + 312, 312, 312, 319, 1761, 319, 1761, 1761, 319, 319, + 1761, 1761, 319, 319, 319, 1761, 1761, 319, 1761, 319, + 319, 319, 347, 347, 347, 347, 347, 347, 347, 347, + + 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, + 347, 347, 347, 347, 347, 347, 357, 1761, 1761, 1761, + 357, 1761, 357, 357, 365, 365, 365, 1761, 365, 365, + 1761, 1761, 365, 1761, 1761, 365, 365, 365, 365, 365, + 383, 1761, 1761, 1761, 1761, 383, 1761, 383, 383, 1761, + 1761, 383, 1761, 383, 383, 383, 1761, 383, 383, 383, + 1761, 383, 383, 383, 397, 397, 1761, 397, 397, 397, + 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, + 397, 397, 397, 397, 397, 397, 397, 397, 400, 400, + 1761, 400, 400, 400, 400, 400, 400, 400, 400, 400, + + 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, + 400, 400, 402, 402, 402, 402, 402, 402, 402, 402, + 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, + 402, 402, 402, 402, 402, 402, 420, 1761, 420, 1761, + 1761, 420, 420, 1761, 1761, 420, 420, 420, 1761, 1761, + 420, 420, 420, 420, 420, 474, 474, 1761, 474, 1761, + 1761, 1761, 474, 1761, 474, 474, 231, 231, 1761, 1761, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 494, 1761, 494, 1761, 1761, 494, 494, 1761, 494, 1761, + + 494, 494, 1761, 494, 494, 494, 494, 494, 494, 246, + 1761, 246, 1761, 1761, 246, 246, 1761, 246, 1761, 246, + 246, 1761, 246, 246, 246, 246, 246, 246, 502, 1761, + 502, 1761, 1761, 502, 502, 1761, 502, 1761, 502, 502, + 1761, 502, 502, 502, 502, 502, 502, 508, 1761, 508, + 1761, 1761, 508, 508, 1761, 1761, 1761, 508, 508, 1761, + 1761, 508, 1761, 508, 508, 508, 518, 1761, 518, 1761, + 1761, 518, 518, 1761, 518, 1761, 518, 518, 1761, 518, + 518, 518, 518, 518, 518, 527, 1761, 527, 1761, 1761, + 527, 527, 527, 527, 1761, 527, 527, 1761, 527, 527, + + 1761, 527, 527, 527, 550, 1761, 550, 1761, 1761, 550, + 550, 1761, 550, 1761, 550, 550, 1761, 550, 550, 550, + 550, 550, 550, 272, 1761, 272, 1761, 1761, 272, 272, + 1761, 272, 1761, 272, 272, 1761, 272, 272, 272, 272, + 272, 272, 557, 1761, 557, 1761, 1761, 557, 557, 1761, + 1761, 1761, 557, 1761, 1761, 1761, 557, 557, 557, 557, + 557, 563, 1761, 563, 1761, 1761, 563, 563, 1761, 563, + 1761, 563, 563, 1761, 563, 563, 563, 563, 563, 563, + 578, 1761, 578, 1761, 1761, 578, 578, 1761, 578, 578, + 578, 578, 1761, 578, 578, 578, 578, 578, 578, 294, + + 1761, 294, 1761, 1761, 294, 294, 1761, 294, 294, 294, + 294, 1761, 294, 294, 294, 294, 294, 294, 586, 1761, + 586, 1761, 1761, 586, 586, 1761, 586, 586, 586, 586, + 1761, 586, 586, 586, 586, 586, 586, 592, 1761, 592, + 1761, 1761, 592, 592, 1761, 1761, 592, 592, 592, 1761, + 1761, 592, 1761, 592, 592, 592, 600, 1761, 600, 1761, + 1761, 600, 600, 1761, 600, 600, 600, 600, 1761, 600, + 600, 600, 600, 600, 600, 609, 1761, 609, 1761, 1761, + 609, 609, 609, 609, 609, 609, 609, 1761, 609, 609, + 1761, 609, 609, 609, 632, 1761, 632, 1761, 1761, 632, + + 632, 1761, 632, 632, 632, 632, 1761, 632, 632, 632, + 632, 632, 632, 312, 1761, 312, 1761, 1761, 312, 312, + 1761, 312, 312, 312, 312, 1761, 312, 312, 312, 312, + 312, 312, 639, 1761, 639, 1761, 1761, 639, 639, 1761, + 1761, 639, 639, 1761, 1761, 1761, 639, 639, 639, 639, + 639, 645, 1761, 645, 1761, 1761, 645, 645, 1761, 645, + 645, 645, 645, 1761, 645, 645, 645, 645, 645, 645, + 357, 1761, 1761, 1761, 357, 1761, 357, 357, 365, 1761, + 1761, 1761, 365, 1761, 365, 365, 477, 477, 477, 477, + 477, 477, 477, 477, 477, 477, 477, 477, 477, 1761, + + 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, + 229, 229, 1761, 229, 1761, 1761, 1761, 229, 1761, 229, + 229, 383, 1761, 1761, 1761, 1761, 383, 1761, 383, 383, + 1761, 1761, 383, 1761, 383, 383, 383, 1761, 383, 383, + 383, 1761, 383, 383, 383, 400, 400, 1761, 400, 400, + 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, + 400, 400, 400, 400, 400, 400, 400, 400, 400, 170, + 170, 1761, 1761, 1761, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 1761, 170, 170, + 170, 170, 170, 402, 402, 402, 402, 402, 402, 402, + + 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, + 402, 402, 402, 402, 402, 402, 402, 474, 1761, 1761, + 1761, 474, 1761, 474, 474, 698, 1761, 1761, 698, 1761, + 1761, 1761, 698, 1761, 698, 698, 420, 1761, 420, 1761, + 1761, 420, 420, 1761, 1761, 420, 420, 420, 1761, 1761, + 420, 420, 420, 420, 420, 776, 1761, 776, 1761, 1761, + 1761, 776, 1761, 776, 776, 527, 1761, 527, 1761, 1761, + 527, 527, 1761, 1761, 1761, 527, 527, 1761, 527, 527, + 1761, 527, 527, 527, 494, 1761, 494, 1761, 1761, 494, + 494, 1761, 494, 1761, 494, 494, 1761, 494, 494, 494, + + 494, 494, 494, 782, 1761, 782, 1761, 1761, 782, 782, + 1761, 782, 1761, 782, 782, 1761, 782, 782, 782, 782, + 782, 782, 790, 1761, 790, 1761, 1761, 790, 790, 1761, + 790, 1761, 790, 790, 1761, 790, 790, 790, 790, 790, + 790, 502, 1761, 502, 1761, 1761, 502, 502, 1761, 502, + 1761, 502, 502, 1761, 502, 502, 502, 502, 502, 502, + 798, 1761, 798, 1761, 1761, 798, 798, 1761, 1761, 1761, + 798, 798, 1761, 1761, 798, 798, 798, 798, 798, 804, + 1761, 804, 1761, 1761, 804, 804, 1761, 1761, 1761, 804, + 1761, 1761, 1761, 804, 804, 804, 804, 804, 811, 1761, + + 811, 1761, 1761, 811, 811, 1761, 811, 1761, 811, 811, + 1761, 811, 811, 811, 811, 811, 811, 518, 1761, 518, + 1761, 1761, 518, 518, 1761, 518, 1761, 518, 518, 1761, + 518, 518, 518, 518, 518, 518, 820, 1761, 820, 1761, + 1761, 820, 820, 1761, 1761, 1761, 820, 820, 1761, 1761, + 820, 820, 820, 820, 820, 827, 1761, 827, 1761, 1761, + 827, 827, 827, 827, 1761, 827, 827, 1761, 827, 827, + 827, 827, 827, 827, 835, 1761, 835, 1761, 1761, 835, + 835, 1761, 1761, 1761, 835, 1761, 1761, 1761, 835, 835, + 835, 835, 835, 839, 1761, 839, 1761, 1761, 839, 839, + + 1761, 1761, 1761, 839, 839, 1761, 1761, 839, 1761, 839, + 839, 839, 853, 1761, 853, 1761, 1761, 853, 853, 1761, + 853, 1761, 853, 853, 1761, 853, 853, 853, 853, 853, + 853, 550, 1761, 550, 1761, 1761, 550, 550, 1761, 550, + 1761, 550, 550, 1761, 550, 550, 550, 550, 550, 550, + 862, 1761, 862, 1761, 1761, 862, 862, 1761, 1761, 1761, + 862, 1761, 1761, 1761, 862, 862, 862, 862, 862, 557, + 1761, 557, 1761, 1761, 557, 557, 1761, 1761, 1761, 557, + 1761, 1761, 1761, 557, 557, 557, 557, 557, 871, 1761, + 871, 1761, 1761, 871, 871, 1761, 871, 1761, 871, 871, + + 1761, 871, 871, 871, 871, 871, 871, 563, 1761, 563, + 1761, 1761, 563, 563, 1761, 563, 1761, 563, 563, 1761, + 563, 563, 563, 563, 563, 563, 609, 1761, 609, 1761, + 1761, 609, 609, 1761, 1761, 609, 609, 609, 1761, 609, + 609, 1761, 609, 609, 609, 578, 1761, 578, 1761, 1761, + 578, 578, 1761, 578, 578, 578, 578, 1761, 578, 578, + 578, 578, 578, 578, 886, 1761, 886, 1761, 1761, 886, + 886, 1761, 886, 886, 886, 886, 1761, 886, 886, 886, + 886, 886, 886, 894, 1761, 894, 1761, 1761, 894, 894, + 1761, 894, 894, 894, 894, 1761, 894, 894, 894, 894, + + 894, 894, 586, 1761, 586, 1761, 1761, 586, 586, 1761, + 586, 586, 586, 586, 1761, 586, 586, 586, 586, 586, + 586, 902, 1761, 902, 1761, 1761, 902, 902, 1761, 1761, + 902, 902, 902, 1761, 1761, 902, 902, 902, 902, 902, + 908, 1761, 908, 1761, 1761, 908, 908, 1761, 1761, 908, + 908, 1761, 1761, 1761, 908, 908, 908, 908, 908, 915, + 1761, 915, 1761, 1761, 915, 915, 1761, 915, 915, 915, + 915, 1761, 915, 915, 915, 915, 915, 915, 600, 1761, + 600, 1761, 1761, 600, 600, 1761, 600, 600, 600, 600, + 1761, 600, 600, 600, 600, 600, 600, 924, 1761, 924, + + 1761, 1761, 924, 924, 1761, 1761, 924, 924, 924, 1761, + 1761, 924, 924, 924, 924, 924, 931, 1761, 931, 1761, + 1761, 931, 931, 931, 931, 931, 931, 931, 1761, 931, + 931, 931, 931, 931, 931, 939, 1761, 939, 1761, 1761, + 939, 939, 1761, 1761, 939, 939, 1761, 1761, 1761, 939, + 939, 939, 939, 939, 943, 1761, 943, 1761, 1761, 943, + 943, 1761, 1761, 943, 943, 943, 1761, 1761, 943, 1761, + 943, 943, 943, 957, 1761, 957, 1761, 1761, 957, 957, + 1761, 957, 957, 957, 957, 1761, 957, 957, 957, 957, + 957, 957, 632, 1761, 632, 1761, 1761, 632, 632, 1761, + + 632, 632, 632, 632, 1761, 632, 632, 632, 632, 632, + 632, 966, 1761, 966, 1761, 1761, 966, 966, 1761, 1761, + 966, 966, 1761, 1761, 1761, 966, 966, 966, 966, 966, + 639, 1761, 639, 1761, 1761, 639, 639, 1761, 1761, 639, + 639, 1761, 1761, 1761, 639, 639, 639, 639, 639, 975, + 1761, 975, 1761, 1761, 975, 975, 1761, 975, 975, 975, + 975, 1761, 975, 975, 975, 975, 975, 975, 645, 1761, + 645, 1761, 1761, 645, 645, 1761, 645, 645, 645, 645, + 1761, 645, 645, 645, 645, 645, 645, 698, 1761, 1761, + 698, 1761, 1761, 1761, 698, 1761, 698, 698, 477, 477, + + 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, + 477, 1761, 477, 477, 477, 477, 477, 477, 477, 477, + 477, 477, 383, 1761, 1761, 1761, 1761, 383, 1761, 383, + 383, 1761, 1761, 383, 1761, 383, 383, 383, 1761, 383, + 383, 383, 1761, 383, 383, 383, 474, 474, 1761, 474, + 1761, 1761, 1761, 474, 1761, 474, 474, 745, 745, 745, + 745, 745, 1761, 745, 745, 745, 745, 1761, 1761, 745, + 745, 1761, 1761, 745, 745, 745, 1761, 745, 1761, 1761, + 745, 420, 1761, 1761, 420, 420, 1761, 420, 1761, 1761, + 420, 420, 1761, 1761, 420, 420, 420, 1761, 1761, 420, + + 420, 420, 420, 420, 776, 1761, 776, 1761, 1761, 1761, + 776, 1761, 776, 776, 827, 1761, 827, 1761, 1761, 827, + 827, 827, 827, 1761, 827, 827, 1761, 827, 827, 827, + 827, 827, 827, 820, 1761, 820, 1761, 1761, 820, 820, + 1761, 1761, 1761, 820, 820, 1761, 1761, 820, 820, 820, + 820, 820, 527, 1761, 527, 1761, 1761, 527, 527, 1761, + 527, 1761, 527, 527, 1761, 527, 527, 1761, 527, 527, + 527, 1084, 1761, 1084, 1761, 1761, 1084, 1084, 1761, 1084, + 1761, 1084, 1084, 1761, 1084, 1084, 1084, 1084, 1084, 1084, + 782, 1761, 782, 1761, 1761, 782, 782, 1761, 782, 1761, + + 782, 782, 1761, 782, 782, 782, 782, 782, 782, 790, + 1761, 790, 1761, 1761, 790, 790, 1761, 790, 1761, 790, + 790, 1761, 790, 790, 790, 790, 790, 790, 798, 1761, + 798, 1761, 1761, 798, 798, 1761, 1761, 1761, 798, 798, + 1761, 1761, 798, 798, 798, 798, 798, 1096, 1761, 1096, + 1761, 1761, 1096, 1096, 1761, 1761, 1761, 1096, 1761, 1761, + 1761, 1096, 1096, 1096, 1096, 1096, 804, 1761, 804, 1761, + 1761, 804, 804, 1761, 1761, 1761, 804, 1761, 1761, 1761, + 804, 804, 804, 804, 804, 811, 1761, 811, 1761, 1761, + 811, 811, 1761, 811, 1761, 811, 811, 1761, 811, 811, + + 811, 811, 811, 811, 1108, 1761, 1108, 1761, 1761, 1108, + 1108, 1761, 1761, 1761, 1108, 1761, 1761, 1761, 1108, 1108, + 1108, 1108, 1108, 1114, 1761, 1114, 1761, 1761, 1114, 1114, + 1761, 1761, 1761, 1114, 1761, 1761, 1761, 1114, 1114, 1114, + 1114, 1114, 1120, 1761, 1120, 1761, 1761, 1120, 1120, 1761, + 1761, 1761, 1120, 1761, 1761, 1761, 1120, 1120, 1120, 1120, + 1120, 835, 1761, 835, 1761, 1761, 835, 835, 1761, 1761, + 1761, 835, 1761, 1761, 1761, 835, 835, 835, 835, 835, + 1128, 1761, 1128, 1761, 1761, 1128, 1128, 1761, 1761, 1761, + 1128, 1128, 1761, 1761, 1128, 1128, 1128, 1128, 1128, 1142, + + 1761, 1142, 1761, 1761, 1142, 1142, 1761, 1142, 1761, 1142, + 1142, 1761, 1142, 1142, 1142, 1142, 1142, 1142, 494, 1761, + 494, 1761, 1761, 494, 494, 1761, 494, 1761, 494, 494, + 1761, 494, 494, 494, 494, 494, 494, 1151, 1761, 1151, + 1761, 1761, 1151, 1151, 1761, 1151, 1761, 1151, 1151, 1761, + 1151, 1151, 1151, 1151, 1151, 1151, 1158, 1761, 1158, 1761, + 1761, 1158, 1158, 1761, 1158, 1761, 1158, 1158, 1761, 1158, + 1158, 1158, 1158, 1158, 1158, 1164, 1761, 1164, 1761, 1761, + 1164, 1164, 1761, 1761, 1761, 1164, 1164, 1761, 1761, 1164, + 1761, 1164, 1164, 1164, 862, 1761, 862, 1761, 1761, 862, + + 862, 1761, 1761, 1761, 862, 1761, 1761, 1761, 862, 862, + 862, 862, 862, 871, 1761, 871, 1761, 1761, 871, 871, + 1761, 871, 1761, 871, 871, 1761, 871, 871, 871, 871, + 871, 871, 931, 1761, 931, 1761, 1761, 931, 931, 931, + 931, 931, 931, 931, 1761, 931, 931, 931, 931, 931, + 931, 924, 1761, 924, 1761, 1761, 924, 924, 1761, 1761, + 924, 924, 924, 1761, 1761, 924, 924, 924, 924, 924, + 609, 1761, 609, 1761, 1761, 609, 609, 1761, 609, 609, + 609, 609, 1761, 609, 609, 1761, 609, 609, 609, 1182, + 1761, 1182, 1761, 1761, 1182, 1182, 1761, 1182, 1182, 1182, + + 1182, 1761, 1182, 1182, 1182, 1182, 1182, 1182, 886, 1761, + 886, 1761, 1761, 886, 886, 1761, 886, 886, 886, 886, + 1761, 886, 886, 886, 886, 886, 886, 894, 1761, 894, + 1761, 1761, 894, 894, 1761, 894, 894, 894, 894, 1761, + 894, 894, 894, 894, 894, 894, 902, 1761, 902, 1761, + 1761, 902, 902, 1761, 1761, 902, 902, 902, 1761, 1761, + 902, 902, 902, 902, 902, 1194, 1761, 1194, 1761, 1761, + 1194, 1194, 1761, 1761, 1194, 1194, 1761, 1761, 1761, 1194, + 1194, 1194, 1194, 1194, 908, 1761, 908, 1761, 1761, 908, + 908, 1761, 1761, 908, 908, 1761, 1761, 1761, 908, 908, + + 908, 908, 908, 915, 1761, 915, 1761, 1761, 915, 915, + 1761, 915, 915, 915, 915, 1761, 915, 915, 915, 915, + 915, 915, 1206, 1761, 1206, 1761, 1761, 1206, 1206, 1761, + 1761, 1206, 1206, 1761, 1761, 1761, 1206, 1206, 1206, 1206, + 1206, 1212, 1761, 1212, 1761, 1761, 1212, 1212, 1761, 1761, + 1212, 1212, 1761, 1761, 1761, 1212, 1212, 1212, 1212, 1212, + 1218, 1761, 1218, 1761, 1761, 1218, 1218, 1761, 1761, 1218, + 1218, 1761, 1761, 1761, 1218, 1218, 1218, 1218, 1218, 939, + 1761, 939, 1761, 1761, 939, 939, 1761, 1761, 939, 939, + 1761, 1761, 1761, 939, 939, 939, 939, 939, 1226, 1761, + + 1226, 1761, 1761, 1226, 1226, 1761, 1761, 1226, 1226, 1226, + 1761, 1761, 1226, 1226, 1226, 1226, 1226, 1240, 1761, 1240, + 1761, 1761, 1240, 1240, 1761, 1240, 1240, 1240, 1240, 1761, + 1240, 1240, 1240, 1240, 1240, 1240, 578, 1761, 578, 1761, + 1761, 578, 578, 1761, 578, 578, 578, 578, 1761, 578, + 578, 578, 578, 578, 578, 1249, 1761, 1249, 1761, 1761, + 1249, 1249, 1761, 1249, 1249, 1249, 1249, 1761, 1249, 1249, + 1249, 1249, 1249, 1249, 1256, 1761, 1256, 1761, 1761, 1256, + 1256, 1761, 1256, 1256, 1256, 1256, 1761, 1256, 1256, 1256, + 1256, 1256, 1256, 1262, 1761, 1262, 1761, 1761, 1262, 1262, + + 1761, 1761, 1262, 1262, 1262, 1761, 1761, 1262, 1761, 1262, + 1262, 1262, 966, 1761, 966, 1761, 1761, 966, 966, 1761, + 1761, 966, 966, 1761, 1761, 1761, 966, 966, 966, 966, + 966, 975, 1761, 975, 1761, 1761, 975, 975, 1761, 975, + 975, 975, 975, 1761, 975, 975, 975, 975, 975, 975, + 698, 1761, 1761, 698, 1761, 1761, 1761, 698, 1761, 698, + 698, 383, 1761, 1761, 1761, 1761, 383, 1761, 383, 383, + 1761, 1761, 383, 1761, 383, 383, 383, 1761, 383, 383, + 383, 1761, 383, 383, 383, 474, 1761, 1761, 1761, 474, + 1761, 474, 474, 1051, 1051, 1051, 1051, 1051, 1761, 1051, + + 1051, 1051, 1051, 1761, 1761, 1051, 1051, 1761, 1761, 1051, + 1051, 1051, 1761, 1051, 1761, 1051, 1051, 1061, 1061, 1061, + 1061, 1061, 1761, 1061, 1061, 1061, 1061, 1761, 1761, 1061, + 1061, 1761, 1761, 1061, 1061, 1061, 1761, 1061, 1061, 1761, + 1061, 420, 1761, 420, 1761, 1761, 420, 420, 1761, 1761, + 420, 420, 420, 1761, 1761, 420, 420, 420, 420, 420, + 527, 1761, 527, 1761, 1761, 527, 527, 1761, 1761, 1761, + 527, 527, 1761, 527, 527, 1761, 527, 527, 527, 827, + 1761, 827, 1761, 1761, 827, 827, 1761, 827, 1761, 827, + 827, 1761, 827, 827, 827, 827, 827, 827, 1084, 1761, + + 1084, 1761, 1761, 1084, 1084, 1761, 1084, 1761, 1084, 1084, + 1761, 1084, 1084, 1084, 1084, 1084, 1084, 1096, 1761, 1096, + 1761, 1761, 1096, 1096, 1761, 1761, 1761, 1096, 1761, 1761, + 1761, 1096, 1096, 1096, 1096, 1096, 1108, 1761, 1108, 1761, + 1761, 1108, 1108, 1761, 1761, 1761, 1108, 1761, 1761, 1761, + 1108, 1108, 1108, 1108, 1108, 1114, 1761, 1114, 1761, 1761, + 1114, 1114, 1761, 1761, 1761, 1114, 1761, 1761, 1761, 1114, + 1114, 1114, 1114, 1114, 820, 1761, 820, 1761, 1761, 820, + 820, 1761, 1761, 1761, 820, 820, 1761, 1761, 820, 820, + 820, 820, 820, 1120, 1761, 1120, 1761, 1761, 1120, 1120, + + 1761, 1761, 1761, 1120, 1761, 1761, 1761, 1120, 1120, 1120, + 1120, 1120, 1128, 1761, 1128, 1761, 1761, 1128, 1128, 1761, + 1761, 1761, 1128, 1128, 1761, 1761, 1128, 1128, 1128, 1128, + 1128, 1142, 1761, 1142, 1761, 1761, 1142, 1142, 1761, 1142, + 1761, 1142, 1142, 1761, 1142, 1142, 1142, 1142, 1142, 1142, + 1389, 1761, 1389, 1761, 1761, 1389, 1389, 1761, 1389, 1761, + 1389, 1389, 1761, 1389, 1389, 1389, 1389, 1389, 1389, 1397, + 1761, 1397, 1761, 1761, 1397, 1397, 1761, 1397, 1761, 1397, + 1397, 1761, 1397, 1397, 1397, 1397, 1397, 1397, 1151, 1761, + 1151, 1761, 1761, 1151, 1151, 1761, 1151, 1761, 1151, 1151, + + 1761, 1151, 1151, 1151, 1151, 1151, 1151, 1404, 1761, 1404, + 1761, 1761, 1404, 1404, 1761, 1404, 1761, 1404, 1404, 1761, + 1404, 1404, 1404, 1404, 1404, 1404, 1412, 1761, 1412, 1761, + 1761, 1412, 1412, 1761, 1412, 1761, 1412, 1412, 1761, 1412, + 1412, 1412, 1412, 1412, 1412, 1158, 1761, 1158, 1761, 1761, + 1158, 1158, 1761, 1158, 1761, 1158, 1158, 1761, 1158, 1158, + 1158, 1158, 1158, 1158, 1420, 1761, 1420, 1761, 1761, 1420, + 1420, 1761, 1761, 1761, 1420, 1420, 1761, 1761, 1420, 1420, + 1420, 1420, 1420, 1426, 1761, 1426, 1761, 1761, 1426, 1426, + 1761, 1761, 1761, 1426, 1761, 1761, 1761, 1426, 1426, 1426, + + 1426, 1426, 609, 1761, 609, 1761, 1761, 609, 609, 1761, + 1761, 609, 609, 609, 1761, 609, 609, 1761, 609, 609, + 609, 931, 1761, 931, 1761, 1761, 931, 931, 1761, 931, + 931, 931, 931, 1761, 931, 931, 931, 931, 931, 931, + 1182, 1761, 1182, 1761, 1761, 1182, 1182, 1761, 1182, 1182, + 1182, 1182, 1761, 1182, 1182, 1182, 1182, 1182, 1182, 1194, + 1761, 1194, 1761, 1761, 1194, 1194, 1761, 1761, 1194, 1194, + 1761, 1761, 1761, 1194, 1194, 1194, 1194, 1194, 1206, 1761, + 1206, 1761, 1761, 1206, 1206, 1761, 1761, 1206, 1206, 1761, + 1761, 1761, 1206, 1206, 1206, 1206, 1206, 1212, 1761, 1212, + + 1761, 1761, 1212, 1212, 1761, 1761, 1212, 1212, 1761, 1761, + 1761, 1212, 1212, 1212, 1212, 1212, 924, 1761, 924, 1761, + 1761, 924, 924, 1761, 1761, 924, 924, 924, 1761, 1761, + 924, 924, 924, 924, 924, 1218, 1761, 1218, 1761, 1761, + 1218, 1218, 1761, 1761, 1218, 1218, 1761, 1761, 1761, 1218, + 1218, 1218, 1218, 1218, 1226, 1761, 1226, 1761, 1761, 1226, + 1226, 1761, 1761, 1226, 1226, 1226, 1761, 1761, 1226, 1226, + 1226, 1226, 1226, 1240, 1761, 1240, 1761, 1761, 1240, 1240, + 1761, 1240, 1240, 1240, 1240, 1761, 1240, 1240, 1240, 1240, + 1240, 1240, 1465, 1761, 1465, 1761, 1761, 1465, 1465, 1761, + + 1465, 1465, 1465, 1465, 1761, 1465, 1465, 1465, 1465, 1465, + 1465, 1473, 1761, 1473, 1761, 1761, 1473, 1473, 1761, 1473, + 1473, 1473, 1473, 1761, 1473, 1473, 1473, 1473, 1473, 1473, + 1249, 1761, 1249, 1761, 1761, 1249, 1249, 1761, 1249, 1249, + 1249, 1249, 1761, 1249, 1249, 1249, 1249, 1249, 1249, 1480, + 1761, 1480, 1761, 1761, 1480, 1480, 1761, 1480, 1480, 1480, + 1480, 1761, 1480, 1480, 1480, 1480, 1480, 1480, 1488, 1761, + 1488, 1761, 1761, 1488, 1488, 1761, 1488, 1488, 1488, 1488, + 1761, 1488, 1488, 1488, 1488, 1488, 1488, 1256, 1761, 1256, + 1761, 1761, 1256, 1256, 1761, 1256, 1256, 1256, 1256, 1761, + + 1256, 1256, 1256, 1256, 1256, 1256, 1496, 1761, 1496, 1761, + 1761, 1496, 1496, 1761, 1761, 1496, 1496, 1496, 1761, 1761, + 1496, 1496, 1496, 1496, 1496, 1502, 1761, 1502, 1761, 1761, + 1502, 1502, 1761, 1761, 1502, 1502, 1761, 1761, 1761, 1502, + 1502, 1502, 1502, 1502, 383, 383, 383, 1761, 383, 383, + 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + 383, 383, 383, 383, 383, 383, 383, 383, 474, 474, + 1761, 474, 1761, 1761, 1761, 474, 1761, 474, 474, 1310, + 1310, 1310, 1310, 1310, 1761, 1310, 1310, 1310, 1310, 1761, + 1761, 1310, 1310, 1761, 1761, 1310, 1310, 1310, 1761, 1310, + + 1310, 1761, 1310, 1318, 1318, 1318, 1318, 1318, 1761, 1318, + 1318, 1318, 1318, 1761, 1761, 1318, 1318, 1761, 1761, 1318, + 1318, 1318, 1761, 1318, 1761, 1761, 1318, 1330, 1330, 1330, + 1330, 1330, 1761, 1330, 1330, 1330, 1330, 1761, 1761, 1330, + 1330, 1761, 1761, 1330, 1330, 1330, 1761, 1330, 1761, 1761, + 1330, 1341, 1341, 1341, 1341, 1341, 1761, 1341, 1341, 1341, + 1341, 1761, 1761, 1341, 1341, 1761, 1761, 1341, 1341, 1341, + 1761, 1341, 1761, 1761, 1341, 1349, 1349, 1349, 1349, 1349, + 1761, 1349, 1349, 1349, 1349, 1761, 1761, 1349, 1349, 1761, + 1761, 1349, 1349, 1349, 1761, 1349, 1761, 1761, 1349, 420, + + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 827, 1761, 827, 1761, 1761, 827, 827, + 827, 827, 1761, 827, 827, 1761, 827, 827, 827, 827, + 827, 827, 820, 1761, 820, 1761, 1761, 820, 820, 1761, + 1761, 1761, 820, 820, 1761, 1761, 820, 820, 820, 820, + 820, 1574, 1761, 1574, 1761, 1761, 1574, 1574, 1761, 1574, + 1761, 1574, 1574, 1761, 1574, 1574, 1574, 1574, 1574, 1574, + 1389, 1761, 1389, 1761, 1761, 1389, 1389, 1761, 1389, 1761, + 1389, 1389, 1761, 1389, 1389, 1389, 1389, 1389, 1389, 1583, + + 1761, 1583, 1761, 1761, 1583, 1583, 1761, 1583, 1761, 1583, + 1583, 1761, 1583, 1583, 1583, 1583, 1583, 1583, 1397, 1761, + 1397, 1761, 1761, 1397, 1397, 1761, 1397, 1761, 1397, 1397, + 1761, 1397, 1397, 1397, 1397, 1397, 1397, 1591, 1761, 1591, + 1761, 1761, 1591, 1591, 1761, 1591, 1761, 1591, 1591, 1761, + 1591, 1591, 1591, 1591, 1591, 1591, 1404, 1761, 1404, 1761, + 1761, 1404, 1404, 1761, 1404, 1761, 1404, 1404, 1761, 1404, + 1404, 1404, 1404, 1404, 1404, 1412, 1761, 1412, 1761, 1761, + 1412, 1412, 1761, 1412, 1761, 1412, 1412, 1761, 1412, 1412, + 1412, 1412, 1412, 1412, 1420, 1761, 1420, 1761, 1761, 1420, + + 1420, 1761, 1761, 1761, 1420, 1420, 1761, 1761, 1420, 1420, + 1420, 1420, 1420, 1603, 1761, 1603, 1761, 1761, 1603, 1603, + 1761, 1761, 1761, 1603, 1761, 1761, 1761, 1603, 1603, 1603, + 1603, 1603, 1426, 1761, 1426, 1761, 1761, 1426, 1426, 1761, + 1761, 1761, 1426, 1761, 1761, 1761, 1426, 1426, 1426, 1426, + 1426, 931, 1761, 931, 1761, 1761, 931, 931, 931, 931, + 931, 931, 931, 1761, 931, 931, 931, 931, 931, 931, + 924, 1761, 924, 1761, 1761, 924, 924, 1761, 1761, 924, + 924, 924, 1761, 1761, 924, 924, 924, 924, 924, 1620, + 1761, 1620, 1761, 1761, 1620, 1620, 1761, 1620, 1620, 1620, + + 1620, 1761, 1620, 1620, 1620, 1620, 1620, 1620, 1465, 1761, + 1465, 1761, 1761, 1465, 1465, 1761, 1465, 1465, 1465, 1465, + 1761, 1465, 1465, 1465, 1465, 1465, 1465, 1629, 1761, 1629, + 1761, 1761, 1629, 1629, 1761, 1629, 1629, 1629, 1629, 1761, + 1629, 1629, 1629, 1629, 1629, 1629, 1473, 1761, 1473, 1761, + 1761, 1473, 1473, 1761, 1473, 1473, 1473, 1473, 1761, 1473, + 1473, 1473, 1473, 1473, 1473, 1637, 1761, 1637, 1761, 1761, + 1637, 1637, 1761, 1637, 1637, 1637, 1637, 1761, 1637, 1637, + 1637, 1637, 1637, 1637, 1480, 1761, 1480, 1761, 1761, 1480, + 1480, 1761, 1480, 1480, 1480, 1480, 1761, 1480, 1480, 1480, + + 1480, 1480, 1480, 1488, 1761, 1488, 1761, 1761, 1488, 1488, + 1761, 1488, 1488, 1488, 1488, 1761, 1488, 1488, 1488, 1488, + 1488, 1488, 1496, 1761, 1496, 1761, 1761, 1496, 1496, 1761, + 1761, 1496, 1496, 1496, 1761, 1761, 1496, 1496, 1496, 1496, + 1496, 1649, 1761, 1649, 1761, 1761, 1649, 1649, 1761, 1761, + 1649, 1649, 1761, 1761, 1761, 1649, 1649, 1649, 1649, 1649, + 1502, 1761, 1502, 1761, 1761, 1502, 1502, 1761, 1761, 1502, + 1502, 1761, 1761, 1761, 1502, 1502, 1502, 1502, 1502, 1530, + 1530, 1530, 1530, 1530, 1761, 1530, 1530, 1530, 1530, 1761, + 1761, 1530, 1530, 1761, 1761, 1530, 1530, 1530, 1761, 1530, + + 1761, 1761, 1530, 1538, 1538, 1538, 1538, 1538, 1761, 1538, + 1538, 1538, 1538, 1761, 1761, 1538, 1538, 1761, 1761, 1538, + 1538, 1538, 1761, 1538, 1761, 1761, 1538, 1559, 1559, 1559, + 1559, 1559, 1761, 1559, 1559, 1559, 1559, 1761, 1761, 1559, + 1559, 1761, 1761, 1559, 1559, 1559, 1761, 1559, 1761, 1761, + 1559, 420, 1761, 420, 1761, 1761, 420, 420, 1761, 1761, + 420, 420, 420, 1761, 1761, 420, 420, 420, 420, 420, + 474, 1761, 474, 1761, 1761, 1761, 474, 1761, 474, 474, + 827, 1761, 827, 1761, 1761, 827, 827, 1761, 827, 1761, + 827, 827, 1761, 827, 827, 827, 827, 827, 827, 1574, + + 1761, 1574, 1761, 1761, 1574, 1574, 1761, 1574, 1761, 1574, + 1574, 1761, 1574, 1574, 1574, 1574, 1574, 1574, 1583, 1761, + 1583, 1761, 1761, 1583, 1583, 1761, 1583, 1761, 1583, 1583, + 1761, 1583, 1583, 1583, 1583, 1583, 1583, 1591, 1761, 1591, + 1761, 1761, 1591, 1591, 1761, 1591, 1761, 1591, 1591, 1761, + 1591, 1591, 1591, 1591, 1591, 1591, 1603, 1761, 1603, 1761, + 1761, 1603, 1603, 1761, 1761, 1761, 1603, 1761, 1761, 1761, + 1603, 1603, 1603, 1603, 1603, 931, 1761, 931, 1761, 1761, + 931, 931, 1761, 931, 931, 931, 931, 1761, 931, 931, + 931, 931, 931, 931, 1620, 1761, 1620, 1761, 1761, 1620, + + 1620, 1761, 1620, 1620, 1620, 1620, 1761, 1620, 1620, 1620, + 1620, 1620, 1620, 1629, 1761, 1629, 1761, 1761, 1629, 1629, + 1761, 1629, 1629, 1629, 1629, 1761, 1629, 1629, 1629, 1629, + 1629, 1629, 1637, 1761, 1637, 1761, 1761, 1637, 1637, 1761, + 1637, 1637, 1637, 1637, 1761, 1637, 1637, 1637, 1637, 1637, + 1637, 1668, 1668, 1668, 1668, 1668, 1761, 1668, 1668, 1668, + 1668, 1761, 1761, 1668, 1668, 1761, 1761, 1668, 1668, 1668, + 1761, 1668, 1761, 1761, 1668, 1675, 1675, 1675, 1675, 1675, + 1761, 1675, 1675, 1675, 1675, 1761, 1761, 1675, 1675, 1761, + 1761, 1675, 1675, 1675, 1761, 1675, 1761, 1761, 1675, 1682, + + 1682, 1682, 1682, 1682, 1761, 1682, 1682, 1682, 1682, 1761, + 1761, 1682, 1682, 1761, 1761, 1682, 1682, 1682, 1761, 1682, + 1761, 1761, 1682, 1689, 1689, 1689, 1689, 1689, 1761, 1689, + 1689, 1689, 1689, 1761, 1761, 1689, 1689, 1761, 1761, 1689, + 1689, 1689, 1761, 1689, 1761, 1761, 1689, 1695, 1695, 1695, + 1695, 1695, 1761, 1695, 1695, 1695, 1695, 1761, 1761, 1695, + 1695, 1761, 1761, 1695, 1695, 1695, 1761, 1695, 1761, 1761, + 1695, 1735, 1735, 1735, 1735, 1735, 1761, 1735, 1735, 1735, + 1735, 1761, 1761, 1735, 1735, 1761, 1761, 1735, 1735, 1735, + 1761, 1735, 1761, 1761, 1735, 1743, 1743, 1743, 1743, 1743, + + 1761, 1743, 1743, 1743, 1743, 1761, 1761, 1743, 1743, 1761, + 1761, 1743, 1743, 1743, 1761, 1743, 1761, 1761, 1743, 33, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761 } ; -static const flex_int16_t yy_chk[13295] = +static const flex_int16_t yy_chk[13396] = { 0, 0, 0, 1, 1, 1, 2, 2, 2, 11, 11, 12, 12, 38, 42, 145, 38, 42, 145, 38, 42, 57, 0, 57, 38, 42, 44, 1, 0, 44, 2, - 73, 73, 73, 73, 38, 42, 398, 44, 52, 44, + 73, 73, 73, 73, 38, 42, 399, 44, 52, 44, 44, 52, 44, 44, 44, 44, 51, 0, 51, 51, - 51, 51, 77, 77, 398, 52, 52, 52, 52, 121, + 51, 51, 77, 77, 399, 52, 52, 52, 52, 121, 121, 121, 52, 138, 138, 196, 77, 196, 77, 77, 77, 77, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -2748,21 +2765,21 @@ static const flex_int16_t yy_chk[13295] = 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 9, 9, 9, 34, 34, 34, - 9, 436, 9, 9, 9, 9, 436, 9, 9, 9, - 39, 1349, 39, 39, 39, 1350, 40, 9, 40, 40, - 40, 41, 709, 41, 41, 41, 134, 134, 134, 134, - 709, 9, 9, 9, 95, 151, 108, 95, 151, 108, - 1351, 13, 13, 13, 13, 1352, 13, 14, 14, 14, - 14, 1353, 14, 21, 21, 21, 21, 139, 21, 9, + 9, 438, 9, 9, 9, 9, 438, 9, 9, 9, + 39, 1346, 39, 39, 39, 1352, 40, 9, 40, 40, + 40, 41, 712, 41, 41, 41, 134, 134, 134, 134, + 712, 9, 9, 9, 95, 151, 108, 95, 151, 108, + 1353, 13, 13, 13, 13, 1354, 13, 14, 14, 14, + 14, 1361, 14, 21, 21, 21, 21, 139, 21, 9, 139, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 90, 90, 95, 10, 108, 10, 10, 10, 10, 13, 10, 10, 10, 190, 90, 14, 90, 90, 90, - 90, 10, 21, 54, 1354, 54, 139, 54, 54, 54, - 54, 143, 143, 183, 183, 10, 10, 10, 1355, 54, - 13, 13, 13, 13, 13, 1356, 14, 14, 14, 14, + 90, 10, 21, 54, 1362, 54, 139, 54, 54, 54, + 54, 143, 143, 183, 183, 10, 10, 10, 1363, 54, + 13, 13, 13, 13, 13, 1364, 14, 14, 14, 14, 14, 190, 21, 21, 21, 21, 21, 54, 155, 155, - 155, 155, 228, 10, 228, 10, 10, 10, 10, 10, + 155, 155, 229, 10, 229, 10, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -2772,105 +2789,105 @@ static const flex_int16_t yy_chk[13295] = 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 17, 17, 17, 17, - 135, 222, 1357, 135, 222, 22, 22, 22, 22, 1358, - 22, 29, 29, 329, 329, 29, 30, 30, 344, 344, - 30, 17, 67, 1359, 135, 67, 142, 142, 233, 332, - 132, 233, 332, 132, 67, 17, 67, 67, 17, 67, - 67, 67, 67, 82, 22, 132, 82, 376, 376, 29, - 142, 170, 170, 170, 30, 82, 347, 82, 82, 347, - 82, 82, 82, 82, 1360, 17, 17, 17, 17, 17, + 135, 223, 1365, 135, 223, 22, 22, 22, 22, 1366, + 22, 29, 29, 330, 330, 29, 30, 30, 345, 345, + 30, 17, 67, 1367, 135, 67, 142, 142, 234, 333, + 132, 234, 333, 132, 67, 17, 67, 67, 17, 67, + 67, 67, 67, 82, 22, 132, 82, 377, 377, 29, + 142, 170, 170, 170, 30, 82, 348, 82, 82, 348, + 82, 82, 82, 82, 1368, 17, 17, 17, 17, 17, 18, 18, 18, 18, 22, 22, 22, 22, 22, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 157, - 157, 157, 157, 401, 401, 18, 86, 48, 328, 86, - 136, 328, 136, 48, 136, 136, 136, 136, 48, 18, - 68, 86, 18, 86, 86, 86, 86, 403, 403, 68, + 157, 157, 157, 402, 402, 18, 86, 48, 329, 86, + 136, 329, 136, 48, 136, 136, 136, 136, 48, 18, + 68, 86, 18, 86, 86, 86, 86, 404, 404, 68, 86, 179, 179, 179, 171, 68, 171, 171, 171, 68, - 367, 48, 1365, 367, 48, 158, 48, 328, 432, 18, - 18, 18, 18, 18, 19, 68, 1366, 19, 48, 158, - 19, 432, 19, 19, 367, 48, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 1367, 74, 158, 74, 19, - - 74, 74, 74, 74, 1368, 68, 68, 68, 219, 219, - 219, 219, 74, 19, 75, 19, 23, 23, 23, 23, - 87, 1369, 87, 75, 87, 87, 87, 87, 1370, 75, - 74, 76, 198, 75, 413, 413, 87, 76, 83, 76, - 1371, 23, 76, 76, 76, 76, 76, 83, 172, 75, - 172, 172, 172, 83, 87, 23, 1378, 83, 23, 88, - 173, 414, 173, 173, 173, 414, 414, 180, 88, 180, - 180, 180, 1379, 83, 88, 273, 273, 273, 88, 75, + 368, 48, 1369, 368, 48, 158, 48, 329, 433, 18, + 18, 18, 18, 18, 19, 68, 1370, 19, 48, 158, + 19, 433, 19, 19, 368, 48, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 1371, 74, 158, 74, 19, + + 74, 74, 74, 74, 1372, 68, 68, 68, 220, 220, + 220, 220, 74, 19, 75, 19, 23, 23, 23, 23, + 87, 1373, 87, 75, 87, 87, 87, 87, 1374, 75, + 74, 76, 198, 75, 414, 414, 87, 76, 83, 76, + 1379, 23, 76, 76, 76, 76, 76, 83, 172, 75, + 172, 172, 172, 83, 87, 23, 1380, 83, 23, 88, + 173, 415, 173, 173, 173, 415, 415, 180, 88, 180, + 180, 180, 1381, 83, 88, 274, 274, 274, 88, 75, 75, 75, 198, 198, 198, 23, 23, 23, 23, 23, - 24, 24, 24, 24, 88, 1380, 76, 76, 76, 369, - - 133, 369, 1381, 83, 83, 83, 133, 1382, 89, 234, - 234, 133, 234, 693, 89, 24, 89, 693, 693, 89, - 89, 89, 89, 89, 88, 88, 88, 203, 1386, 24, - 285, 285, 24, 285, 133, 705, 705, 133, 159, 133, - 159, 159, 159, 159, 1387, 181, 167, 181, 181, 181, - 1388, 133, 159, 203, 200, 978, 978, 167, 133, 24, - 24, 24, 24, 24, 25, 25, 25, 25, 333, 333, - 159, 333, 25, 89, 89, 89, 1393, 203, 203, 203, - 167, 25, 25, 25, 25, 167, 200, 1394, 200, 167, - 25, 25, 25, 25, 348, 348, 167, 348, 1395, 167, + 24, 24, 24, 24, 88, 1382, 76, 76, 76, 370, + + 133, 370, 1383, 83, 83, 83, 133, 1384, 89, 235, + 235, 133, 235, 696, 89, 24, 89, 696, 696, 89, + 89, 89, 89, 89, 88, 88, 88, 203, 1385, 24, + 286, 286, 24, 286, 133, 708, 708, 133, 159, 133, + 159, 159, 159, 159, 1392, 181, 167, 181, 181, 181, + 1393, 133, 159, 203, 200, 983, 983, 167, 133, 24, + 24, 24, 24, 24, 25, 25, 25, 25, 334, 334, + 159, 334, 25, 89, 89, 89, 1394, 203, 203, 203, + 167, 25, 25, 25, 25, 167, 200, 1395, 200, 167, + 25, 25, 25, 25, 349, 349, 167, 349, 1396, 167, 186, 167, 167, 186, 200, 200, 200, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 186, 186, 186, - 186, 26, 378, 176, 186, 378, 176, 979, 979, 176, - 26, 26, 26, 26, 176, 220, 220, 220, 220, 26, - 26, 26, 26, 1396, 182, 176, 201, 182, 1397, 185, + 186, 26, 379, 176, 186, 379, 176, 984, 984, 176, + 26, 26, 26, 26, 176, 221, 221, 221, 221, 26, + 26, 26, 26, 1400, 182, 176, 201, 182, 1401, 185, 182, 185, 185, 185, 185, 182, 26, 26, 26, 26, - 26, 26, 27, 27, 27, 27, 182, 27, 27, 214, - 1401, 27, 27, 27, 184, 27, 27, 184, 201, 27, - 27, 27, 27, 27, 343, 1402, 184, 343, 184, 184, - 1403, 184, 184, 184, 184, 194, 201, 201, 201, 194, - - 27, 194, 27, 27, 194, 194, 214, 1404, 1405, 187, - 27, 187, 207, 187, 187, 187, 187, 27, 1409, 214, - 214, 214, 27, 343, 205, 187, 423, 27, 423, 27, - 27, 28, 28, 28, 28, 1410, 28, 28, 210, 207, - 28, 28, 28, 187, 28, 28, 1411, 1413, 28, 28, - 28, 28, 28, 195, 205, 195, 1414, 1415, 195, 195, - 195, 225, 207, 207, 207, 225, 225, 225, 225, 28, - 1416, 28, 28, 210, 205, 205, 205, 1417, 1418, 28, - 231, 231, 231, 231, 379, 379, 28, 379, 210, 210, - 210, 28, 236, 236, 236, 1419, 28, 236, 28, 28, - - 49, 1420, 380, 49, 49, 380, 1423, 49, 313, 313, - 313, 49, 49, 1424, 49, 212, 49, 49, 49, 49, - 49, 49, 383, 49, 49, 383, 49, 49, 49, 49, - 49, 49, 49, 49, 49, 49, 49, 49, 650, 49, - 650, 212, 1425, 49, 49, 49, 49, 49, 49, 49, + 26, 26, 27, 27, 27, 27, 182, 27, 27, 215, + 1402, 27, 27, 27, 184, 27, 27, 184, 201, 27, + 27, 27, 27, 27, 344, 1407, 184, 344, 184, 184, + 1408, 184, 184, 184, 184, 194, 201, 201, 201, 194, + + 27, 194, 27, 27, 194, 194, 215, 1409, 1410, 187, + 27, 187, 207, 187, 187, 187, 187, 27, 1411, 215, + 215, 215, 27, 344, 205, 187, 424, 27, 424, 27, + 27, 28, 28, 28, 28, 1415, 28, 28, 210, 207, + 28, 28, 28, 187, 28, 28, 1416, 1417, 28, 28, + 28, 28, 28, 195, 205, 195, 1418, 1419, 195, 195, + 195, 226, 207, 207, 207, 226, 226, 226, 226, 28, + 1423, 28, 28, 210, 205, 205, 205, 1424, 1425, 28, + 232, 232, 232, 232, 380, 380, 28, 380, 210, 210, + 210, 28, 237, 237, 237, 1427, 28, 237, 28, 28, + + 49, 1428, 381, 49, 49, 381, 1429, 49, 314, 314, + 314, 49, 49, 1430, 49, 213, 49, 49, 49, 49, + 49, 49, 384, 49, 49, 384, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, 653, 49, + 653, 213, 1431, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 49, 49, 49, 49, 49, 212, 212, 212, 49, 360, - 1426, 49, 49, 49, 59, 59, 59, 1427, 221, 1428, - 221, 360, 221, 221, 221, 221, 425, 319, 360, 202, - 59, 59, 59, 425, 221, 357, 357, 357, 223, 425, - - 223, 1429, 223, 223, 223, 223, 243, 243, 243, 243, - 319, 202, 221, 243, 223, 1430, 59, 59, 202, 1431, - 59, 59, 319, 366, 202, 1432, 366, 204, 59, 319, - 386, 59, 223, 59, 206, 59, 59, 69, 366, 202, - 202, 202, 375, 69, 386, 375, 1433, 208, 69, 69, - 69, 69, 69, 69, 69, 404, 206, 1434, 404, 204, - 204, 204, 386, 69, 69, 69, 69, 69, 69, 208, - 434, 69, 481, 434, 69, 481, 69, 204, 204, 204, - 656, 375, 209, 656, 206, 206, 206, 211, 69, 400, - 213, 400, 400, 400, 215, 69, 71, 208, 208, 208, - - 247, 247, 247, 247, 209, 71, 1435, 71, 71, 71, - 71, 71, 415, 415, 415, 71, 662, 209, 1436, 662, - 213, 336, 336, 336, 211, 213, 336, 211, 215, 1441, - 419, 71, 209, 209, 209, 1442, 249, 211, 211, 211, - 213, 213, 213, 416, 215, 215, 215, 416, 416, 416, - 227, 249, 227, 1443, 227, 227, 227, 227, 427, 427, - 427, 71, 71, 71, 85, 242, 227, 242, 242, 242, - 242, 655, 655, 85, 655, 85, 85, 85, 85, 85, - 419, 419, 419, 85, 227, 229, 229, 229, 229, 1444, - 229, 229, 229, 229, 241, 661, 661, 241, 661, 85, - - 1445, 249, 249, 249, 254, 1446, 241, 677, 241, 241, - 677, 241, 241, 241, 241, 254, 254, 254, 254, 1447, - 1454, 254, 263, 263, 263, 263, 507, 507, 507, 85, + 49, 49, 49, 49, 49, 213, 213, 213, 49, 361, + 1432, 49, 49, 49, 59, 59, 59, 1433, 222, 1434, + 222, 361, 222, 222, 222, 222, 426, 320, 361, 202, + 59, 59, 59, 426, 222, 358, 358, 358, 224, 426, + + 224, 1437, 224, 224, 224, 224, 244, 244, 244, 244, + 320, 202, 222, 244, 224, 1438, 59, 59, 202, 1439, + 59, 59, 320, 367, 202, 1440, 367, 204, 59, 320, + 1441, 59, 224, 59, 206, 59, 59, 69, 367, 202, + 202, 202, 376, 69, 1442, 376, 1443, 208, 69, 69, + 69, 69, 69, 69, 69, 405, 206, 1444, 405, 204, + 204, 204, 212, 69, 69, 69, 69, 69, 69, 208, + 435, 69, 484, 435, 69, 484, 69, 204, 204, 204, + 659, 376, 209, 659, 206, 206, 206, 211, 69, 401, + 214, 401, 401, 401, 216, 69, 71, 208, 208, 208, + + 658, 658, 212, 658, 209, 71, 1445, 71, 71, 71, + 71, 71, 212, 212, 212, 71, 387, 209, 1446, 1447, + 214, 337, 337, 337, 211, 214, 337, 211, 216, 1448, + 387, 71, 209, 209, 209, 1449, 1450, 211, 211, 211, + 214, 214, 214, 1455, 216, 216, 216, 1456, 387, 1457, + 228, 1458, 228, 1459, 228, 228, 228, 228, 1460, 250, + 1461, 71, 71, 71, 85, 243, 228, 243, 243, 243, + 243, 1468, 1469, 85, 250, 85, 85, 85, 85, 85, + 416, 416, 416, 85, 228, 230, 230, 230, 230, 1470, + 230, 230, 230, 230, 242, 664, 664, 242, 664, 85, + + 248, 248, 248, 248, 255, 1471, 242, 665, 242, 242, + 665, 242, 242, 242, 242, 255, 255, 255, 255, 679, + 679, 255, 679, 697, 250, 250, 250, 697, 697, 85, 85, 85, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, @@ -2880,1302 +2897,1313 @@ static const flex_int16_t yy_chk[13295] = 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 112, 112, 112, - 1455, 112, 1456, 244, 112, 244, 1457, 244, 244, 244, - 244, 245, 1458, 112, 112, 112, 1462, 267, 1463, 244, - 245, 267, 267, 267, 267, 692, 245, 692, 692, 290, - 245, 290, 290, 290, 290, 112, 1464, 244, 112, 112, - 112, 1469, 712, 112, 112, 712, 245, 295, 295, 295, - 295, 112, 297, 1470, 112, 1471, 112, 1472, 112, 112, - 122, 122, 122, 122, 1473, 1477, 246, 297, 1478, 122, - 122, 122, 122, 1479, 1480, 246, 245, 245, 245, 1481, - 1485, 246, 529, 529, 529, 246, 122, 122, 122, 122, - - 122, 122, 129, 439, 129, 129, 1486, 1487, 129, 129, - 129, 246, 1489, 129, 129, 129, 129, 248, 539, 539, - 539, 129, 303, 303, 303, 303, 248, 297, 297, 297, - 250, 1490, 248, 1491, 129, 439, 248, 129, 1492, 250, - 1493, 246, 246, 246, 1494, 250, 350, 350, 350, 250, - 1495, 350, 248, 439, 439, 439, 289, 676, 676, 289, - 676, 129, 130, 130, 130, 250, 130, 1496, 289, 130, - 289, 289, 1499, 289, 289, 289, 289, 1503, 130, 130, - 130, 1504, 248, 248, 248, 307, 130, 1505, 1507, 307, - 307, 307, 307, 1509, 694, 250, 250, 250, 694, 694, - - 130, 1511, 996, 130, 130, 130, 996, 996, 130, 130, - 362, 362, 362, 362, 1512, 768, 130, 768, 768, 130, - 1513, 130, 1514, 130, 130, 199, 199, 199, 199, 199, - 199, 199, 1519, 199, 1520, 199, 199, 199, 199, 1521, - 199, 199, 199, 199, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 1527, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 255, - 363, 363, 363, 363, 270, 270, 270, 270, 255, 270, - 270, 270, 270, 1528, 255, 482, 482, 482, 255, 1529, - 482, 270, 271, 368, 1548, 368, 1549, 272, 368, 368, - 368, 271, 1550, 440, 255, 1552, 272, 271, 1553, 270, - 274, 271, 272, 549, 549, 549, 272, 1554, 1555, 274, - 554, 554, 554, 291, 1557, 274, 291, 271, 440, 274, - 1558, 1563, 272, 1564, 255, 255, 255, 264, 291, 1565, - 291, 291, 291, 291, 264, 274, 264, 291, 264, 264, - - 264, 264, 264, 440, 440, 440, 264, 271, 271, 271, - 264, 1566, 272, 272, 272, 278, 372, 372, 372, 372, - 1567, 441, 264, 286, 278, 274, 274, 274, 264, 1568, - 278, 1572, 286, 1573, 278, 591, 591, 591, 286, 1574, - 1575, 292, 286, 292, 1576, 292, 292, 292, 292, 1580, - 278, 1581, 264, 264, 264, 266, 441, 292, 286, 611, - 611, 611, 266, 1582, 266, 1583, 266, 266, 266, 266, - 266, 441, 441, 441, 266, 292, 1584, 1585, 266, 371, - 278, 278, 278, 371, 371, 371, 371, 1586, 286, 286, - 286, 1587, 1588, 370, 1590, 370, 266, 370, 370, 370, - - 370, 373, 385, 373, 1591, 373, 373, 373, 373, 388, - 388, 388, 388, 385, 385, 385, 385, 1592, 1593, 385, - 266, 266, 266, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 1594, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 280, 465, - - 465, 465, 465, 1595, 1596, 293, 1597, 280, 1598, 280, - 280, 280, 280, 280, 293, 1599, 294, 280, 1600, 296, - 293, 621, 621, 621, 293, 294, 1601, 298, 296, 719, - 1603, 294, 719, 280, 296, 294, 298, 1604, 296, 719, - 293, 302, 298, 631, 631, 631, 298, 636, 636, 636, - 302, 294, 1609, 648, 296, 648, 302, 1610, 648, 648, - 302, 1611, 298, 280, 280, 280, 475, 475, 475, 475, - 293, 293, 293, 406, 1612, 442, 302, 406, 406, 406, - 406, 294, 294, 294, 296, 296, 296, 407, 407, 407, - 407, 1613, 298, 298, 298, 310, 310, 310, 310, 407, - - 310, 310, 310, 310, 1614, 1618, 302, 302, 302, 304, - 1619, 1620, 310, 442, 442, 1621, 304, 407, 304, 1622, - 304, 304, 304, 304, 304, 442, 442, 442, 304, 443, - 310, 1626, 304, 389, 1627, 389, 311, 1628, 389, 389, - 389, 389, 1629, 312, 304, 311, 751, 448, 314, 751, - 304, 311, 312, 1630, 450, 311, 751, 314, 312, 668, - 668, 668, 312, 314, 443, 1631, 1632, 314, 657, 657, - 657, 311, 448, 657, 304, 304, 304, 306, 312, 443, - 443, 443, 452, 314, 306, 445, 306, 1633, 306, 306, - 306, 306, 306, 450, 1634, 1636, 306, 448, 448, 448, - - 306, 311, 311, 311, 450, 450, 450, 1637, 312, 312, - 312, 1638, 445, 314, 314, 314, 1639, 409, 306, 409, - 452, 1640, 409, 409, 409, 409, 478, 478, 478, 478, - 1641, 1642, 452, 452, 452, 445, 445, 445, 480, 480, - 480, 480, 306, 306, 306, 308, 308, 308, 308, 308, - 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, - 308, 1643, 308, 308, 308, 308, 308, 308, 308, 308, - 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, - 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, - 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, - - 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, - 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, - 318, 1344, 447, 1344, 1344, 325, 468, 1644, 1646, 318, - 468, 468, 468, 468, 325, 318, 663, 663, 663, 318, - 325, 663, 1648, 387, 325, 387, 387, 387, 387, 390, - 1650, 390, 390, 390, 390, 318, 1657, 387, 447, 1658, - 325, 444, 408, 390, 408, 1659, 408, 408, 408, 408, - 1664, 1665, 447, 447, 447, 387, 446, 1666, 408, 453, - 1671, 390, 449, 1672, 1673, 318, 318, 318, 320, 458, - 325, 325, 325, 444, 1678, 454, 408, 320, 457, 320, - - 320, 320, 320, 320, 1679, 1000, 446, 320, 1000, 1680, - 455, 444, 444, 444, 446, 1000, 449, 1684, 1685, 449, - 454, 1686, 453, 320, 1689, 458, 446, 446, 446, 453, - 453, 453, 449, 449, 449, 1690, 1691, 457, 1692, 458, - 458, 458, 1693, 1694, 455, 454, 454, 454, 457, 457, - 457, 1695, 1696, 320, 320, 320, 358, 358, 358, 358, - 455, 455, 455, 459, 1697, 358, 358, 358, 358, 472, - 456, 472, 1698, 456, 472, 472, 472, 472, 1699, 1700, - 456, 1701, 358, 358, 358, 358, 358, 358, 418, 1702, - 1703, 456, 418, 418, 418, 418, 1704, 459, 687, 687, - - 687, 418, 418, 418, 418, 649, 460, 649, 1705, 461, - 649, 649, 649, 459, 459, 459, 1706, 1707, 418, 418, - 418, 418, 418, 418, 451, 451, 451, 451, 451, 462, - 451, 451, 1708, 451, 451, 451, 1709, 1710, 451, 460, - 451, 456, 456, 456, 1711, 1712, 451, 451, 1713, 669, - 451, 1714, 461, 669, 669, 669, 460, 460, 460, 461, - 461, 461, 1715, 451, 1716, 451, 451, 451, 462, 477, - 1717, 477, 1724, 1725, 477, 477, 477, 477, 1726, 462, - 462, 462, 479, 1732, 479, 479, 479, 479, 1717, 1733, - 451, 451, 451, 1734, 451, 451, 451, 451, 451, 466, - - 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, - 466, 466, 466, 466, 466, 1735, 466, 466, 466, 466, - 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, - 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, - 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, - 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, - 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, - 466, 466, 466, 466, 467, 1736, 467, 1737, 467, 467, - 467, 467, 470, 1738, 470, 1739, 470, 470, 470, 470, - 467, 486, 486, 486, 486, 473, 1740, 473, 470, 473, - - 473, 473, 473, 498, 498, 498, 498, 1741, 467, 1742, - 1348, 473, 1001, 487, 1347, 1001, 470, 487, 487, 487, - 487, 489, 1001, 489, 524, 489, 489, 489, 489, 473, - 488, 570, 570, 570, 570, 505, 1340, 489, 795, 795, - 795, 488, 488, 488, 488, 488, 1339, 491, 1338, 488, - 505, 1327, 490, 488, 490, 489, 491, 490, 490, 490, - 490, 1775, 491, 1326, 492, 1325, 491, 1775, 1315, 493, - 505, 488, 494, 492, 524, 524, 524, 1314, 493, 492, - 1796, 494, 491, 492, 493, 1313, 1796, 494, 493, 1308, - 1307, 494, 799, 799, 799, 488, 488, 488, 1306, 492, - - 505, 505, 505, 1297, 493, 1797, 499, 494, 1295, 500, - 1294, 1797, 491, 491, 491, 499, 1011, 530, 500, 1011, - 1293, 499, 1291, 1290, 500, 499, 1011, 1288, 500, 492, - 492, 492, 530, 501, 493, 493, 493, 494, 494, 494, - 536, 499, 501, 1023, 500, 515, 1023, 1287, 501, 1286, - 516, 526, 501, 1023, 515, 526, 526, 526, 526, 516, - 515, 1804, 527, 1285, 515, 516, 1282, 1804, 501, 516, - 606, 499, 499, 499, 500, 500, 500, 527, 517, 1281, - 515, 527, 530, 530, 530, 516, 1280, 517, 1279, 1278, - 536, 536, 536, 517, 816, 816, 816, 517, 501, 501, - - 501, 523, 523, 523, 523, 1277, 523, 523, 523, 523, - 515, 515, 515, 517, 1269, 516, 516, 516, 523, 571, - 606, 606, 606, 571, 571, 571, 571, 527, 527, 527, - 1268, 1267, 531, 618, 531, 1266, 523, 531, 531, 531, - 531, 531, 1265, 517, 517, 517, 521, 582, 582, 582, - 582, 1264, 540, 521, 1263, 521, 1262, 521, 521, 521, - 521, 521, 820, 820, 820, 521, 535, 540, 535, 521, - 535, 535, 535, 535, 545, 1261, 545, 1260, 545, 545, - 545, 545, 535, 618, 618, 618, 1025, 521, 1259, 1025, - 545, 531, 531, 531, 612, 1258, 1025, 541, 1256, 541, - - 535, 547, 541, 541, 541, 541, 541, 1254, 545, 612, - 547, 521, 521, 521, 522, 1253, 547, 540, 540, 540, - 547, 522, 1252, 522, 1248, 522, 522, 522, 522, 522, - 825, 825, 825, 522, 1247, 815, 547, 522, 573, 1246, - 573, 1810, 573, 573, 573, 573, 608, 1810, 822, 522, - 608, 608, 608, 608, 573, 522, 541, 541, 541, 612, - 612, 612, 667, 667, 667, 667, 547, 547, 547, 548, - 1239, 1856, 573, 1027, 1238, 589, 1027, 1856, 548, 522, - 522, 522, 528, 1027, 548, 815, 815, 815, 548, 528, - 589, 528, 1237, 528, 528, 528, 528, 528, 822, 822, - - 822, 528, 1227, 1225, 548, 528, 574, 1224, 574, 550, - 589, 574, 574, 574, 574, 1223, 823, 528, 550, 675, - 675, 675, 675, 528, 550, 673, 1222, 673, 550, 673, - 673, 673, 673, 1859, 548, 548, 548, 560, 1221, 1859, - 589, 589, 589, 1218, 550, 1860, 560, 528, 528, 528, - 538, 1860, 560, 1217, 1910, 622, 560, 538, 1216, 538, - 1910, 538, 538, 538, 538, 538, 823, 823, 823, 538, - 622, 1215, 560, 538, 550, 550, 550, 561, 681, 681, - 681, 681, 609, 696, 1214, 538, 561, 696, 696, 696, - 562, 538, 561, 830, 830, 830, 561, 609, 1213, 562, - - 1212, 609, 560, 560, 560, 562, 857, 857, 857, 562, - 1862, 1208, 561, 1862, 1207, 538, 538, 538, 546, 1862, - 622, 622, 622, 1206, 1204, 562, 575, 546, 1203, 546, - 546, 546, 546, 546, 697, 575, 1202, 546, 697, 697, - 697, 575, 561, 561, 561, 575, 1201, 609, 609, 609, - 899, 899, 899, 546, 1200, 562, 562, 562, 613, 576, - 613, 575, 1198, 613, 613, 613, 613, 613, 576, 682, - 682, 682, 682, 1197, 576, 674, 1196, 674, 576, 674, - 674, 674, 674, 546, 546, 546, 566, 762, 762, 762, - 762, 575, 575, 575, 576, 566, 1195, 566, 566, 566, - - 566, 566, 763, 1194, 763, 566, 763, 763, 763, 763, - 903, 903, 903, 577, 920, 920, 920, 613, 613, 613, - 578, 566, 577, 1193, 576, 576, 576, 583, 577, 578, - 1038, 1913, 577, 1038, 1192, 578, 583, 1913, 1191, 578, - 1038, 584, 583, 1813, 853, 1813, 583, 919, 577, 1813, - 584, 566, 566, 566, 572, 578, 584, 1914, 1956, 853, - 584, 1190, 583, 1914, 1956, 572, 572, 572, 572, 572, - 924, 924, 924, 572, 1189, 1188, 584, 572, 577, 577, - 577, 585, 929, 929, 929, 578, 578, 578, 1186, 1185, - 585, 1184, 583, 583, 583, 572, 585, 919, 919, 919, - - 585, 1183, 1182, 597, 1181, 1180, 584, 584, 584, 853, - 853, 853, 597, 1179, 598, 1178, 585, 599, 597, 572, - 572, 572, 597, 598, 1063, 1957, 599, 1063, 1171, 598, - 1170, 1957, 599, 598, 1063, 766, 599, 766, 597, 2009, - 766, 766, 766, 766, 2010, 2009, 585, 585, 585, 598, - 2010, 926, 599, 1169, 605, 605, 605, 605, 1168, 605, - 605, 605, 605, 680, 680, 680, 680, 1167, 597, 597, - 597, 605, 934, 934, 934, 680, 961, 961, 961, 598, - 598, 598, 599, 599, 599, 603, 980, 980, 980, 605, - 1166, 1165, 603, 680, 603, 1164, 603, 603, 603, 603, - - 603, 926, 926, 926, 603, 617, 1163, 617, 603, 617, - 617, 617, 617, 726, 1162, 1161, 726, 767, 767, 767, - 767, 617, 623, 726, 623, 1160, 603, 623, 623, 623, - 623, 623, 1158, 770, 726, 770, 770, 770, 770, 617, - 627, 1156, 627, 793, 627, 627, 627, 627, 1155, 1154, - 603, 603, 603, 604, 1150, 1853, 627, 1853, 793, 1149, - 604, 1853, 604, 1148, 604, 604, 604, 604, 604, 981, - 981, 981, 604, 1854, 627, 1854, 604, 1141, 793, 1854, - 629, 623, 623, 623, 726, 726, 726, 630, 604, 629, - 1284, 927, 632, 1284, 604, 629, 630, 1140, 1139, 629, - - 1284, 632, 630, 1089, 1089, 1089, 630, 632, 793, 793, - 793, 632, 1101, 1101, 1101, 629, 1129, 1127, 604, 604, - 604, 610, 630, 775, 775, 775, 775, 632, 610, 1126, - 610, 1125, 610, 610, 610, 610, 610, 1107, 1107, 1107, - 610, 927, 927, 927, 610, 629, 629, 629, 824, 824, - 824, 824, 630, 630, 630, 642, 610, 632, 632, 632, - 643, 1124, 610, 1123, 642, 879, 879, 879, 879, 643, - 642, 1113, 1113, 1113, 642, 643, 689, 1120, 689, 643, - 689, 689, 689, 689, 1119, 1118, 610, 610, 610, 620, - 642, 1117, 689, 1116, 1115, 643, 620, 1114, 620, 1110, - - 620, 620, 620, 620, 620, 1159, 1159, 1159, 620, 1109, - 689, 1108, 620, 1029, 644, 1106, 761, 761, 761, 761, - 642, 642, 642, 644, 620, 643, 643, 643, 761, 644, - 620, 1105, 1104, 644, 691, 691, 691, 691, 1103, 691, - 691, 691, 691, 1102, 1029, 769, 761, 769, 1100, 644, - 769, 769, 769, 769, 620, 620, 620, 628, 838, 838, - 838, 838, 838, 1029, 1029, 1029, 628, 1099, 628, 628, - 628, 628, 628, 1771, 1098, 727, 628, 1771, 727, 644, - 644, 644, 690, 1771, 690, 727, 690, 690, 690, 690, - 728, 1800, 628, 728, 729, 1800, 727, 729, 690, 731, - - 728, 1800, 731, 1097, 729, 1096, 1095, 730, 1094, 731, - 730, 728, 838, 838, 838, 729, 690, 730, 1093, 1092, - 731, 1091, 628, 628, 628, 651, 1090, 1088, 730, 928, - 928, 928, 928, 1087, 651, 728, 651, 651, 651, 651, - 651, 729, 1086, 1085, 651, 1084, 727, 727, 727, 777, - 1083, 1082, 730, 1081, 794, 731, 1080, 1060, 777, 1059, - 651, 728, 728, 728, 777, 729, 729, 729, 777, 794, - 731, 731, 731, 994, 994, 994, 994, 1058, 730, 730, - 730, 957, 986, 1031, 777, 994, 986, 986, 986, 794, - 651, 651, 651, 671, 1051, 1050, 957, 671, 671, 671, - - 671, 732, 1049, 994, 732, 1024, 671, 671, 671, 671, - 1022, 732, 1031, 1021, 777, 777, 777, 1020, 1019, 794, - 794, 794, 732, 671, 671, 671, 671, 671, 671, 699, - 699, 699, 699, 1031, 1031, 1031, 1018, 1017, 699, 699, - 699, 699, 733, 1016, 1015, 733, 957, 957, 957, 1187, - 1187, 1187, 733, 1014, 732, 699, 699, 699, 699, 699, - 699, 734, 1013, 733, 734, 735, 1012, 1010, 735, 1009, - 1008, 734, 732, 732, 732, 735, 1071, 1071, 1071, 1071, - 736, 1007, 734, 736, 737, 1292, 735, 737, 1292, 1006, - 736, 1005, 1004, 733, 737, 1292, 738, 1003, 1002, 738, - - 739, 736, 999, 739, 989, 737, 738, 985, 740, 734, - 739, 740, 735, 733, 733, 733, 977, 738, 740, 976, - 742, 739, 997, 742, 1030, 975, 997, 997, 997, 740, - 742, 974, 734, 734, 734, 973, 735, 735, 735, 738, - 736, 742, 844, 969, 844, 968, 967, 844, 844, 844, - 844, 736, 736, 736, 966, 737, 737, 737, 740, 739, - 965, 1068, 1030, 1068, 1068, 1068, 1068, 738, 738, 738, - 964, 739, 739, 739, 1030, 1030, 1030, 963, 962, 740, - 740, 740, 948, 960, 948, 1034, 959, 948, 948, 948, - 948, 742, 742, 742, 743, 743, 743, 743, 743, 743, - - 743, 958, 743, 945, 743, 743, 743, 743, 944, 743, - 743, 743, 743, 747, 941, 1301, 747, 748, 1301, 1034, - 748, 940, 939, 747, 760, 1301, 760, 748, 760, 760, - 760, 760, 937, 936, 747, 1034, 1034, 1034, 748, 935, - 760, 765, 933, 765, 932, 765, 765, 765, 765, 750, - 1852, 931, 750, 753, 1852, 923, 753, 765, 760, 750, - 1852, 748, 1301, 753, 922, 921, 755, 917, 916, 755, - 750, 915, 914, 747, 753, 765, 755, 1040, 1072, 913, - 1072, 1072, 1072, 1072, 747, 747, 747, 755, 748, 748, - 748, 749, 749, 749, 749, 749, 750, 749, 749, 909, - - 749, 749, 749, 908, 1037, 749, 907, 749, 1303, 1040, - 753, 1303, 906, 749, 749, 755, 905, 749, 1303, 904, - 750, 750, 750, 902, 753, 753, 753, 1040, 1040, 1040, - 749, 901, 749, 749, 749, 1046, 900, 755, 755, 755, - 846, 846, 846, 846, 846, 749, 896, 1037, 895, 894, - 756, 893, 892, 756, 1037, 1037, 1037, 749, 749, 749, - 756, 749, 749, 749, 749, 749, 754, 754, 754, 754, - 754, 756, 754, 754, 1032, 754, 754, 754, 888, 887, - 754, 757, 754, 886, 757, 1046, 1046, 1046, 754, 754, - 758, 757, 754, 758, 846, 846, 846, 756, 885, 884, - - 758, 875, 757, 873, 872, 754, 1041, 754, 754, 754, - 871, 758, 1032, 772, 754, 772, 870, 772, 772, 772, - 772, 756, 756, 756, 1032, 1032, 1032, 869, 865, 772, - 864, 863, 754, 754, 754, 862, 754, 754, 754, 754, - 754, 758, 861, 860, 988, 1041, 988, 772, 988, 988, - 988, 988, 757, 757, 757, 859, 1041, 1041, 1041, 858, - 856, 758, 758, 758, 764, 764, 764, 764, 764, 764, - 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, - 855, 764, 764, 764, 764, 764, 764, 764, 764, 764, - 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, - - 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, - 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, - 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, - 764, 764, 764, 764, 764, 764, 764, 764, 764, 773, - 1073, 1073, 1073, 1073, 854, 841, 773, 840, 773, 1048, - 773, 773, 773, 773, 773, 1199, 1199, 1199, 773, 774, - 834, 774, 773, 837, 774, 774, 774, 774, 774, 836, - 776, 1048, 835, 833, 773, 834, 832, 778, 831, 776, - 773, 776, 776, 776, 776, 776, 778, 829, 779, 776, - 828, 827, 778, 819, 818, 834, 778, 779, 817, 1048, - - 1048, 1048, 813, 779, 773, 773, 773, 779, 812, 1067, - 811, 1067, 778, 785, 1067, 1067, 1067, 1067, 774, 774, - 774, 1311, 785, 779, 1311, 834, 834, 834, 785, 810, - 786, 1311, 785, 809, 805, 776, 776, 776, 804, 786, - 1055, 787, 778, 778, 778, 786, 803, 897, 785, 786, - 787, 802, 806, 779, 779, 779, 787, 1205, 1205, 1205, - 787, 806, 897, 801, 800, 786, 807, 806, 1211, 1211, - 1211, 806, 798, 797, 808, 807, 787, 796, 785, 785, - 785, 807, 897, 808, 792, 807, 791, 806, 790, 808, - 1055, 1055, 1055, 808, 789, 786, 786, 786, 1257, 1257, - - 1257, 807, 1132, 1132, 1132, 1132, 787, 787, 787, 808, - 788, 784, 897, 897, 897, 783, 782, 806, 806, 806, - 826, 781, 826, 780, 1042, 826, 826, 826, 826, 826, - 839, 807, 807, 807, 839, 839, 839, 839, 771, 808, - 808, 808, 814, 1408, 1408, 1408, 839, 1053, 759, 814, - 1042, 814, 746, 814, 814, 814, 814, 814, 1412, 1412, - 1412, 814, 1061, 745, 839, 814, 843, 744, 843, 848, - 843, 843, 843, 843, 1042, 1042, 1042, 814, 848, 826, - 826, 826, 843, 814, 848, 725, 847, 1053, 848, 724, - 847, 847, 847, 847, 1061, 1065, 849, 1053, 1053, 1053, - - 843, 723, 847, 898, 848, 849, 1044, 814, 814, 814, - 821, 849, 1061, 1061, 1061, 849, 722, 821, 898, 821, - 847, 821, 821, 821, 821, 821, 721, 1065, 720, 821, - 718, 849, 1044, 821, 848, 848, 848, 850, 898, 850, - 717, 850, 850, 850, 850, 1065, 1065, 1065, 716, 1305, - 715, 821, 1305, 850, 713, 711, 1044, 1044, 1044, 1305, - 710, 849, 849, 849, 1230, 1230, 1230, 1230, 898, 898, - 898, 850, 1484, 1484, 1484, 821, 821, 821, 842, 842, - 842, 842, 842, 842, 842, 842, 842, 842, 842, 842, - 842, 842, 842, 842, 1305, 842, 842, 842, 842, 842, - - 842, 842, 842, 842, 842, 842, 842, 842, 842, 842, - 842, 842, 842, 842, 842, 842, 842, 842, 842, 842, - 842, 842, 842, 842, 842, 842, 842, 842, 842, 842, - 842, 842, 842, 842, 842, 842, 842, 842, 842, 842, - 842, 842, 842, 842, 842, 842, 842, 842, 842, 842, - 842, 842, 842, 851, 1342, 1342, 1342, 1342, 708, 707, - 852, 706, 851, 704, 851, 851, 851, 851, 851, 852, - 703, 866, 851, 702, 867, 852, 701, 938, 700, 852, - 866, 698, 868, 867, 1309, 695, 866, 1309, 851, 867, - 866, 868, 938, 867, 1309, 852, 685, 868, 876, 684, - - 876, 868, 876, 876, 876, 876, 866, 683, 666, 867, - 665, 660, 938, 1316, 876, 659, 1316, 868, 851, 851, - 851, 654, 653, 1316, 652, 852, 852, 852, 1488, 1488, - 1488, 1309, 876, 1589, 1589, 1589, 866, 866, 866, 867, - 867, 867, 938, 938, 938, 647, 646, 868, 868, 868, - 874, 942, 942, 942, 942, 942, 645, 1318, 641, 874, - 1318, 874, 874, 874, 874, 874, 1070, 1318, 1070, 874, - 640, 1070, 1070, 1070, 1070, 878, 1320, 878, 880, 1320, - 878, 878, 878, 878, 878, 874, 1320, 880, 639, 880, - 880, 880, 880, 880, 943, 638, 637, 880, 943, 943, - - 943, 943, 635, 634, 881, 942, 942, 942, 633, 626, - 943, 1319, 625, 881, 1319, 874, 874, 874, 877, 881, - 624, 1319, 619, 881, 616, 877, 615, 877, 943, 877, - 877, 877, 877, 877, 878, 878, 878, 877, 614, 881, - 607, 877, 882, 880, 880, 880, 602, 883, 1635, 1635, - 1635, 882, 601, 877, 600, 1323, 883, 882, 1323, 877, - 596, 882, 883, 595, 1319, 1323, 883, 1517, 594, 881, - 881, 881, 950, 950, 950, 950, 950, 882, 1328, 1525, - 889, 1328, 883, 877, 877, 877, 593, 890, 1328, 889, - 1321, 592, 590, 1321, 1330, 889, 890, 1330, 588, 889, - - 1321, 891, 890, 587, 1330, 586, 890, 882, 882, 882, - 891, 581, 883, 883, 883, 889, 891, 1517, 1517, 1517, - 891, 1057, 890, 910, 580, 579, 950, 950, 950, 1525, - 1525, 1525, 910, 569, 568, 1531, 891, 567, 910, 565, - 911, 1036, 910, 1057, 1036, 889, 889, 889, 1321, 911, - 564, 1036, 890, 890, 890, 911, 563, 559, 910, 911, - 558, 912, 1036, 557, 556, 555, 891, 891, 891, 553, - 912, 1057, 1057, 1057, 1531, 911, 912, 947, 552, 947, - 912, 947, 947, 947, 947, 1531, 1531, 1531, 910, 910, - 910, 551, 544, 947, 543, 930, 912, 930, 542, 537, - - 930, 930, 930, 930, 930, 911, 911, 911, 534, 533, - 532, 947, 1036, 1036, 1036, 951, 525, 520, 519, 951, - 951, 951, 951, 518, 512, 511, 912, 912, 912, 918, - 1551, 951, 1551, 1551, 1551, 1551, 918, 510, 918, 509, - 918, 918, 918, 918, 918, 508, 506, 504, 918, 951, - 1336, 503, 918, 1336, 930, 930, 930, 952, 1334, 1329, - 1336, 1334, 1329, 502, 918, 953, 952, 497, 1334, 1329, - 918, 496, 952, 495, 953, 1541, 952, 485, 1121, 484, - 953, 464, 463, 954, 953, 954, 1122, 954, 954, 954, - 954, 438, 952, 1121, 918, 918, 918, 925, 437, 954, - - 953, 1122, 435, 433, 925, 1334, 925, 431, 925, 925, - 925, 925, 925, 1121, 1541, 430, 925, 954, 1329, 429, - 925, 1122, 952, 952, 952, 1541, 1541, 1541, 428, 426, - 953, 953, 953, 424, 1276, 1276, 1276, 1276, 925, 1276, - 1276, 1276, 1276, 1121, 1121, 1121, 422, 1501, 421, 420, - 1501, 1122, 1122, 1122, 1343, 393, 1343, 1501, 1343, 1343, - 1343, 1343, 925, 925, 925, 946, 946, 946, 946, 946, - 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, - 946, 392, 946, 946, 946, 946, 946, 946, 946, 946, - 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, - - 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, - 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, - 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, - 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, - 955, 391, 374, 354, 353, 341, 340, 956, 327, 955, - 326, 955, 955, 955, 955, 955, 956, 324, 970, 955, - 323, 971, 956, 322, 317, 1546, 956, 970, 316, 972, - 971, 1332, 315, 970, 1332, 955, 971, 970, 972, 301, - 971, 1332, 956, 300, 972, 995, 299, 995, 972, 995, - 995, 995, 995, 970, 288, 287, 971, 284, 283, 1506, - - 1508, 995, 1506, 1508, 972, 955, 955, 955, 1052, 1506, - 1508, 1052, 956, 956, 956, 1546, 1546, 1546, 1052, 995, - 282, 279, 277, 970, 970, 970, 971, 971, 971, 1052, - 276, 1332, 275, 253, 972, 972, 972, 984, 1143, 1143, - 1143, 1143, 1143, 252, 1510, 251, 984, 1510, 984, 984, - 984, 984, 984, 1066, 1510, 1066, 984, 1066, 1066, 1066, - 1066, 1075, 240, 1075, 239, 1075, 1075, 1075, 1075, 1066, - 218, 217, 984, 1522, 216, 1533, 1522, 1075, 1533, 1052, - 1052, 1052, 1077, 1522, 175, 1533, 1536, 1066, 165, 1536, - 163, 1077, 1143, 1143, 1143, 1075, 1536, 1077, 162, 1157, - - 161, 1077, 984, 984, 984, 987, 160, 153, 147, 987, - 987, 987, 987, 1333, 1157, 141, 1333, 1077, 987, 987, - 987, 987, 137, 1333, 1112, 128, 1112, 126, 125, 1112, - 1112, 1112, 1112, 1112, 1157, 987, 987, 987, 987, 987, - 987, 990, 990, 124, 990, 119, 990, 1077, 1077, 1077, - 990, 990, 990, 1539, 990, 116, 1539, 1653, 115, 1078, - 1653, 114, 990, 1539, 1157, 1157, 1157, 1653, 1078, 110, - 106, 104, 103, 1333, 1078, 102, 97, 1079, 1078, 990, - 93, 990, 990, 1112, 1112, 1112, 1079, 1687, 1655, 92, - 1687, 91, 1079, 84, 1078, 81, 1079, 1687, 1128, 80, - - 79, 72, 1128, 1128, 1128, 1128, 990, 66, 990, 990, - 991, 991, 1079, 991, 1128, 991, 1662, 65, 64, 991, - 991, 991, 50, 991, 1078, 1078, 1078, 46, 37, 1134, - 36, 991, 1128, 1134, 1134, 1134, 1134, 1135, 1655, 1655, - 1655, 33, 1079, 1079, 1079, 1134, 1135, 1669, 991, 32, - 991, 991, 1135, 1173, 31, 1173, 1135, 1173, 1173, 1173, - 1173, 1719, 0, 1134, 1719, 0, 1662, 1662, 1662, 1173, - 0, 1719, 1135, 1727, 0, 991, 1727, 991, 991, 998, - 998, 998, 998, 1727, 0, 0, 0, 1173, 998, 998, - 998, 998, 1241, 1241, 1241, 1241, 1241, 1669, 1669, 1669, - - 0, 0, 1135, 1135, 1135, 998, 998, 998, 998, 998, - 998, 1033, 1033, 1033, 1033, 1033, 0, 1033, 1033, 0, - 1033, 1033, 1033, 0, 1226, 1033, 0, 1033, 1226, 1226, - 1226, 1226, 0, 1033, 1033, 0, 0, 1033, 0, 0, - 1226, 0, 0, 0, 0, 0, 1241, 1241, 1241, 0, - 1033, 0, 1033, 1033, 1033, 1131, 1133, 1131, 1226, 1033, - 1131, 1131, 1131, 1131, 1131, 1133, 0, 1133, 1133, 1133, - 1133, 1133, 0, 0, 0, 1133, 1219, 1033, 1033, 1033, - 0, 1033, 1033, 1033, 1033, 1033, 1035, 1035, 1035, 1035, - 1035, 1219, 1035, 1035, 0, 1035, 1035, 1035, 0, 0, - - 1035, 0, 1035, 0, 0, 0, 0, 0, 1035, 1035, - 0, 1219, 1035, 0, 1131, 1131, 1131, 0, 0, 0, - 0, 1133, 1133, 1133, 0, 1035, 0, 1035, 1035, 1035, - 1210, 1136, 1210, 0, 0, 1210, 1210, 1210, 1210, 1210, - 1136, 1219, 1219, 1219, 0, 0, 1136, 0, 0, 0, - 1136, 0, 1035, 1035, 1035, 1676, 1035, 1035, 1035, 1035, - 1035, 1043, 1043, 1043, 1043, 1043, 1136, 1043, 1043, 1535, - 1043, 1043, 1043, 0, 1682, 1043, 0, 1043, 0, 0, - 0, 0, 0, 1043, 1043, 0, 0, 1043, 0, 1210, - 1210, 1210, 0, 0, 0, 0, 1136, 1136, 1136, 0, - - 1043, 0, 1043, 1043, 1043, 1676, 1676, 1676, 1220, 0, - 0, 0, 1535, 0, 0, 0, 0, 0, 0, 1535, - 1535, 1535, 0, 1220, 1682, 1682, 1682, 1043, 1043, 1043, - 0, 1043, 1043, 1043, 1043, 1043, 1047, 1047, 1047, 1047, - 1047, 1047, 1047, 1220, 1047, 0, 1047, 1047, 1047, 1047, - 0, 1047, 1047, 1047, 1047, 1062, 1062, 1062, 1062, 1062, - 0, 1062, 1062, 0, 1062, 1062, 1062, 1137, 1722, 1062, - 1138, 1062, 0, 1220, 1220, 1220, 1137, 1062, 1062, 1138, - 0, 1062, 1137, 0, 0, 1138, 1137, 0, 0, 1138, - 0, 0, 0, 0, 1062, 0, 1062, 1062, 1062, 0, - - 1730, 1229, 1137, 1229, 0, 1138, 1229, 1229, 1229, 1229, - 1229, 0, 0, 1363, 1363, 1363, 1363, 1363, 1722, 1722, - 1722, 1062, 1062, 1062, 0, 1062, 1062, 1062, 1062, 1062, - 1074, 0, 1137, 1137, 1137, 1138, 1138, 1138, 0, 1142, - 0, 1074, 1074, 1074, 1074, 1074, 0, 0, 1142, 1074, - 1730, 1730, 1730, 1074, 1142, 0, 0, 1144, 1142, 0, - 1229, 1229, 1229, 0, 1145, 0, 1144, 1363, 1363, 1363, - 0, 1074, 1144, 1145, 1142, 0, 1144, 0, 0, 1145, - 0, 0, 0, 1145, 1232, 0, 0, 0, 1232, 1232, - 1232, 1232, 1144, 0, 0, 1074, 1074, 1074, 1076, 1145, - - 1232, 0, 0, 0, 1142, 1142, 1142, 1076, 0, 1076, - 1076, 1076, 1076, 1076, 0, 0, 0, 1076, 1232, 0, - 0, 0, 1144, 1144, 1144, 1147, 0, 0, 0, 1145, - 1145, 1145, 1151, 1076, 1147, 0, 0, 1152, 0, 0, - 1147, 1151, 0, 0, 1147, 0, 1152, 1151, 0, 0, - 0, 1151, 1152, 0, 0, 0, 1152, 0, 0, 0, - 1147, 1255, 0, 1076, 1076, 1076, 1111, 1151, 0, 0, - 0, 1406, 1152, 1111, 0, 1111, 1255, 1111, 1111, 1111, - 1111, 1111, 0, 0, 0, 1111, 1406, 0, 0, 1111, - 1147, 1147, 1147, 0, 0, 0, 1255, 1151, 1151, 1151, - - 1153, 1111, 1152, 1152, 1152, 1175, 1406, 1111, 0, 1153, - 0, 0, 0, 0, 1175, 1153, 0, 0, 0, 1153, - 1175, 0, 0, 0, 1175, 0, 1255, 1255, 1255, 0, - 0, 1111, 1111, 1111, 1146, 1153, 1406, 1406, 1406, 0, - 1175, 1176, 0, 1146, 0, 1146, 1146, 1146, 1146, 1146, - 1176, 0, 0, 1146, 0, 0, 1176, 0, 0, 0, - 1176, 0, 0, 0, 0, 1153, 1153, 1153, 1177, 1146, - 1175, 1175, 1175, 0, 0, 0, 1176, 1177, 0, 1231, - 0, 0, 0, 1177, 0, 0, 0, 1177, 1231, 0, - 1231, 1231, 1231, 1231, 1231, 0, 0, 0, 1231, 1146, - - 1146, 1146, 1172, 1177, 0, 0, 1176, 1176, 1176, 0, - 0, 0, 0, 1172, 1172, 1172, 1172, 1172, 0, 0, - 0, 1172, 0, 0, 1275, 1172, 1275, 0, 1275, 1275, - 1275, 1275, 0, 1177, 1177, 1177, 1407, 0, 0, 0, - 1275, 1233, 0, 1172, 1231, 1231, 1231, 0, 0, 0, - 1233, 1407, 0, 0, 0, 0, 1233, 1346, 1275, 1346, - 1233, 0, 1346, 1346, 1346, 1346, 1346, 1172, 1172, 1172, - 1174, 1407, 0, 0, 0, 0, 1233, 1234, 0, 1174, - 0, 1174, 1174, 1174, 1174, 1174, 1234, 0, 0, 1174, - 0, 0, 1234, 1364, 0, 0, 1234, 1364, 1364, 1364, - - 1364, 1407, 1407, 1407, 1235, 1174, 1233, 1233, 1233, 1364, - 0, 1236, 1234, 1235, 0, 0, 1346, 1346, 1346, 1235, - 1236, 0, 0, 1235, 0, 0, 1236, 1364, 0, 0, - 1236, 0, 0, 0, 0, 1174, 1174, 1174, 1209, 1235, - 0, 0, 1234, 1234, 1234, 1209, 1236, 1209, 0, 1209, - 1209, 1209, 1209, 1209, 0, 0, 0, 1209, 0, 0, - 0, 1209, 0, 0, 0, 1240, 0, 0, 0, 1235, - 1235, 1235, 1242, 1209, 1240, 0, 1236, 1236, 1236, 1209, - 1240, 1242, 0, 1243, 1240, 0, 0, 1242, 0, 0, - 0, 1242, 1243, 1743, 1743, 1743, 0, 0, 1243, 0, - - 1240, 0, 1243, 1209, 1209, 1209, 1245, 1242, 0, 0, - 0, 1743, 1743, 1743, 1743, 1245, 0, 0, 1243, 0, - 0, 1245, 0, 0, 0, 1245, 0, 0, 0, 0, - 1240, 1240, 1240, 0, 0, 0, 0, 1242, 1242, 1242, - 0, 1245, 1372, 1372, 1372, 1372, 1372, 0, 1243, 1243, - 1243, 1244, 1389, 1389, 1389, 1389, 1389, 0, 0, 1249, - 1244, 0, 1244, 1244, 1244, 1244, 1244, 0, 1249, 0, - 1244, 1245, 1245, 1245, 1249, 0, 1250, 0, 1249, 0, - 0, 0, 0, 0, 1251, 1250, 1244, 0, 0, 0, - 0, 1250, 0, 1251, 1249, 1250, 1372, 1372, 1372, 1251, - - 0, 0, 0, 1251, 0, 0, 1389, 1389, 1389, 0, - 1544, 1250, 0, 1544, 0, 0, 1244, 1244, 1244, 1251, - 1544, 0, 0, 0, 1249, 1249, 1249, 1362, 0, 1362, - 0, 1544, 1362, 1362, 1362, 1362, 1362, 0, 0, 0, - 1373, 1250, 1250, 1250, 1373, 1373, 1373, 1373, 0, 1251, - 1251, 1251, 1270, 1270, 0, 1270, 1373, 1270, 0, 0, - 0, 1270, 1270, 1270, 1374, 1270, 0, 0, 1374, 1374, - 1374, 1374, 0, 1270, 1373, 0, 0, 0, 0, 0, - 1374, 1544, 1544, 1544, 0, 0, 1362, 1362, 1362, 0, - 1270, 1375, 1270, 1270, 0, 0, 0, 0, 1374, 0, - - 1375, 0, 0, 0, 0, 0, 1375, 1422, 0, 1422, - 1375, 0, 1422, 1422, 1422, 1422, 1422, 1270, 0, 1270, - 1270, 1298, 1298, 1298, 1298, 1298, 1375, 1298, 1298, 0, - 1298, 1298, 1298, 0, 0, 1298, 0, 1298, 0, 0, - 0, 0, 0, 1298, 1298, 0, 0, 1298, 0, 0, - 1376, 0, 0, 0, 0, 0, 1375, 1375, 1375, 1376, - 1298, 0, 1298, 1298, 1298, 1376, 1422, 1422, 1422, 1376, - 1438, 0, 1438, 0, 0, 1438, 1438, 1438, 1438, 1438, - 0, 0, 0, 0, 0, 1376, 1482, 1298, 1298, 1298, - 0, 1298, 1298, 1298, 1298, 1298, 1299, 1299, 1299, 1299, - - 1299, 1482, 1299, 0, 0, 1299, 1299, 1299, 0, 0, - 1299, 0, 1299, 0, 0, 1376, 1376, 1376, 1299, 1299, - 1440, 1482, 1299, 1377, 1440, 1440, 1440, 1440, 0, 1438, - 1438, 1438, 1377, 0, 0, 1299, 1440, 1299, 1377, 1299, - 0, 1383, 1377, 0, 1439, 1439, 1439, 1439, 1439, 0, - 1383, 1482, 1482, 1482, 1440, 0, 1383, 0, 1377, 0, - 1383, 0, 1299, 1299, 1299, 0, 1299, 1299, 1299, 1299, - 1299, 1300, 1300, 1300, 1300, 1300, 1383, 1300, 1300, 0, - 1300, 1300, 1300, 0, 0, 1300, 0, 1300, 1377, 1377, - 1377, 0, 0, 1300, 1300, 0, 0, 1300, 1439, 1439, - - 1439, 0, 0, 0, 0, 0, 1383, 1383, 1383, 0, - 1300, 0, 1300, 1300, 1300, 0, 0, 0, 0, 1449, - 0, 0, 0, 1449, 1449, 1449, 1449, 0, 1448, 1448, - 1448, 1448, 1448, 0, 0, 1449, 0, 1300, 1300, 1300, - 0, 1300, 1300, 1300, 1300, 1300, 1304, 1304, 1304, 1304, - 1304, 1304, 1304, 1449, 1304, 0, 1304, 1304, 1304, 1304, - 0, 1304, 1304, 1304, 1304, 1341, 1341, 1341, 1341, 1341, - 0, 1341, 1341, 0, 1341, 1341, 1341, 1384, 0, 1341, - 0, 1341, 1448, 1448, 1448, 0, 1384, 1341, 1341, 0, - 0, 1341, 1384, 1450, 0, 0, 1384, 1450, 1450, 1450, - - 1450, 0, 0, 0, 1341, 0, 1341, 1341, 1341, 1450, - 0, 1385, 1384, 1465, 1465, 1465, 1465, 1465, 0, 0, - 1385, 0, 0, 0, 0, 0, 1385, 1450, 0, 0, - 1385, 1341, 1341, 1341, 0, 1341, 1341, 1341, 1341, 1341, - 1345, 0, 1384, 1384, 1384, 1483, 1385, 1345, 0, 1345, - 0, 1345, 1345, 1345, 1345, 1345, 0, 0, 0, 1345, - 1483, 0, 0, 1345, 0, 0, 0, 1465, 1465, 1465, - 0, 0, 0, 0, 1390, 1345, 1385, 1385, 1385, 1391, - 1483, 1345, 1667, 1390, 0, 1667, 0, 0, 1391, 1390, - 0, 0, 1667, 1390, 1391, 0, 0, 0, 1391, 0, - - 0, 0, 0, 1667, 0, 1345, 1345, 1345, 1361, 1390, - 1483, 1483, 1483, 0, 1391, 1361, 0, 1361, 0, 1361, - 1361, 1361, 1361, 1361, 0, 0, 0, 1361, 0, 0, - 0, 1361, 0, 1392, 0, 0, 0, 0, 0, 1390, - 1390, 1390, 1392, 1361, 1391, 1391, 1391, 1398, 1392, 1361, - 1399, 0, 1392, 1667, 1667, 1667, 1398, 0, 0, 1399, - 0, 1400, 1398, 0, 0, 1399, 1398, 0, 1392, 1399, - 1400, 0, 0, 1361, 1361, 1361, 1400, 0, 0, 0, - 1400, 0, 1398, 0, 0, 1399, 0, 0, 1451, 0, - 0, 0, 0, 0, 0, 0, 1400, 1451, 1392, 1392, - - 1392, 0, 0, 1451, 0, 0, 0, 1451, 0, 0, - 0, 0, 1398, 1398, 1398, 1399, 1399, 1399, 0, 0, - 0, 0, 0, 1451, 0, 0, 1400, 1400, 1400, 1421, - 0, 0, 0, 0, 0, 0, 1421, 0, 1421, 0, - 1421, 1421, 1421, 1421, 1421, 0, 0, 0, 1421, 0, - 0, 0, 1421, 1451, 1451, 1451, 1452, 0, 0, 0, - 0, 0, 0, 1453, 1421, 1452, 0, 0, 1459, 0, - 1421, 1452, 1453, 0, 0, 1452, 0, 1459, 1453, 0, - 0, 0, 1453, 1459, 0, 0, 0, 1459, 0, 0, - 0, 1452, 0, 0, 1421, 1421, 1421, 1437, 1453, 0, - - 0, 0, 0, 1459, 1437, 0, 1437, 0, 1437, 1437, - 1437, 1437, 1437, 0, 0, 0, 1437, 0, 0, 0, - 1437, 1452, 1452, 1452, 0, 0, 0, 0, 1453, 1453, - 1453, 1460, 1437, 1459, 1459, 1459, 1461, 0, 1437, 1466, - 1460, 0, 0, 0, 0, 1461, 1460, 0, 1466, 0, - 1460, 1461, 0, 0, 1466, 1461, 0, 0, 1466, 0, - 1467, 0, 1437, 1437, 1437, 0, 1460, 0, 0, 1467, - 0, 1461, 1468, 0, 1466, 1467, 0, 0, 0, 1467, - 0, 1468, 0, 0, 0, 0, 0, 1468, 0, 0, - 0, 1468, 0, 0, 0, 1467, 1460, 1460, 1460, 1474, - - 0, 1461, 1461, 1461, 1466, 1466, 1466, 1468, 1474, 0, - 0, 0, 0, 1475, 1474, 0, 0, 0, 1474, 0, - 0, 1476, 1475, 0, 0, 1467, 1467, 1467, 1475, 0, - 1476, 0, 1475, 0, 1474, 0, 1476, 1468, 1468, 1468, - 1476, 0, 0, 0, 0, 0, 0, 0, 1475, 0, - 0, 0, 0, 0, 0, 0, 1476, 0, 0, 0, - 0, 0, 0, 0, 1474, 1474, 1474, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1475, 1475, - 1475, 0, 0, 0, 0, 0, 1476, 1476, 1476, 1518, - 1518, 1518, 1518, 1518, 1518, 1518, 0, 1518, 0, 1518, - - 1518, 1518, 1518, 0, 1518, 1518, 1518, 1518, 1530, 1530, - 1530, 1530, 1530, 0, 1530, 1530, 0, 1530, 1530, 1530, - 0, 0, 1530, 0, 1530, 0, 0, 0, 0, 0, - 1530, 1530, 0, 0, 1530, 0, 0, 1560, 0, 0, - 0, 0, 0, 0, 0, 0, 1560, 1530, 0, 1530, - 1530, 1530, 1560, 0, 0, 0, 1560, 0, 0, 0, + 1472, 112, 1476, 245, 112, 245, 1477, 245, 245, 245, + 245, 246, 417, 112, 112, 112, 417, 417, 417, 245, + 246, 264, 264, 264, 264, 680, 246, 268, 680, 1478, + 246, 268, 268, 268, 268, 112, 1483, 245, 112, 112, + 112, 1484, 1485, 112, 112, 291, 246, 291, 291, 291, + 291, 112, 298, 1486, 112, 1487, 112, 1491, 112, 112, + 122, 122, 122, 122, 1492, 715, 247, 298, 715, 122, + 122, 122, 122, 1493, 1494, 247, 246, 246, 246, 1495, + 1499, 247, 428, 428, 428, 247, 122, 122, 122, 122, + + 122, 122, 129, 420, 129, 129, 1500, 1501, 129, 129, + 129, 247, 1503, 129, 129, 129, 129, 249, 510, 510, + 510, 129, 296, 296, 296, 296, 249, 298, 298, 298, + 251, 1504, 249, 1505, 129, 1506, 249, 129, 1507, 251, + 1508, 247, 247, 247, 1509, 251, 351, 351, 351, 251, + 1510, 351, 249, 420, 420, 420, 290, 722, 1513, 290, + 722, 129, 130, 130, 130, 251, 130, 722, 290, 130, + 290, 290, 1517, 290, 290, 290, 290, 1518, 130, 130, + 130, 1519, 249, 249, 249, 1521, 130, 304, 304, 304, + 304, 363, 363, 363, 363, 251, 251, 251, 1523, 695, + + 130, 695, 695, 130, 130, 130, 308, 1525, 130, 130, + 308, 308, 308, 308, 1526, 773, 130, 773, 773, 130, + 1527, 130, 1528, 130, 130, 199, 199, 199, 199, 199, + 199, 199, 1533, 199, 1534, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 1535, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 256, + 364, 364, 364, 364, 271, 271, 271, 271, 256, 271, + 271, 271, 271, 1541, 256, 485, 485, 485, 256, 1542, + 485, 271, 272, 369, 1543, 369, 1562, 273, 369, 369, + 369, 272, 1563, 442, 256, 1564, 273, 272, 1566, 271, + 275, 272, 273, 532, 532, 532, 273, 1567, 1568, 275, + 542, 542, 542, 292, 1569, 275, 292, 272, 442, 275, + 1571, 1572, 273, 1577, 256, 256, 256, 265, 292, 1578, + 292, 292, 292, 292, 265, 275, 265, 292, 265, 265, + + 265, 265, 265, 442, 442, 442, 265, 272, 272, 272, + 265, 1579, 273, 273, 273, 279, 373, 373, 373, 373, + 1580, 443, 265, 287, 279, 275, 275, 275, 265, 1581, + 279, 1582, 287, 1586, 279, 552, 552, 552, 287, 1587, + 1588, 293, 287, 293, 1589, 293, 293, 293, 293, 1590, + 279, 1594, 265, 265, 265, 267, 443, 293, 287, 557, + 557, 557, 267, 1595, 267, 1596, 267, 267, 267, 267, + 267, 443, 443, 443, 267, 293, 1597, 1598, 267, 372, + 279, 279, 279, 372, 372, 372, 372, 1001, 287, 287, + 287, 1001, 1001, 371, 1599, 371, 267, 371, 371, 371, + + 371, 374, 386, 374, 1600, 374, 374, 374, 374, 389, + 389, 389, 389, 386, 386, 386, 386, 1601, 1602, 386, + 267, 267, 267, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 1604, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 281, 468, + + 468, 468, 468, 1605, 1606, 294, 1607, 281, 1608, 281, + 281, 281, 281, 281, 294, 1609, 295, 281, 1610, 297, + 294, 594, 594, 594, 294, 295, 1611, 299, 297, 755, + 1612, 295, 755, 281, 297, 295, 299, 1613, 297, 755, + 294, 303, 299, 614, 614, 614, 299, 624, 624, 624, + 303, 295, 1614, 1615, 297, 1617, 303, 634, 634, 634, + 303, 1618, 299, 281, 281, 281, 478, 478, 478, 478, + 294, 294, 294, 407, 1623, 445, 303, 407, 407, 407, + 407, 295, 295, 295, 297, 297, 297, 408, 408, 408, + 408, 1624, 299, 299, 299, 311, 311, 311, 311, 408, + + 311, 311, 311, 311, 1625, 1626, 303, 303, 303, 305, + 445, 1627, 311, 1628, 441, 1632, 305, 408, 305, 1633, + 305, 305, 305, 305, 305, 445, 445, 445, 305, 446, + 311, 1634, 305, 390, 1635, 390, 312, 1636, 390, 390, + 390, 390, 1640, 313, 305, 312, 441, 450, 315, 1641, + 305, 312, 313, 1642, 452, 312, 1643, 315, 313, 1644, + 1645, 446, 313, 315, 441, 441, 441, 315, 639, 639, + 639, 312, 450, 1646, 305, 305, 305, 307, 313, 446, + 446, 446, 444, 315, 307, 447, 307, 1647, 307, 307, + 307, 307, 307, 452, 1648, 1650, 307, 450, 450, 450, + + 307, 312, 312, 312, 452, 452, 452, 1651, 313, 313, + 313, 1652, 447, 315, 315, 315, 1653, 410, 307, 410, + 444, 444, 410, 410, 410, 410, 481, 481, 481, 481, + 1654, 1655, 444, 444, 444, 447, 447, 447, 483, 483, + 483, 483, 307, 307, 307, 309, 309, 309, 309, 309, + 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, + 309, 1656, 309, 309, 309, 309, 309, 309, 309, 309, + 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, + 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, + 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, + + 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, + 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, + 319, 454, 651, 1657, 651, 326, 471, 651, 651, 319, + 471, 471, 471, 471, 326, 319, 660, 660, 660, 319, + 326, 660, 1658, 388, 326, 388, 388, 388, 388, 391, + 1660, 391, 391, 391, 391, 319, 1662, 388, 449, 454, + 326, 1664, 409, 391, 409, 1671, 409, 409, 409, 409, + 455, 454, 454, 454, 448, 388, 1672, 451, 409, 1005, + 456, 391, 1005, 457, 1673, 319, 319, 319, 321, 1005, + 326, 326, 326, 464, 449, 1678, 409, 321, 1679, 321, + + 321, 321, 321, 321, 448, 456, 1680, 321, 449, 449, + 449, 451, 448, 455, 451, 1685, 1686, 457, 1687, 463, + 455, 455, 455, 321, 448, 448, 448, 451, 451, 451, + 456, 456, 456, 457, 457, 457, 464, 1006, 1016, 458, + 1006, 1016, 458, 464, 464, 464, 462, 1006, 1016, 458, + 1692, 1693, 463, 321, 321, 321, 359, 359, 359, 359, + 458, 1694, 1698, 461, 1699, 359, 359, 359, 359, 463, + 463, 463, 482, 1700, 482, 482, 482, 482, 1703, 1704, + 462, 1705, 359, 359, 359, 359, 359, 359, 419, 1706, + 1707, 460, 419, 419, 419, 419, 462, 462, 462, 461, + + 1708, 419, 419, 419, 419, 459, 671, 671, 671, 465, + 458, 458, 458, 461, 461, 461, 1709, 1710, 419, 419, + 419, 419, 419, 419, 453, 453, 453, 453, 453, 460, + 453, 453, 1711, 453, 453, 453, 1712, 1713, 453, 1714, + 453, 460, 460, 460, 459, 1715, 453, 453, 465, 1716, + 453, 489, 489, 489, 489, 459, 459, 459, 1717, 465, + 465, 465, 1718, 453, 1719, 453, 453, 453, 475, 1358, + 475, 1358, 1358, 475, 475, 475, 475, 480, 1720, 480, + 1721, 1722, 480, 480, 480, 480, 501, 501, 501, 501, + 453, 453, 453, 1723, 453, 453, 453, 453, 453, 469, + + 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, + 469, 469, 469, 469, 469, 1724, 469, 469, 469, 469, + 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, + 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, + 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, + 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, + 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, + 469, 469, 469, 469, 470, 1725, 470, 1726, 470, 470, + 470, 470, 473, 1727, 473, 1728, 473, 473, 473, 473, + 470, 573, 573, 573, 573, 476, 1729, 476, 473, 476, + + 476, 476, 476, 585, 585, 585, 585, 1730, 470, 1738, + 1739, 476, 1029, 490, 1740, 1029, 473, 490, 490, 490, + 490, 492, 1029, 492, 527, 492, 492, 492, 492, 476, + 491, 666, 666, 666, 672, 508, 666, 492, 672, 672, + 672, 491, 491, 491, 491, 491, 1746, 494, 1747, 491, + 508, 1748, 493, 491, 493, 492, 494, 493, 493, 493, + 493, 1749, 494, 1750, 495, 1751, 494, 1731, 1752, 496, + 508, 491, 497, 495, 527, 527, 527, 1753, 496, 495, + 1754, 497, 494, 495, 496, 1731, 1755, 497, 496, 1756, + 1345, 497, 690, 690, 690, 491, 491, 491, 1344, 495, + + 508, 508, 508, 1335, 496, 1789, 502, 497, 1334, 503, + 1333, 1789, 494, 494, 494, 502, 1031, 533, 503, 1031, + 1323, 502, 1322, 1321, 503, 502, 1031, 1316, 503, 495, + 495, 495, 533, 504, 496, 496, 496, 497, 497, 497, + 539, 502, 504, 1033, 503, 518, 1033, 1315, 504, 1314, + 519, 529, 504, 1033, 518, 529, 529, 529, 529, 519, + 518, 1810, 530, 1305, 518, 519, 1303, 1810, 504, 519, + 609, 502, 502, 502, 503, 503, 503, 530, 520, 1302, + 518, 530, 533, 533, 533, 519, 1300, 520, 1298, 1297, + 539, 539, 539, 520, 800, 800, 800, 520, 504, 504, + + 504, 526, 526, 526, 526, 1295, 526, 526, 526, 526, + 518, 518, 518, 520, 1294, 519, 519, 519, 526, 574, + 609, 609, 609, 574, 574, 574, 574, 530, 530, 530, + 1293, 1292, 534, 621, 534, 1289, 526, 534, 534, 534, + 534, 534, 1288, 520, 520, 520, 524, 670, 670, 670, + 670, 1287, 543, 524, 1286, 524, 1285, 524, 524, 524, + 524, 524, 804, 804, 804, 524, 538, 543, 538, 524, + 538, 538, 538, 538, 548, 1284, 548, 1276, 548, 548, + 548, 548, 538, 621, 621, 621, 1044, 524, 1275, 1044, + 548, 534, 534, 534, 615, 1274, 1044, 544, 1273, 544, + + 538, 550, 544, 544, 544, 544, 544, 1272, 548, 615, + 550, 524, 524, 524, 525, 1271, 550, 543, 543, 543, + 550, 525, 1270, 525, 1269, 525, 525, 525, 525, 525, + 821, 821, 821, 525, 1268, 820, 550, 525, 576, 1267, + 576, 1811, 576, 576, 576, 576, 611, 1811, 1266, 525, + 611, 611, 611, 611, 576, 525, 544, 544, 544, 615, + 615, 615, 678, 678, 678, 678, 550, 550, 550, 551, + 1265, 1818, 576, 1070, 1263, 592, 1070, 1818, 551, 525, + 525, 525, 531, 1070, 551, 820, 820, 820, 551, 531, + 592, 531, 1261, 531, 531, 531, 531, 531, 825, 825, + + 825, 531, 1260, 1259, 551, 531, 577, 1255, 577, 553, + 592, 577, 577, 577, 577, 1824, 827, 531, 553, 1254, + 652, 1824, 652, 531, 553, 652, 652, 652, 553, 684, + 684, 684, 684, 1870, 551, 551, 551, 563, 1253, 1870, + 592, 592, 592, 828, 553, 1873, 563, 531, 531, 531, + 541, 1873, 563, 1246, 1874, 625, 563, 541, 1245, 541, + 1874, 541, 541, 541, 541, 541, 827, 827, 827, 541, + 625, 1244, 563, 541, 553, 553, 553, 564, 685, 685, + 685, 685, 612, 699, 1234, 541, 564, 699, 699, 699, + 565, 541, 564, 828, 828, 828, 564, 612, 1232, 565, + + 1231, 612, 563, 563, 563, 565, 830, 830, 830, 565, + 1876, 1230, 564, 1876, 1229, 541, 541, 541, 549, 1876, + 625, 625, 625, 1228, 1225, 565, 578, 549, 1224, 549, + 549, 549, 549, 549, 700, 578, 1223, 549, 700, 700, + 700, 578, 564, 564, 564, 578, 1222, 612, 612, 612, + 835, 835, 835, 549, 1221, 565, 565, 565, 616, 579, + 616, 578, 1220, 616, 616, 616, 616, 616, 579, 767, + 767, 767, 767, 1219, 579, 676, 1215, 676, 579, 676, + 676, 676, 676, 549, 549, 549, 569, 772, 772, 772, + 772, 578, 578, 578, 579, 569, 1214, 569, 569, 569, + + 569, 569, 677, 1213, 677, 569, 677, 677, 677, 677, + 862, 862, 862, 580, 904, 904, 904, 616, 616, 616, + 581, 569, 580, 1211, 579, 579, 579, 586, 580, 581, + 1291, 1924, 580, 1291, 1210, 581, 586, 1924, 1209, 581, + 1291, 587, 586, 1827, 858, 1827, 586, 924, 580, 1827, + 587, 569, 569, 569, 575, 581, 587, 1927, 1928, 858, + 587, 1208, 586, 1927, 1928, 575, 575, 575, 575, 575, + 908, 908, 908, 575, 1207, 1205, 587, 575, 580, 580, + 580, 588, 925, 925, 925, 581, 581, 581, 1204, 1203, + 588, 1202, 586, 586, 586, 575, 588, 924, 924, 924, + + 588, 1201, 1200, 600, 1199, 1198, 587, 587, 587, 858, + 858, 858, 600, 1197, 601, 1196, 588, 602, 600, 575, + 575, 575, 600, 601, 1299, 1970, 602, 1299, 1195, 601, + 1193, 1970, 602, 601, 1299, 768, 602, 768, 600, 768, + 768, 768, 768, 929, 929, 929, 588, 588, 588, 601, + 1192, 931, 602, 1191, 608, 608, 608, 608, 1190, 608, + 608, 608, 608, 683, 683, 683, 683, 1189, 600, 600, + 600, 608, 934, 934, 934, 683, 939, 939, 939, 601, + 601, 601, 602, 602, 602, 606, 966, 966, 966, 608, + 1188, 1187, 606, 683, 606, 1186, 606, 606, 606, 606, + + 606, 931, 931, 931, 606, 620, 1185, 620, 606, 620, + 620, 620, 620, 730, 1178, 775, 730, 775, 775, 775, + 775, 620, 626, 730, 626, 1177, 606, 626, 626, 626, + 626, 626, 1176, 1175, 730, 780, 780, 780, 780, 620, + 630, 1174, 630, 798, 630, 630, 630, 630, 1971, 1173, + 606, 606, 606, 607, 1971, 1867, 630, 1867, 798, 1172, + 607, 1867, 607, 1171, 607, 607, 607, 607, 607, 985, + 985, 985, 607, 1868, 630, 1868, 607, 1170, 798, 1868, + 632, 626, 626, 626, 730, 730, 730, 633, 607, 632, + 1311, 932, 635, 1311, 607, 632, 633, 1169, 1168, 632, + + 1311, 635, 633, 986, 986, 986, 633, 635, 798, 798, + 798, 635, 1096, 1096, 1096, 632, 1167, 1165, 607, 607, + 607, 613, 633, 829, 829, 829, 829, 635, 613, 1163, + 613, 1162, 613, 613, 613, 613, 613, 1108, 1108, 1108, + 613, 932, 932, 932, 613, 632, 632, 632, 884, 884, + 884, 884, 633, 633, 633, 645, 613, 635, 635, 635, + 646, 1161, 613, 1157, 645, 933, 933, 933, 933, 646, + 645, 1114, 1114, 1114, 645, 646, 692, 1156, 692, 646, + 692, 692, 692, 692, 1155, 2024, 613, 613, 613, 623, + 645, 2024, 692, 2025, 1148, 646, 623, 1147, 623, 2025, + + 623, 623, 623, 623, 623, 1120, 1120, 1120, 623, 1146, + 692, 1136, 623, 1035, 647, 1134, 766, 766, 766, 766, + 645, 645, 645, 647, 623, 646, 646, 646, 766, 647, + 623, 1133, 1132, 647, 694, 694, 694, 694, 1131, 694, + 694, 694, 694, 1130, 1035, 771, 766, 771, 1127, 647, + 771, 771, 771, 771, 623, 623, 623, 631, 843, 843, + 843, 843, 843, 1035, 1035, 1035, 631, 1126, 631, 631, + 631, 631, 631, 1785, 1125, 731, 631, 1785, 731, 647, + 647, 647, 693, 1785, 693, 731, 693, 693, 693, 693, + 732, 1814, 631, 732, 733, 1814, 731, 733, 693, 735, + + 732, 1814, 735, 1124, 733, 1123, 1122, 734, 1121, 735, + 734, 732, 843, 843, 843, 733, 693, 734, 1117, 1116, + 735, 1115, 631, 631, 631, 654, 991, 1113, 734, 1112, + 991, 991, 991, 1111, 654, 732, 654, 654, 654, 654, + 654, 733, 1110, 1109, 654, 1107, 731, 731, 731, 799, + 1106, 774, 734, 774, 839, 735, 774, 774, 774, 774, + 654, 732, 732, 732, 799, 733, 733, 733, 782, 839, + 735, 735, 735, 1078, 1078, 1078, 1078, 782, 734, 734, + 734, 962, 1105, 782, 799, 1319, 1104, 782, 1319, 839, + 654, 654, 654, 674, 1103, 1319, 962, 674, 674, 674, + + 674, 736, 1324, 782, 736, 1324, 674, 674, 674, 674, + 1102, 736, 1324, 1101, 799, 799, 799, 1100, 1099, 839, + 839, 839, 736, 674, 674, 674, 674, 674, 674, 702, + 702, 702, 702, 782, 782, 782, 1098, 1097, 702, 702, + 702, 702, 737, 1095, 1094, 737, 962, 962, 962, 1166, + 1166, 1166, 737, 1093, 736, 702, 702, 702, 702, 702, + 702, 738, 1092, 737, 738, 739, 1091, 1090, 739, 1089, + 1088, 738, 736, 736, 736, 739, 1080, 1080, 1080, 1080, + 740, 1087, 738, 740, 741, 1067, 739, 741, 1309, 1066, + 740, 1309, 1326, 737, 741, 1326, 742, 1065, 1309, 742, + + 743, 740, 1326, 743, 1057, 741, 742, 1056, 744, 738, + 743, 744, 739, 737, 737, 737, 1055, 742, 744, 1030, + 746, 743, 1002, 746, 1036, 1028, 1002, 1002, 1002, 744, + 746, 1027, 738, 738, 738, 1309, 739, 739, 739, 742, + 740, 746, 849, 1026, 849, 1025, 1024, 849, 849, 849, + 849, 740, 740, 740, 1023, 741, 741, 741, 744, 743, + 1022, 1075, 1036, 1075, 1075, 1075, 1075, 742, 742, 742, + 1021, 743, 743, 743, 1036, 1036, 1036, 1020, 1019, 744, + 744, 744, 953, 1018, 953, 1037, 1017, 953, 953, 953, + 953, 746, 746, 746, 747, 747, 747, 747, 747, 747, + + 747, 1015, 747, 1014, 747, 747, 747, 747, 747, 747, + 747, 747, 747, 751, 1037, 1313, 751, 752, 1313, 1013, + 752, 1012, 1011, 751, 765, 1313, 765, 752, 765, 765, + 765, 765, 1010, 1009, 751, 1037, 1037, 1037, 752, 1008, + 765, 770, 1007, 770, 1004, 770, 770, 770, 770, 754, + 994, 990, 754, 757, 982, 981, 757, 770, 765, 754, + 1313, 752, 1317, 757, 980, 1317, 758, 979, 978, 758, + 754, 974, 1317, 751, 757, 770, 758, 1038, 1079, 973, + 1079, 1079, 1079, 1079, 751, 751, 751, 758, 752, 752, + 752, 753, 753, 753, 753, 753, 754, 753, 753, 972, + + 753, 753, 753, 971, 1046, 753, 970, 753, 1328, 1317, + 757, 1328, 969, 753, 753, 1038, 758, 753, 1328, 968, + 754, 754, 754, 967, 757, 757, 757, 1038, 1038, 1038, + 753, 965, 753, 753, 753, 1043, 1046, 758, 758, 758, + 964, 963, 993, 950, 993, 753, 993, 993, 993, 993, + 760, 949, 946, 760, 1046, 1046, 1046, 753, 753, 753, + 760, 753, 753, 753, 753, 753, 759, 759, 759, 759, + 759, 760, 759, 759, 945, 759, 759, 759, 1043, 944, + 759, 761, 759, 942, 761, 1043, 1043, 1043, 759, 759, + 762, 761, 759, 762, 763, 941, 940, 763, 1048, 760, + + 762, 938, 761, 937, 763, 759, 1052, 759, 759, 759, + 936, 762, 928, 844, 759, 763, 927, 844, 844, 844, + 844, 760, 760, 760, 1048, 1194, 1194, 1194, 761, 844, + 926, 922, 759, 759, 759, 921, 759, 759, 759, 759, + 759, 1139, 1139, 1139, 1139, 763, 920, 844, 1048, 1048, + 1048, 919, 761, 761, 761, 918, 1052, 1052, 1052, 914, + 913, 762, 762, 762, 912, 763, 763, 763, 769, 769, + 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, + 769, 769, 769, 769, 911, 769, 769, 769, 769, 769, + 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, + + 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, + 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, + 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, + 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, + 769, 769, 769, 777, 1054, 777, 910, 777, 777, 777, + 777, 1206, 1206, 1206, 909, 779, 781, 779, 907, 777, + 779, 779, 779, 779, 779, 781, 1054, 781, 781, 781, + 781, 781, 1212, 1212, 1212, 781, 1327, 777, 778, 1327, + 851, 851, 851, 851, 851, 778, 1327, 778, 906, 778, + 778, 778, 778, 778, 1054, 1054, 1054, 778, 905, 901, + + 831, 778, 831, 900, 899, 831, 831, 831, 831, 831, + 898, 783, 1050, 778, 779, 779, 779, 897, 784, 778, + 783, 781, 781, 781, 893, 892, 783, 784, 891, 1327, + 783, 890, 790, 784, 851, 851, 851, 784, 1050, 791, + 889, 790, 880, 778, 778, 778, 783, 790, 791, 878, + 877, 790, 876, 784, 791, 875, 792, 874, 791, 831, + 831, 831, 1050, 1050, 1050, 792, 870, 790, 1040, 1331, + 869, 792, 1331, 811, 791, 792, 783, 783, 783, 1331, + 1062, 812, 811, 784, 784, 784, 868, 867, 811, 866, + 812, 792, 811, 865, 813, 864, 812, 790, 790, 790, + + 812, 863, 1040, 813, 791, 791, 791, 861, 811, 813, + 1218, 1218, 1218, 813, 860, 859, 812, 846, 1040, 1040, + 1040, 792, 792, 792, 1237, 1237, 1237, 1237, 902, 813, + 1062, 1062, 1062, 845, 1329, 903, 842, 1329, 811, 811, + 811, 841, 1336, 902, 1329, 1336, 812, 812, 812, 848, + 903, 848, 1336, 848, 848, 848, 848, 840, 838, 813, + 813, 813, 819, 902, 837, 848, 836, 834, 1047, 819, + 903, 819, 833, 819, 819, 819, 819, 819, 1264, 1264, + 1264, 819, 852, 848, 832, 819, 852, 852, 852, 852, + 853, 824, 1329, 902, 902, 902, 823, 819, 852, 853, + + 903, 903, 903, 819, 822, 853, 855, 1047, 855, 853, + 855, 855, 855, 855, 818, 817, 852, 854, 1047, 1047, + 1047, 1337, 855, 816, 1337, 853, 854, 819, 819, 819, + 826, 1337, 854, 815, 814, 1059, 854, 826, 1068, 826, + 855, 826, 826, 826, 826, 826, 1422, 1422, 1422, 826, + 810, 1338, 854, 826, 1338, 853, 853, 853, 881, 809, + 881, 1338, 881, 881, 881, 881, 1342, 808, 807, 1342, + 1068, 826, 806, 805, 881, 1059, 1342, 1426, 1426, 1426, + 1337, 803, 854, 854, 854, 1059, 1059, 1059, 1068, 1068, + 1068, 802, 881, 801, 797, 826, 826, 826, 847, 847, + + 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, + 847, 847, 847, 847, 796, 847, 847, 847, 847, 847, + 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, + 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, + 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, + 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, + 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, + 847, 847, 847, 856, 1356, 1356, 1356, 1356, 795, 794, + 857, 793, 856, 943, 856, 856, 856, 856, 856, 857, + 789, 871, 856, 788, 872, 857, 787, 786, 943, 857, + + 871, 785, 873, 872, 1348, 776, 871, 1348, 856, 872, + 871, 873, 1072, 872, 1348, 857, 764, 873, 943, 750, + 1042, 873, 749, 1042, 748, 729, 871, 728, 727, 872, + 1042, 726, 947, 947, 947, 947, 947, 873, 856, 856, + 856, 1042, 725, 724, 1072, 857, 857, 857, 943, 943, + 943, 1348, 1498, 1498, 1498, 723, 871, 871, 871, 872, + 872, 872, 1072, 1072, 1072, 721, 720, 873, 873, 873, + 879, 955, 955, 955, 955, 955, 1502, 1502, 1502, 879, + 719, 879, 879, 879, 879, 879, 947, 947, 947, 879, + 718, 1042, 1042, 1042, 716, 883, 1350, 883, 885, 1350, + + 883, 883, 883, 883, 883, 879, 1350, 885, 714, 885, + 885, 885, 885, 885, 948, 713, 711, 885, 948, 948, + 948, 948, 710, 709, 886, 955, 955, 955, 707, 706, + 948, 1515, 705, 886, 1515, 879, 879, 879, 882, 886, + 704, 1515, 703, 886, 701, 882, 698, 882, 948, 882, + 882, 882, 882, 882, 883, 883, 883, 882, 688, 886, + 687, 882, 887, 885, 885, 885, 686, 888, 1603, 1603, + 1603, 887, 669, 882, 668, 1058, 888, 887, 1058, 882, + 663, 887, 888, 662, 1340, 1058, 888, 1340, 657, 886, + 886, 886, 656, 655, 1340, 650, 1058, 887, 1520, 649, + + 894, 1520, 888, 882, 882, 882, 648, 895, 1520, 894, + 644, 999, 999, 999, 999, 894, 895, 643, 642, 894, + 641, 896, 895, 999, 640, 638, 895, 887, 887, 887, + 896, 637, 888, 888, 888, 894, 896, 1649, 1649, 1649, + 896, 999, 895, 915, 1340, 636, 1058, 1058, 1058, 1866, + 629, 1347, 915, 1866, 1347, 1064, 896, 628, 915, 1866, + 916, 1347, 915, 627, 622, 894, 894, 894, 619, 916, + 618, 617, 895, 895, 895, 916, 610, 1064, 915, 916, + 605, 917, 1522, 604, 603, 1522, 896, 896, 896, 599, + 917, 598, 1522, 597, 596, 916, 917, 952, 595, 952, + + 917, 952, 952, 952, 952, 1064, 1064, 1064, 915, 915, + 915, 1347, 593, 952, 591, 935, 917, 935, 590, 589, + 935, 935, 935, 935, 935, 916, 916, 916, 584, 583, + 582, 952, 572, 1524, 571, 956, 1524, 1531, 570, 956, + 956, 956, 956, 1524, 568, 567, 917, 917, 917, 923, + 1565, 956, 1565, 1565, 1565, 1565, 923, 566, 923, 562, + 923, 923, 923, 923, 923, 561, 560, 559, 923, 956, + 558, 1539, 923, 556, 935, 935, 935, 957, 555, 1150, + 1150, 1150, 1150, 1150, 923, 958, 957, 1531, 1531, 1531, + 923, 554, 957, 547, 958, 546, 957, 545, 540, 537, + + 958, 536, 535, 959, 958, 959, 528, 959, 959, 959, + 959, 523, 957, 522, 923, 923, 923, 930, 521, 959, + 958, 1539, 1539, 1539, 930, 515, 930, 514, 930, 930, + 930, 930, 930, 1150, 1150, 1150, 930, 959, 513, 512, + 930, 1135, 957, 957, 957, 1135, 1135, 1135, 1135, 511, + 958, 958, 958, 509, 1074, 507, 1074, 1135, 930, 1074, + 1074, 1074, 1074, 1077, 506, 1077, 505, 500, 1077, 1077, + 1077, 1077, 1357, 499, 1357, 1135, 1357, 1357, 1357, 1357, + 498, 488, 930, 930, 930, 951, 951, 951, 951, 951, + 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, + + 951, 487, 951, 951, 951, 951, 951, 951, 951, 951, + 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, + 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, + 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, + 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, + 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, + 960, 467, 466, 440, 439, 437, 436, 961, 434, 960, + 432, 960, 960, 960, 960, 960, 961, 431, 975, 960, + 430, 976, 961, 429, 1128, 1549, 961, 975, 427, 977, + 976, 1536, 425, 975, 1536, 960, 976, 975, 977, 1128, + + 976, 1536, 961, 423, 977, 1000, 422, 1000, 977, 1000, + 1000, 1000, 1000, 975, 421, 394, 976, 393, 392, 1128, + 1547, 1000, 375, 1547, 977, 960, 960, 960, 1549, 355, + 1547, 354, 961, 961, 961, 1549, 1549, 1549, 342, 1000, + 341, 328, 327, 975, 975, 975, 976, 976, 976, 1128, + 1128, 1128, 325, 324, 977, 977, 977, 989, 1248, 1248, + 1248, 1248, 1248, 323, 1550, 318, 989, 1550, 989, 989, + 989, 989, 989, 1073, 1550, 1073, 989, 1073, 1073, 1073, + 1073, 1082, 317, 1082, 1084, 1082, 1082, 1082, 1082, 1073, + 316, 1553, 989, 1084, 1553, 1545, 302, 1082, 301, 1084, + + 300, 1553, 1085, 1084, 289, 288, 1667, 1073, 285, 1667, + 284, 1085, 1248, 1248, 1248, 1082, 1667, 1085, 1129, 1084, + 283, 1085, 989, 989, 989, 992, 1555, 280, 278, 992, + 992, 992, 992, 1129, 1545, 277, 276, 1085, 992, 992, + 992, 992, 254, 253, 252, 1545, 1545, 1545, 241, 1084, + 1084, 1084, 240, 1129, 219, 992, 992, 992, 992, 992, + 992, 995, 995, 218, 995, 1555, 995, 1085, 1085, 1085, + 995, 995, 995, 217, 995, 175, 1555, 1555, 1555, 1086, + 165, 163, 995, 1129, 1129, 1129, 1701, 1733, 1086, 1701, + 1733, 162, 161, 160, 1086, 153, 1701, 1733, 1086, 995, + + 147, 995, 995, 1119, 141, 1119, 137, 128, 1119, 1119, + 1119, 1119, 1119, 1138, 1086, 1138, 126, 125, 1138, 1138, + 1138, 1138, 1138, 1142, 124, 1560, 995, 119, 995, 995, + 996, 996, 1142, 996, 1669, 996, 116, 115, 1142, 996, + 996, 996, 1142, 996, 1086, 1086, 1086, 1741, 114, 1141, + 1741, 996, 1164, 1141, 1141, 1141, 1141, 1741, 1142, 110, + 106, 104, 1119, 1119, 1119, 1141, 103, 1164, 996, 102, + 996, 996, 1138, 1138, 1138, 1560, 1560, 1560, 97, 93, + 92, 91, 84, 1141, 1669, 1669, 1669, 1164, 1142, 1142, + 1142, 81, 80, 79, 72, 996, 66, 996, 996, 1003, + + 1003, 1003, 1003, 1757, 1757, 1757, 65, 64, 1003, 1003, + 1003, 1003, 50, 46, 37, 36, 33, 1164, 1164, 1164, + 32, 1757, 1757, 1757, 1757, 1003, 1003, 1003, 1003, 1003, + 1003, 1039, 1039, 1039, 1039, 1039, 31, 1039, 1039, 0, + 1039, 1039, 1039, 0, 0, 1039, 0, 1039, 0, 0, + 0, 0, 0, 1039, 1039, 0, 0, 1039, 0, 1180, + 0, 1180, 0, 1180, 1180, 1180, 1180, 0, 0, 1140, + 1039, 0, 1039, 1039, 1039, 1180, 1143, 0, 1140, 1039, + 1140, 1140, 1140, 1140, 1140, 1143, 0, 1676, 1140, 0, + 0, 1143, 0, 1180, 0, 1143, 0, 1039, 1039, 1039, + + 0, 1039, 1039, 1039, 1039, 1039, 1041, 1041, 1041, 1041, + 1041, 1143, 1041, 1041, 0, 1041, 1041, 1041, 0, 0, + 1041, 0, 1041, 0, 0, 0, 0, 0, 1041, 1041, + 0, 0, 1041, 0, 1140, 1140, 1140, 1676, 1676, 1676, + 0, 1143, 1143, 1143, 0, 1041, 0, 1041, 1041, 1041, + 1217, 1144, 1217, 0, 0, 1217, 1217, 1217, 1217, 1217, + 1144, 0, 1683, 0, 0, 0, 1144, 0, 0, 0, + 1144, 0, 1041, 1041, 1041, 1690, 1041, 1041, 1041, 1041, + 1041, 1049, 1049, 1049, 1049, 1049, 1144, 1049, 1049, 1696, + 1049, 1049, 1049, 0, 1736, 1049, 0, 1049, 0, 0, + + 0, 0, 0, 1049, 1049, 0, 0, 1049, 0, 1217, + 1217, 1217, 1683, 1683, 1683, 0, 1144, 1144, 1144, 0, + 1049, 0, 1049, 1049, 1049, 1690, 1690, 1690, 1226, 1283, + 1283, 1283, 1283, 0, 1283, 1283, 1283, 1283, 0, 1696, + 1696, 1696, 0, 1226, 1736, 1736, 1736, 1049, 1049, 1049, + 0, 1049, 1049, 1049, 1049, 1049, 1053, 1053, 1053, 1053, + 1053, 1053, 1053, 1226, 1053, 1227, 1053, 1053, 1053, 1053, + 1053, 1053, 1053, 1053, 1053, 1060, 1060, 1060, 1060, 1060, + 1227, 1060, 1060, 1744, 1060, 1060, 1060, 0, 0, 1060, + 0, 1060, 0, 1226, 1226, 1226, 0, 1060, 1060, 0, + + 1227, 1060, 0, 0, 1145, 0, 0, 0, 0, 0, + 0, 0, 0, 1145, 1060, 0, 1060, 1060, 1060, 1145, + 0, 1233, 0, 1145, 0, 1233, 1233, 1233, 1233, 0, + 1227, 1227, 1227, 1744, 1744, 1744, 0, 1233, 0, 1145, + 0, 1060, 1060, 1060, 0, 1060, 1060, 1060, 1060, 1060, + 1069, 1069, 1069, 1069, 1069, 1233, 1069, 1069, 0, 1069, + 1069, 1069, 0, 0, 1069, 1149, 1069, 0, 1151, 1145, + 1145, 1145, 1069, 1069, 1149, 0, 1069, 1151, 0, 0, + 1149, 0, 0, 1151, 1149, 0, 0, 1151, 0, 1069, + 0, 1069, 1069, 1069, 0, 0, 0, 0, 0, 0, + + 1149, 0, 0, 1151, 0, 0, 0, 0, 0, 0, + 0, 1262, 0, 0, 0, 0, 1069, 1069, 1069, 0, + 1069, 1069, 1069, 1069, 1069, 1081, 1262, 0, 0, 0, + 1149, 1149, 1149, 1151, 1151, 1151, 1081, 1081, 1081, 1081, + 1081, 0, 0, 0, 1081, 0, 1262, 0, 1081, 1152, + 0, 0, 1154, 0, 0, 0, 0, 0, 1152, 0, + 1158, 1154, 0, 0, 1152, 0, 1081, 1154, 1152, 1158, + 0, 1154, 0, 0, 0, 1158, 1262, 1262, 1262, 1158, + 0, 0, 0, 0, 1152, 0, 0, 1154, 0, 0, + 1081, 1081, 1081, 1083, 0, 1158, 0, 0, 1420, 0, + + 0, 0, 1083, 0, 1083, 1083, 1083, 1083, 1083, 0, + 0, 0, 1083, 1420, 1152, 1152, 1152, 1154, 1154, 1154, + 1159, 1558, 0, 0, 1558, 1158, 1158, 1158, 1083, 1159, + 0, 1558, 1160, 1420, 0, 1159, 0, 0, 0, 1159, + 0, 1160, 1558, 0, 0, 0, 0, 1160, 0, 0, + 0, 1160, 0, 0, 0, 1159, 0, 0, 1083, 1083, + 1083, 1118, 0, 1420, 1420, 1420, 1421, 1160, 1118, 0, + 1118, 0, 1118, 1118, 1118, 1118, 1118, 0, 0, 0, + 1118, 1421, 0, 0, 1118, 1159, 1159, 1159, 0, 0, + 0, 0, 1558, 1558, 1558, 1182, 1118, 1160, 1160, 1160, + + 1183, 1421, 1118, 0, 1182, 0, 0, 0, 0, 1183, + 1182, 0, 0, 0, 1182, 1183, 1236, 0, 1236, 1183, + 0, 1236, 1236, 1236, 1236, 1236, 1118, 1118, 1118, 1153, + 1182, 1421, 1421, 1421, 0, 1183, 1184, 0, 1153, 0, + 1153, 1153, 1153, 1153, 1153, 1184, 0, 0, 1153, 0, + 0, 1184, 1239, 0, 0, 1184, 1239, 1239, 1239, 1239, + 1182, 1182, 1182, 0, 1153, 1183, 1183, 1183, 1239, 1238, + 0, 1184, 0, 0, 0, 1236, 1236, 1236, 1238, 0, + 1238, 1238, 1238, 1238, 1238, 0, 1239, 0, 1238, 1377, + 1377, 1377, 1377, 1377, 1153, 1153, 1153, 1179, 0, 0, + + 0, 1184, 1184, 1184, 1240, 0, 0, 0, 1179, 1179, + 1179, 1179, 1179, 1240, 0, 0, 1179, 0, 0, 1240, + 1179, 0, 1241, 1240, 0, 0, 0, 0, 0, 0, + 0, 1241, 0, 0, 1238, 1238, 1238, 1241, 1179, 1240, + 1242, 1241, 0, 1377, 1377, 1377, 0, 0, 0, 1242, + 0, 1496, 0, 0, 0, 1242, 0, 1241, 0, 1242, + 0, 0, 1179, 1179, 1179, 1181, 1496, 0, 0, 1240, + 1240, 1240, 0, 0, 1181, 1242, 1181, 1181, 1181, 1181, + 1181, 0, 0, 0, 1181, 0, 1496, 1241, 1241, 1241, + 1360, 0, 1360, 1243, 0, 1360, 1360, 1360, 1360, 1360, + + 1181, 0, 1243, 0, 1247, 1242, 1242, 1242, 1243, 0, + 0, 0, 1243, 1247, 0, 0, 1496, 1496, 1496, 1247, + 1282, 0, 1282, 1247, 1282, 1282, 1282, 1282, 1243, 0, + 1181, 1181, 1181, 1216, 0, 0, 1282, 0, 0, 1247, + 1216, 0, 1216, 0, 1216, 1216, 1216, 1216, 1216, 1360, + 1360, 1360, 1216, 0, 1282, 0, 1216, 1249, 1243, 1243, + 1243, 0, 0, 0, 0, 0, 1249, 0, 1216, 1247, + 1247, 1247, 1249, 1378, 1216, 1250, 1249, 1378, 1378, 1378, + 1378, 0, 1252, 0, 1250, 0, 0, 0, 0, 1378, + 1250, 1252, 1249, 0, 1250, 0, 0, 1252, 1216, 1216, + + 1216, 1252, 0, 0, 0, 0, 0, 1378, 0, 0, + 1250, 0, 0, 0, 0, 0, 1256, 1252, 0, 0, + 0, 0, 1249, 1249, 1249, 1256, 0, 0, 0, 0, + 0, 1256, 0, 0, 0, 1256, 0, 0, 0, 0, + 1250, 1250, 1250, 1251, 0, 0, 0, 1252, 1252, 1252, + 1257, 1256, 1251, 0, 1251, 1251, 1251, 1251, 1251, 1257, + 0, 1258, 1251, 0, 0, 1257, 0, 0, 0, 1257, + 1258, 0, 0, 0, 0, 0, 1258, 0, 1251, 0, + 1258, 1256, 1256, 1256, 1376, 1257, 1376, 0, 0, 1376, + 1376, 1376, 1376, 1376, 0, 0, 1258, 1386, 1386, 1386, + + 1386, 1386, 1403, 1403, 1403, 1403, 1403, 1387, 1251, 1251, + 1251, 1387, 1387, 1387, 1387, 1257, 1257, 1257, 1453, 1453, + 1453, 1453, 1453, 1387, 0, 0, 1258, 1258, 1258, 1277, + 1277, 0, 1277, 0, 1277, 0, 0, 0, 1277, 1277, + 1277, 1387, 1277, 1376, 1376, 1376, 0, 0, 0, 0, + 1277, 1386, 1386, 1386, 0, 1388, 1403, 1403, 1403, 1388, + 1388, 1388, 1388, 0, 0, 0, 0, 1277, 1389, 1277, + 1277, 1388, 1453, 1453, 1453, 0, 0, 1389, 0, 0, + 0, 0, 0, 1389, 0, 0, 0, 1389, 0, 1388, + 0, 1497, 0, 0, 1277, 0, 1277, 1277, 1306, 1306, + + 1306, 1306, 1306, 1389, 1306, 1306, 1497, 1306, 1306, 1306, + 0, 0, 1306, 0, 1306, 0, 0, 0, 0, 0, + 1306, 1306, 0, 0, 1306, 0, 1497, 1390, 0, 0, + 0, 0, 0, 1389, 1389, 1389, 1390, 1306, 0, 1306, + 1306, 1306, 1390, 1436, 0, 1436, 1390, 0, 1436, 1436, + 1436, 1436, 1436, 0, 0, 0, 1497, 1497, 1497, 0, + 0, 0, 1390, 0, 1306, 1306, 1306, 0, 1306, 1306, + 1306, 1306, 1306, 1307, 1307, 1307, 1307, 1307, 0, 1307, + 0, 0, 1307, 1307, 1307, 0, 0, 1307, 0, 1307, + 0, 0, 1390, 1390, 1390, 1307, 1307, 0, 0, 1307, + + 1391, 0, 1436, 1436, 1436, 0, 0, 1681, 0, 1391, + 1681, 0, 1307, 0, 1307, 1391, 1307, 1681, 1397, 1391, + 0, 1462, 1462, 1462, 1462, 1462, 0, 1397, 1681, 0, + 0, 0, 0, 1397, 0, 1391, 0, 1397, 0, 1307, + 1307, 1307, 0, 1307, 1307, 1307, 1307, 1307, 1308, 1308, + 1308, 1308, 1308, 1397, 1308, 1308, 0, 1308, 1308, 1308, + 0, 0, 1308, 0, 1308, 1391, 1391, 1391, 0, 0, + 1308, 1308, 0, 0, 1308, 1462, 1462, 1462, 1681, 1681, + 1681, 0, 0, 1397, 1397, 1397, 0, 1308, 0, 1308, + 1308, 1308, 0, 0, 0, 0, 0, 0, 0, 0, + + 1452, 0, 1452, 0, 0, 1452, 1452, 1452, 1452, 1452, + 0, 0, 0, 0, 1308, 1308, 1308, 0, 1308, 1308, + 1308, 1308, 1308, 1312, 1312, 1312, 1312, 1312, 1312, 1312, + 0, 1312, 0, 1312, 1312, 1312, 1312, 1312, 1312, 1312, + 1312, 1312, 1355, 1355, 1355, 1355, 1355, 0, 1355, 1355, + 0, 1355, 1355, 1355, 1398, 0, 1355, 0, 1355, 1452, + 1452, 1452, 0, 1398, 1355, 1355, 0, 0, 1355, 1398, + 1454, 0, 0, 1398, 1454, 1454, 1454, 1454, 0, 0, + 0, 1355, 0, 1355, 1355, 1355, 1454, 0, 1399, 1398, + 1479, 1479, 1479, 1479, 1479, 0, 0, 1399, 0, 0, + + 0, 0, 0, 1399, 1454, 0, 0, 1399, 1355, 1355, + 1355, 0, 1355, 1355, 1355, 1355, 1355, 1359, 0, 1398, + 1398, 1398, 0, 1399, 1359, 0, 1359, 0, 1359, 1359, + 1359, 1359, 1359, 0, 0, 0, 1359, 0, 0, 0, + 1359, 0, 0, 1463, 1479, 1479, 1479, 1463, 1463, 1463, + 1463, 1404, 1359, 1399, 1399, 1399, 1405, 0, 1359, 1463, + 1404, 0, 0, 0, 0, 1405, 1404, 0, 0, 0, + 1404, 1405, 0, 0, 0, 1405, 0, 1463, 0, 0, + 0, 0, 1359, 1359, 1359, 1375, 1404, 0, 0, 0, + 0, 1405, 1375, 0, 1375, 0, 1375, 1375, 1375, 1375, + + 1375, 0, 0, 0, 1375, 0, 0, 0, 1375, 0, + 1406, 0, 0, 0, 0, 0, 1404, 1404, 1404, 1406, + 1375, 1405, 1405, 1405, 1412, 1406, 1375, 1413, 0, 1406, + 0, 0, 0, 1412, 0, 0, 1413, 0, 1414, 1412, + 0, 0, 1413, 1412, 0, 1406, 1413, 1414, 0, 0, + 1375, 1375, 1375, 1414, 0, 0, 0, 1414, 0, 1412, + 0, 0, 1413, 1464, 0, 1465, 0, 1464, 1464, 1464, + 1464, 0, 0, 1414, 1465, 1406, 1406, 1406, 0, 1464, + 1465, 0, 0, 0, 1465, 0, 0, 0, 0, 1412, + 1412, 1412, 1413, 1413, 1413, 0, 0, 1464, 0, 0, + + 1465, 0, 0, 1414, 1414, 1414, 1435, 0, 0, 0, + 0, 0, 0, 1435, 0, 1435, 0, 1435, 1435, 1435, + 1435, 1435, 0, 0, 0, 1435, 0, 0, 0, 1435, + 1465, 1465, 1465, 1466, 0, 0, 0, 0, 0, 0, + 1467, 1435, 1466, 0, 0, 1473, 0, 1435, 1466, 1467, + 0, 0, 1466, 0, 1473, 1467, 0, 0, 0, 1467, + 1473, 0, 0, 0, 1473, 0, 0, 0, 1466, 0, + 0, 1435, 1435, 1435, 1451, 1467, 0, 0, 0, 0, + 1473, 1451, 0, 1451, 0, 1451, 1451, 1451, 1451, 1451, + 0, 0, 0, 1451, 0, 0, 0, 1451, 1466, 1466, + + 1466, 0, 0, 0, 0, 1467, 1467, 1467, 1474, 1451, + 1473, 1473, 1473, 1475, 0, 1451, 1480, 1474, 0, 0, + 0, 0, 1475, 1474, 0, 1480, 0, 1474, 1475, 0, + 0, 1480, 1475, 0, 0, 1480, 0, 1481, 0, 1451, + 1451, 1451, 0, 1474, 0, 0, 1481, 0, 1475, 1482, + 0, 1480, 1481, 0, 0, 0, 1481, 0, 1482, 0, + 0, 0, 0, 0, 1482, 0, 0, 0, 1482, 0, + 0, 0, 1481, 1474, 1474, 1474, 1488, 0, 1475, 1475, + 1475, 1480, 1480, 1480, 1482, 1488, 0, 0, 0, 0, + 1489, 1488, 0, 0, 0, 1488, 0, 0, 1490, 1489, + + 0, 0, 1481, 1481, 1481, 1489, 0, 1490, 0, 1489, + 0, 1488, 0, 1490, 1482, 1482, 1482, 1490, 0, 0, + 0, 0, 0, 0, 0, 1489, 0, 0, 0, 0, + 0, 0, 0, 1490, 0, 0, 0, 0, 0, 0, + 0, 1488, 1488, 1488, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1489, 1489, 1489, 0, 0, + 0, 0, 0, 1490, 1490, 1490, 1532, 1532, 1532, 1532, + 1532, 1532, 1532, 0, 1532, 0, 1532, 1532, 1532, 1532, + 1532, 1532, 1532, 1532, 1532, 1544, 1544, 1544, 1544, 1544, + 0, 1544, 1544, 0, 1544, 1544, 1544, 0, 0, 1544, + + 0, 1544, 0, 0, 0, 0, 0, 1544, 1544, 0, + 0, 1544, 0, 0, 1574, 0, 0, 0, 0, 0, + 0, 0, 0, 1574, 1544, 0, 1544, 1544, 1544, 1574, + 0, 0, 0, 1574, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1574, + 0, 1544, 1544, 1544, 0, 1544, 1544, 1544, 1544, 1544, + 1546, 1546, 1546, 1546, 1546, 0, 1546, 1546, 0, 1546, + 1546, 1546, 0, 0, 1546, 0, 1546, 0, 0, 1574, + 1574, 1574, 1546, 1546, 0, 0, 1546, 0, 0, 1575, + 0, 0, 0, 0, 0, 0, 0, 0, 1575, 1546, + + 0, 1546, 1546, 1546, 1575, 0, 0, 0, 1575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1560, 0, 1530, 1530, 1530, 0, 1530, 1530, - 1530, 1530, 1530, 1532, 1532, 1532, 1532, 1532, 0, 1532, - 1532, 0, 1532, 1532, 1532, 0, 0, 1532, 0, 1532, - - 0, 0, 1560, 1560, 1560, 1532, 1532, 0, 0, 1532, - 0, 0, 1561, 0, 0, 0, 0, 0, 0, 0, - 0, 1561, 1532, 0, 1532, 1532, 1532, 1561, 0, 0, - 0, 1561, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1561, 0, 1532, - 1532, 1532, 0, 1532, 1532, 1532, 1532, 1532, 1538, 1538, - 1538, 1538, 1538, 0, 1538, 1538, 0, 1538, 1538, 1538, - 0, 0, 1538, 0, 1538, 0, 0, 1561, 1561, 1561, - 1538, 1538, 0, 0, 1538, 0, 0, 1562, 0, 0, - 0, 0, 0, 0, 0, 0, 1562, 1538, 0, 1538, - - 1538, 1538, 1562, 0, 0, 0, 1562, 0, 0, 0, + 0, 0, 0, 0, 1575, 0, 1546, 1546, 1546, 0, + 1546, 1546, 1546, 1546, 1546, 1552, 1552, 1552, 1552, 1552, + 0, 1552, 1552, 0, 1552, 1552, 1552, 0, 0, 1552, + 0, 1552, 0, 0, 1575, 1575, 1575, 1552, 1552, 0, + 0, 1552, 0, 0, 1576, 0, 0, 0, 0, 0, + 0, 0, 0, 1576, 1552, 0, 1552, 1552, 1552, 1576, + 0, 0, 0, 1576, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1576, + + 0, 1552, 1552, 1552, 0, 1552, 1552, 1552, 1552, 1552, + 1556, 1556, 1556, 1556, 1556, 0, 1556, 1556, 0, 1556, + 1556, 1556, 0, 0, 1556, 0, 1556, 0, 0, 1576, + 1576, 1576, 1556, 1556, 0, 0, 1556, 0, 0, 1583, + 0, 0, 0, 0, 0, 0, 0, 0, 1583, 1556, + 0, 1556, 1556, 1556, 1583, 0, 0, 0, 1583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1562, 0, 1538, 1538, 1538, 0, 1538, 1538, - 1538, 1538, 1538, 1542, 1542, 1542, 1542, 1542, 0, 1542, - 1542, 0, 1542, 1542, 1542, 0, 0, 1542, 0, 1542, - 0, 0, 1562, 1562, 1562, 1542, 1542, 0, 0, 1542, - 0, 0, 1569, 0, 0, 0, 0, 0, 0, 0, - 0, 1569, 1542, 0, 1542, 1542, 1542, 1569, 0, 0, - 0, 1569, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1569, 0, 1542, - - 1542, 1542, 0, 1542, 1542, 1542, 1542, 1542, 1543, 1543, - 1543, 1543, 1543, 0, 1543, 1543, 0, 1543, 1543, 1543, - 0, 0, 1543, 1570, 1543, 0, 0, 1569, 1569, 1569, - 1543, 1543, 1570, 0, 1543, 0, 0, 0, 1570, 0, - 0, 0, 1570, 0, 0, 0, 0, 1543, 0, 1543, - 1543, 1543, 0, 0, 0, 0, 0, 0, 1570, 0, + 0, 0, 0, 0, 1583, 0, 1556, 1556, 1556, 0, + 1556, 1556, 1556, 1556, 1556, 1557, 1557, 1557, 1557, 1557, + 0, 1557, 1557, 0, 1557, 1557, 1557, 0, 0, 1557, + + 1584, 1557, 0, 0, 1583, 1583, 1583, 1557, 1557, 1584, + 0, 1557, 0, 0, 0, 1584, 0, 0, 0, 1584, + 0, 0, 0, 0, 1557, 0, 1557, 1557, 1557, 0, + 0, 0, 0, 0, 0, 1584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1543, 1543, 1543, 0, 1543, 1543, - 1543, 1543, 1543, 1556, 0, 0, 0, 0, 1570, 1570, - 1570, 1571, 1556, 0, 1556, 1556, 1556, 1556, 1556, 0, + 0, 1557, 1557, 1557, 0, 1557, 1557, 1557, 1557, 1557, + 1570, 0, 0, 0, 0, 1584, 1584, 1584, 1585, 1570, + 0, 1570, 1570, 1570, 1570, 1570, 0, 1585, 0, 1570, + 0, 0, 0, 1585, 0, 1591, 0, 1585, 0, 0, + 0, 0, 0, 0, 1591, 1570, 0, 0, 0, 0, - 1571, 0, 1556, 0, 0, 0, 1571, 0, 1577, 0, - 1571, 0, 0, 0, 0, 0, 0, 1577, 1556, 0, - 0, 0, 0, 1577, 0, 0, 1571, 1577, 0, 0, + 1591, 0, 0, 1585, 1591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1577, 0, 0, 0, 0, 1556, 1556, - 1556, 1559, 0, 0, 0, 0, 1571, 1571, 1571, 0, - 1559, 0, 1559, 1559, 1559, 1559, 1559, 0, 1578, 0, - 1559, 0, 0, 1577, 1577, 1577, 1579, 1578, 0, 0, - 0, 0, 0, 1578, 0, 1579, 1559, 1578, 0, 0, - 0, 1579, 0, 0, 0, 1579, 0, 0, 0, 0, - - 0, 0, 0, 1578, 1606, 0, 0, 0, 0, 0, - 0, 1579, 0, 1606, 0, 0, 1559, 1559, 1559, 1606, - 0, 0, 0, 1606, 0, 0, 0, 0, 0, 0, - 0, 1607, 0, 1578, 1578, 1578, 0, 0, 0, 1606, - 1607, 1579, 1579, 1579, 1602, 0, 1607, 0, 0, 0, - 1607, 0, 0, 1602, 0, 1602, 1602, 1602, 1602, 1602, - 0, 0, 0, 1602, 0, 0, 1607, 1608, 0, 1606, - 1606, 1606, 1615, 0, 0, 0, 1608, 0, 0, 1602, - 0, 1615, 1608, 0, 1616, 0, 1608, 1615, 0, 0, - 0, 1615, 0, 1616, 0, 0, 1607, 1607, 1607, 1616, - - 0, 0, 1608, 1616, 0, 0, 0, 1615, 0, 1602, - 1602, 1602, 1605, 0, 0, 0, 0, 0, 0, 1616, - 0, 1605, 0, 1605, 1605, 1605, 1605, 1605, 0, 0, - 0, 1605, 1608, 1608, 1608, 0, 0, 1615, 1615, 1615, - 0, 0, 0, 0, 0, 1617, 0, 1605, 1623, 1616, - 1616, 1616, 0, 1624, 1617, 0, 1625, 1623, 0, 0, - 1617, 0, 1624, 1623, 1617, 1625, 0, 1623, 1624, 0, - 0, 1625, 1624, 0, 0, 1625, 0, 1605, 1605, 1605, - 1617, 0, 0, 1623, 0, 0, 0, 0, 1624, 0, - 0, 1625, 0, 0, 0, 0, 0, 0, 0, 0, - + 1591, 0, 0, 0, 0, 1570, 1570, 1570, 1573, 0, + 0, 0, 0, 1585, 1585, 1585, 0, 1573, 0, 1573, + 1573, 1573, 1573, 1573, 0, 1592, 0, 1573, 0, 0, + 1591, 1591, 1591, 1593, 1592, 0, 0, 0, 0, 0, + 1592, 0, 1593, 1573, 1592, 0, 0, 0, 1593, 0, + 0, 0, 1593, 0, 0, 0, 0, 0, 0, 0, + 1592, 1620, 0, 0, 0, 0, 0, 0, 1593, 0, + 1620, 0, 0, 1573, 1573, 1573, 1620, 0, 0, 0, + + 1620, 0, 0, 0, 0, 0, 0, 0, 1621, 0, + 1592, 1592, 1592, 0, 0, 0, 1620, 1621, 1593, 1593, + 1593, 1616, 0, 1621, 0, 0, 0, 1621, 0, 0, + 1616, 0, 1616, 1616, 1616, 1616, 1616, 0, 0, 0, + 1616, 0, 0, 1621, 1622, 0, 1620, 1620, 1620, 1629, + 0, 0, 0, 1622, 0, 0, 1616, 0, 1629, 1622, + 0, 1630, 0, 1622, 1629, 0, 0, 0, 1629, 0, + 1630, 0, 0, 1621, 1621, 1621, 1630, 0, 0, 1622, + 1630, 0, 0, 0, 1629, 0, 1616, 1616, 1616, 1619, + 0, 0, 0, 0, 0, 0, 1630, 0, 1619, 0, + + 1619, 1619, 1619, 1619, 1619, 0, 0, 0, 1619, 1622, + 1622, 1622, 0, 0, 1629, 1629, 1629, 0, 0, 0, + 0, 0, 1631, 0, 1619, 1637, 1630, 1630, 1630, 0, + 1638, 1631, 0, 1639, 1637, 0, 0, 1631, 0, 1638, + 1637, 1631, 1639, 0, 1637, 1638, 0, 0, 1639, 1638, + 0, 0, 1639, 0, 1619, 1619, 1619, 1631, 0, 0, + 1637, 0, 0, 0, 0, 1638, 0, 0, 1639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1617, 1617, 1617, 1623, 1623, 1623, 0, 0, 1624, 1624, - 1624, 1625, 1625, 1625, 1660, 1660, 1660, 1660, 1660, 0, - 1660, 1660, 0, 1660, 1660, 1660, 0, 0, 1660, 0, - 1660, 0, 0, 0, 0, 0, 1660, 1660, 0, 0, - 1660, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1660, 0, 1660, 1660, 1660, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1631, 1631, 1631, + 1637, 1637, 1637, 0, 0, 1638, 1638, 1638, 1639, 1639, + + 1639, 1674, 1674, 1674, 1674, 1674, 0, 1674, 1674, 0, + 1674, 1674, 1674, 0, 0, 1674, 0, 1674, 0, 0, + 0, 0, 0, 1674, 1674, 0, 0, 1674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1674, 0, 1674, 1674, 1674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1660, 1660, 1660, 0, 1660, 1660, 1660, 1660, 1660, 1674, + 0, 0, 0, 0, 0, 0, 0, 1674, 1674, 1674, + 0, 1674, 1674, 1674, 1674, 1674, 1688, 1688, 1688, 1688, + 1688, 0, 1688, 1688, 0, 1688, 1688, 1688, 0, 0, + 1688, 0, 1688, 0, 0, 0, 0, 0, 1688, 1688, - 1674, 1674, 1674, 1674, 0, 1674, 1674, 0, 1674, 1674, - 1674, 0, 0, 1674, 0, 1674, 0, 0, 0, 0, - 0, 1674, 1674, 0, 0, 1674, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1674, 0, - 1674, 1674, 1674, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1688, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1688, 0, 1688, 1688, 1688, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1674, 1674, 1674, 0, 1674, - 1674, 1674, 1674, 1674, 1748, 1748, 1748, 1748, 1748, 1748, - 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, - 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1749, 1749, - - 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, - 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, - 1749, 1749, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, - 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, - 1750, 1750, 1750, 1750, 1750, 1750, 1751, 1751, 1751, 1751, - 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, - 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, - 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, - 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, - 1752, 1752, 1752, 1752, 1753, 1753, 1753, 1753, 1753, 1753, - - 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, - 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1754, 1754, - 0, 0, 0, 1754, 1754, 1754, 1754, 1754, 1754, 1754, - 1754, 1754, 1754, 1754, 1754, 1754, 0, 1754, 1754, 1754, - 1754, 1754, 1755, 1755, 0, 1755, 0, 0, 0, 1755, - 0, 1755, 1755, 1756, 1756, 0, 0, 1756, 1756, 1756, - 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, - 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1757, 1757, 1757, - 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, - 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, - - 1757, 1758, 0, 1758, 0, 0, 1758, 1758, 0, 1758, - 0, 1758, 1758, 0, 1758, 1758, 1758, 1758, 1758, 1758, - 1759, 0, 1759, 0, 0, 1759, 1759, 0, 1759, 0, - 1759, 1759, 0, 1759, 1759, 1759, 1759, 1759, 1759, 1760, - 0, 1760, 0, 0, 1760, 1760, 0, 0, 0, 1760, - 1760, 0, 0, 1760, 0, 1760, 1760, 1760, 1761, 0, - 1761, 0, 0, 1761, 1761, 0, 1761, 1761, 1761, 1761, - 0, 1761, 1761, 1761, 1761, 1761, 1761, 1762, 0, 1762, - 0, 0, 1762, 1762, 0, 1762, 1762, 1762, 1762, 0, - 1762, 1762, 1762, 1762, 1762, 1762, 1763, 0, 1763, 0, - - 0, 1763, 1763, 0, 0, 1763, 1763, 1763, 0, 0, - 1763, 0, 1763, 1763, 1763, 1764, 1764, 1764, 1764, 1764, + 0, 0, 1688, 1688, 1688, 0, 1688, 1688, 1688, 1688, + 1688, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, + 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, + 1762, 1762, 1762, 1762, 1762, 1763, 1763, 1763, 1763, 1763, + 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, + 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1764, + 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1765, - 0, 0, 0, 1765, 0, 1765, 1765, 1766, 1766, 1766, - 0, 1766, 1766, 0, 0, 1766, 0, 0, 1766, 1766, - 1766, 1766, 1766, 1767, 0, 0, 0, 0, 1767, 0, - 1767, 1767, 0, 0, 1767, 0, 1767, 1767, 1767, 0, - 1767, 1767, 1767, 0, 1767, 1767, 1767, 1768, 1768, 0, - 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, + 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, + 1764, 1764, 1764, 1765, 1765, 1765, 1765, 1765, 1765, 1765, + 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, + 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1766, 1766, 1766, + 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + 1766, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, + 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, + 1767, 1767, 1767, 1767, 1767, 1768, 1768, 0, 0, 0, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, - 1768, 1769, 1769, 0, 1769, 1769, 1769, 1769, 1769, 1769, - 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, - 1769, 1769, 1769, 1769, 1769, 1770, 1770, 1770, 1770, 1770, + 1768, 1768, 1768, 0, 1768, 1768, 1768, 1768, 1768, 1769, + 1769, 0, 1769, 0, 0, 0, 1769, 0, 1769, 1769, + 1770, 1770, 0, 0, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, - 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1772, - 0, 1772, 0, 0, 1772, 1772, 0, 0, 1772, 1772, - 1772, 0, 0, 1772, 1772, 1772, 1772, 1772, 1773, 1773, - 0, 1773, 0, 0, 0, 1773, 0, 1773, 1773, 1774, - 1774, 0, 0, 1774, 1774, 1774, 1774, 1774, 1774, 1774, - - 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, - 1774, 1774, 1774, 1776, 0, 1776, 0, 0, 1776, 1776, - 0, 1776, 0, 1776, 1776, 0, 1776, 1776, 1776, 1776, - 1776, 1776, 1777, 0, 1777, 0, 0, 1777, 1777, 0, - 1777, 0, 1777, 1777, 0, 1777, 1777, 1777, 1777, 1777, - 1777, 1778, 0, 1778, 0, 0, 1778, 1778, 0, 1778, - 0, 1778, 1778, 0, 1778, 1778, 1778, 1778, 1778, 1778, - 1779, 0, 1779, 0, 0, 1779, 1779, 0, 0, 0, - 1779, 1779, 0, 0, 1779, 0, 1779, 1779, 1779, 1780, - 0, 1780, 0, 0, 1780, 1780, 0, 1780, 0, 1780, - - 1780, 0, 1780, 1780, 1780, 1780, 1780, 1780, 1781, 0, - 1781, 0, 0, 1781, 1781, 1781, 1781, 0, 1781, 1781, - 0, 1781, 1781, 0, 1781, 1781, 1781, 1782, 0, 1782, - 0, 0, 1782, 1782, 0, 1782, 0, 1782, 1782, 0, - 1782, 1782, 1782, 1782, 1782, 1782, 1783, 0, 1783, 0, - 0, 1783, 1783, 0, 1783, 0, 1783, 1783, 0, 1783, - 1783, 1783, 1783, 1783, 1783, 1784, 0, 1784, 0, 0, - 1784, 1784, 0, 0, 0, 1784, 0, 0, 0, 1784, - 1784, 1784, 1784, 1784, 1785, 0, 1785, 0, 0, 1785, - 1785, 0, 1785, 0, 1785, 1785, 0, 1785, 1785, 1785, - - 1785, 1785, 1785, 1786, 0, 1786, 0, 0, 1786, 1786, - 0, 1786, 1786, 1786, 1786, 0, 1786, 1786, 1786, 1786, - 1786, 1786, 1787, 0, 1787, 0, 0, 1787, 1787, 0, - 1787, 1787, 1787, 1787, 0, 1787, 1787, 1787, 1787, 1787, - 1787, 1788, 0, 1788, 0, 0, 1788, 1788, 0, 1788, - 1788, 1788, 1788, 0, 1788, 1788, 1788, 1788, 1788, 1788, - 1789, 0, 1789, 0, 0, 1789, 1789, 0, 0, 1789, - 1789, 1789, 0, 0, 1789, 0, 1789, 1789, 1789, 1790, - 0, 1790, 0, 0, 1790, 1790, 0, 1790, 1790, 1790, - 1790, 0, 1790, 1790, 1790, 1790, 1790, 1790, 1791, 0, - - 1791, 0, 0, 1791, 1791, 1791, 1791, 1791, 1791, 1791, - 0, 1791, 1791, 0, 1791, 1791, 1791, 1792, 0, 1792, - 0, 0, 1792, 1792, 0, 1792, 1792, 1792, 1792, 0, - 1792, 1792, 1792, 1792, 1792, 1792, 1793, 0, 1793, 0, - 0, 1793, 1793, 0, 1793, 1793, 1793, 1793, 0, 1793, - 1793, 1793, 1793, 1793, 1793, 1794, 0, 1794, 0, 0, - 1794, 1794, 0, 0, 1794, 1794, 0, 0, 0, 1794, - 1794, 1794, 1794, 1794, 1795, 0, 1795, 0, 0, 1795, - 1795, 0, 1795, 1795, 1795, 1795, 0, 1795, 1795, 1795, - 1795, 1795, 1795, 1798, 0, 0, 0, 1798, 0, 1798, - - 1798, 1799, 0, 0, 0, 1799, 0, 1799, 1799, 1801, - 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, - 1801, 1801, 0, 1801, 1801, 1801, 1801, 1801, 1801, 1801, - 1801, 1801, 1801, 1802, 1802, 0, 1802, 0, 0, 0, - 1802, 0, 1802, 1802, 1803, 0, 0, 0, 0, 1803, - 0, 1803, 1803, 0, 0, 1803, 0, 1803, 1803, 1803, - 0, 1803, 1803, 1803, 0, 1803, 1803, 1803, 1805, 1805, - 0, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, - 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, - 1805, 1805, 1806, 1806, 0, 0, 0, 1806, 1806, 1806, - - 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, - 0, 1806, 1806, 1806, 1806, 1806, 1807, 1807, 1807, 1807, - 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, - 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, - 1808, 0, 0, 0, 1808, 0, 1808, 1808, 1809, 0, - 0, 1809, 0, 0, 0, 1809, 0, 1809, 1809, 1811, - 0, 1811, 0, 0, 1811, 1811, 0, 0, 1811, 1811, - 1811, 0, 0, 1811, 1811, 1811, 1811, 1811, 1812, 0, - 1812, 0, 0, 0, 1812, 0, 1812, 1812, 1814, 0, - 1814, 0, 0, 1814, 1814, 0, 0, 0, 1814, 1814, - - 0, 1814, 1814, 0, 1814, 1814, 1814, 1815, 0, 1815, - 0, 0, 1815, 1815, 0, 1815, 0, 1815, 1815, 0, - 1815, 1815, 1815, 1815, 1815, 1815, 1816, 0, 1816, 0, - 0, 1816, 1816, 0, 1816, 0, 1816, 1816, 0, 1816, - 1816, 1816, 1816, 1816, 1816, 1817, 0, 1817, 0, 0, - 1817, 1817, 0, 1817, 0, 1817, 1817, 0, 1817, 1817, - 1817, 1817, 1817, 1817, 1818, 0, 1818, 0, 0, 1818, - 1818, 0, 1818, 0, 1818, 1818, 0, 1818, 1818, 1818, - 1818, 1818, 1818, 1819, 0, 1819, 0, 0, 1819, 1819, - 0, 0, 0, 1819, 1819, 0, 0, 1819, 1819, 1819, - - 1819, 1819, 1820, 0, 1820, 0, 0, 1820, 1820, 0, - 0, 0, 1820, 0, 0, 0, 1820, 1820, 1820, 1820, - 1820, 1821, 0, 1821, 0, 0, 1821, 1821, 0, 1821, - 0, 1821, 1821, 0, 1821, 1821, 1821, 1821, 1821, 1821, - 1822, 0, 1822, 0, 0, 1822, 1822, 0, 1822, 0, - 1822, 1822, 0, 1822, 1822, 1822, 1822, 1822, 1822, 1823, - 0, 1823, 0, 0, 1823, 1823, 0, 0, 0, 1823, - 1823, 0, 0, 1823, 1823, 1823, 1823, 1823, 1824, 0, - 1824, 0, 0, 1824, 1824, 1824, 1824, 0, 1824, 1824, - 0, 1824, 1824, 1824, 1824, 1824, 1824, 1825, 0, 1825, - - 0, 0, 1825, 1825, 0, 0, 0, 1825, 0, 0, - 0, 1825, 1825, 1825, 1825, 1825, 1826, 0, 1826, 0, - 0, 1826, 1826, 0, 0, 0, 1826, 1826, 0, 0, - 1826, 0, 1826, 1826, 1826, 1827, 0, 1827, 0, 0, - 1827, 1827, 0, 1827, 0, 1827, 1827, 0, 1827, 1827, - 1827, 1827, 1827, 1827, 1828, 0, 1828, 0, 0, 1828, - 1828, 0, 1828, 0, 1828, 1828, 0, 1828, 1828, 1828, - 1828, 1828, 1828, 1829, 0, 1829, 0, 0, 1829, 1829, - 0, 0, 0, 1829, 0, 0, 0, 1829, 1829, 1829, - 1829, 1829, 1830, 0, 1830, 0, 0, 1830, 1830, 0, - - 0, 0, 1830, 0, 0, 0, 1830, 1830, 1830, 1830, - 1830, 1831, 0, 1831, 0, 0, 1831, 1831, 0, 1831, - 0, 1831, 1831, 0, 1831, 1831, 1831, 1831, 1831, 1831, - 1832, 0, 1832, 0, 0, 1832, 1832, 0, 1832, 0, - 1832, 1832, 0, 1832, 1832, 1832, 1832, 1832, 1832, 1833, - 0, 1833, 0, 0, 1833, 1833, 0, 0, 1833, 1833, - 1833, 0, 1833, 1833, 0, 1833, 1833, 1833, 1834, 0, - 1834, 0, 0, 1834, 1834, 0, 1834, 1834, 1834, 1834, - 0, 1834, 1834, 1834, 1834, 1834, 1834, 1835, 0, 1835, - 0, 0, 1835, 1835, 0, 1835, 1835, 1835, 1835, 0, - - 1835, 1835, 1835, 1835, 1835, 1835, 1836, 0, 1836, 0, - 0, 1836, 1836, 0, 1836, 1836, 1836, 1836, 0, 1836, - 1836, 1836, 1836, 1836, 1836, 1837, 0, 1837, 0, 0, - 1837, 1837, 0, 1837, 1837, 1837, 1837, 0, 1837, 1837, - 1837, 1837, 1837, 1837, 1838, 0, 1838, 0, 0, 1838, - 1838, 0, 0, 1838, 1838, 1838, 0, 0, 1838, 1838, - 1838, 1838, 1838, 1839, 0, 1839, 0, 0, 1839, 1839, - 0, 0, 1839, 1839, 0, 0, 0, 1839, 1839, 1839, - 1839, 1839, 1840, 0, 1840, 0, 0, 1840, 1840, 0, - 1840, 1840, 1840, 1840, 0, 1840, 1840, 1840, 1840, 1840, - - 1840, 1841, 0, 1841, 0, 0, 1841, 1841, 0, 1841, - 1841, 1841, 1841, 0, 1841, 1841, 1841, 1841, 1841, 1841, - 1842, 0, 1842, 0, 0, 1842, 1842, 0, 0, 1842, - 1842, 1842, 0, 0, 1842, 1842, 1842, 1842, 1842, 1843, - 0, 1843, 0, 0, 1843, 1843, 1843, 1843, 1843, 1843, - 1843, 0, 1843, 1843, 1843, 1843, 1843, 1843, 1844, 0, - 1844, 0, 0, 1844, 1844, 0, 0, 1844, 1844, 0, - 0, 0, 1844, 1844, 1844, 1844, 1844, 1845, 0, 1845, - 0, 0, 1845, 1845, 0, 0, 1845, 1845, 1845, 0, - 0, 1845, 0, 1845, 1845, 1845, 1846, 0, 1846, 0, - - 0, 1846, 1846, 0, 1846, 1846, 1846, 1846, 0, 1846, - 1846, 1846, 1846, 1846, 1846, 1847, 0, 1847, 0, 0, - 1847, 1847, 0, 1847, 1847, 1847, 1847, 0, 1847, 1847, - 1847, 1847, 1847, 1847, 1848, 0, 1848, 0, 0, 1848, - 1848, 0, 0, 1848, 1848, 0, 0, 0, 1848, 1848, - 1848, 1848, 1848, 1849, 0, 1849, 0, 0, 1849, 1849, - 0, 0, 1849, 1849, 0, 0, 0, 1849, 1849, 1849, - 1849, 1849, 1850, 0, 1850, 0, 0, 1850, 1850, 0, - 1850, 1850, 1850, 1850, 0, 1850, 1850, 1850, 1850, 1850, - 1850, 1851, 0, 1851, 0, 0, 1851, 1851, 0, 1851, - - 1851, 1851, 1851, 0, 1851, 1851, 1851, 1851, 1851, 1851, - 1855, 0, 0, 1855, 0, 0, 0, 1855, 0, 1855, - 1855, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, - 1857, 1857, 1857, 1857, 0, 1857, 1857, 1857, 1857, 1857, - 1857, 1857, 1857, 1857, 1857, 1858, 0, 0, 0, 0, - 1858, 0, 1858, 1858, 0, 0, 1858, 0, 1858, 1858, - 1858, 0, 1858, 1858, 1858, 0, 1858, 1858, 1858, 1861, - 1861, 0, 1861, 0, 0, 0, 1861, 0, 1861, 1861, - 1863, 1863, 1863, 1863, 1863, 0, 1863, 1863, 1863, 1863, - 0, 0, 1863, 1863, 0, 0, 1863, 1863, 1863, 0, - - 1863, 0, 0, 1863, 1864, 0, 0, 1864, 1864, 0, - 1864, 0, 0, 1864, 1864, 0, 0, 1864, 1864, 1864, - 0, 0, 1864, 1864, 1864, 1864, 1864, 1865, 0, 1865, - 0, 0, 0, 1865, 0, 1865, 1865, 1866, 0, 1866, - 0, 0, 1866, 1866, 1866, 1866, 0, 1866, 1866, 0, - 1866, 1866, 1866, 1866, 1866, 1866, 1867, 0, 1867, 0, - 0, 1867, 1867, 0, 0, 0, 1867, 1867, 0, 0, - 1867, 1867, 1867, 1867, 1867, 1868, 0, 1868, 0, 0, - 1868, 1868, 0, 1868, 0, 1868, 1868, 0, 1868, 1868, - 0, 1868, 1868, 1868, 1869, 0, 1869, 0, 0, 1869, - - 1869, 0, 1869, 0, 1869, 1869, 0, 1869, 1869, 1869, - 1869, 1869, 1869, 1870, 0, 1870, 0, 0, 1870, 1870, - 0, 1870, 0, 1870, 1870, 0, 1870, 1870, 1870, 1870, - 1870, 1870, 1871, 0, 1871, 0, 0, 1871, 1871, 0, - 1871, 0, 1871, 1871, 0, 1871, 1871, 1871, 1871, 1871, - 1871, 1872, 0, 1872, 0, 0, 1872, 1872, 0, 0, - 0, 1872, 1872, 0, 0, 1872, 1872, 1872, 1872, 1872, - 1873, 0, 1873, 0, 0, 1873, 1873, 0, 0, 0, - 1873, 0, 0, 0, 1873, 1873, 1873, 1873, 1873, 1874, - 0, 1874, 0, 0, 1874, 1874, 0, 0, 0, 1874, - - 0, 0, 0, 1874, 1874, 1874, 1874, 1874, 1875, 0, - 1875, 0, 0, 1875, 1875, 0, 1875, 0, 1875, 1875, - 0, 1875, 1875, 1875, 1875, 1875, 1875, 1876, 0, 1876, - 0, 0, 1876, 1876, 0, 0, 0, 1876, 0, 0, - 0, 1876, 1876, 1876, 1876, 1876, 1877, 0, 1877, 0, - 0, 1877, 1877, 0, 0, 0, 1877, 0, 0, 0, - 1877, 1877, 1877, 1877, 1877, 1878, 0, 1878, 0, 0, - 1878, 1878, 0, 0, 0, 1878, 0, 0, 0, 1878, - 1878, 1878, 1878, 1878, 1879, 0, 1879, 0, 0, 1879, - 1879, 0, 0, 0, 1879, 0, 0, 0, 1879, 1879, - - 1879, 1879, 1879, 1880, 0, 1880, 0, 0, 1880, 1880, - 0, 0, 0, 1880, 1880, 0, 0, 1880, 1880, 1880, - 1880, 1880, 1881, 0, 1881, 0, 0, 1881, 1881, 0, - 1881, 0, 1881, 1881, 0, 1881, 1881, 1881, 1881, 1881, - 1881, 1882, 0, 1882, 0, 0, 1882, 1882, 0, 1882, - 0, 1882, 1882, 0, 1882, 1882, 1882, 1882, 1882, 1882, - 1883, 0, 1883, 0, 0, 1883, 1883, 0, 1883, 0, - 1883, 1883, 0, 1883, 1883, 1883, 1883, 1883, 1883, 1884, - 0, 1884, 0, 0, 1884, 1884, 0, 1884, 0, 1884, - 1884, 0, 1884, 1884, 1884, 1884, 1884, 1884, 1885, 0, - - 1885, 0, 0, 1885, 1885, 0, 0, 0, 1885, 1885, - 0, 0, 1885, 0, 1885, 1885, 1885, 1886, 0, 1886, - 0, 0, 1886, 1886, 0, 0, 0, 1886, 0, 0, - 0, 1886, 1886, 1886, 1886, 1886, 1887, 0, 1887, 0, - 0, 1887, 1887, 0, 1887, 0, 1887, 1887, 0, 1887, - 1887, 1887, 1887, 1887, 1887, 1888, 0, 1888, 0, 0, - 1888, 1888, 1888, 1888, 1888, 1888, 1888, 0, 1888, 1888, - 1888, 1888, 1888, 1888, 1889, 0, 1889, 0, 0, 1889, - 1889, 0, 0, 1889, 1889, 1889, 0, 0, 1889, 1889, - 1889, 1889, 1889, 1890, 0, 1890, 0, 0, 1890, 1890, - - 0, 1890, 1890, 1890, 1890, 0, 1890, 1890, 0, 1890, - 1890, 1890, 1891, 0, 1891, 0, 0, 1891, 1891, 0, - 1891, 1891, 1891, 1891, 0, 1891, 1891, 1891, 1891, 1891, - 1891, 1892, 0, 1892, 0, 0, 1892, 1892, 0, 1892, - 1892, 1892, 1892, 0, 1892, 1892, 1892, 1892, 1892, 1892, - 1893, 0, 1893, 0, 0, 1893, 1893, 0, 1893, 1893, - 1893, 1893, 0, 1893, 1893, 1893, 1893, 1893, 1893, 1894, - 0, 1894, 0, 0, 1894, 1894, 0, 0, 1894, 1894, - 1894, 0, 0, 1894, 1894, 1894, 1894, 1894, 1895, 0, - 1895, 0, 0, 1895, 1895, 0, 0, 1895, 1895, 0, - - 0, 0, 1895, 1895, 1895, 1895, 1895, 1896, 0, 1896, - 0, 0, 1896, 1896, 0, 0, 1896, 1896, 0, 0, - 0, 1896, 1896, 1896, 1896, 1896, 1897, 0, 1897, 0, - 0, 1897, 1897, 0, 1897, 1897, 1897, 1897, 0, 1897, - 1897, 1897, 1897, 1897, 1897, 1898, 0, 1898, 0, 0, - 1898, 1898, 0, 0, 1898, 1898, 0, 0, 0, 1898, - 1898, 1898, 1898, 1898, 1899, 0, 1899, 0, 0, 1899, - 1899, 0, 0, 1899, 1899, 0, 0, 0, 1899, 1899, - 1899, 1899, 1899, 1900, 0, 1900, 0, 0, 1900, 1900, - 0, 0, 1900, 1900, 0, 0, 0, 1900, 1900, 1900, - - 1900, 1900, 1901, 0, 1901, 0, 0, 1901, 1901, 0, - 0, 1901, 1901, 0, 0, 0, 1901, 1901, 1901, 1901, - 1901, 1902, 0, 1902, 0, 0, 1902, 1902, 0, 0, - 1902, 1902, 1902, 0, 0, 1902, 1902, 1902, 1902, 1902, - 1903, 0, 1903, 0, 0, 1903, 1903, 0, 1903, 1903, - 1903, 1903, 0, 1903, 1903, 1903, 1903, 1903, 1903, 1904, - 0, 1904, 0, 0, 1904, 1904, 0, 1904, 1904, 1904, - 1904, 0, 1904, 1904, 1904, 1904, 1904, 1904, 1905, 0, - 1905, 0, 0, 1905, 1905, 0, 1905, 1905, 1905, 1905, - 0, 1905, 1905, 1905, 1905, 1905, 1905, 1906, 0, 1906, - - 0, 0, 1906, 1906, 0, 1906, 1906, 1906, 1906, 0, - 1906, 1906, 1906, 1906, 1906, 1906, 1907, 0, 1907, 0, - 0, 1907, 1907, 0, 0, 1907, 1907, 1907, 0, 0, - 1907, 0, 1907, 1907, 1907, 1908, 0, 1908, 0, 0, - 1908, 1908, 0, 0, 1908, 1908, 0, 0, 0, 1908, - 1908, 1908, 1908, 1908, 1909, 0, 1909, 0, 0, 1909, - 1909, 0, 1909, 1909, 1909, 1909, 0, 1909, 1909, 1909, - 1909, 1909, 1909, 1911, 0, 0, 1911, 0, 0, 0, - 1911, 0, 1911, 1911, 1912, 0, 0, 0, 0, 1912, - 0, 1912, 1912, 0, 0, 1912, 0, 1912, 1912, 1912, - - 0, 1912, 1912, 1912, 0, 1912, 1912, 1912, 1915, 0, - 0, 0, 1915, 0, 1915, 1915, 1916, 1916, 1916, 1916, - 1916, 0, 1916, 1916, 1916, 1916, 0, 0, 1916, 1916, - 0, 0, 1916, 1916, 1916, 0, 1916, 0, 1916, 1916, - 1917, 1917, 1917, 1917, 1917, 0, 1917, 1917, 1917, 1917, - 0, 0, 1917, 1917, 0, 0, 1917, 1917, 1917, 0, - 1917, 1917, 0, 1917, 1918, 0, 1918, 0, 0, 1918, - 1918, 0, 0, 1918, 1918, 1918, 0, 0, 1918, 1918, - 1918, 1918, 1918, 1919, 0, 1919, 0, 0, 1919, 1919, - 0, 0, 0, 1919, 1919, 0, 1919, 1919, 0, 1919, - - 1919, 1919, 1920, 0, 1920, 0, 0, 1920, 1920, 0, - 1920, 0, 1920, 1920, 0, 1920, 1920, 1920, 1920, 1920, - 1920, 1921, 0, 1921, 0, 0, 1921, 1921, 0, 1921, - 0, 1921, 1921, 0, 1921, 1921, 1921, 1921, 1921, 1921, - 1922, 0, 1922, 0, 0, 1922, 1922, 0, 0, 0, - 1922, 0, 0, 0, 1922, 1922, 1922, 1922, 1922, 1923, - 0, 1923, 0, 0, 1923, 1923, 0, 0, 0, 1923, - 0, 0, 0, 1923, 1923, 1923, 1923, 1923, 1924, 0, - 1924, 0, 0, 1924, 1924, 0, 0, 0, 1924, 0, - 0, 0, 1924, 1924, 1924, 1924, 1924, 1925, 0, 1925, - - 0, 0, 1925, 1925, 0, 0, 0, 1925, 1925, 0, - 0, 1925, 1925, 1925, 1925, 1925, 1926, 0, 1926, 0, - 0, 1926, 1926, 0, 0, 0, 1926, 0, 0, 0, - 1926, 1926, 1926, 1926, 1926, 1927, 0, 1927, 0, 0, - 1927, 1927, 0, 0, 0, 1927, 1927, 0, 0, 1927, - 1927, 1927, 1927, 1927, 1928, 0, 1928, 0, 0, 1928, - 1928, 0, 1928, 0, 1928, 1928, 0, 1928, 1928, 1928, - 1928, 1928, 1928, 1929, 0, 1929, 0, 0, 1929, 1929, - 0, 1929, 0, 1929, 1929, 0, 1929, 1929, 1929, 1929, - 1929, 1929, 1930, 0, 1930, 0, 0, 1930, 1930, 0, - - 1930, 0, 1930, 1930, 0, 1930, 1930, 1930, 1930, 1930, - 1930, 1931, 0, 1931, 0, 0, 1931, 1931, 0, 1931, - 0, 1931, 1931, 0, 1931, 1931, 1931, 1931, 1931, 1931, - 1932, 0, 1932, 0, 0, 1932, 1932, 0, 1932, 0, - 1932, 1932, 0, 1932, 1932, 1932, 1932, 1932, 1932, 1933, - 0, 1933, 0, 0, 1933, 1933, 0, 1933, 0, 1933, - 1933, 0, 1933, 1933, 1933, 1933, 1933, 1933, 1934, 0, - 1934, 0, 0, 1934, 1934, 0, 1934, 0, 1934, 1934, - 0, 1934, 1934, 1934, 1934, 1934, 1934, 1935, 0, 1935, - 0, 0, 1935, 1935, 0, 0, 0, 1935, 1935, 0, - - 0, 1935, 1935, 1935, 1935, 1935, 1936, 0, 1936, 0, - 0, 1936, 1936, 0, 0, 0, 1936, 0, 0, 0, - 1936, 1936, 1936, 1936, 1936, 1937, 0, 1937, 0, 0, - 1937, 1937, 0, 0, 1937, 1937, 1937, 0, 1937, 1937, - 0, 1937, 1937, 1937, 1938, 0, 1938, 0, 0, 1938, - 1938, 0, 1938, 1938, 1938, 1938, 0, 1938, 1938, 1938, - 1938, 1938, 1938, 1939, 0, 1939, 0, 0, 1939, 1939, - 0, 1939, 1939, 1939, 1939, 0, 1939, 1939, 1939, 1939, - 1939, 1939, 1940, 0, 1940, 0, 0, 1940, 1940, 0, - 0, 1940, 1940, 0, 0, 0, 1940, 1940, 1940, 1940, - - 1940, 1941, 0, 1941, 0, 0, 1941, 1941, 0, 0, - 1941, 1941, 0, 0, 0, 1941, 1941, 1941, 1941, 1941, - 1942, 0, 1942, 0, 0, 1942, 1942, 0, 0, 1942, - 1942, 0, 0, 0, 1942, 1942, 1942, 1942, 1942, 1943, - 0, 1943, 0, 0, 1943, 1943, 0, 0, 1943, 1943, - 1943, 0, 0, 1943, 1943, 1943, 1943, 1943, 1944, 0, - 1944, 0, 0, 1944, 1944, 0, 0, 1944, 1944, 0, - 0, 0, 1944, 1944, 1944, 1944, 1944, 1945, 0, 1945, - 0, 0, 1945, 1945, 0, 0, 1945, 1945, 1945, 0, - 0, 1945, 1945, 1945, 1945, 1945, 1946, 0, 1946, 0, - - 0, 1946, 1946, 0, 1946, 1946, 1946, 1946, 0, 1946, - 1946, 1946, 1946, 1946, 1946, 1947, 0, 1947, 0, 0, - 1947, 1947, 0, 1947, 1947, 1947, 1947, 0, 1947, 1947, - 1947, 1947, 1947, 1947, 1948, 0, 1948, 0, 0, 1948, - 1948, 0, 1948, 1948, 1948, 1948, 0, 1948, 1948, 1948, - 1948, 1948, 1948, 1949, 0, 1949, 0, 0, 1949, 1949, - 0, 1949, 1949, 1949, 1949, 0, 1949, 1949, 1949, 1949, - 1949, 1949, 1950, 0, 1950, 0, 0, 1950, 1950, 0, - 1950, 1950, 1950, 1950, 0, 1950, 1950, 1950, 1950, 1950, - 1950, 1951, 0, 1951, 0, 0, 1951, 1951, 0, 1951, - - 1951, 1951, 1951, 0, 1951, 1951, 1951, 1951, 1951, 1951, - 1952, 0, 1952, 0, 0, 1952, 1952, 0, 1952, 1952, - 1952, 1952, 0, 1952, 1952, 1952, 1952, 1952, 1952, 1953, - 0, 1953, 0, 0, 1953, 1953, 0, 0, 1953, 1953, - 1953, 0, 0, 1953, 1953, 1953, 1953, 1953, 1954, 0, - 1954, 0, 0, 1954, 1954, 0, 0, 1954, 1954, 0, - 0, 0, 1954, 1954, 1954, 1954, 1954, 1955, 1955, 1955, - 0, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1958, 1958, 0, 1958, 0, 0, 0, 1958, 0, - - 1958, 1958, 1959, 1959, 1959, 1959, 1959, 0, 1959, 1959, - 1959, 1959, 0, 0, 1959, 1959, 0, 0, 1959, 1959, - 1959, 0, 1959, 1959, 0, 1959, 1960, 1960, 1960, 1960, - 1960, 0, 1960, 1960, 1960, 1960, 0, 0, 1960, 1960, - 0, 0, 1960, 1960, 1960, 0, 1960, 0, 0, 1960, - 1961, 1961, 1961, 1961, 1961, 0, 1961, 1961, 1961, 1961, - 0, 0, 1961, 1961, 0, 0, 1961, 1961, 1961, 0, - 1961, 0, 0, 1961, 1962, 1962, 1962, 1962, 1962, 0, - 1962, 1962, 1962, 1962, 0, 0, 1962, 1962, 0, 0, - 1962, 1962, 1962, 0, 1962, 0, 0, 1962, 1963, 1963, - - 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, - 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, - 1963, 1963, 1964, 0, 1964, 0, 0, 1964, 1964, 1964, - 1964, 0, 1964, 1964, 0, 1964, 1964, 1964, 1964, 1964, - 1964, 1965, 0, 1965, 0, 0, 1965, 1965, 0, 0, - 0, 1965, 1965, 0, 0, 1965, 1965, 1965, 1965, 1965, - 1966, 0, 1966, 0, 0, 1966, 1966, 0, 1966, 0, - 1966, 1966, 0, 1966, 1966, 1966, 1966, 1966, 1966, 1967, - 0, 1967, 0, 0, 1967, 1967, 0, 1967, 0, 1967, - 1967, 0, 1967, 1967, 1967, 1967, 1967, 1967, 1968, 0, - - 1968, 0, 0, 1968, 1968, 0, 1968, 0, 1968, 1968, - 0, 1968, 1968, 1968, 1968, 1968, 1968, 1969, 0, 1969, - 0, 0, 1969, 1969, 0, 1969, 0, 1969, 1969, 0, - 1969, 1969, 1969, 1969, 1969, 1969, 1970, 0, 1970, 0, - 0, 1970, 1970, 0, 1970, 0, 1970, 1970, 0, 1970, - 1970, 1970, 1970, 1970, 1970, 1971, 0, 1971, 0, 0, - 1971, 1971, 0, 1971, 0, 1971, 1971, 0, 1971, 1971, - 1971, 1971, 1971, 1971, 1972, 0, 1972, 0, 0, 1972, - 1972, 0, 1972, 0, 1972, 1972, 0, 1972, 1972, 1972, - 1972, 1972, 1972, 1973, 0, 1973, 0, 0, 1973, 1973, - - 0, 0, 0, 1973, 1973, 0, 0, 1973, 1973, 1973, - 1973, 1973, 1974, 0, 1974, 0, 0, 1974, 1974, 0, - 0, 0, 1974, 0, 0, 0, 1974, 1974, 1974, 1974, - 1974, 1975, 0, 1975, 0, 0, 1975, 1975, 0, 0, - 0, 1975, 0, 0, 0, 1975, 1975, 1975, 1975, 1975, - 1976, 0, 1976, 0, 0, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 0, 1976, 1976, 1976, 1976, 1976, 1976, 1977, - 0, 1977, 0, 0, 1977, 1977, 0, 0, 1977, 1977, - 1977, 0, 0, 1977, 1977, 1977, 1977, 1977, 1978, 0, - 1978, 0, 0, 1978, 1978, 0, 1978, 1978, 1978, 1978, - - 0, 1978, 1978, 1978, 1978, 1978, 1978, 1979, 0, 1979, - 0, 0, 1979, 1979, 0, 1979, 1979, 1979, 1979, 0, - 1979, 1979, 1979, 1979, 1979, 1979, 1980, 0, 1980, 0, - 0, 1980, 1980, 0, 1980, 1980, 1980, 1980, 0, 1980, - 1980, 1980, 1980, 1980, 1980, 1981, 0, 1981, 0, 0, - 1981, 1981, 0, 1981, 1981, 1981, 1981, 0, 1981, 1981, - 1981, 1981, 1981, 1981, 1982, 0, 1982, 0, 0, 1982, - 1982, 0, 1982, 1982, 1982, 1982, 0, 1982, 1982, 1982, - 1982, 1982, 1982, 1983, 0, 1983, 0, 0, 1983, 1983, - 0, 1983, 1983, 1983, 1983, 0, 1983, 1983, 1983, 1983, - - 1983, 1983, 1984, 0, 1984, 0, 0, 1984, 1984, 0, - 1984, 1984, 1984, 1984, 0, 1984, 1984, 1984, 1984, 1984, - 1984, 1985, 0, 1985, 0, 0, 1985, 1985, 0, 0, - 1985, 1985, 1985, 0, 0, 1985, 1985, 1985, 1985, 1985, - 1986, 0, 1986, 0, 0, 1986, 1986, 0, 0, 1986, - 1986, 0, 0, 0, 1986, 1986, 1986, 1986, 1986, 1987, - 0, 1987, 0, 0, 1987, 1987, 0, 0, 1987, 1987, - 0, 0, 0, 1987, 1987, 1987, 1987, 1987, 1988, 1988, - 1988, 1988, 1988, 0, 1988, 1988, 1988, 1988, 0, 0, - 1988, 1988, 0, 0, 1988, 1988, 1988, 0, 1988, 0, - - 0, 1988, 1989, 1989, 1989, 1989, 1989, 0, 1989, 1989, - 1989, 1989, 0, 0, 1989, 1989, 0, 0, 1989, 1989, - 1989, 0, 1989, 0, 0, 1989, 1990, 1990, 1990, 1990, - 1990, 0, 1990, 1990, 1990, 1990, 0, 0, 1990, 1990, - 0, 0, 1990, 1990, 1990, 0, 1990, 0, 0, 1990, - 1991, 0, 1991, 0, 0, 1991, 1991, 0, 0, 1991, - 1991, 1991, 0, 0, 1991, 1991, 1991, 1991, 1991, 1992, - 0, 1992, 0, 0, 0, 1992, 0, 1992, 1992, 1993, - 0, 1993, 0, 0, 1993, 1993, 0, 1993, 0, 1993, - 1993, 0, 1993, 1993, 1993, 1993, 1993, 1993, 1994, 0, + 1770, 1770, 1770, 1770, 1771, 1771, 1771, 1771, 1771, 1771, + 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, + 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1772, 0, + 1772, 0, 0, 1772, 1772, 0, 1772, 0, 1772, 1772, + 0, 1772, 1772, 1772, 1772, 1772, 1772, 1773, 0, 1773, + + 0, 0, 1773, 1773, 0, 1773, 0, 1773, 1773, 0, + 1773, 1773, 1773, 1773, 1773, 1773, 1774, 0, 1774, 0, + 0, 1774, 1774, 0, 0, 0, 1774, 1774, 0, 0, + 1774, 0, 1774, 1774, 1774, 1775, 0, 1775, 0, 0, + 1775, 1775, 0, 1775, 1775, 1775, 1775, 0, 1775, 1775, + 1775, 1775, 1775, 1775, 1776, 0, 1776, 0, 0, 1776, + 1776, 0, 1776, 1776, 1776, 1776, 0, 1776, 1776, 1776, + 1776, 1776, 1776, 1777, 0, 1777, 0, 0, 1777, 1777, + 0, 0, 1777, 1777, 1777, 0, 0, 1777, 0, 1777, + 1777, 1777, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, + + 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, + 1778, 1778, 1778, 1778, 1778, 1778, 1779, 0, 0, 0, + 1779, 0, 1779, 1779, 1780, 1780, 1780, 0, 1780, 1780, + 0, 0, 1780, 0, 0, 1780, 1780, 1780, 1780, 1780, + 1781, 0, 0, 0, 0, 1781, 0, 1781, 1781, 0, + 0, 1781, 0, 1781, 1781, 1781, 0, 1781, 1781, 1781, + 0, 1781, 1781, 1781, 1782, 1782, 0, 1782, 1782, 1782, + 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, + 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1783, 1783, + 0, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, + + 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, + 1783, 1783, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, + 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, + 1784, 1784, 1784, 1784, 1784, 1784, 1786, 0, 1786, 0, + 0, 1786, 1786, 0, 0, 1786, 1786, 1786, 0, 0, + 1786, 1786, 1786, 1786, 1786, 1787, 1787, 0, 1787, 0, + 0, 0, 1787, 0, 1787, 1787, 1788, 1788, 0, 0, + 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, + 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, + 1790, 0, 1790, 0, 0, 1790, 1790, 0, 1790, 0, + + 1790, 1790, 0, 1790, 1790, 1790, 1790, 1790, 1790, 1791, + 0, 1791, 0, 0, 1791, 1791, 0, 1791, 0, 1791, + 1791, 0, 1791, 1791, 1791, 1791, 1791, 1791, 1792, 0, + 1792, 0, 0, 1792, 1792, 0, 1792, 0, 1792, 1792, + 0, 1792, 1792, 1792, 1792, 1792, 1792, 1793, 0, 1793, + 0, 0, 1793, 1793, 0, 0, 0, 1793, 1793, 0, + 0, 1793, 0, 1793, 1793, 1793, 1794, 0, 1794, 0, + 0, 1794, 1794, 0, 1794, 0, 1794, 1794, 0, 1794, + 1794, 1794, 1794, 1794, 1794, 1795, 0, 1795, 0, 0, + 1795, 1795, 1795, 1795, 0, 1795, 1795, 0, 1795, 1795, + + 0, 1795, 1795, 1795, 1796, 0, 1796, 0, 0, 1796, + 1796, 0, 1796, 0, 1796, 1796, 0, 1796, 1796, 1796, + 1796, 1796, 1796, 1797, 0, 1797, 0, 0, 1797, 1797, + 0, 1797, 0, 1797, 1797, 0, 1797, 1797, 1797, 1797, + 1797, 1797, 1798, 0, 1798, 0, 0, 1798, 1798, 0, + 0, 0, 1798, 0, 0, 0, 1798, 1798, 1798, 1798, + 1798, 1799, 0, 1799, 0, 0, 1799, 1799, 0, 1799, + 0, 1799, 1799, 0, 1799, 1799, 1799, 1799, 1799, 1799, + 1800, 0, 1800, 0, 0, 1800, 1800, 0, 1800, 1800, + 1800, 1800, 0, 1800, 1800, 1800, 1800, 1800, 1800, 1801, + + 0, 1801, 0, 0, 1801, 1801, 0, 1801, 1801, 1801, + 1801, 0, 1801, 1801, 1801, 1801, 1801, 1801, 1802, 0, + 1802, 0, 0, 1802, 1802, 0, 1802, 1802, 1802, 1802, + 0, 1802, 1802, 1802, 1802, 1802, 1802, 1803, 0, 1803, + 0, 0, 1803, 1803, 0, 0, 1803, 1803, 1803, 0, + 0, 1803, 0, 1803, 1803, 1803, 1804, 0, 1804, 0, + 0, 1804, 1804, 0, 1804, 1804, 1804, 1804, 0, 1804, + 1804, 1804, 1804, 1804, 1804, 1805, 0, 1805, 0, 0, + 1805, 1805, 1805, 1805, 1805, 1805, 1805, 0, 1805, 1805, + 0, 1805, 1805, 1805, 1806, 0, 1806, 0, 0, 1806, + + 1806, 0, 1806, 1806, 1806, 1806, 0, 1806, 1806, 1806, + 1806, 1806, 1806, 1807, 0, 1807, 0, 0, 1807, 1807, + 0, 1807, 1807, 1807, 1807, 0, 1807, 1807, 1807, 1807, + 1807, 1807, 1808, 0, 1808, 0, 0, 1808, 1808, 0, + 0, 1808, 1808, 0, 0, 0, 1808, 1808, 1808, 1808, + 1808, 1809, 0, 1809, 0, 0, 1809, 1809, 0, 1809, + 1809, 1809, 1809, 0, 1809, 1809, 1809, 1809, 1809, 1809, + 1812, 0, 0, 0, 1812, 0, 1812, 1812, 1813, 0, + 0, 0, 1813, 0, 1813, 1813, 1815, 1815, 1815, 1815, + 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 0, + + 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, + 1816, 1816, 0, 1816, 0, 0, 0, 1816, 0, 1816, + 1816, 1817, 0, 0, 0, 0, 1817, 0, 1817, 1817, + 0, 0, 1817, 0, 1817, 1817, 1817, 0, 1817, 1817, + 1817, 0, 1817, 1817, 1817, 1819, 1819, 0, 1819, 1819, + 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, + 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1820, + 1820, 0, 0, 0, 1820, 1820, 1820, 1820, 1820, 1820, + 1820, 1820, 1820, 1820, 1820, 1820, 1820, 0, 1820, 1820, + 1820, 1820, 1820, 1821, 1821, 1821, 1821, 1821, 1821, 1821, + + 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, + 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1822, 0, 0, + 0, 1822, 0, 1822, 1822, 1823, 0, 0, 1823, 0, + 0, 0, 1823, 0, 1823, 1823, 1825, 0, 1825, 0, + 0, 1825, 1825, 0, 0, 1825, 1825, 1825, 0, 0, + 1825, 1825, 1825, 1825, 1825, 1826, 0, 1826, 0, 0, + 0, 1826, 0, 1826, 1826, 1828, 0, 1828, 0, 0, + 1828, 1828, 0, 0, 0, 1828, 1828, 0, 1828, 1828, + 0, 1828, 1828, 1828, 1829, 0, 1829, 0, 0, 1829, + 1829, 0, 1829, 0, 1829, 1829, 0, 1829, 1829, 1829, + + 1829, 1829, 1829, 1830, 0, 1830, 0, 0, 1830, 1830, + 0, 1830, 0, 1830, 1830, 0, 1830, 1830, 1830, 1830, + 1830, 1830, 1831, 0, 1831, 0, 0, 1831, 1831, 0, + 1831, 0, 1831, 1831, 0, 1831, 1831, 1831, 1831, 1831, + 1831, 1832, 0, 1832, 0, 0, 1832, 1832, 0, 1832, + 0, 1832, 1832, 0, 1832, 1832, 1832, 1832, 1832, 1832, + 1833, 0, 1833, 0, 0, 1833, 1833, 0, 0, 0, + 1833, 1833, 0, 0, 1833, 1833, 1833, 1833, 1833, 1834, + 0, 1834, 0, 0, 1834, 1834, 0, 0, 0, 1834, + 0, 0, 0, 1834, 1834, 1834, 1834, 1834, 1835, 0, + + 1835, 0, 0, 1835, 1835, 0, 1835, 0, 1835, 1835, + 0, 1835, 1835, 1835, 1835, 1835, 1835, 1836, 0, 1836, + 0, 0, 1836, 1836, 0, 1836, 0, 1836, 1836, 0, + 1836, 1836, 1836, 1836, 1836, 1836, 1837, 0, 1837, 0, + 0, 1837, 1837, 0, 0, 0, 1837, 1837, 0, 0, + 1837, 1837, 1837, 1837, 1837, 1838, 0, 1838, 0, 0, + 1838, 1838, 1838, 1838, 0, 1838, 1838, 0, 1838, 1838, + 1838, 1838, 1838, 1838, 1839, 0, 1839, 0, 0, 1839, + 1839, 0, 0, 0, 1839, 0, 0, 0, 1839, 1839, + 1839, 1839, 1839, 1840, 0, 1840, 0, 0, 1840, 1840, + + 0, 0, 0, 1840, 1840, 0, 0, 1840, 0, 1840, + 1840, 1840, 1841, 0, 1841, 0, 0, 1841, 1841, 0, + 1841, 0, 1841, 1841, 0, 1841, 1841, 1841, 1841, 1841, + 1841, 1842, 0, 1842, 0, 0, 1842, 1842, 0, 1842, + 0, 1842, 1842, 0, 1842, 1842, 1842, 1842, 1842, 1842, + 1843, 0, 1843, 0, 0, 1843, 1843, 0, 0, 0, + 1843, 0, 0, 0, 1843, 1843, 1843, 1843, 1843, 1844, + 0, 1844, 0, 0, 1844, 1844, 0, 0, 0, 1844, + 0, 0, 0, 1844, 1844, 1844, 1844, 1844, 1845, 0, + 1845, 0, 0, 1845, 1845, 0, 1845, 0, 1845, 1845, + + 0, 1845, 1845, 1845, 1845, 1845, 1845, 1846, 0, 1846, + 0, 0, 1846, 1846, 0, 1846, 0, 1846, 1846, 0, + 1846, 1846, 1846, 1846, 1846, 1846, 1847, 0, 1847, 0, + 0, 1847, 1847, 0, 0, 1847, 1847, 1847, 0, 1847, + 1847, 0, 1847, 1847, 1847, 1848, 0, 1848, 0, 0, + 1848, 1848, 0, 1848, 1848, 1848, 1848, 0, 1848, 1848, + 1848, 1848, 1848, 1848, 1849, 0, 1849, 0, 0, 1849, + 1849, 0, 1849, 1849, 1849, 1849, 0, 1849, 1849, 1849, + 1849, 1849, 1849, 1850, 0, 1850, 0, 0, 1850, 1850, + 0, 1850, 1850, 1850, 1850, 0, 1850, 1850, 1850, 1850, + + 1850, 1850, 1851, 0, 1851, 0, 0, 1851, 1851, 0, + 1851, 1851, 1851, 1851, 0, 1851, 1851, 1851, 1851, 1851, + 1851, 1852, 0, 1852, 0, 0, 1852, 1852, 0, 0, + 1852, 1852, 1852, 0, 0, 1852, 1852, 1852, 1852, 1852, + 1853, 0, 1853, 0, 0, 1853, 1853, 0, 0, 1853, + 1853, 0, 0, 0, 1853, 1853, 1853, 1853, 1853, 1854, + 0, 1854, 0, 0, 1854, 1854, 0, 1854, 1854, 1854, + 1854, 0, 1854, 1854, 1854, 1854, 1854, 1854, 1855, 0, + 1855, 0, 0, 1855, 1855, 0, 1855, 1855, 1855, 1855, + 0, 1855, 1855, 1855, 1855, 1855, 1855, 1856, 0, 1856, + + 0, 0, 1856, 1856, 0, 0, 1856, 1856, 1856, 0, + 0, 1856, 1856, 1856, 1856, 1856, 1857, 0, 1857, 0, + 0, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 0, 1857, + 1857, 1857, 1857, 1857, 1857, 1858, 0, 1858, 0, 0, + 1858, 1858, 0, 0, 1858, 1858, 0, 0, 0, 1858, + 1858, 1858, 1858, 1858, 1859, 0, 1859, 0, 0, 1859, + 1859, 0, 0, 1859, 1859, 1859, 0, 0, 1859, 0, + 1859, 1859, 1859, 1860, 0, 1860, 0, 0, 1860, 1860, + 0, 1860, 1860, 1860, 1860, 0, 1860, 1860, 1860, 1860, + 1860, 1860, 1861, 0, 1861, 0, 0, 1861, 1861, 0, + + 1861, 1861, 1861, 1861, 0, 1861, 1861, 1861, 1861, 1861, + 1861, 1862, 0, 1862, 0, 0, 1862, 1862, 0, 0, + 1862, 1862, 0, 0, 0, 1862, 1862, 1862, 1862, 1862, + 1863, 0, 1863, 0, 0, 1863, 1863, 0, 0, 1863, + 1863, 0, 0, 0, 1863, 1863, 1863, 1863, 1863, 1864, + 0, 1864, 0, 0, 1864, 1864, 0, 1864, 1864, 1864, + 1864, 0, 1864, 1864, 1864, 1864, 1864, 1864, 1865, 0, + 1865, 0, 0, 1865, 1865, 0, 1865, 1865, 1865, 1865, + 0, 1865, 1865, 1865, 1865, 1865, 1865, 1869, 0, 0, + 1869, 0, 0, 0, 1869, 0, 1869, 1869, 1871, 1871, + + 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, + 1871, 0, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, + 1871, 1871, 1872, 0, 0, 0, 0, 1872, 0, 1872, + 1872, 0, 0, 1872, 0, 1872, 1872, 1872, 0, 1872, + 1872, 1872, 0, 1872, 1872, 1872, 1875, 1875, 0, 1875, + 0, 0, 0, 1875, 0, 1875, 1875, 1877, 1877, 1877, + 1877, 1877, 0, 1877, 1877, 1877, 1877, 0, 0, 1877, + 1877, 0, 0, 1877, 1877, 1877, 0, 1877, 0, 0, + 1877, 1878, 0, 0, 1878, 1878, 0, 1878, 0, 0, + 1878, 1878, 0, 0, 1878, 1878, 1878, 0, 0, 1878, + + 1878, 1878, 1878, 1878, 1879, 0, 1879, 0, 0, 0, + 1879, 0, 1879, 1879, 1880, 0, 1880, 0, 0, 1880, + 1880, 1880, 1880, 0, 1880, 1880, 0, 1880, 1880, 1880, + 1880, 1880, 1880, 1881, 0, 1881, 0, 0, 1881, 1881, + 0, 0, 0, 1881, 1881, 0, 0, 1881, 1881, 1881, + 1881, 1881, 1882, 0, 1882, 0, 0, 1882, 1882, 0, + 1882, 0, 1882, 1882, 0, 1882, 1882, 0, 1882, 1882, + 1882, 1883, 0, 1883, 0, 0, 1883, 1883, 0, 1883, + 0, 1883, 1883, 0, 1883, 1883, 1883, 1883, 1883, 1883, + 1884, 0, 1884, 0, 0, 1884, 1884, 0, 1884, 0, + + 1884, 1884, 0, 1884, 1884, 1884, 1884, 1884, 1884, 1885, + 0, 1885, 0, 0, 1885, 1885, 0, 1885, 0, 1885, + 1885, 0, 1885, 1885, 1885, 1885, 1885, 1885, 1886, 0, + 1886, 0, 0, 1886, 1886, 0, 0, 0, 1886, 1886, + 0, 0, 1886, 1886, 1886, 1886, 1886, 1887, 0, 1887, + 0, 0, 1887, 1887, 0, 0, 0, 1887, 0, 0, + 0, 1887, 1887, 1887, 1887, 1887, 1888, 0, 1888, 0, + 0, 1888, 1888, 0, 0, 0, 1888, 0, 0, 0, + 1888, 1888, 1888, 1888, 1888, 1889, 0, 1889, 0, 0, + 1889, 1889, 0, 1889, 0, 1889, 1889, 0, 1889, 1889, + + 1889, 1889, 1889, 1889, 1890, 0, 1890, 0, 0, 1890, + 1890, 0, 0, 0, 1890, 0, 0, 0, 1890, 1890, + 1890, 1890, 1890, 1891, 0, 1891, 0, 0, 1891, 1891, + 0, 0, 0, 1891, 0, 0, 0, 1891, 1891, 1891, + 1891, 1891, 1892, 0, 1892, 0, 0, 1892, 1892, 0, + 0, 0, 1892, 0, 0, 0, 1892, 1892, 1892, 1892, + 1892, 1893, 0, 1893, 0, 0, 1893, 1893, 0, 0, + 0, 1893, 0, 0, 0, 1893, 1893, 1893, 1893, 1893, + 1894, 0, 1894, 0, 0, 1894, 1894, 0, 0, 0, + 1894, 1894, 0, 0, 1894, 1894, 1894, 1894, 1894, 1895, + + 0, 1895, 0, 0, 1895, 1895, 0, 1895, 0, 1895, + 1895, 0, 1895, 1895, 1895, 1895, 1895, 1895, 1896, 0, + 1896, 0, 0, 1896, 1896, 0, 1896, 0, 1896, 1896, + 0, 1896, 1896, 1896, 1896, 1896, 1896, 1897, 0, 1897, + 0, 0, 1897, 1897, 0, 1897, 0, 1897, 1897, 0, + 1897, 1897, 1897, 1897, 1897, 1897, 1898, 0, 1898, 0, + 0, 1898, 1898, 0, 1898, 0, 1898, 1898, 0, 1898, + 1898, 1898, 1898, 1898, 1898, 1899, 0, 1899, 0, 0, + 1899, 1899, 0, 0, 0, 1899, 1899, 0, 0, 1899, + 0, 1899, 1899, 1899, 1900, 0, 1900, 0, 0, 1900, + + 1900, 0, 0, 0, 1900, 0, 0, 0, 1900, 1900, + 1900, 1900, 1900, 1901, 0, 1901, 0, 0, 1901, 1901, + 0, 1901, 0, 1901, 1901, 0, 1901, 1901, 1901, 1901, + 1901, 1901, 1902, 0, 1902, 0, 0, 1902, 1902, 1902, + 1902, 1902, 1902, 1902, 0, 1902, 1902, 1902, 1902, 1902, + 1902, 1903, 0, 1903, 0, 0, 1903, 1903, 0, 0, + 1903, 1903, 1903, 0, 0, 1903, 1903, 1903, 1903, 1903, + 1904, 0, 1904, 0, 0, 1904, 1904, 0, 1904, 1904, + 1904, 1904, 0, 1904, 1904, 0, 1904, 1904, 1904, 1905, + 0, 1905, 0, 0, 1905, 1905, 0, 1905, 1905, 1905, + + 1905, 0, 1905, 1905, 1905, 1905, 1905, 1905, 1906, 0, + 1906, 0, 0, 1906, 1906, 0, 1906, 1906, 1906, 1906, + 0, 1906, 1906, 1906, 1906, 1906, 1906, 1907, 0, 1907, + 0, 0, 1907, 1907, 0, 1907, 1907, 1907, 1907, 0, + 1907, 1907, 1907, 1907, 1907, 1907, 1908, 0, 1908, 0, + 0, 1908, 1908, 0, 0, 1908, 1908, 1908, 0, 0, + 1908, 1908, 1908, 1908, 1908, 1909, 0, 1909, 0, 0, + 1909, 1909, 0, 0, 1909, 1909, 0, 0, 0, 1909, + 1909, 1909, 1909, 1909, 1910, 0, 1910, 0, 0, 1910, + 1910, 0, 0, 1910, 1910, 0, 0, 0, 1910, 1910, + + 1910, 1910, 1910, 1911, 0, 1911, 0, 0, 1911, 1911, + 0, 1911, 1911, 1911, 1911, 0, 1911, 1911, 1911, 1911, + 1911, 1911, 1912, 0, 1912, 0, 0, 1912, 1912, 0, + 0, 1912, 1912, 0, 0, 0, 1912, 1912, 1912, 1912, + 1912, 1913, 0, 1913, 0, 0, 1913, 1913, 0, 0, + 1913, 1913, 0, 0, 0, 1913, 1913, 1913, 1913, 1913, + 1914, 0, 1914, 0, 0, 1914, 1914, 0, 0, 1914, + 1914, 0, 0, 0, 1914, 1914, 1914, 1914, 1914, 1915, + 0, 1915, 0, 0, 1915, 1915, 0, 0, 1915, 1915, + 0, 0, 0, 1915, 1915, 1915, 1915, 1915, 1916, 0, + + 1916, 0, 0, 1916, 1916, 0, 0, 1916, 1916, 1916, + 0, 0, 1916, 1916, 1916, 1916, 1916, 1917, 0, 1917, + 0, 0, 1917, 1917, 0, 1917, 1917, 1917, 1917, 0, + 1917, 1917, 1917, 1917, 1917, 1917, 1918, 0, 1918, 0, + 0, 1918, 1918, 0, 1918, 1918, 1918, 1918, 0, 1918, + 1918, 1918, 1918, 1918, 1918, 1919, 0, 1919, 0, 0, + 1919, 1919, 0, 1919, 1919, 1919, 1919, 0, 1919, 1919, + 1919, 1919, 1919, 1919, 1920, 0, 1920, 0, 0, 1920, + 1920, 0, 1920, 1920, 1920, 1920, 0, 1920, 1920, 1920, + 1920, 1920, 1920, 1921, 0, 1921, 0, 0, 1921, 1921, + + 0, 0, 1921, 1921, 1921, 0, 0, 1921, 0, 1921, + 1921, 1921, 1922, 0, 1922, 0, 0, 1922, 1922, 0, + 0, 1922, 1922, 0, 0, 0, 1922, 1922, 1922, 1922, + 1922, 1923, 0, 1923, 0, 0, 1923, 1923, 0, 1923, + 1923, 1923, 1923, 0, 1923, 1923, 1923, 1923, 1923, 1923, + 1925, 0, 0, 1925, 0, 0, 0, 1925, 0, 1925, + 1925, 1926, 0, 0, 0, 0, 1926, 0, 1926, 1926, + 0, 0, 1926, 0, 1926, 1926, 1926, 0, 1926, 1926, + 1926, 0, 1926, 1926, 1926, 1929, 0, 0, 0, 1929, + 0, 1929, 1929, 1930, 1930, 1930, 1930, 1930, 0, 1930, + + 1930, 1930, 1930, 0, 0, 1930, 1930, 0, 0, 1930, + 1930, 1930, 0, 1930, 0, 1930, 1930, 1931, 1931, 1931, + 1931, 1931, 0, 1931, 1931, 1931, 1931, 0, 0, 1931, + 1931, 0, 0, 1931, 1931, 1931, 0, 1931, 1931, 0, + 1931, 1932, 0, 1932, 0, 0, 1932, 1932, 0, 0, + 1932, 1932, 1932, 0, 0, 1932, 1932, 1932, 1932, 1932, + 1933, 0, 1933, 0, 0, 1933, 1933, 0, 0, 0, + 1933, 1933, 0, 1933, 1933, 0, 1933, 1933, 1933, 1934, + 0, 1934, 0, 0, 1934, 1934, 0, 1934, 0, 1934, + 1934, 0, 1934, 1934, 1934, 1934, 1934, 1934, 1935, 0, + + 1935, 0, 0, 1935, 1935, 0, 1935, 0, 1935, 1935, + 0, 1935, 1935, 1935, 1935, 1935, 1935, 1936, 0, 1936, + 0, 0, 1936, 1936, 0, 0, 0, 1936, 0, 0, + 0, 1936, 1936, 1936, 1936, 1936, 1937, 0, 1937, 0, + 0, 1937, 1937, 0, 0, 0, 1937, 0, 0, 0, + 1937, 1937, 1937, 1937, 1937, 1938, 0, 1938, 0, 0, + 1938, 1938, 0, 0, 0, 1938, 0, 0, 0, 1938, + 1938, 1938, 1938, 1938, 1939, 0, 1939, 0, 0, 1939, + 1939, 0, 0, 0, 1939, 1939, 0, 0, 1939, 1939, + 1939, 1939, 1939, 1940, 0, 1940, 0, 0, 1940, 1940, + + 0, 0, 0, 1940, 0, 0, 0, 1940, 1940, 1940, + 1940, 1940, 1941, 0, 1941, 0, 0, 1941, 1941, 0, + 0, 0, 1941, 1941, 0, 0, 1941, 1941, 1941, 1941, + 1941, 1942, 0, 1942, 0, 0, 1942, 1942, 0, 1942, + 0, 1942, 1942, 0, 1942, 1942, 1942, 1942, 1942, 1942, + 1943, 0, 1943, 0, 0, 1943, 1943, 0, 1943, 0, + 1943, 1943, 0, 1943, 1943, 1943, 1943, 1943, 1943, 1944, + 0, 1944, 0, 0, 1944, 1944, 0, 1944, 0, 1944, + 1944, 0, 1944, 1944, 1944, 1944, 1944, 1944, 1945, 0, + 1945, 0, 0, 1945, 1945, 0, 1945, 0, 1945, 1945, + + 0, 1945, 1945, 1945, 1945, 1945, 1945, 1946, 0, 1946, + 0, 0, 1946, 1946, 0, 1946, 0, 1946, 1946, 0, + 1946, 1946, 1946, 1946, 1946, 1946, 1947, 0, 1947, 0, + 0, 1947, 1947, 0, 1947, 0, 1947, 1947, 0, 1947, + 1947, 1947, 1947, 1947, 1947, 1948, 0, 1948, 0, 0, + 1948, 1948, 0, 1948, 0, 1948, 1948, 0, 1948, 1948, + 1948, 1948, 1948, 1948, 1949, 0, 1949, 0, 0, 1949, + 1949, 0, 0, 0, 1949, 1949, 0, 0, 1949, 1949, + 1949, 1949, 1949, 1950, 0, 1950, 0, 0, 1950, 1950, + 0, 0, 0, 1950, 0, 0, 0, 1950, 1950, 1950, + + 1950, 1950, 1951, 0, 1951, 0, 0, 1951, 1951, 0, + 0, 1951, 1951, 1951, 0, 1951, 1951, 0, 1951, 1951, + 1951, 1952, 0, 1952, 0, 0, 1952, 1952, 0, 1952, + 1952, 1952, 1952, 0, 1952, 1952, 1952, 1952, 1952, 1952, + 1953, 0, 1953, 0, 0, 1953, 1953, 0, 1953, 1953, + 1953, 1953, 0, 1953, 1953, 1953, 1953, 1953, 1953, 1954, + 0, 1954, 0, 0, 1954, 1954, 0, 0, 1954, 1954, + 0, 0, 0, 1954, 1954, 1954, 1954, 1954, 1955, 0, + 1955, 0, 0, 1955, 1955, 0, 0, 1955, 1955, 0, + 0, 0, 1955, 1955, 1955, 1955, 1955, 1956, 0, 1956, + + 0, 0, 1956, 1956, 0, 0, 1956, 1956, 0, 0, + 0, 1956, 1956, 1956, 1956, 1956, 1957, 0, 1957, 0, + 0, 1957, 1957, 0, 0, 1957, 1957, 1957, 0, 0, + 1957, 1957, 1957, 1957, 1957, 1958, 0, 1958, 0, 0, + 1958, 1958, 0, 0, 1958, 1958, 0, 0, 0, 1958, + 1958, 1958, 1958, 1958, 1959, 0, 1959, 0, 0, 1959, + 1959, 0, 0, 1959, 1959, 1959, 0, 0, 1959, 1959, + 1959, 1959, 1959, 1960, 0, 1960, 0, 0, 1960, 1960, + 0, 1960, 1960, 1960, 1960, 0, 1960, 1960, 1960, 1960, + 1960, 1960, 1961, 0, 1961, 0, 0, 1961, 1961, 0, + + 1961, 1961, 1961, 1961, 0, 1961, 1961, 1961, 1961, 1961, + 1961, 1962, 0, 1962, 0, 0, 1962, 1962, 0, 1962, + 1962, 1962, 1962, 0, 1962, 1962, 1962, 1962, 1962, 1962, + 1963, 0, 1963, 0, 0, 1963, 1963, 0, 1963, 1963, + 1963, 1963, 0, 1963, 1963, 1963, 1963, 1963, 1963, 1964, + 0, 1964, 0, 0, 1964, 1964, 0, 1964, 1964, 1964, + 1964, 0, 1964, 1964, 1964, 1964, 1964, 1964, 1965, 0, + 1965, 0, 0, 1965, 1965, 0, 1965, 1965, 1965, 1965, + 0, 1965, 1965, 1965, 1965, 1965, 1965, 1966, 0, 1966, + 0, 0, 1966, 1966, 0, 1966, 1966, 1966, 1966, 0, + + 1966, 1966, 1966, 1966, 1966, 1966, 1967, 0, 1967, 0, + 0, 1967, 1967, 0, 0, 1967, 1967, 1967, 0, 0, + 1967, 1967, 1967, 1967, 1967, 1968, 0, 1968, 0, 0, + 1968, 1968, 0, 0, 1968, 1968, 0, 0, 0, 1968, + 1968, 1968, 1968, 1968, 1969, 1969, 1969, 0, 1969, 1969, + 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, + 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1972, 1972, + 0, 1972, 0, 0, 0, 1972, 0, 1972, 1972, 1973, + 1973, 1973, 1973, 1973, 0, 1973, 1973, 1973, 1973, 0, + 0, 1973, 1973, 0, 0, 1973, 1973, 1973, 0, 1973, + + 1973, 0, 1973, 1974, 1974, 1974, 1974, 1974, 0, 1974, + 1974, 1974, 1974, 0, 0, 1974, 1974, 0, 0, 1974, + 1974, 1974, 0, 1974, 0, 0, 1974, 1975, 1975, 1975, + 1975, 1975, 0, 1975, 1975, 1975, 1975, 0, 0, 1975, + 1975, 0, 0, 1975, 1975, 1975, 0, 1975, 0, 0, + 1975, 1976, 1976, 1976, 1976, 1976, 0, 1976, 1976, 1976, + 1976, 0, 0, 1976, 1976, 0, 0, 1976, 1976, 1976, + 0, 1976, 0, 0, 1976, 1977, 1977, 1977, 1977, 1977, + 0, 1977, 1977, 1977, 1977, 0, 0, 1977, 1977, 0, + 0, 1977, 1977, 1977, 0, 1977, 0, 0, 1977, 1978, + + 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, + 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, + 1978, 1978, 1978, 1979, 0, 1979, 0, 0, 1979, 1979, + 1979, 1979, 0, 1979, 1979, 0, 1979, 1979, 1979, 1979, + 1979, 1979, 1980, 0, 1980, 0, 0, 1980, 1980, 0, + 0, 0, 1980, 1980, 0, 0, 1980, 1980, 1980, 1980, + 1980, 1981, 0, 1981, 0, 0, 1981, 1981, 0, 1981, + 0, 1981, 1981, 0, 1981, 1981, 1981, 1981, 1981, 1981, + 1982, 0, 1982, 0, 0, 1982, 1982, 0, 1982, 0, + 1982, 1982, 0, 1982, 1982, 1982, 1982, 1982, 1982, 1983, + + 0, 1983, 0, 0, 1983, 1983, 0, 1983, 0, 1983, + 1983, 0, 1983, 1983, 1983, 1983, 1983, 1983, 1984, 0, + 1984, 0, 0, 1984, 1984, 0, 1984, 0, 1984, 1984, + 0, 1984, 1984, 1984, 1984, 1984, 1984, 1985, 0, 1985, + 0, 0, 1985, 1985, 0, 1985, 0, 1985, 1985, 0, + 1985, 1985, 1985, 1985, 1985, 1985, 1986, 0, 1986, 0, + 0, 1986, 1986, 0, 1986, 0, 1986, 1986, 0, 1986, + 1986, 1986, 1986, 1986, 1986, 1987, 0, 1987, 0, 0, + 1987, 1987, 0, 1987, 0, 1987, 1987, 0, 1987, 1987, + 1987, 1987, 1987, 1987, 1988, 0, 1988, 0, 0, 1988, + + 1988, 0, 0, 0, 1988, 1988, 0, 0, 1988, 1988, + 1988, 1988, 1988, 1989, 0, 1989, 0, 0, 1989, 1989, + 0, 0, 0, 1989, 0, 0, 0, 1989, 1989, 1989, + 1989, 1989, 1990, 0, 1990, 0, 0, 1990, 1990, 0, + 0, 0, 1990, 0, 0, 0, 1990, 1990, 1990, 1990, + 1990, 1991, 0, 1991, 0, 0, 1991, 1991, 1991, 1991, + 1991, 1991, 1991, 0, 1991, 1991, 1991, 1991, 1991, 1991, + 1992, 0, 1992, 0, 0, 1992, 1992, 0, 0, 1992, + 1992, 1992, 0, 0, 1992, 1992, 1992, 1992, 1992, 1993, + 0, 1993, 0, 0, 1993, 1993, 0, 1993, 1993, 1993, - 1994, 0, 0, 1994, 1994, 0, 1994, 0, 1994, 1994, + 1993, 0, 1993, 1993, 1993, 1993, 1993, 1993, 1994, 0, + 1994, 0, 0, 1994, 1994, 0, 1994, 1994, 1994, 1994, 0, 1994, 1994, 1994, 1994, 1994, 1994, 1995, 0, 1995, - 0, 0, 1995, 1995, 0, 1995, 0, 1995, 1995, 0, + 0, 0, 1995, 1995, 0, 1995, 1995, 1995, 1995, 0, 1995, 1995, 1995, 1995, 1995, 1995, 1996, 0, 1996, 0, - 0, 1996, 1996, 0, 1996, 0, 1996, 1996, 0, 1996, + 0, 1996, 1996, 0, 1996, 1996, 1996, 1996, 0, 1996, 1996, 1996, 1996, 1996, 1996, 1997, 0, 1997, 0, 0, - 1997, 1997, 0, 0, 0, 1997, 0, 0, 0, 1997, + 1997, 1997, 0, 1997, 1997, 1997, 1997, 0, 1997, 1997, 1997, 1997, 1997, 1997, 1998, 0, 1998, 0, 0, 1998, 1998, 0, 1998, 1998, 1998, 1998, 0, 1998, 1998, 1998, - 1998, 1998, 1998, 1999, 0, 1999, 0, 0, 1999, 1999, + 1998, 1998, 1998, 1999, 0, 1999, 0, 0, 1999, 1999, 0, 1999, 1999, 1999, 1999, 0, 1999, 1999, 1999, 1999, 1999, 1999, 2000, 0, 2000, 0, 0, 2000, 2000, 0, - 2000, 2000, 2000, 2000, 0, 2000, 2000, 2000, 2000, 2000, - 2000, 2001, 0, 2001, 0, 0, 2001, 2001, 0, 2001, - 2001, 2001, 2001, 0, 2001, 2001, 2001, 2001, 2001, 2001, - 2002, 2002, 2002, 2002, 2002, 0, 2002, 2002, 2002, 2002, - 0, 0, 2002, 2002, 0, 0, 2002, 2002, 2002, 0, - 2002, 0, 0, 2002, 2003, 2003, 2003, 2003, 2003, 0, - 2003, 2003, 2003, 2003, 0, 0, 2003, 2003, 0, 0, - 2003, 2003, 2003, 0, 2003, 0, 0, 2003, 2004, 2004, - - 2004, 2004, 2004, 0, 2004, 2004, 2004, 2004, 0, 0, - 2004, 2004, 0, 0, 2004, 2004, 2004, 0, 2004, 0, - 0, 2004, 2005, 2005, 2005, 2005, 2005, 0, 2005, 2005, - 2005, 2005, 0, 0, 2005, 2005, 0, 0, 2005, 2005, - 2005, 0, 2005, 0, 0, 2005, 2006, 2006, 2006, 2006, - 2006, 0, 2006, 2006, 2006, 2006, 0, 0, 2006, 2006, - 0, 0, 2006, 2006, 2006, 0, 2006, 0, 0, 2006, - 2007, 2007, 2007, 2007, 2007, 0, 2007, 2007, 2007, 2007, - 0, 0, 2007, 2007, 0, 0, 2007, 2007, 2007, 0, - 2007, 0, 0, 2007, 2008, 2008, 2008, 2008, 2008, 0, - - 2008, 2008, 2008, 2008, 0, 0, 2008, 2008, 0, 0, - 2008, 2008, 2008, 0, 2008, 0, 0, 2008, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, - 1747, 1747, 1747, 1747 + 0, 2000, 2000, 2000, 0, 0, 2000, 2000, 2000, 2000, + 2000, 2001, 0, 2001, 0, 0, 2001, 2001, 0, 0, + 2001, 2001, 0, 0, 0, 2001, 2001, 2001, 2001, 2001, + 2002, 0, 2002, 0, 0, 2002, 2002, 0, 0, 2002, + 2002, 0, 0, 0, 2002, 2002, 2002, 2002, 2002, 2003, + 2003, 2003, 2003, 2003, 0, 2003, 2003, 2003, 2003, 0, + 0, 2003, 2003, 0, 0, 2003, 2003, 2003, 0, 2003, + + 0, 0, 2003, 2004, 2004, 2004, 2004, 2004, 0, 2004, + 2004, 2004, 2004, 0, 0, 2004, 2004, 0, 0, 2004, + 2004, 2004, 0, 2004, 0, 0, 2004, 2005, 2005, 2005, + 2005, 2005, 0, 2005, 2005, 2005, 2005, 0, 0, 2005, + 2005, 0, 0, 2005, 2005, 2005, 0, 2005, 0, 0, + 2005, 2006, 0, 2006, 0, 0, 2006, 2006, 0, 0, + 2006, 2006, 2006, 0, 0, 2006, 2006, 2006, 2006, 2006, + 2007, 0, 2007, 0, 0, 0, 2007, 0, 2007, 2007, + 2008, 0, 2008, 0, 0, 2008, 2008, 0, 2008, 0, + 2008, 2008, 0, 2008, 2008, 2008, 2008, 2008, 2008, 2009, + + 0, 2009, 0, 0, 2009, 2009, 0, 2009, 0, 2009, + 2009, 0, 2009, 2009, 2009, 2009, 2009, 2009, 2010, 0, + 2010, 0, 0, 2010, 2010, 0, 2010, 0, 2010, 2010, + 0, 2010, 2010, 2010, 2010, 2010, 2010, 2011, 0, 2011, + 0, 0, 2011, 2011, 0, 2011, 0, 2011, 2011, 0, + 2011, 2011, 2011, 2011, 2011, 2011, 2012, 0, 2012, 0, + 0, 2012, 2012, 0, 0, 0, 2012, 0, 0, 0, + 2012, 2012, 2012, 2012, 2012, 2013, 0, 2013, 0, 0, + 2013, 2013, 0, 2013, 2013, 2013, 2013, 0, 2013, 2013, + 2013, 2013, 2013, 2013, 2014, 0, 2014, 0, 0, 2014, + + 2014, 0, 2014, 2014, 2014, 2014, 0, 2014, 2014, 2014, + 2014, 2014, 2014, 2015, 0, 2015, 0, 0, 2015, 2015, + 0, 2015, 2015, 2015, 2015, 0, 2015, 2015, 2015, 2015, + 2015, 2015, 2016, 0, 2016, 0, 0, 2016, 2016, 0, + 2016, 2016, 2016, 2016, 0, 2016, 2016, 2016, 2016, 2016, + 2016, 2017, 2017, 2017, 2017, 2017, 0, 2017, 2017, 2017, + 2017, 0, 0, 2017, 2017, 0, 0, 2017, 2017, 2017, + 0, 2017, 0, 0, 2017, 2018, 2018, 2018, 2018, 2018, + 0, 2018, 2018, 2018, 2018, 0, 0, 2018, 2018, 0, + 0, 2018, 2018, 2018, 0, 2018, 0, 0, 2018, 2019, + + 2019, 2019, 2019, 2019, 0, 2019, 2019, 2019, 2019, 0, + 0, 2019, 2019, 0, 0, 2019, 2019, 2019, 0, 2019, + 0, 0, 2019, 2020, 2020, 2020, 2020, 2020, 0, 2020, + 2020, 2020, 2020, 0, 0, 2020, 2020, 0, 0, 2020, + 2020, 2020, 0, 2020, 0, 0, 2020, 2021, 2021, 2021, + 2021, 2021, 0, 2021, 2021, 2021, 2021, 0, 0, 2021, + 2021, 0, 0, 2021, 2021, 2021, 0, 2021, 0, 0, + 2021, 2022, 2022, 2022, 2022, 2022, 0, 2022, 2022, 2022, + 2022, 0, 0, 2022, 2022, 0, 0, 2022, 2022, 2022, + 0, 2022, 0, 0, 2022, 2023, 2023, 2023, 2023, 2023, + + 0, 2023, 2023, 2023, 2023, 0, 0, 2023, 2023, 0, + 0, 2023, 2023, 2023, 0, 2023, 0, 0, 2023, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761 } ; @@ -4447,10 +4475,10 @@ static char *remove_char(char *str, int c) return str; } -#line 4451 "lex.yy.c" +#line 4479 "lex.yy.c" #define YY_NO_INPUT 1 -#line 4454 "lex.yy.c" +#line 4482 "lex.yy.c" #define INITIAL 0 #define SPECIAL 1 @@ -4766,7 +4794,7 @@ YY_DECL #line 325 "parser.l" -#line 4770 "lex.yy.c" +#line 4798 "lex.yy.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -4793,14 +4821,14 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1748 ) + if ( yy_current_state >= 1762 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; *yyg->yy_state_ptr++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 1747 ); + while ( yy_current_state != 1761 ); yy_find_action: yy_current_state = *--yyg->yy_state_ptr; @@ -5284,52 +5312,52 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 604 "parser.l" { - return directive_tok(yyg, REP, NESTED); + return directive_tok(yyg, PUSH, NESTED); } YY_BREAK case 43: +/* rule 43 can match eol */ +*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ +YY_LINENO_REWIND_TO(yy_cp - 1); +yyg->yy_c_buf_p = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 608 "parser.l" { - return directive_tok(yyg, SINGLE, 0); + return directive_tok(yyg, REP, NESTED); } YY_BREAK case 44: YY_RULE_SETUP #line 612 "parser.l" { - return directive_tok(yyg, FIRST, 0); + return directive_tok(yyg, SINGLE, 0); } YY_BREAK case 45: -/* rule 45 can match eol */ -*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ -YY_LINENO_REWIND_TO(yy_cp - 1); -yyg->yy_c_buf_p = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 616 "parser.l" { - return directive_tok(yyg, LAST, NESTED); + return directive_tok(yyg, FIRST, 0); } YY_BREAK case 46: +/* rule 46 can match eol */ +*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ +YY_LINENO_REWIND_TO(yy_cp - 1); +yyg->yy_c_buf_p = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 620 "parser.l" { - return directive_tok(yyg, EMPTY, 0); + return directive_tok(yyg, LAST, NESTED); } YY_BREAK case 47: -/* rule 47 can match eol */ -*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ -YY_LINENO_REWIND_TO(yy_cp - 1); -yyg->yy_c_buf_p = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 624 "parser.l" { - return directive_tok(yyg, MOD, NESTED); + return directive_tok(yyg, EMPTY, 0); } YY_BREAK case 48: @@ -5341,7 +5369,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 628 "parser.l" { - return directive_tok(yyg, MODLAST, NESTED); + return directive_tok(yyg, MOD, NESTED); } YY_BREAK case 49: @@ -5353,111 +5381,123 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 632 "parser.l" { - return directive_tok(yyg, DEFINE, NESTED); + return directive_tok(yyg, MODLAST, NESTED); } YY_BREAK case 50: +/* rule 50 can match eol */ +*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ +YY_LINENO_REWIND_TO(yy_cp - 1); +yyg->yy_c_buf_p = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 636 "parser.l" { - return directive_tok(yyg, TRY, 0); + return directive_tok(yyg, DEFINE, NESTED); } YY_BREAK case 51: -/* rule 51 can match eol */ +YY_RULE_SETUP +#line 640 "parser.l" +{ + return directive_tok(yyg, TRY, 0); +} + YY_BREAK +case 52: +/* rule 52 can match eol */ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ YY_LINENO_REWIND_TO(yy_cp - 1); yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 640 "parser.l" +#line 644 "parser.l" { return directive_tok(yyg, CATCH, NESTED); } YY_BREAK -case 52: +case 53: YY_RULE_SETUP -#line 644 "parser.l" +#line 648 "parser.l" { return directive_tok(yyg, FINALLY, 0); } YY_BREAK -case 53: -/* rule 53 can match eol */ +case 54: +/* rule 54 can match eol */ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ YY_LINENO_REWIND_TO(yy_cp - 1); yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 648 "parser.l" +#line 652 "parser.l" { return directive_tok(yyg, IF, NESTED); } YY_BREAK -case 54: -/* rule 54 can match eol */ +case 55: +/* rule 55 can match eol */ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ YY_LINENO_REWIND_TO(yy_cp - 1); yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 652 "parser.l" +#line 656 "parser.l" { return directive_tok(yyg, ELIF, NESTED); } YY_BREAK -case 55: +case 56: YY_RULE_SETUP -#line 656 "parser.l" +#line 660 "parser.l" { return directive_tok(yyg, ELSE, 0); } YY_BREAK -case 56: +case 57: YY_RULE_SETUP -#line 660 "parser.l" +#line 664 "parser.l" { yy_push_state(BRACED, yyscanner); yylval->lineno = yyextra->lineno; return yytext[0]; } YY_BREAK -case 57: +case 58: YY_RULE_SETUP -#line 666 "parser.l" +#line 670 "parser.l" { yy_push_state(NESTED, yyscanner); yylval->lineno = yyextra->lineno; return yytext[0]; } YY_BREAK -case 58: +case 59: YY_RULE_SETUP -#line 672 "parser.l" +#line 676 "parser.l" { yylval->lineno = yyextra->lineno; return (opt_compat && opt_compat <= 248) ? OLD_AT : '@'; } YY_BREAK -case 59: +case 60: YY_RULE_SETUP -#line 677 "parser.l" +#line 681 "parser.l" { yylval->chr = '*'; return SPLICE; } YY_BREAK -case 60: +case 61: YY_RULE_SETUP -#line 682 "parser.l" +#line 686 "parser.l" { yylval->chr = yytext[0]; return yytext[0]; } YY_BREAK -case 61: +case 62: YY_RULE_SETUP -#line 687 "parser.l" +#line 691 "parser.l" { yy_pop_state(yyscanner); if (yy_top_state(yyscanner) == INITIAL @@ -5467,12 +5507,12 @@ YY_RULE_SETUP return yytext[0]; } YY_BREAK -case 62: +case 63: *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ yyg->yy_c_buf_p = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 696 "parser.l" +#line 700 "parser.l" { yyerrorf(yyg, lit("cramped floating-point literal: " "space or 0 needed between ~a and dot."), @@ -5487,9 +5527,9 @@ YY_RULE_SETUP return yytext[0]; } YY_BREAK -case 63: +case 64: YY_RULE_SETUP -#line 711 "parser.l" +#line 715 "parser.l" { yy_pop_state(yyscanner); if (yy_top_state(yyscanner) == INITIAL @@ -5499,268 +5539,268 @@ YY_RULE_SETUP return yytext[0]; } YY_BREAK -case 64: +case 65: YY_RULE_SETUP -#line 720 "parser.l" +#line 724 "parser.l" { /* Eat whitespace in directive */ } YY_BREAK -case 65: +case 66: YY_RULE_SETUP -#line 724 "parser.l" +#line 728 "parser.l" { yy_push_state(STRLIT, yyscanner); return '"'; } YY_BREAK -case 66: +case 67: YY_RULE_SETUP -#line 729 "parser.l" +#line 733 "parser.l" { yy_push_state(CHRLIT, yyscanner); yylval->lineno = yyextra->lineno; return HASH_BACKSLASH; } YY_BREAK -case 67: +case 68: YY_RULE_SETUP -#line 735 "parser.l" +#line 739 "parser.l" { yy_push_state(BUFLIT, yyscanner); yylval->lineno = yyextra->lineno; return HASH_B_QUOTE; } YY_BREAK -case 68: +case 69: YY_RULE_SETUP -#line 741 "parser.l" +#line 745 "parser.l" { yy_push_state(REGEX, yyscanner); yylval->lineno = yyextra->lineno; return HASH_SLASH; } YY_BREAK -case 69: +case 70: YY_RULE_SETUP -#line 747 "parser.l" +#line 751 "parser.l" { yy_push_state(QSILIT, yyscanner); return '`'; } YY_BREAK -case 70: +case 71: YY_RULE_SETUP -#line 752 "parser.l" +#line 756 "parser.l" { yy_push_state(WLIT, yyscanner); yylval->lineno = yyextra->lineno; return WORDS; } YY_BREAK -case 71: +case 72: YY_RULE_SETUP -#line 758 "parser.l" +#line 762 "parser.l" { yy_push_state(WLIT, yyscanner); yylval->lineno = yyextra->lineno; return WSPLICE; } YY_BREAK -case 72: +case 73: YY_RULE_SETUP -#line 764 "parser.l" +#line 768 "parser.l" { yy_push_state(QWLIT, yyscanner); yylval->lineno = yyextra->lineno; return QWORDS; } YY_BREAK -case 73: +case 74: YY_RULE_SETUP -#line 770 "parser.l" +#line 774 "parser.l" { yy_push_state(QWLIT, yyscanner); yylval->lineno = yyextra->lineno; return QWSPLICE; } YY_BREAK -case 74: +case 75: YY_RULE_SETUP -#line 776 "parser.l" +#line 780 "parser.l" { return '#'; } YY_BREAK -case 75: +case 76: YY_RULE_SETUP -#line 780 "parser.l" +#line 784 "parser.l" { yylval->lineno = yyextra->lineno; return HASH_H; } YY_BREAK -case 76: +case 77: YY_RULE_SETUP -#line 785 "parser.l" +#line 789 "parser.l" { yylval->lineno = yyextra->lineno; return HASH_S; } YY_BREAK -case 77: +case 78: YY_RULE_SETUP -#line 790 "parser.l" +#line 794 "parser.l" { yylval->lineno = yyextra->lineno; return HASH_R; } YY_BREAK -case 78: +case 79: YY_RULE_SETUP -#line 795 "parser.l" +#line 799 "parser.l" { yylval->lineno = yyextra->lineno; return HASH_N; } YY_BREAK -case 79: +case 80: YY_RULE_SETUP -#line 800 "parser.l" +#line 804 "parser.l" { yylval->lineno = yyextra->lineno; return HASH_T; } YY_BREAK -case 80: +case 81: YY_RULE_SETUP -#line 805 "parser.l" +#line 809 "parser.l" { yylval->lineno = yyextra->lineno; yy_push_state(JSON, yyscanner); return HASH_J; } YY_BREAK -case 81: +case 82: YY_RULE_SETUP -#line 811 "parser.l" +#line 815 "parser.l" { yylval->lineno = yyextra->lineno; return HASH_SEMI; } YY_BREAK -case 82: +case 83: YY_RULE_SETUP -#line 816 "parser.l" +#line 820 "parser.l" { val str = string_own(utf8_dup_from(yytext + 1)); yylval->val = int_str(str, num(10)); return HASH_N_EQUALS; } YY_BREAK -case 83: +case 84: YY_RULE_SETUP -#line 822 "parser.l" +#line 826 "parser.l" { val str = string_own(utf8_dup_from(yytext + 1)); yylval->val = int_str(str, num(10)); return HASH_N_HASH; } YY_BREAK -case 84: +case 85: YY_RULE_SETUP -#line 828 "parser.l" +#line 832 "parser.l" { yylval->lineno = yyextra->lineno; return (opt_compat && opt_compat <= 185) ? OLD_DOTDOT : DOTDOT; } YY_BREAK -case 85: +case 86: YY_RULE_SETUP -#line 833 "parser.l" +#line 837 "parser.l" { yy_pop_state(yyscanner); yylval->lexeme = chk_strdup(L"@"); return TEXT; } YY_BREAK -case 86: -/* rule 86 can match eol */ +case 87: +/* rule 87 can match eol */ YY_RULE_SETUP -#line 839 "parser.l" +#line 843 "parser.l" { yyextra->lineno++; } YY_BREAK -case 87: +case 88: YY_RULE_SETUP -#line 843 "parser.l" +#line 847 "parser.l" { yy_push_state(REGEX, yyscanner); return '/'; } YY_BREAK -case 88: +case 89: YY_RULE_SETUP -#line 848 "parser.l" +#line 852 "parser.l" { yylval->chr = '.'; return CONSDOT; } YY_BREAK -case 89: +case 90: YY_RULE_SETUP -#line 853 "parser.l" +#line 857 "parser.l" { yylval->chr = '.'; return LAMBDOT; } YY_BREAK -case 90: +case 91: YY_RULE_SETUP -#line 858 "parser.l" +#line 862 "parser.l" { yylval->chr = '.'; return UREFDOT; } YY_BREAK -case 91: +case 92: YY_RULE_SETUP -#line 863 "parser.l" +#line 867 "parser.l" { yylval->chr = '.'; return '.'; } YY_BREAK -case 92: +case 93: YY_RULE_SETUP -#line 868 "parser.l" +#line 872 "parser.l" { yylval->chr = '.'; return OREFDOT; } YY_BREAK -case 93: +case 94: YY_RULE_SETUP -#line 873 "parser.l" +#line 877 "parser.l" { yylval->chr = '.'; return UOREFDOT; } YY_BREAK -case 94: -/* rule 94 can match eol */ +case 95: +/* rule 95 can match eol */ YY_RULE_SETUP -#line 878 "parser.l" +#line 882 "parser.l" { if (YYSTATE == SPECIAL) yy_pop_state(yyscanner); /* @\ continuation */ yyextra->lineno++; } YY_BREAK -case 95: +case 96: YY_RULE_SETUP -#line 884 "parser.l" +#line 888 "parser.l" { wchar_t lexeme[2]; lexeme[0] = char_esc(yytext[1]); @@ -5770,9 +5810,9 @@ YY_RULE_SETUP return TEXT; } YY_BREAK -case 96: +case 97: YY_RULE_SETUP -#line 893 "parser.l" +#line 897 "parser.l" { wchar_t lexeme[2]; lexeme[0] = num_esc(yyg, yytext + 1); @@ -5789,30 +5829,30 @@ YY_RULE_SETUP return TEXT; } YY_BREAK -case 97: +case 98: YY_RULE_SETUP -#line 909 "parser.l" +#line 913 "parser.l" { yyerrorf(yyg, lit("\\x escape without digits"), nao); } YY_BREAK -case 98: +case 99: YY_RULE_SETUP -#line 913 "parser.l" +#line 917 "parser.l" { yyerrorf(yyg, lit("unrecognized escape \\~a"), chr(yytext[1]), nao); } YY_BREAK -case 99: +case 100: YY_RULE_SETUP -#line 917 "parser.l" +#line 921 "parser.l" { /* comment */ } YY_BREAK -case 100: +case 101: YY_RULE_SETUP -#line 921 "parser.l" +#line 925 "parser.l" { val ch = chr_str(string_utf8(yytext), zero); if (chr_isspace(ch)) @@ -5830,94 +5870,94 @@ YY_RULE_SETUP return ERRTOK; } YY_BREAK -case 101: +case 102: YY_RULE_SETUP -#line 938 "parser.l" +#line 942 "parser.l" { yyerrprepf(yyg, lit("non-UTF-8 byte #x~02x in directive"), num(convert(unsigned char, yytext[0])), nao); return ERRTOK; } YY_BREAK -case 102: +case 103: YY_RULE_SETUP -#line 944 "parser.l" +#line 948 "parser.l" { yylval->chr = '/'; return (YYSTATE == SREGEX) ? REGCHAR : '/'; } YY_BREAK -case 103: +case 104: YY_RULE_SETUP -#line 949 "parser.l" +#line 953 "parser.l" { yylval->chr = char_esc(yytext[1]); return REGCHAR; } YY_BREAK -case 104: +case 105: YY_RULE_SETUP -#line 954 "parser.l" +#line 958 "parser.l" { yylval->chr = num_esc(yyg, yytext + 1); return REGCHAR; } YY_BREAK -case 105: +case 106: YY_RULE_SETUP -#line 959 "parser.l" +#line 963 "parser.l" { yylval->chr = yytext[1]; return REGTOKEN; } YY_BREAK -case 106: -/* rule 106 can match eol */ +case 107: +/* rule 107 can match eol */ YY_RULE_SETUP -#line 964 "parser.l" +#line 968 "parser.l" { yyextra->lineno++; } YY_BREAK -case 107: -/* rule 107 can match eol */ +case 108: +/* rule 108 can match eol */ YY_RULE_SETUP -#line 968 "parser.l" +#line 972 "parser.l" { yyextra->lineno++; yyerrprepf(yyg, lit("newline in regex"), nao); return ERRTOK; } YY_BREAK -case 108: -/* rule 108 can match eol */ +case 109: +/* rule 109 can match eol */ YY_RULE_SETUP -#line 974 "parser.l" +#line 978 "parser.l" { yyextra->lineno++; yylval->chr = yytext[0]; return REGCHAR; } YY_BREAK -case 109: +case 110: YY_RULE_SETUP -#line 980 "parser.l" +#line 984 "parser.l" { yylval->chr = yytext[0]; return yytext[0]; } YY_BREAK -case 110: +case 111: YY_RULE_SETUP -#line 985 "parser.l" +#line 989 "parser.l" { yylval->chr = yytext[1]; return REGCHAR; } YY_BREAK -case 111: +case 112: YY_RULE_SETUP -#line 990 "parser.l" +#line 994 "parser.l" { if (opt_compat && opt_compat <= 105) { yylval->chr = yytext[1]; @@ -5931,17 +5971,17 @@ YY_RULE_SETUP return ERRTOK; } YY_BREAK -case 112: +case 113: YY_RULE_SETUP -#line 1003 "parser.l" +#line 1007 "parser.l" { yyerrprepf(yyg, lit("dangling backslash in regex"), nao); return ERRTOK; } YY_BREAK -case 113: +case 114: YY_RULE_SETUP -#line 1008 "parser.l" +#line 1012 "parser.l" { wchar_t wchr[8]; if (utf8_from_buf(wchr, coerce(unsigned char *, yytext), yyleng) != 2) { @@ -5952,114 +5992,114 @@ YY_RULE_SETUP return REGCHAR; } YY_BREAK -case 114: +case 115: YY_RULE_SETUP -#line 1018 "parser.l" +#line 1022 "parser.l" { yylval->chr = convert(unsigned char, yytext[0]) + 0xDC00; return REGCHAR; } YY_BREAK -case 115: +case 116: YY_RULE_SETUP -#line 1023 "parser.l" +#line 1027 "parser.l" { yylval->lexeme = utf8_dup_from(yytext); return SPACE; } YY_BREAK -case 116: +case 117: YY_RULE_SETUP -#line 1028 "parser.l" +#line 1032 "parser.l" { yylval->lexeme = utf8_dup_from(yytext); return TEXT; } YY_BREAK -case 117: -/* rule 117 can match eol */ +case 118: +/* rule 118 can match eol */ YY_RULE_SETUP -#line 1033 "parser.l" +#line 1037 "parser.l" { yyextra->lineno++; return '\n'; } YY_BREAK -case 118: +case 119: YY_RULE_SETUP -#line 1038 "parser.l" +#line 1042 "parser.l" { yy_push_state(SPECIAL, yyscanner); return '*'; } YY_BREAK -case 119: +case 120: YY_RULE_SETUP -#line 1043 "parser.l" +#line 1047 "parser.l" { yy_push_state(SPECIAL, yyscanner); } YY_BREAK -case 120: -/* rule 120 can match eol */ +case 121: +/* rule 121 can match eol */ YY_RULE_SETUP -#line 1047 "parser.l" +#line 1051 "parser.l" { /* eat whole line comment */ yyextra->lineno++; } YY_BREAK -case 121: +case 122: YY_RULE_SETUP -#line 1052 "parser.l" +#line 1056 "parser.l" { /* comment to end of line */ } YY_BREAK -case 122: +case 123: YY_RULE_SETUP -#line 1056 "parser.l" +#line 1060 "parser.l" { yy_pop_state(yyscanner); return yytext[0]; } YY_BREAK -case 123: +case 124: YY_RULE_SETUP -#line 1061 "parser.l" +#line 1065 "parser.l" { yy_pop_state(yyscanner); return yytext[0]; } YY_BREAK -case 124: +case 125: YY_RULE_SETUP -#line 1066 "parser.l" +#line 1070 "parser.l" { yylval->chr = char_esc(yytext[1]); return LITCHAR; } YY_BREAK -case 125: +case 126: YY_RULE_SETUP -#line 1071 "parser.l" +#line 1075 "parser.l" { yylval->chr = char_esc(yytext[1]); return LITCHAR; } YY_BREAK -case 126: -/* rule 126 can match eol */ +case 127: +/* rule 127 can match eol */ YY_RULE_SETUP -#line 1076 "parser.l" +#line 1080 "parser.l" { yyextra->lineno++; } YY_BREAK -case 127: -/* rule 127 can match eol */ +case 128: +/* rule 128 can match eol */ YY_RULE_SETUP -#line 1080 "parser.l" +#line 1084 "parser.l" { yyextra->lineno++; @@ -6067,56 +6107,56 @@ YY_RULE_SETUP return ' '; } YY_BREAK -case 128: +case 129: YY_RULE_SETUP -#line 1088 "parser.l" +#line 1092 "parser.l" { yylval->chr = num_esc(yyg, yytext+1); return LITCHAR; } YY_BREAK -case 129: +case 130: YY_RULE_SETUP -#line 1093 "parser.l" +#line 1097 "parser.l" { yyerrorf(yyg, lit("\\x escape without digits"), nao); } YY_BREAK -case 130: +case 131: YY_RULE_SETUP -#line 1097 "parser.l" +#line 1101 "parser.l" { yyerrorf(yyg, lit("unrecognized escape: \\~a"), chr(yytext[1]), nao); } YY_BREAK -case 131: +case 132: YY_RULE_SETUP -#line 1101 "parser.l" +#line 1105 "parser.l" { yylval->chr = num_esc(yyg, yytext); return LITCHAR; } YY_BREAK -case 132: +case 133: YY_RULE_SETUP -#line 1106 "parser.l" +#line 1110 "parser.l" { yylval->lexeme = utf8_dup_from(yytext); return SYMTOK; } YY_BREAK -case 133: +case 134: YY_RULE_SETUP -#line 1111 "parser.l" +#line 1115 "parser.l" { yylval->lexeme = utf8_dup_from(yytext); return SYMTOK; /* hack */ } YY_BREAK -case 134: -/* rule 134 can match eol */ +case 135: +/* rule 135 can match eol */ YY_RULE_SETUP -#line 1116 "parser.l" +#line 1120 "parser.l" { yyerrprepf(yyg, lit("newline in string literal"), nao); yyextra->lineno++; @@ -6124,10 +6164,10 @@ YY_RULE_SETUP return ERRTOK; } YY_BREAK -case 135: -/* rule 135 can match eol */ +case 136: +/* rule 136 can match eol */ YY_RULE_SETUP -#line 1123 "parser.l" +#line 1127 "parser.l" { yyerrprepf(yyg, lit("newline in character literal"), nao); yyextra->lineno++; @@ -6135,10 +6175,10 @@ YY_RULE_SETUP return ERRTOK; } YY_BREAK -case 136: -/* rule 136 can match eol */ +case 137: +/* rule 137 can match eol */ YY_RULE_SETUP -#line 1130 "parser.l" +#line 1134 "parser.l" { yyerrprepf(yyg, lit("newline in string quasiliteral"), nao); yyextra->lineno++; @@ -6146,10 +6186,10 @@ YY_RULE_SETUP return ERRTOK; } YY_BREAK -case 137: -/* rule 137 can match eol */ +case 138: +/* rule 138 can match eol */ YY_RULE_SETUP -#line 1137 "parser.l" +#line 1141 "parser.l" { yyextra->lineno++; @@ -6161,51 +6201,51 @@ YY_RULE_SETUP return ERRTOK; } YY_BREAK -case 138: +case 139: *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ yyg->yy_c_buf_p = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1148 "parser.l" +#line 1152 "parser.l" { yy_push_state(QSPECIAL, yyscanner); return yytext[0]; } YY_BREAK -case 139: +case 140: YY_RULE_SETUP -#line 1153 "parser.l" +#line 1157 "parser.l" { yyerrprepf(yyg, lit("malformed @ expression in quasiliteral"), nao); return ERRTOK; } YY_BREAK -case 140: +case 141: YY_RULE_SETUP -#line 1158 "parser.l" +#line 1162 "parser.l" { return ' '; } YY_BREAK -case 141: +case 142: YY_RULE_SETUP -#line 1162 "parser.l" +#line 1166 "parser.l" { yy_pop_state(yyscanner); return yytext[0]; } YY_BREAK -case 142: +case 143: YY_RULE_SETUP -#line 1167 "parser.l" +#line 1171 "parser.l" { yylval->chr = char_esc(yytext[1]); return LITCHAR; } YY_BREAK -case 143: +case 144: YY_RULE_SETUP -#line 1172 "parser.l" +#line 1176 "parser.l" { wchar_t ch0, ch1; yytext[6] = 0; @@ -6215,33 +6255,33 @@ YY_RULE_SETUP return LITCHAR; } YY_BREAK -case 144: +case 145: YY_RULE_SETUP -#line 1181 "parser.l" +#line 1185 "parser.l" { wchar_t ch = num_esc(yyg, yytext + 1); yylval->chr = if3(ch, ch, 0xDC00); return LITCHAR; } YY_BREAK -case 145: +case 146: YY_RULE_SETUP -#line 1187 "parser.l" +#line 1191 "parser.l" { yyerrorf(yyg, lit("JSON \\u escape needs four digits"), nao); } YY_BREAK -case 146: +case 147: YY_RULE_SETUP -#line 1191 "parser.l" +#line 1195 "parser.l" { yyerrorf(yyg, lit("unrecognized JSON escape: \\~a"), chr(yytext[1]), nao); } YY_BREAK -case 147: -/* rule 147 can match eol */ +case 148: +/* rule 148 can match eol */ YY_RULE_SETUP -#line 1195 "parser.l" +#line 1199 "parser.l" { yyerrprepf(yyg, lit("newline in JSON string"), nao); yyextra->lineno++; @@ -6249,9 +6289,9 @@ YY_RULE_SETUP return ERRTOK; } YY_BREAK -case 148: +case 149: YY_RULE_SETUP -#line 1202 "parser.l" +#line 1206 "parser.l" { wchar_t wchr[8]; if (utf8_from_buf(wchr, coerce(unsigned char *, yytext), yyleng) != 2) { @@ -6262,102 +6302,102 @@ YY_RULE_SETUP return LITCHAR; } YY_BREAK -case 149: +case 150: YY_RULE_SETUP -#line 1212 "parser.l" +#line 1216 "parser.l" { yylval->chr = strtol(yytext, 0, 16); return LITCHAR; } YY_BREAK -case 150: +case 151: YY_RULE_SETUP -#line 1217 "parser.l" +#line 1221 "parser.l" { return '\''; } YY_BREAK -case 151: +case 152: YY_RULE_SETUP -#line 1221 "parser.l" +#line 1225 "parser.l" { } YY_BREAK -case 152: -/* rule 152 can match eol */ +case 153: +/* rule 153 can match eol */ YY_RULE_SETUP -#line 1224 "parser.l" +#line 1228 "parser.l" { yyextra->lineno++; } YY_BREAK -case 153: +case 154: YY_RULE_SETUP -#line 1228 "parser.l" +#line 1232 "parser.l" { yyerrorf(yyg, lit("bad character ~s in buffer literal"), chr(yytext[0]), nao); } YY_BREAK -case 154: +case 155: YY_RULE_SETUP -#line 1233 "parser.l" +#line 1237 "parser.l" { yylval->chr = convert(unsigned char, yytext[0]) + 0xDC00; return LITCHAR; } YY_BREAK -case 155: +case 156: YY_RULE_SETUP -#line 1238 "parser.l" +#line 1242 "parser.l" { if ((yylval->val = flo_str_utf8(yytext)) == nil) out_of_range_float(yyg, yytext); return NUMBER; } YY_BREAK -case 156: -/* rule 156 can match eol */ +case 157: +/* rule 157 can match eol */ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ YY_LINENO_REWIND_TO(yy_bp + 4); yyg->yy_c_buf_p = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1244 "parser.l" +#line 1248 "parser.l" { yylval->val = t; return JSKW; } YY_BREAK -case 157: -/* rule 157 can match eol */ +case 158: +/* rule 158 can match eol */ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ YY_LINENO_REWIND_TO(yy_bp + 5); yyg->yy_c_buf_p = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1249 "parser.l" +#line 1253 "parser.l" { yylval->val = nil; return JSKW; } YY_BREAK -case 158: -/* rule 158 can match eol */ +case 159: +/* rule 159 can match eol */ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ YY_LINENO_REWIND_TO(yy_bp + 4); yyg->yy_c_buf_p = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1254 "parser.l" +#line 1258 "parser.l" { yylval->val = null_s; return JSKW; } YY_BREAK -case 159: +case 160: YY_RULE_SETUP -#line 1259 "parser.l" +#line 1263 "parser.l" { if (strcmp("true", yytext) == 0) { yylval->val = t; @@ -6380,74 +6420,74 @@ YY_RULE_SETUP } } YY_BREAK -case 160: +case 161: YY_RULE_SETUP -#line 1281 "parser.l" +#line 1285 "parser.l" { yy_push_state(JLIT, yyscanner); return yytext[0]; } YY_BREAK -case 161: +case 162: YY_RULE_SETUP -#line 1286 "parser.l" +#line 1290 "parser.l" { yy_push_state(JMARKER, yyscanner); yy_push_state(NESTED, yyscanner); return JSPLICE; } YY_BREAK -case 162: +case 163: YY_RULE_SETUP -#line 1292 "parser.l" +#line 1296 "parser.l" { yy_push_state(JMARKER, yyscanner); yy_push_state(NESTED, yyscanner); return yytext[0]; } YY_BREAK -case 163: +case 164: YY_RULE_SETUP -#line 1298 "parser.l" +#line 1302 "parser.l" { return yytext[0]; } YY_BREAK -case 164: -/* rule 164 can match eol */ +case 165: +/* rule 165 can match eol */ YY_RULE_SETUP -#line 1302 "parser.l" +#line 1306 "parser.l" { yyextra->lineno++; } YY_BREAK -case 165: +case 166: YY_RULE_SETUP -#line 1306 "parser.l" +#line 1310 "parser.l" { } YY_BREAK -case 166: +case 167: YY_RULE_SETUP -#line 1309 "parser.l" +#line 1313 "parser.l" { yyerrorf(yyg, lit("bad character ~s in JSON literal"), chr(yytext[0]), nao); } YY_BREAK -case 167: +case 168: YY_RULE_SETUP -#line 1314 "parser.l" +#line 1318 "parser.l" { internal_error("scanner processed input JMARKER state"); } YY_BREAK -case 168: +case 169: YY_RULE_SETUP -#line 1318 "parser.l" +#line 1322 "parser.l" ECHO; YY_BREAK -#line 6451 "lex.yy.c" +#line 6491 "lex.yy.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(SPECIAL): case YY_STATE_EOF(BRACED): @@ -6730,7 +6770,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1748 ) + if ( yy_current_state >= 1762 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -6754,11 +6794,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1748 ) + if ( yy_current_state >= 1762 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1747); + yy_is_jam = (yy_current_state == 1761); if ( ! yy_is_jam ) *yyg->yy_state_ptr++ = yy_current_state; @@ -7660,7 +7700,7 @@ void yyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1318 "parser.l" +#line 1322 "parser.l" static int directive_tok(scanner_t *yyscanner, int tok, int state) @@ -110,7 +110,7 @@ val zeroplus_s, optional_s, compl_s, compound_s; val or_s, and_s, quasi_s, quasilist_s; val skip_s, trailer_s, block_s, next_s, freeform_s, fail_s, accept_s; val all_s, some_s, none_s, maybe_s, cases_s, collect_s, until_s, coll_s; -val define_s, output_s, single_s, first_s, last_s, empty_s; +val define_s, output_s, push_s, single_s, first_s, last_s, empty_s; val repeat_s, rep_s, flatten_s, forget_s; val local_s, merge_s, bind_s, rebind_s, cat_s; val try_s, catch_s, finally_s, throw_s, defex_s, deffilter_s; @@ -13835,6 +13835,7 @@ static void obj_init(void) coll_s = intern(lit("coll"), user_package); define_s = intern(lit("define"), user_package); output_s = intern(lit("output"), user_package); + push_s = intern(lit("push"), user_package); single_s = intern(lit("single"), user_package); first_s = intern(lit("first"), user_package); last_s = intern(lit("last"), user_package); @@ -679,7 +679,7 @@ extern val zeroplus_s, optional_s, compl_s, compound_s; extern val or_s, and_s, quasi_s, quasilist_s; extern val skip_s, trailer_s, block_s, next_s, freeform_s, fail_s, accept_s; extern val all_s, some_s, none_s, maybe_s, cases_s, collect_s, until_s, coll_s; -extern val define_s, output_s, single_s, first_s, last_s, empty_s; +extern val define_s, output_s, push_s, single_s, first_s, last_s, empty_s; extern val repeat_s, rep_s, flatten_s, forget_s; extern val local_s, merge_s, bind_s, rebind_s, cat_s; extern val try_s, catch_s, finally_s, throw_s, defex_s, deffilter_s; @@ -74,7 +74,9 @@ val noval_s; static val h_directive_table, v_directive_table; static val non_matching_directive_table, binding_directive_table; -static val v_next_keys, v_output_keys; +static val v_next_keys; + +val v_output_keys; static void debuglf(val form, val fmt, ...) { @@ -3172,7 +3174,7 @@ static val v_parallel(match_files_ctx *c) val sym = first(first_spec); val all_match = t; val some_match = nil; - val max_line = zero; + val max_line = nil; val max_data = nil; val specs = second(first_spec); val plist = third(first_spec); @@ -3254,7 +3256,7 @@ static val v_parallel(match_files_ctx *c) max_data = t; } else if (consp(success) && max_data != t) { cons_bind (new_data, new_line, success); - if (gt(new_line, max_line)) { + if (max_line == nil || gt(new_line, max_line)) { max_line = new_line; max_data = new_data; } @@ -3737,7 +3739,13 @@ static val v_collect(match_files_ctx *c) if (consp(success)) { cons_bind (new_data, new_line, success); - bug_unless (ge(new_line, c->data_lineno)); + /* The following assertion was in the code for the longest time. + * It doesn't hold because of @(push). + * In h_collect, the corresponding assertion that the + * character position advances is still there. + * + * bug_unless (ge(new_line, c->data_lineno)); + */ if (new_line == c->data_lineno) { new_data = cdr(new_data); @@ -4151,6 +4159,52 @@ out: return ret; } +static val v_push(match_files_ctx *c) +{ + spec_bind (specline, first_spec, c->spec); + val specs = second(first_spec); + val dest_spec = third(first_spec); + val filter = nil; + val alist; + val stream = make_strlist_output_stream(); + + uw_match_env_begin; + + val saved_de = set_dyn_env(make_env(c->bindings, nil, nil)); + + uw_set_match_context(cons(c->spec, c->spec)); + + alist = improper_plist_to_alist(dest_spec, v_output_keys); + + { + val filter_sym = cdr(assoc(filter_k, alist)); + + if (filter_sym) { + filter = get_filter(filter_sym); + + if (!filter) + sem_error(specline, lit("~s specifies unknown filter"), filter_sym, nao); + } + } + + do_output(c->bindings, specs, filter, stream); + + { + val list_out = get_list_from_stream(stream); + val len = length(list_out); + + if (c->data_lineno) + c->data_lineno = minus(c->data_lineno, len); + c->data = append2(list_out, c->data); + + debuglf(specs, lit("prepended ~s lines of output: adjusted lineno is ~s"), + len, c->data_lineno, nao); + } + + set_dyn_env(saved_de); + uw_match_env_end; + return next_spec_k; +} static val v_try(match_files_ctx *c) { spec_bind (specline, first_spec, c->spec); @@ -5246,6 +5300,7 @@ static void dir_tables_init(void) sethash(v_directive_table, set_s, cptr(coerce(mem_t *, v_set))); sethash(v_directive_table, cat_s, cptr(coerce(mem_t *, v_cat))); sethash(v_directive_table, output_s, cptr(coerce(mem_t *, v_output))); + sethash(v_directive_table, push_s, cptr(coerce(mem_t *, v_push))); sethash(v_directive_table, define_s, cptr(coerce(mem_t *, v_define))); sethash(v_directive_table, try_s, cptr(coerce(mem_t *, v_try))); sethash(v_directive_table, defex_s, cptr(coerce(mem_t *, v_defex))); @@ -30,6 +30,10 @@ extern val text_s, choose_s, gather_s, do_s, mdo_s, require_s, in_package_s; extern val close_s, load_s, include_s, mod_s, modlast_s, line_s; extern val else_s, elif_s; extern val counter_k, vars_k, lists_k, env_k, var_k, into_k, named_k, noclose_k; +extern val append_k, continue_k, finish_k; + +extern val v_output_keys; + val match_expand_keyword_args(val elem); val match_expand_elem(val elem); val match_filter(val name, val arg, val other_args); @@ -601,6 +601,10 @@ NJPUNC [^(){},:\[\]"~*^ \t\r\n] return directive_tok(yyg, REPEAT, NESTED); } +<SPECIAL>\({WS}({NT0}?:)?push/{ID_END} { + return directive_tok(yyg, PUSH, NESTED); +} + <SPECIAL>\({WS}({NT0}?:)?rep/{ID_END} { return directive_tok(yyg, REP, NESTED); } @@ -42,6 +42,7 @@ #include "unwind.h" #include "regex.h" #include "match.h" +#include "filter.h" #include "hash.h" #include "struct.h" #include "eval.h" @@ -68,6 +69,7 @@ static val uref_helper(parser_t *, val expr); static val uoref_helper(parser_t *, val expr); static val qref_helper(parser_t *, val lexpr, val rexpr); static val fname_helper(parser_t *, val name); +static val output_helper(parser_t *, val sym, val exprs, val clauses); #if YYBISON union YYSTYPE; @@ -114,7 +116,7 @@ INLINE val expand_form_ver(val form, int ver) %token <lexeme> SPACE TEXT SYMTOK %token <lineno> ALL SOME NONE MAYBE CASES BLOCK CHOOSE GATHER %token <lineno> AND OR END COLLECT -%token <lineno> UNTIL COLL OUTPUT REPEAT REP SINGLE FIRST LAST EMPTY +%token <lineno> UNTIL COLL OUTPUT REPEAT PUSH REP SINGLE FIRST LAST EMPTY %token <lineno> MOD MODLAST DEFINE TRY CATCH FINALLY IF %token <lineno> ERRTOK /* deliberately not used in grammar */ %token <lineno> HASH_BACKSLASH HASH_SLASH DOTDOT HASH_H HASH_S HASH_R HASH_J @@ -135,7 +137,7 @@ INLINE val expand_form_ver(val form, int ver) %type <val> cases_clause choose_clause gather_clause collect_clause until_last %type <val> collect_repeat %type <val> clause_parts additional_parts gather_parts additional_gather_parts -%type <val> output_clause define_clause try_clause catch_clauses_opt +%type <val> output_clause output_push define_clause try_clause catch_clauses_opt %type <val> if_clause elif_clauses_opt else_clause_opt %type <val> line elems_opt elems clause_parts_h additional_parts_h %type <val> text texts elem var var_op modifiers @@ -619,48 +621,45 @@ catch_clauses_opt : CATCH ')' newl ; -output_clause : OUTPUT ')' o_elems '\n' +output_clause : output_push ')' o_elems '\n' out_clauses END newl { $$ = nil; - yyerr("obsolete output syntax: trailing material"); } - | OUTPUT ')' newl - END newl { $$ = rl(list(output_s, nao), num($1)); } - | OUTPUT ')' newl + yyerrorf(scnr, lit("~a: traling material"), + car($1), nao); } + | output_push ')' newl + END newl { $$ = rl(list(car($1), nao), $1); } + | output_push ')' newl out_clauses - END newl { $$ = rl(list(output_s, $4, nao), num($1)); } - | OUTPUT exprs ')' newl + END newl { $$ = rl(list(car($1), $4, nao), $1); } + | output_push exprs ')' newl out_clauses - END newl { cons_bind (dest, rest, $2); - val dest_ex = expand_form_ver(dest, 166); - val args = if3(dest_ex == dest, - $2, cons(dest_ex, rest)); - $$ = list(output_s, $5, args, nao); - rl($$, num($1)); - { val into_var = second(memql(into_k, args)); - val named_var = second(memql(named_k, args)); - match_reg_var(into_var); - match_reg_var(named_var); } } - | OUTPUT exprs ')' o_elems '\n' + END newl { $$ = output_helper(parser, car($1), $2, $5); + rl($$, $1); } + | output_push exprs ')' o_elems '\n' out_clauses END newl { $$ = nil; yyerr("invalid combination of old and " - "new syntax in output directive"); } - | OUTPUT error { $$ = nil; + "new syntax in output directive"); } + | output_push error { $$ = nil; yybadtok(yychar, lit("output directive")); } - | OUTPUT ')' o_elems '\n' + | output_push ')' o_elems '\n' error { $$ = nil; yybadtok(yychar, lit("output clause")); } - | OUTPUT ')' newl + | output_push ')' newl error { $$ = nil; yybadtok(yychar, lit("output clause")); } - | OUTPUT exprs ')' o_elems '\n' + | output_push exprs ')' o_elems '\n' error { $$ = nil; yybadtok(yychar, lit("output clause")); } - | OUTPUT exprs ')' newl + | output_push exprs ')' newl error { $$ = nil; yybadtok(yychar, lit("output clause")); } ; +output_push : OUTPUT { $$ = cons(output_s, num($1)); } + | PUSH { $$ = cons(push_s, num($1)); } + ; + out_clauses : out_clause { $$ = cons($1, nil); } | out_clause out_clauses { $$ = cons($1, $2); } ; @@ -1511,7 +1510,8 @@ not_a_clause : ALL { $$ = mkexp(all_s, nil, num(parser->lineno)); } nil); } | OUTPUT exprs_opt ')' { yyerr("@(output) doesn't nest"); } - + | PUSH + exprs_opt ')' { yyerr("@(push) doesn't nest"); } ; %% @@ -2057,6 +2057,52 @@ static val fname_helper(parser_t *parser, val name) return nil; } +static val output_helper(parser_t *parser, val sym, val exprs, val clauses) +{ + cons_bind (dest, rest, exprs); + + val dest_ex = expand_form_ver(dest, 166); + val args = if3(dest_ex == dest, exprs, cons(dest_ex, rest)); + val args_kw = keywordp(car(args)); + val alist = improper_plist_to_alist(if3(args_kw, args, cdr(args)), + v_output_keys); + + if (!args_kw && sym == push_s) + { + yyerrorf(parser->scanner, lit("~s: doesn't support destination argument"), + sym, nao); + } + + + while (alist) { + val key = car(pop(&alist)); + + if (key == filter_k) + continue; + + if (sym != push_s) { + if (key == nothrow_k || key == append_k || + key == named_k || key == continue_k || + key == finish_k || key == into_k) + { + continue; + } + } + + yyerrorf(parser->scanner, lit("~s: unsupported keyword ~s"), + sym, key, nao); + } + + if (sym != push_s) { + val into_var = second(memql(into_k, args)); + val named_var = second(memql(named_k, args)); + match_reg_var(into_var); + match_reg_var(named_var); + } + + return list(sym, clauses, args, nao); +} + #ifndef YYEOF #define YYEOF 0 #endif diff --git a/stdlib/doc-syms.tl b/stdlib/doc-syms.tl index 89731a67..ac078f80 100644 --- a/stdlib/doc-syms.tl +++ b/stdlib/doc-syms.tl @@ -293,7 +293,7 @@ ("cdddddr" "N-001FA3CB") ("cddr" "N-001FA3CB") ("cdr" "D-007A") - ("ceil" "D-007E") + ("ceil" "D-007F") ("ceil-rem" "N-02DE978F") ("ceil1" "N-02C8FF28") ("chain" "N-00C53CF7") @@ -411,7 +411,7 @@ ("copy-tree-iter" "N-025C3140") ("copy-vec" "N-010E7635") ("cos" "D-0021") - ("cosh" "D-0082") + ("cosh" "D-0083") ("count" "N-00AE0CB6") ("count-if" "N-00AE0CB6") ("count-until-match" "N-00EFD668") @@ -736,7 +736,7 @@ ("file-put" "N-0041C2E5") ("file-put-buf" "N-02AE3A31") ("file-put-json" "D-0029") - ("file-put-jsons" "D-007F") + ("file-put-jsons" "D-0080") ("file-put-lines" "N-0041C2E5") ("file-put-string" "N-0041C2E5") ("fileno" "N-008ACF75") @@ -1144,7 +1144,7 @@ ("listp" "N-03F70343") ("lnew" "N-0230059D") ("lnew*" "N-021E6FDC") - ("load" "D-0083") + ("load" "D-0084") ("load-args-process" "N-03D9382A") ("load-args-recurse" "N-03067356") ("load-for" "N-0020A085") @@ -1528,11 +1528,11 @@ ("ptrdiff-t" "N-01B6F219") ("pure-rel-path-p" "N-019DEA44") ("purge-deferred-warning" "N-0077C4FE") - ("push" "N-01C211C1") + ("push" "D-007D") ("push-after-load" "N-01F489FE") ("pushhash" "N-022660B2") ("pushnew" "N-02C37AB0") - ("put-buf" "D-0081") + ("put-buf" "D-0082") ("put-byte" "D-002E") ("put-carray" "N-00737951") ("put-char" "D-0002") @@ -1542,7 +1542,7 @@ ("put-line" "N-012163C3") ("put-lines" "N-0367B282") ("put-obj" "N-025DB229") - ("put-string" "D-007D") + ("put-string" "D-007E") ("put-strings" "N-0367B282") ("pwd" "N-0047F5F6") ("qquote" "N-01665185") @@ -1633,7 +1633,7 @@ ("replace-struct" "N-01A8343B") ("replace-tree-iter" "N-01225FF3") ("replace-vec" "N-01F59E62") - ("require" "D-0080") + ("require" "D-0081") ("res" "N-03D33A57") ("reset-struct" "N-002A609F") ("rest" "N-02288559") @@ -4039,10 +4039,16 @@ Removes variable bindings. Synonym of .codn @(forget) . -.coIP @(output) +.ccIP @ @(output) and @(push) A directive which encloses an output clause in the query. An output section -does not match text, but produces text. The directives above are not -understood in an output clause. +does not match text, but produces text which can be directed to various +destinations, the default being standard output. Most directives cannot +be used inside an output clause. The +.code @(push) +clause is a variant of +.code @(output) +which produces text that implicitly pushed back into the input stream to be +matched. .coIP @(repeat) A directive understood within an @@ -9520,6 +9526,97 @@ At the end of the output block, the stream is closed. An example is given in the documentation for the Close Directive below. +.dir push + +The +.code @(push) +directive is a variant of +.code @(output) +which produces lines of text that are pushed back into the input stream. + +This directive supports only the +.code :filter +keyword argument. + +This directive doesn't take any of the keyword arguments supported by +.code @(output) +except for the +.code :filter +keyword. + +After the execution of a +.codn @(push) , +the next pattern matching syntax that is evaluated now faces the material +produced by that +.code @(push) +followed by the original input. In order to preserve the line numbering of the +original input, +.code @(push) +adjusts the line number for the synthetic input by subtracting the number of +synthetic lines from the original input's line number. For instance if the +original input is line 5, and 7 lines are prepended by +.codn @(push) , +then those lines are numbered -2 to 4. + +The input-synthesizing effect of +.code @(push) +is visible to a subsequent form in exactly those situations in which +an input-consuming effect of a pattern matching directive would also +be visible. For instance, a +.code @(push) +occurring in the body of a +.code @(collect) +can produce input that is visible to the next iteration. + +The +.code @(push) +directive interacts with the parallel matching directives such as +.codn @(some) . +When multiple parallel clauses match, the input position is advanced +by the longest match. Lines pushed into the input by +.code @(push) +look like negative advancement. If one clause advances in the input, +while another one pushes into it, the push will lose to the +advancement and its effect will disappear. If two clauses push varying amounts +of material, the shorter push will win. + +.TP* Example: + +Swap the first two lines if they start with a colon, changing +the colon to a period: + +.IP Code: +.verb + @(maybe) + :@a + :@b + @ (push) + .@b + .@a + @ (end) + @(end) + @(data capture) + @(do (tprint capture)) +.brev + +.IP Data: +.verb + :hello + :there + rest + of + data +.brev + +.IP Output: +.verb + .there + .hello + rest + of + data +.brev + .NP* Output Text Text in an output clause is not matched against anything, but is output diff --git a/y.tab.c.shipped b/y.tab.c.shipped index 6a63e095..50fb9410 100644 --- a/y.tab.c.shipped +++ b/y.tab.c.shipped @@ -81,6 +81,7 @@ #include "unwind.h" #include "regex.h" #include "match.h" +#include "filter.h" #include "hash.h" #include "struct.h" #include "eval.h" @@ -107,6 +108,7 @@ static val uref_helper(parser_t *, val expr); static val uoref_helper(parser_t *, val expr); static val qref_helper(parser_t *, val lexpr, val rexpr); static val fname_helper(parser_t *, val name); +static val output_helper(parser_t *, val sym, val exprs, val clauses); #if YYBISON union YYSTYPE; @@ -139,7 +141,7 @@ INLINE val expand_form_ver(val form, int ver) /* Line 268 of yacc.c */ -#line 173 "y.tab.c" +#line 175 "y.tab.c" /* Enabling traces. */ #ifndef YYDEBUG @@ -185,58 +187,59 @@ INLINE val expand_form_ver(val form, int ver) COLL = 274, OUTPUT = 275, REPEAT = 276, - REP = 277, - SINGLE = 278, - FIRST = 279, - LAST = 280, - EMPTY = 281, - MOD = 282, - MODLAST = 283, - DEFINE = 284, - TRY = 285, - CATCH = 286, - FINALLY = 287, - IF = 288, - ERRTOK = 289, - HASH_BACKSLASH = 290, - HASH_SLASH = 291, - DOTDOT = 292, - HASH_H = 293, - HASH_S = 294, - HASH_R = 295, - HASH_J = 296, - HASH_SEMI = 297, - HASH_B_QUOTE = 298, - HASH_N = 299, - HASH_T = 300, - WORDS = 301, - WSPLICE = 302, - QWORDS = 303, - QWSPLICE = 304, - SECRET_ESCAPE_R = 305, - SECRET_ESCAPE_E = 306, - SECRET_ESCAPE_I = 307, - SECRET_ESCAPE_J = 308, - OLD_DOTDOT = 309, - NUMBER = 310, - METANUM = 311, - JSKW = 312, - HASH_N_EQUALS = 313, - HASH_N_HASH = 314, - REGCHAR = 315, - REGTOKEN = 316, - LITCHAR = 317, - SPLICE = 318, - JSPLICE = 319, - OLD_AT = 320, - CONSDOT = 321, - LAMBDOT = 322, - UREFDOT = 323, - OREFDOT = 324, - UOREFDOT = 325, - LOW = 326, - ELSE = 327, - ELIF = 328 + PUSH = 277, + REP = 278, + SINGLE = 279, + FIRST = 280, + LAST = 281, + EMPTY = 282, + MOD = 283, + MODLAST = 284, + DEFINE = 285, + TRY = 286, + CATCH = 287, + FINALLY = 288, + IF = 289, + ERRTOK = 290, + HASH_BACKSLASH = 291, + HASH_SLASH = 292, + DOTDOT = 293, + HASH_H = 294, + HASH_S = 295, + HASH_R = 296, + HASH_J = 297, + HASH_SEMI = 298, + HASH_B_QUOTE = 299, + HASH_N = 300, + HASH_T = 301, + WORDS = 302, + WSPLICE = 303, + QWORDS = 304, + QWSPLICE = 305, + SECRET_ESCAPE_R = 306, + SECRET_ESCAPE_E = 307, + SECRET_ESCAPE_I = 308, + SECRET_ESCAPE_J = 309, + OLD_DOTDOT = 310, + NUMBER = 311, + METANUM = 312, + JSKW = 313, + HASH_N_EQUALS = 314, + HASH_N_HASH = 315, + REGCHAR = 316, + REGTOKEN = 317, + LITCHAR = 318, + SPLICE = 319, + JSPLICE = 320, + OLD_AT = 321, + CONSDOT = 322, + LAMBDOT = 323, + UREFDOT = 324, + OREFDOT = 325, + UOREFDOT = 326, + LOW = 327, + ELSE = 328, + ELIF = 329 }; #endif /* Tokens. */ @@ -259,58 +262,59 @@ INLINE val expand_form_ver(val form, int ver) #define COLL 274 #define OUTPUT 275 #define REPEAT 276 -#define REP 277 -#define SINGLE 278 -#define FIRST 279 -#define LAST 280 -#define EMPTY 281 -#define MOD 282 -#define MODLAST 283 -#define DEFINE 284 -#define TRY 285 -#define CATCH 286 -#define FINALLY 287 -#define IF 288 -#define ERRTOK 289 -#define HASH_BACKSLASH 290 -#define HASH_SLASH 291 -#define DOTDOT 292 -#define HASH_H 293 -#define HASH_S 294 -#define HASH_R 295 -#define HASH_J 296 -#define HASH_SEMI 297 -#define HASH_B_QUOTE 298 -#define HASH_N 299 -#define HASH_T 300 -#define WORDS 301 -#define WSPLICE 302 -#define QWORDS 303 -#define QWSPLICE 304 -#define SECRET_ESCAPE_R 305 -#define SECRET_ESCAPE_E 306 -#define SECRET_ESCAPE_I 307 -#define SECRET_ESCAPE_J 308 -#define OLD_DOTDOT 309 -#define NUMBER 310 -#define METANUM 311 -#define JSKW 312 -#define HASH_N_EQUALS 313 -#define HASH_N_HASH 314 -#define REGCHAR 315 -#define REGTOKEN 316 -#define LITCHAR 317 -#define SPLICE 318 -#define JSPLICE 319 -#define OLD_AT 320 -#define CONSDOT 321 -#define LAMBDOT 322 -#define UREFDOT 323 -#define OREFDOT 324 -#define UOREFDOT 325 -#define LOW 326 -#define ELSE 327 -#define ELIF 328 +#define PUSH 277 +#define REP 278 +#define SINGLE 279 +#define FIRST 280 +#define LAST 281 +#define EMPTY 282 +#define MOD 283 +#define MODLAST 284 +#define DEFINE 285 +#define TRY 286 +#define CATCH 287 +#define FINALLY 288 +#define IF 289 +#define ERRTOK 290 +#define HASH_BACKSLASH 291 +#define HASH_SLASH 292 +#define DOTDOT 293 +#define HASH_H 294 +#define HASH_S 295 +#define HASH_R 296 +#define HASH_J 297 +#define HASH_SEMI 298 +#define HASH_B_QUOTE 299 +#define HASH_N 300 +#define HASH_T 301 +#define WORDS 302 +#define WSPLICE 303 +#define QWORDS 304 +#define QWSPLICE 305 +#define SECRET_ESCAPE_R 306 +#define SECRET_ESCAPE_E 307 +#define SECRET_ESCAPE_I 308 +#define SECRET_ESCAPE_J 309 +#define OLD_DOTDOT 310 +#define NUMBER 311 +#define METANUM 312 +#define JSKW 313 +#define HASH_N_EQUALS 314 +#define HASH_N_HASH 315 +#define REGCHAR 316 +#define REGTOKEN 317 +#define LITCHAR 318 +#define SPLICE 319 +#define JSPLICE 320 +#define OLD_AT 321 +#define CONSDOT 322 +#define LAMBDOT 323 +#define UREFDOT 324 +#define OREFDOT 325 +#define UOREFDOT 326 +#define LOW 327 +#define ELSE 328 +#define ELIF 329 @@ -320,7 +324,7 @@ typedef union YYSTYPE { /* Line 293 of yacc.c */ -#line 107 "parser.y" +#line 109 "parser.y" wchar_t *lexeme; union obj *val; @@ -330,7 +334,7 @@ typedef union YYSTYPE /* Line 293 of yacc.c */ -#line 364 "y.tab.c" +#line 368 "y.tab.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -342,7 +346,7 @@ typedef union YYSTYPE /* Line 343 of yacc.c */ -#line 376 "y.tab.c" +#line 380 "y.tab.c" #ifdef short # undef short @@ -559,22 +563,22 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 214 +#define YYFINAL 213 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 4939 +#define YYLAST 4920 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 100 +#define YYNTOKENS 101 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 131 +#define YYNNTS 132 /* YYNRULES -- Number of rules. */ -#define YYNRULES 470 +#define YYNRULES 473 /* YYNRULES -- Number of states. */ -#define YYNSTATES 835 +#define YYNSTATES 840 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 328 +#define YYMAXUTOK 329 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -583,18 +587,18 @@ union yyalloc static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 94, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 95, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 99, 2, 96, 95, 2, 92, 87, 83, - 71, 80, 89, 91, 82, 81, 93, 86, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 97, 2, - 2, 2, 2, 90, 73, 2, 2, 2, 2, 2, + 2, 2, 100, 2, 97, 96, 2, 93, 88, 84, + 72, 81, 90, 92, 83, 82, 94, 87, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 98, 2, + 2, 2, 2, 91, 74, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 72, 2, 79, 84, 2, 98, 2, 2, 2, + 2, 73, 2, 80, 85, 2, 99, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 75, 85, 76, 88, 2, 2, 2, + 2, 2, 2, 76, 86, 77, 89, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -614,7 +618,7 @@ static const yytype_uint8 yytranslate[] = 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 74, 77, 78 + 65, 66, 67, 68, 69, 70, 71, 75, 78, 79 }; #if YYDEBUG @@ -637,249 +641,250 @@ static const yytype_uint16 yyprhs[] = 418, 421, 423, 426, 429, 437, 444, 447, 453, 458, 465, 469, 475, 482, 486, 487, 492, 498, 502, 510, 516, 523, 531, 540, 543, 549, 554, 561, 567, 569, - 572, 574, 576, 578, 587, 591, 596, 601, 608, 613, - 620, 627, 628, 638, 641, 647, 654, 655, 659, 660, - 662, 663, 666, 668, 669, 671, 674, 676, 679, 681, - 683, 685, 687, 689, 696, 699, 703, 707, 713, 717, - 723, 729, 730, 732, 736, 741, 744, 749, 755, 761, - 764, 767, 769, 771, 773, 775, 777, 779, 784, 787, - 793, 797, 800, 803, 806, 809, 812, 815, 818, 821, - 824, 827, 830, 833, 836, 837, 842, 844, 846, 849, - 853, 856, 861, 864, 869, 870, 874, 875, 879, 880, - 884, 886, 889, 892, 895, 897, 898, 900, 904, 907, - 910, 914, 920, 923, 927, 930, 932, 934, 938, 943, - 946, 951, 956, 959, 962, 965, 968, 971, 976, 980, - 983, 988, 993, 996, 998, 1000, 1002, 1004, 1006, 1007, - 1009, 1013, 1015, 1016, 1020, 1021, 1026, 1027, 1032, 1033, - 1039, 1042, 1045, 1049, 1052, 1056, 1058, 1060, 1062, 1064, + 571, 573, 576, 578, 580, 582, 591, 595, 600, 605, + 612, 617, 624, 631, 632, 642, 645, 651, 658, 659, + 663, 664, 666, 667, 670, 672, 673, 675, 678, 680, + 683, 685, 687, 689, 691, 693, 700, 703, 707, 711, + 717, 721, 727, 733, 734, 736, 740, 745, 748, 753, + 759, 765, 768, 771, 773, 775, 777, 779, 781, 783, + 788, 791, 797, 801, 804, 807, 810, 813, 816, 819, + 822, 825, 828, 831, 834, 837, 840, 841, 846, 848, + 850, 853, 857, 860, 865, 868, 873, 874, 878, 879, + 883, 884, 888, 890, 893, 896, 899, 901, 902, 904, + 908, 911, 914, 918, 924, 927, 931, 934, 936, 938, + 942, 947, 950, 955, 960, 963, 966, 969, 972, 975, + 980, 984, 987, 992, 997, 1000, 1002, 1004, 1006, 1008, + 1010, 1011, 1013, 1017, 1019, 1020, 1024, 1025, 1030, 1031, + 1036, 1037, 1043, 1046, 1049, 1053, 1056, 1060, 1062, 1064, 1066, 1068, 1070, 1072, 1074, 1076, 1078, 1080, 1082, 1084, - 1086, 1089, 1092, 1094, 1097, 1098, 1102, 1103, 1107, 1108, - 1112, 1113, 1117, 1119, 1122, 1124, 1126, 1128, 1130, 1132, + 1086, 1088, 1090, 1093, 1096, 1098, 1101, 1102, 1106, 1107, + 1111, 1112, 1116, 1117, 1121, 1123, 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1142, 1144, 1146, 1148, 1150, 1152, - 1154, 1157, 1160, 1162, 1165, 1166, 1170, 1171, 1175, 1176, - 1180, 1184, 1189, 1193, 1198, 1202, 1206, 1209, 1212, 1213, - 1217, 1219, 1221, 1222, 1225, 1228, 1230, 1234, 1237, 1241, - 1244, 1246, 1250, 1254, 1257, 1258, 1260, 1263, 1267, 1270, - 1273, 1276, 1280, 1284, 1287, 1290, 1292, 1294, 1296, 1298, - 1300, 1302, 1306, 1309, 1311, 1314, 1316, 1318, 1320, 1324, - 1326, 1328, 1330, 1332, 1334, 1336, 1338, 1340, 1342, 1344, - 1346, 1348, 1350, 1352, 1355, 1358, 1362, 1365, 1368, 1371, - 1374, 1377, 1380, 1384, 1387, 1389, 1392, 1394, 1396, 1398, - 1401, 1403, 1406, 1408, 1411, 1413, 1416, 1418, 1421, 1423, - 1426, 1429, 1431, 1433, 1436, 1439, 1443, 1446, 1450, 1453, - 1456, 1458, 1461, 1464, 1466, 1468, 1470, 1472, 1474, 1476, - 1478, 1480, 1482, 1486, 1490, 1494, 1498, 1502, 1506, 1510, - 1516 + 1154, 1156, 1158, 1161, 1164, 1166, 1169, 1170, 1174, 1175, + 1179, 1180, 1184, 1188, 1193, 1197, 1202, 1206, 1210, 1213, + 1216, 1217, 1221, 1223, 1225, 1226, 1229, 1232, 1234, 1238, + 1241, 1245, 1248, 1250, 1254, 1258, 1261, 1262, 1264, 1267, + 1271, 1274, 1277, 1280, 1284, 1288, 1291, 1294, 1296, 1298, + 1300, 1302, 1304, 1306, 1310, 1313, 1315, 1318, 1320, 1322, + 1324, 1328, 1330, 1332, 1334, 1336, 1338, 1340, 1342, 1344, + 1346, 1348, 1350, 1352, 1354, 1356, 1359, 1362, 1366, 1369, + 1372, 1375, 1378, 1381, 1384, 1388, 1391, 1393, 1396, 1398, + 1400, 1402, 1405, 1407, 1410, 1412, 1415, 1417, 1420, 1422, + 1425, 1427, 1430, 1433, 1435, 1437, 1440, 1443, 1447, 1450, + 1454, 1457, 1460, 1462, 1465, 1468, 1470, 1472, 1474, 1476, + 1478, 1480, 1482, 1484, 1486, 1490, 1494, 1498, 1502, 1506, + 1510, 1514, 1520, 1524 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 101, 0, -1, 115, -1, 50, 209, -1, -1, 51, - 105, 102, 113, -1, -1, 52, 109, 103, 113, -1, - 51, -1, 52, -1, -1, 53, 174, 104, 113, -1, - 53, -1, 1, 94, -1, -1, 42, 106, 200, -1, - -1, 42, 93, 107, 200, -1, -1, 42, 69, 108, - 200, -1, 200, -1, 93, 200, -1, 69, 200, -1, - -1, 42, 110, 194, -1, -1, 42, 93, 111, 194, - -1, -1, 42, 69, 112, 194, -1, 194, -1, 93, - 194, -1, 69, 194, -1, 200, -1, 42, -1, -1, - 116, -1, 114, 116, -1, 114, -1, -1, 117, -1, - 118, -1, 119, -1, 120, -1, 121, -1, 122, -1, - 123, -1, 127, -1, 124, -1, 143, -1, 144, -1, - 132, -1, 146, -1, 135, -1, 6, 217, 130, -1, - 6, 217, 1, -1, 7, 187, 80, 217, 130, -1, - 7, 187, 80, 217, 1, -1, 8, 217, 130, -1, - 8, 217, 1, -1, 9, 217, 130, -1, 9, 217, - 1, -1, 10, 217, 130, -1, 10, 217, 1, -1, - 11, 187, 80, 217, 115, 16, 217, -1, 11, 187, - 80, 217, 1, -1, 12, 187, 80, 217, 130, -1, - 12, 187, 80, 217, 1, -1, 13, 187, 80, 217, - 125, 16, 217, -1, 13, 187, 80, 217, 125, 129, - 187, 80, 217, 115, 16, 217, -1, 13, 187, 80, - 217, 1, -1, 115, 126, -1, 14, 217, 125, -1, - 15, 217, 125, -1, -1, 128, 187, 80, 217, 115, - 16, 217, -1, 128, 187, 80, 217, 115, 129, 187, - 80, 217, 115, 16, 217, -1, 128, 187, 80, 217, - 1, -1, 17, -1, 21, -1, 18, -1, 25, -1, - 115, 131, -1, 16, 217, -1, 14, 217, 130, -1, - 15, 217, 130, -1, 33, 205, 80, 217, 115, 133, - 134, 16, 217, -1, 33, 205, 80, 217, 1, -1, - 78, 205, 80, 217, 115, 133, -1, -1, 77, 217, - 115, -1, -1, 136, 94, -1, 137, -1, -1, 140, - -1, 140, 137, -1, 4, -1, 3, -1, 207, -1, - 26, -1, 138, -1, 138, 139, -1, 139, -1, 161, - -1, 182, -1, 19, 187, 80, 136, 16, -1, 19, - 187, 80, 136, 129, 187, 80, 136, 16, -1, 22, - 187, 80, 137, 16, -1, 22, 187, 80, 137, 129, - 187, 80, 137, 16, -1, 11, 187, 80, 137, 16, - -1, 19, 1, -1, 22, 1, -1, 11, 1, -1, - 6, 141, -1, 7, 187, 80, 141, -1, 8, 141, - -1, 9, 141, -1, 10, 141, -1, 12, 187, 80, - 141, -1, 29, 186, 80, 137, 16, -1, 136, 142, - -1, 16, -1, 14, 141, -1, 15, 141, -1, 29, - 186, 80, 217, 115, 16, 217, -1, 29, 80, 217, - 115, 16, 217, -1, 29, 1, -1, 29, 186, 80, - 217, 1, -1, 29, 80, 217, 1, -1, 30, 217, - 115, 145, 16, 217, -1, 30, 217, 1, -1, 31, - 80, 217, 115, 145, -1, 31, 186, 80, 217, 115, - 145, -1, 32, 217, 115, -1, -1, 31, 80, 217, - 1, -1, 31, 186, 80, 217, 1, -1, 32, 217, - 1, -1, 20, 80, 157, 94, 147, 16, 217, -1, - 20, 80, 217, 16, 217, -1, 20, 80, 217, 147, - 16, 217, -1, 20, 186, 80, 217, 147, 16, 217, - -1, 20, 186, 80, 157, 94, 147, 16, 217, -1, - 20, 1, -1, 20, 80, 157, 94, 1, -1, 20, - 80, 217, 1, -1, 20, 186, 80, 157, 94, 1, - -1, 20, 186, 80, 217, 1, -1, 148, -1, 148, - 147, -1, 149, -1, 151, -1, 155, -1, 21, 205, - 80, 217, 154, 150, 16, 217, -1, 21, 217, 1, - -1, 23, 217, 154, 150, -1, 24, 217, 154, 150, - -1, 25, 187, 80, 217, 154, 150, -1, 26, 217, - 154, 150, -1, 27, 187, 80, 217, 154, 150, -1, - 28, 187, 80, 217, 154, 150, -1, -1, 33, 200, - 80, 217, 154, 152, 153, 16, 217, -1, 33, 80, - -1, 33, 200, 80, 217, 1, -1, 78, 205, 80, - 217, 154, 152, -1, -1, 77, 217, 154, -1, -1, - 147, -1, -1, 156, 94, -1, 157, -1, -1, 158, - -1, 158, 157, -1, 230, -1, 230, 157, -1, 4, - -1, 3, -1, 164, -1, 185, -1, 159, -1, 22, - 205, 80, 156, 160, 16, -1, 22, 1, -1, 23, - 156, 160, -1, 24, 156, 160, -1, 25, 187, 80, - 156, 160, -1, 26, 156, 160, -1, 27, 187, 80, - 156, 160, -1, 28, 187, 80, 156, 160, -1, -1, - 5, -1, 75, 5, 76, -1, 75, 5, 163, 76, - -1, 162, 5, -1, 162, 75, 5, 76, -1, 162, - 75, 5, 207, 76, -1, 162, 75, 5, 55, 76, - -1, 5, 1, -1, 162, 1, -1, 89, -1, 55, - -1, 207, -1, 185, -1, 5, -1, 5, -1, 75, - 200, 205, 76, -1, 5, 1, -1, 73, 75, 200, - 205, 76, -1, 73, 75, 1, -1, 95, 182, -1, - 95, 1, -1, 38, 182, -1, 38, 1, -1, 39, - 182, -1, 39, 1, -1, 40, 182, -1, 40, 1, - -1, 44, 182, -1, 44, 1, -1, 45, 182, -1, - 45, 1, -1, 41, 174, -1, -1, 41, 84, 173, - 174, -1, 55, -1, 57, -1, 96, 96, -1, 96, - 223, 96, -1, 72, 79, -1, 72, 179, 178, 79, - -1, 75, 76, -1, 75, 180, 178, 76, -1, -1, - 88, 175, 206, -1, -1, 64, 176, 206, -1, -1, - 58, 177, 174, -1, 59, -1, 96, 1, -1, 72, - 1, -1, 75, 1, -1, 82, -1, -1, 174, -1, - 179, 82, 174, -1, 179, 174, -1, 179, 1, -1, - 174, 181, 174, -1, 180, 82, 174, 181, 174, -1, - 174, 174, -1, 180, 174, 1, -1, 174, 1, -1, - 5, -1, 97, -1, 71, 188, 80, -1, 71, 93, - 188, 80, -1, 71, 80, -1, 71, 67, 200, 80, - -1, 71, 66, 200, 80, -1, 71, 1, -1, 73, - 200, -1, 73, 1, -1, 65, 200, -1, 65, 1, - -1, 72, 93, 188, 79, -1, 72, 188, 79, -1, - 72, 79, -1, 72, 67, 200, 79, -1, 72, 66, - 200, 79, -1, 72, 1, -1, 182, -1, 184, -1, - 183, -1, 188, -1, 186, -1, -1, 189, -1, 189, - 66, 200, -1, 200, -1, -1, 42, 190, 200, -1, - -1, 42, 93, 191, 200, -1, -1, 189, 42, 192, - 200, -1, -1, 189, 42, 93, 193, 200, -1, 189, - 200, -1, 47, 225, -1, 189, 47, 225, -1, 49, - 226, -1, 189, 49, 226, -1, 5, -1, 56, -1, - 55, -1, 185, -1, 166, -1, 167, -1, 168, -1, - 169, -1, 170, -1, 171, -1, 172, -1, 208, -1, - 219, -1, 218, -1, 220, -1, 46, 225, -1, 48, - 226, -1, 227, -1, 83, 199, -1, -1, 84, 195, - 199, -1, -1, 82, 196, 199, -1, -1, 63, 197, - 199, -1, -1, 58, 198, 199, -1, 59, -1, 93, - 194, -1, 194, -1, 5, -1, 56, -1, 55, -1, - 185, -1, 166, -1, 167, -1, 168, -1, 169, -1, - 170, -1, 171, -1, 172, -1, 208, -1, 219, -1, - 218, -1, 220, -1, 46, 225, -1, 48, 226, -1, - 227, -1, 83, 206, -1, -1, 84, 201, 206, -1, - -1, 82, 202, 206, -1, -1, 63, 203, 206, -1, - 200, 37, 200, -1, 200, 37, 93, 200, -1, 200, - 54, 200, -1, 200, 54, 93, 200, -1, 200, 93, - 200, -1, 200, 69, 200, -1, 68, 200, -1, 70, - 200, -1, -1, 58, 204, 206, -1, 59, -1, 188, - -1, -1, 93, 200, -1, 69, 200, -1, 200, -1, - 86, 209, 86, -1, 86, 1, -1, 36, 209, 86, - -1, 36, 1, -1, 210, -1, 209, 85, 209, -1, - 209, 87, 209, -1, 88, 209, -1, -1, 211, -1, - 211, 210, -1, 211, 88, 209, -1, 211, 89, -1, - 211, 91, -1, 211, 90, -1, 211, 92, 209, -1, - 72, 212, 79, -1, 72, 79, -1, 72, 1, -1, - 93, -1, 79, -1, 81, -1, 60, -1, 216, -1, - 4, -1, 71, 209, 80, -1, 71, 1, -1, 213, - -1, 213, 212, -1, 214, -1, 215, -1, 216, -1, - 215, 81, 215, -1, 90, -1, 93, -1, 89, -1, - 91, -1, 71, -1, 80, -1, 85, -1, 88, -1, - 87, -1, 92, -1, 86, -1, 60, -1, 61, -1, - 94, -1, 1, 94, -1, 96, 96, -1, 96, 223, - 96, -1, 96, 1, -1, 35, 5, -1, 35, 62, - -1, 35, 4, -1, 35, 1, -1, 98, 98, -1, - 98, 221, 98, -1, 98, 1, -1, 222, -1, 222, - 221, -1, 223, -1, 165, -1, 56, -1, 73, 200, - -1, 62, -1, 62, 224, -1, 4, -1, 4, 224, - -1, 62, -1, 224, 62, -1, 4, -1, 224, 4, - -1, 96, -1, 99, 225, -1, 223, 225, -1, 1, - -1, 98, -1, 99, 226, -1, 221, 98, -1, 221, - 99, 226, -1, 43, 83, -1, 43, 228, 83, -1, - 43, 1, -1, 228, 229, -1, 229, -1, 62, 62, - -1, 62, 1, -1, 6, -1, 7, -1, 8, -1, - 9, -1, 10, -1, 14, -1, 15, -1, 30, -1, - 32, -1, 11, 187, 80, -1, 12, 187, 80, -1, - 17, 187, 80, -1, 19, 187, 80, -1, 13, 187, - 80, -1, 29, 187, 80, -1, 31, 187, 80, -1, - 33, 200, 200, 187, 80, -1, 20, 187, 80, -1 + 102, 0, -1, 116, -1, 51, 211, -1, -1, 52, + 106, 103, 114, -1, -1, 53, 110, 104, 114, -1, + 52, -1, 53, -1, -1, 54, 176, 105, 114, -1, + 54, -1, 1, 95, -1, -1, 43, 107, 202, -1, + -1, 43, 94, 108, 202, -1, -1, 43, 70, 109, + 202, -1, 202, -1, 94, 202, -1, 70, 202, -1, + -1, 43, 111, 196, -1, -1, 43, 94, 112, 196, + -1, -1, 43, 70, 113, 196, -1, 196, -1, 94, + 196, -1, 70, 196, -1, 202, -1, 43, -1, -1, + 117, -1, 115, 117, -1, 115, -1, -1, 118, -1, + 119, -1, 120, -1, 121, -1, 122, -1, 123, -1, + 124, -1, 128, -1, 125, -1, 144, -1, 145, -1, + 133, -1, 147, -1, 136, -1, 6, 219, 131, -1, + 6, 219, 1, -1, 7, 189, 81, 219, 131, -1, + 7, 189, 81, 219, 1, -1, 8, 219, 131, -1, + 8, 219, 1, -1, 9, 219, 131, -1, 9, 219, + 1, -1, 10, 219, 131, -1, 10, 219, 1, -1, + 11, 189, 81, 219, 116, 16, 219, -1, 11, 189, + 81, 219, 1, -1, 12, 189, 81, 219, 131, -1, + 12, 189, 81, 219, 1, -1, 13, 189, 81, 219, + 126, 16, 219, -1, 13, 189, 81, 219, 126, 130, + 189, 81, 219, 116, 16, 219, -1, 13, 189, 81, + 219, 1, -1, 116, 127, -1, 14, 219, 126, -1, + 15, 219, 126, -1, -1, 129, 189, 81, 219, 116, + 16, 219, -1, 129, 189, 81, 219, 116, 130, 189, + 81, 219, 116, 16, 219, -1, 129, 189, 81, 219, + 1, -1, 17, -1, 21, -1, 18, -1, 26, -1, + 116, 132, -1, 16, 219, -1, 14, 219, 131, -1, + 15, 219, 131, -1, 34, 207, 81, 219, 116, 134, + 135, 16, 219, -1, 34, 207, 81, 219, 1, -1, + 79, 207, 81, 219, 116, 134, -1, -1, 78, 219, + 116, -1, -1, 137, 95, -1, 138, -1, -1, 141, + -1, 141, 138, -1, 4, -1, 3, -1, 209, -1, + 27, -1, 139, -1, 139, 140, -1, 140, -1, 163, + -1, 184, -1, 19, 189, 81, 137, 16, -1, 19, + 189, 81, 137, 130, 189, 81, 137, 16, -1, 23, + 189, 81, 138, 16, -1, 23, 189, 81, 138, 130, + 189, 81, 138, 16, -1, 11, 189, 81, 138, 16, + -1, 19, 1, -1, 23, 1, -1, 11, 1, -1, + 6, 142, -1, 7, 189, 81, 142, -1, 8, 142, + -1, 9, 142, -1, 10, 142, -1, 12, 189, 81, + 142, -1, 30, 188, 81, 138, 16, -1, 137, 143, + -1, 16, -1, 14, 142, -1, 15, 142, -1, 30, + 188, 81, 219, 116, 16, 219, -1, 30, 81, 219, + 116, 16, 219, -1, 30, 1, -1, 30, 188, 81, + 219, 1, -1, 30, 81, 219, 1, -1, 31, 219, + 116, 146, 16, 219, -1, 31, 219, 1, -1, 32, + 81, 219, 116, 146, -1, 32, 188, 81, 219, 116, + 146, -1, 33, 219, 116, -1, -1, 32, 81, 219, + 1, -1, 32, 188, 81, 219, 1, -1, 33, 219, + 1, -1, 148, 81, 159, 95, 149, 16, 219, -1, + 148, 81, 219, 16, 219, -1, 148, 81, 219, 149, + 16, 219, -1, 148, 188, 81, 219, 149, 16, 219, + -1, 148, 188, 81, 159, 95, 149, 16, 219, -1, + 148, 1, -1, 148, 81, 159, 95, 1, -1, 148, + 81, 219, 1, -1, 148, 188, 81, 159, 95, 1, + -1, 148, 188, 81, 219, 1, -1, 20, -1, 22, + -1, 150, -1, 150, 149, -1, 151, -1, 153, -1, + 157, -1, 21, 207, 81, 219, 156, 152, 16, 219, + -1, 21, 219, 1, -1, 24, 219, 156, 152, -1, + 25, 219, 156, 152, -1, 26, 189, 81, 219, 156, + 152, -1, 27, 219, 156, 152, -1, 28, 189, 81, + 219, 156, 152, -1, 29, 189, 81, 219, 156, 152, + -1, -1, 34, 202, 81, 219, 156, 154, 155, 16, + 219, -1, 34, 81, -1, 34, 202, 81, 219, 1, + -1, 79, 207, 81, 219, 156, 154, -1, -1, 78, + 219, 156, -1, -1, 149, -1, -1, 158, 95, -1, + 159, -1, -1, 160, -1, 160, 159, -1, 232, -1, + 232, 159, -1, 4, -1, 3, -1, 166, -1, 187, + -1, 161, -1, 23, 207, 81, 158, 162, 16, -1, + 23, 1, -1, 24, 158, 162, -1, 25, 158, 162, + -1, 26, 189, 81, 158, 162, -1, 27, 158, 162, + -1, 28, 189, 81, 158, 162, -1, 29, 189, 81, + 158, 162, -1, -1, 5, -1, 76, 5, 77, -1, + 76, 5, 165, 77, -1, 164, 5, -1, 164, 76, + 5, 77, -1, 164, 76, 5, 209, 77, -1, 164, + 76, 5, 56, 77, -1, 5, 1, -1, 164, 1, + -1, 90, -1, 56, -1, 209, -1, 187, -1, 5, + -1, 5, -1, 76, 202, 207, 77, -1, 5, 1, + -1, 74, 76, 202, 207, 77, -1, 74, 76, 1, + -1, 96, 184, -1, 96, 1, -1, 39, 184, -1, + 39, 1, -1, 40, 184, -1, 40, 1, -1, 41, + 184, -1, 41, 1, -1, 45, 184, -1, 45, 1, + -1, 46, 184, -1, 46, 1, -1, 42, 176, -1, + -1, 42, 85, 175, 176, -1, 56, -1, 58, -1, + 97, 97, -1, 97, 225, 97, -1, 73, 80, -1, + 73, 181, 180, 80, -1, 76, 77, -1, 76, 182, + 180, 77, -1, -1, 89, 177, 208, -1, -1, 65, + 178, 208, -1, -1, 59, 179, 176, -1, 60, -1, + 97, 1, -1, 73, 1, -1, 76, 1, -1, 83, + -1, -1, 176, -1, 181, 83, 176, -1, 181, 176, + -1, 181, 1, -1, 176, 183, 176, -1, 182, 83, + 176, 183, 176, -1, 176, 176, -1, 182, 176, 1, + -1, 176, 1, -1, 5, -1, 98, -1, 72, 190, + 81, -1, 72, 94, 190, 81, -1, 72, 81, -1, + 72, 68, 202, 81, -1, 72, 67, 202, 81, -1, + 72, 1, -1, 74, 202, -1, 74, 1, -1, 66, + 202, -1, 66, 1, -1, 73, 94, 190, 80, -1, + 73, 190, 80, -1, 73, 80, -1, 73, 68, 202, + 80, -1, 73, 67, 202, 80, -1, 73, 1, -1, + 184, -1, 186, -1, 185, -1, 190, -1, 188, -1, + -1, 191, -1, 191, 67, 202, -1, 202, -1, -1, + 43, 192, 202, -1, -1, 43, 94, 193, 202, -1, + -1, 191, 43, 194, 202, -1, -1, 191, 43, 94, + 195, 202, -1, 191, 202, -1, 48, 227, -1, 191, + 48, 227, -1, 50, 228, -1, 191, 50, 228, -1, + 5, -1, 57, -1, 56, -1, 187, -1, 168, -1, + 169, -1, 170, -1, 171, -1, 172, -1, 173, -1, + 174, -1, 210, -1, 221, -1, 220, -1, 222, -1, + 47, 227, -1, 49, 228, -1, 229, -1, 84, 201, + -1, -1, 85, 197, 201, -1, -1, 83, 198, 201, + -1, -1, 64, 199, 201, -1, -1, 59, 200, 201, + -1, 60, -1, 94, 196, -1, 196, -1, 5, -1, + 57, -1, 56, -1, 187, -1, 168, -1, 169, -1, + 170, -1, 171, -1, 172, -1, 173, -1, 174, -1, + 210, -1, 221, -1, 220, -1, 222, -1, 47, 227, + -1, 49, 228, -1, 229, -1, 84, 208, -1, -1, + 85, 203, 208, -1, -1, 83, 204, 208, -1, -1, + 64, 205, 208, -1, 202, 38, 202, -1, 202, 38, + 94, 202, -1, 202, 55, 202, -1, 202, 55, 94, + 202, -1, 202, 94, 202, -1, 202, 70, 202, -1, + 69, 202, -1, 71, 202, -1, -1, 59, 206, 208, + -1, 60, -1, 190, -1, -1, 94, 202, -1, 70, + 202, -1, 202, -1, 87, 211, 87, -1, 87, 1, + -1, 37, 211, 87, -1, 37, 1, -1, 212, -1, + 211, 86, 211, -1, 211, 88, 211, -1, 89, 211, + -1, -1, 213, -1, 213, 212, -1, 213, 89, 211, + -1, 213, 90, -1, 213, 92, -1, 213, 91, -1, + 213, 93, 211, -1, 73, 214, 80, -1, 73, 80, + -1, 73, 1, -1, 94, -1, 80, -1, 82, -1, + 61, -1, 218, -1, 4, -1, 72, 211, 81, -1, + 72, 1, -1, 215, -1, 215, 214, -1, 216, -1, + 217, -1, 218, -1, 217, 82, 217, -1, 91, -1, + 94, -1, 90, -1, 92, -1, 72, -1, 81, -1, + 86, -1, 89, -1, 88, -1, 93, -1, 87, -1, + 61, -1, 62, -1, 95, -1, 1, 95, -1, 97, + 97, -1, 97, 225, 97, -1, 97, 1, -1, 36, + 5, -1, 36, 63, -1, 36, 4, -1, 36, 1, + -1, 99, 99, -1, 99, 223, 99, -1, 99, 1, + -1, 224, -1, 224, 223, -1, 225, -1, 167, -1, + 57, -1, 74, 202, -1, 63, -1, 63, 226, -1, + 4, -1, 4, 226, -1, 63, -1, 226, 63, -1, + 4, -1, 226, 4, -1, 97, -1, 100, 227, -1, + 225, 227, -1, 1, -1, 99, -1, 100, 228, -1, + 223, 99, -1, 223, 100, 228, -1, 44, 84, -1, + 44, 230, 84, -1, 44, 1, -1, 230, 231, -1, + 231, -1, 63, 63, -1, 63, 1, -1, 6, -1, + 7, -1, 8, -1, 9, -1, 10, -1, 14, -1, + 15, -1, 31, -1, 33, -1, 11, 189, 81, -1, + 12, 189, 81, -1, 17, 189, 81, -1, 19, 189, + 81, -1, 13, 189, 81, -1, 30, 189, 81, -1, + 32, 189, 81, -1, 34, 202, 202, 189, 81, -1, + 20, 189, 81, -1, 22, 189, 81, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 175, 175, 176, 179, 178, 182, 181, 184, 191, - 198, 198, 201, 208, 217, 217, 220, 220, 223, 223, - 226, 227, 228, 231, 231, 234, 234, 237, 237, 240, - 241, 242, 247, 248, 249, 252, 253, 256, 257, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 272, - 273, 274, 275, 278, 280, 284, 287, 293, 295, 299, - 301, 305, 307, 311, 322, 327, 330, 335, 344, 356, - 361, 365, 366, 367, 370, 376, 388, 393, 394, 397, - 398, 401, 404, 405, 406, 409, 432, 436, 449, 452, - 457, 460, 463, 464, 467, 469, 474, 475, 483, 485, - 488, 489, 492, 494, 496, 507, 510, 518, 521, 530, - 533, 535, 537, 539, 540, 542, 543, 544, 545, 548, - 554, 557, 558, 559, 562, 567, 571, 573, 575, 580, - 588, 593, 598, 604, 609, 610, 613, 616, 622, 626, - 628, 631, 643, 648, 650, 653, 656, 659, 664, 665, - 668, 669, 670, 673, 679, 684, 688, 692, 701, 705, - 712, 719, 722, 734, 737, 741, 752, 755, 758, 761, - 762, 764, 767, 769, 772, 773, 774, 775, 778, 780, - 782, 783, 785, 788, 791, 795, 798, 801, 809, 812, - 818, 824, 831, 832, 833, 834, 835, 836, 840, 845, - 848, 852, 855, 856, 858, 860, 863, 868, 877, 882, - 885, 890, 895, 899, 907, 911, 921, 925, 929, 933, - 938, 942, 957, 961, 963, 963, 967, 968, 969, 970, - 972, 973, 979, 980, 986, 986, 991, 991, 996, 996, - 999, 1000, 1002, 1004, 1008, 1010, 1013, 1016, 1024, 1026, - 1030, 1035, 1044, 1045, 1047, 1050, 1054, 1058, 1059, 1065, - 1066, 1067, 1068, 1072, 1077, 1081, 1086, 1090, 1094, 1095, - 1096, 1097, 1098, 1102, 1103, 1104, 1107, 1110, 1111, 1114, - 1118, 1123, 1126, 1126, 1130, 1130, 1134, 1134, 1137, 1137, - 1140, 1143, 1145, 1149, 1151, 1157, 1158, 1160, 1161, 1162, - 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, - 1173, 1174, 1175, 1176, 1178, 1178, 1182, 1182, 1186, 1186, - 1190, 1190, 1193, 1196, 1197, 1199, 1200, 1202, 1203, 1204, - 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, - 1215, 1216, 1217, 1218, 1220, 1220, 1224, 1224, 1228, 1228, - 1232, 1235, 1241, 1245, 1251, 1252, 1255, 1256, 1257, 1257, - 1260, 1263, 1264, 1267, 1268, 1269, 1272, 1275, 1280, 1284, - 1290, 1293, 1294, 1295, 1296, 1299, 1300, 1301, 1304, 1305, - 1306, 1307, 1308, 1315, 1316, 1318, 1319, 1320, 1321, 1322, - 1323, 1324, 1325, 1329, 1330, 1333, 1334, 1335, 1338, 1340, - 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, - 1351, 1354, 1368, 1369, 1373, 1374, 1376, 1380, 1393, 1395, - 1399, 1404, 1405, 1408, 1412, 1414, 1418, 1419, 1420, 1422, - 1429, 1430, 1432, 1433, 1436, 1437, 1438, 1439, 1442, 1443, - 1444, 1446, 1450, 1451, 1452, 1454, 1460, 1462, 1465, 1470, - 1472, 1476, 1477, 1484, 1485, 1486, 1487, 1488, 1489, 1490, - 1491, 1492, 1493, 1495, 1497, 1499, 1501, 1503, 1505, 1507, - 1512 + 0, 177, 177, 178, 181, 180, 184, 183, 186, 193, + 200, 200, 203, 210, 219, 219, 222, 222, 225, 225, + 228, 229, 230, 233, 233, 236, 236, 239, 239, 242, + 243, 244, 249, 250, 251, 254, 255, 258, 259, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 274, + 275, 276, 277, 280, 282, 286, 289, 295, 297, 301, + 303, 307, 309, 313, 324, 329, 332, 337, 346, 358, + 363, 367, 368, 369, 372, 378, 390, 395, 396, 399, + 400, 403, 406, 407, 408, 411, 434, 438, 451, 454, + 459, 462, 465, 466, 469, 471, 476, 477, 485, 487, + 490, 491, 494, 496, 498, 509, 512, 520, 523, 532, + 535, 537, 539, 541, 542, 544, 545, 546, 547, 550, + 556, 559, 560, 561, 564, 569, 573, 575, 577, 582, + 590, 595, 600, 606, 611, 612, 615, 618, 624, 629, + 631, 634, 638, 643, 645, 648, 651, 654, 659, 660, + 663, 664, 667, 668, 669, 672, 678, 683, 687, 691, + 700, 704, 711, 718, 721, 733, 736, 740, 751, 754, + 757, 760, 761, 763, 766, 768, 771, 772, 773, 774, + 777, 779, 781, 782, 784, 787, 790, 794, 797, 800, + 808, 811, 817, 823, 830, 831, 832, 833, 834, 835, + 839, 844, 847, 851, 854, 855, 857, 859, 862, 867, + 876, 881, 884, 889, 894, 898, 906, 910, 920, 924, + 928, 932, 937, 941, 956, 960, 962, 962, 966, 967, + 968, 969, 971, 972, 978, 979, 985, 985, 990, 990, + 995, 995, 998, 999, 1001, 1003, 1007, 1009, 1012, 1015, + 1023, 1025, 1029, 1034, 1043, 1044, 1046, 1049, 1053, 1057, + 1058, 1064, 1065, 1066, 1067, 1071, 1076, 1080, 1085, 1089, + 1093, 1094, 1095, 1096, 1097, 1101, 1102, 1103, 1106, 1109, + 1110, 1113, 1117, 1122, 1125, 1125, 1129, 1129, 1133, 1133, + 1136, 1136, 1139, 1142, 1144, 1148, 1150, 1156, 1157, 1159, + 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, + 1170, 1171, 1172, 1173, 1174, 1175, 1177, 1177, 1181, 1181, + 1185, 1185, 1189, 1189, 1192, 1195, 1196, 1198, 1199, 1201, + 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, + 1212, 1213, 1214, 1215, 1216, 1217, 1219, 1219, 1223, 1223, + 1227, 1227, 1231, 1234, 1240, 1244, 1250, 1251, 1254, 1255, + 1256, 1256, 1259, 1262, 1263, 1266, 1267, 1268, 1271, 1274, + 1279, 1283, 1289, 1292, 1293, 1294, 1295, 1298, 1299, 1300, + 1303, 1304, 1305, 1306, 1307, 1314, 1315, 1317, 1318, 1319, + 1320, 1321, 1322, 1323, 1324, 1328, 1329, 1332, 1333, 1334, + 1337, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, + 1348, 1349, 1350, 1353, 1367, 1368, 1372, 1373, 1375, 1379, + 1392, 1394, 1398, 1403, 1404, 1407, 1411, 1413, 1417, 1418, + 1419, 1421, 1428, 1429, 1431, 1432, 1435, 1436, 1437, 1438, + 1441, 1442, 1443, 1445, 1449, 1450, 1451, 1453, 1459, 1461, + 1464, 1469, 1471, 1475, 1476, 1483, 1484, 1485, 1486, 1487, + 1488, 1489, 1490, 1491, 1492, 1494, 1496, 1498, 1500, 1502, + 1504, 1506, 1511, 1513 }; #endif @@ -890,12 +895,12 @@ static const char *const yytname[] = { "$end", "error", "$undefined", "SPACE", "TEXT", "SYMTOK", "ALL", "SOME", "NONE", "MAYBE", "CASES", "BLOCK", "CHOOSE", "GATHER", "AND", "OR", - "END", "COLLECT", "UNTIL", "COLL", "OUTPUT", "REPEAT", "REP", "SINGLE", - "FIRST", "LAST", "EMPTY", "MOD", "MODLAST", "DEFINE", "TRY", "CATCH", - "FINALLY", "IF", "ERRTOK", "HASH_BACKSLASH", "HASH_SLASH", "DOTDOT", - "HASH_H", "HASH_S", "HASH_R", "HASH_J", "HASH_SEMI", "HASH_B_QUOTE", - "HASH_N", "HASH_T", "WORDS", "WSPLICE", "QWORDS", "QWSPLICE", - "SECRET_ESCAPE_R", "SECRET_ESCAPE_E", "SECRET_ESCAPE_I", + "END", "COLLECT", "UNTIL", "COLL", "OUTPUT", "REPEAT", "PUSH", "REP", + "SINGLE", "FIRST", "LAST", "EMPTY", "MOD", "MODLAST", "DEFINE", "TRY", + "CATCH", "FINALLY", "IF", "ERRTOK", "HASH_BACKSLASH", "HASH_SLASH", + "DOTDOT", "HASH_H", "HASH_S", "HASH_R", "HASH_J", "HASH_SEMI", + "HASH_B_QUOTE", "HASH_N", "HASH_T", "WORDS", "WSPLICE", "QWORDS", + "QWSPLICE", "SECRET_ESCAPE_R", "SECRET_ESCAPE_E", "SECRET_ESCAPE_I", "SECRET_ESCAPE_J", "OLD_DOTDOT", "NUMBER", "METANUM", "JSKW", "HASH_N_EQUALS", "HASH_N_HASH", "REGCHAR", "REGTOKEN", "LITCHAR", "SPLICE", "JSPLICE", "OLD_AT", "CONSDOT", "LAMBDOT", "UREFDOT", @@ -912,19 +917,19 @@ static const char *const yytname[] = "if_clause", "elif_clauses_opt", "else_clause_opt", "line", "elems_opt", "elems", "text", "texts", "elem", "clause_parts_h", "additional_parts_h", "define_clause", "try_clause", "catch_clauses_opt", "output_clause", - "out_clauses", "out_clause", "repeat_clause", "repeat_parts_opt", - "out_if_clause", "out_elif_clauses_opt", "out_else_clause_opt", - "out_clauses_opt", "o_line", "o_elems_opt", "o_elems", "o_elem", - "rep_elem", "rep_parts_opt", "var", "var_op", "modifiers", "o_var", - "q_var", "vector", "hash", "struct", "range", "tnode", "tree", "json", - "$@10", "json_val", "$@11", "$@12", "$@13", "opt_comma", "json_vals", - "json_pairs", "json_col", "list", "meta", "dwim", "compound", "exprs", - "exprs_opt", "n_exprs", "listacc", "$@14", "$@15", "$@16", "$@17", - "i_expr", "$@18", "$@19", "$@20", "$@21", "i_dot_expr", "n_expr", "$@22", - "$@23", "$@24", "$@25", "n_exprs_opt", "n_dot_expr", "regex", - "lisp_regex", "regexpr", "regbranch", "regterm", "regclass", - "regclassterm", "regrange", "regchar", "regtoken", "newl", "strlit", - "chrlit", "quasilit", "quasi_items", "quasi_item", "litchars", + "output_push", "out_clauses", "out_clause", "repeat_clause", + "repeat_parts_opt", "out_if_clause", "out_elif_clauses_opt", + "out_else_clause_opt", "out_clauses_opt", "o_line", "o_elems_opt", + "o_elems", "o_elem", "rep_elem", "rep_parts_opt", "var", "var_op", + "modifiers", "o_var", "q_var", "vector", "hash", "struct", "range", + "tnode", "tree", "json", "$@10", "json_val", "$@11", "$@12", "$@13", + "opt_comma", "json_vals", "json_pairs", "json_col", "list", "meta", + "dwim", "compound", "exprs", "exprs_opt", "n_exprs", "listacc", "$@14", + "$@15", "$@16", "$@17", "i_expr", "$@18", "$@19", "$@20", "$@21", + "i_dot_expr", "n_expr", "$@22", "$@23", "$@24", "$@25", "n_exprs_opt", + "n_dot_expr", "regex", "lisp_regex", "regexpr", "regbranch", "regterm", + "regclass", "regclassterm", "regrange", "regchar", "regtoken", "newl", + "strlit", "chrlit", "quasilit", "quasi_items", "quasi_item", "litchars", "restlitchar", "wordslit", "wordsqlit", "buflit", "buflit_items", "buflit_item", "not_a_clause", 0 }; @@ -942,63 +947,64 @@ static const yytype_uint16 yytoknum[] = 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 40, 91, 64, 326, 123, 125, 327, 328, 93, - 41, 45, 44, 39, 94, 124, 47, 38, 126, 42, - 63, 43, 37, 46, 10, 35, 34, 58, 96, 32 + 325, 326, 40, 91, 64, 327, 123, 125, 328, 329, + 93, 41, 45, 44, 39, 94, 124, 47, 38, 126, + 42, 63, 43, 37, 46, 10, 35, 34, 58, 96, + 32 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 100, 101, 101, 102, 101, 103, 101, 101, 101, - 104, 101, 101, 101, 106, 105, 107, 105, 108, 105, - 105, 105, 105, 110, 109, 111, 109, 112, 109, 109, - 109, 109, 113, 113, 113, 114, 114, 115, 115, 116, - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 116, 116, 116, 117, 117, 118, 118, 119, 119, 120, - 120, 121, 121, 122, 122, 123, 123, 124, 124, 124, - 125, 126, 126, 126, 127, 127, 127, 128, 128, 129, - 129, 130, 131, 131, 131, 132, 132, 133, 133, 134, - 134, 135, 136, 136, 137, 137, 138, 138, 138, 138, - 139, 139, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 141, 142, 142, 142, 143, 143, 143, 143, 143, 144, - 144, 145, 145, 145, 145, 145, 145, 145, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 147, 147, - 148, 148, 148, 149, 149, 150, 150, 150, 150, 150, - 150, 150, 151, 151, 151, 152, 152, 153, 153, 154, - 154, 155, 156, 156, 157, 157, 157, 157, 158, 158, - 158, 158, 158, 159, 159, 160, 160, 160, 160, 160, - 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 162, 163, 163, 163, 163, 164, 164, 164, 165, - 165, 166, 166, 167, 167, 168, 168, 169, 169, 170, - 170, 171, 171, 172, 173, 172, 174, 174, 174, 174, - 174, 174, 174, 174, 175, 174, 176, 174, 177, 174, - 174, 174, 174, 174, 178, 178, 179, 179, 179, 179, - 180, 180, 180, 180, 180, 181, 181, 182, 182, 182, - 182, 182, 182, 183, 183, 183, 183, 184, 184, 184, - 184, 184, 184, 185, 185, 185, 186, 187, 187, 188, - 188, 189, 190, 189, 191, 189, 192, 189, 193, 189, - 189, 189, 189, 189, 189, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 195, 194, 196, 194, 197, 194, - 198, 194, 194, 199, 199, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 201, 200, 202, 200, 203, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 204, 200, - 200, 205, 205, 206, 206, 206, 207, 207, 208, 208, - 209, 209, 209, 209, 209, 210, 210, 210, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 212, 212, 213, 213, 213, 214, 215, - 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, - 215, 216, 217, 217, 218, 218, 218, 219, 219, 219, - 219, 220, 220, 220, 221, 221, 222, 222, 222, 222, - 223, 223, 223, 223, 224, 224, 224, 224, 225, 225, - 225, 225, 226, 226, 226, 226, 227, 227, 227, 228, - 228, 229, 229, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230 + 0, 101, 102, 102, 103, 102, 104, 102, 102, 102, + 105, 102, 102, 102, 107, 106, 108, 106, 109, 106, + 106, 106, 106, 111, 110, 112, 110, 113, 110, 110, + 110, 110, 114, 114, 114, 115, 115, 116, 116, 117, + 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 118, 118, 119, 119, 120, 120, 121, + 121, 122, 122, 123, 123, 124, 124, 125, 125, 125, + 126, 127, 127, 127, 128, 128, 128, 129, 129, 130, + 130, 131, 132, 132, 132, 133, 133, 134, 134, 135, + 135, 136, 137, 137, 138, 138, 139, 139, 139, 139, + 140, 140, 141, 141, 141, 141, 141, 141, 141, 141, + 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, + 142, 143, 143, 143, 144, 144, 144, 144, 144, 145, + 145, 146, 146, 146, 146, 146, 146, 146, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 148, 148, + 149, 149, 150, 150, 150, 151, 151, 152, 152, 152, + 152, 152, 152, 152, 153, 153, 153, 154, 154, 155, + 155, 156, 156, 157, 158, 158, 159, 159, 159, 159, + 160, 160, 160, 160, 160, 161, 161, 162, 162, 162, + 162, 162, 162, 162, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 164, 165, 165, 165, 165, 166, 166, + 166, 167, 167, 168, 168, 169, 169, 170, 170, 171, + 171, 172, 172, 173, 173, 174, 175, 174, 176, 176, + 176, 176, 176, 176, 176, 176, 177, 176, 178, 176, + 179, 176, 176, 176, 176, 176, 180, 180, 181, 181, + 181, 181, 182, 182, 182, 182, 182, 183, 183, 184, + 184, 184, 184, 184, 184, 185, 185, 185, 185, 186, + 186, 186, 186, 186, 186, 187, 187, 187, 188, 189, + 189, 190, 190, 191, 192, 191, 193, 191, 194, 191, + 195, 191, 191, 191, 191, 191, 191, 196, 196, 196, + 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 196, 196, 196, 196, 196, 196, 197, 196, 198, 196, + 199, 196, 200, 196, 196, 201, 201, 202, 202, 202, + 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, + 202, 202, 202, 202, 202, 202, 203, 202, 204, 202, + 205, 202, 202, 202, 202, 202, 202, 202, 202, 202, + 206, 202, 202, 207, 207, 208, 208, 208, 209, 209, + 210, 210, 211, 211, 211, 211, 211, 212, 212, 212, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 214, 214, 215, 215, 215, + 216, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 218, 219, 219, 220, 220, 220, 221, + 221, 221, 221, 222, 222, 222, 223, 223, 224, 224, + 224, 224, 225, 225, 225, 225, 226, 226, 226, 226, + 227, 227, 227, 227, 228, 228, 228, 228, 229, 229, + 229, 230, 230, 231, 231, 232, 232, 232, 232, 232, + 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, + 232, 232, 232, 232 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1018,40 +1024,40 @@ static const yytype_uint8 yyr2[] = 2, 2, 2, 2, 4, 2, 2, 2, 4, 5, 2, 1, 2, 2, 7, 6, 2, 5, 4, 6, 3, 5, 6, 3, 0, 4, 5, 3, 7, 5, - 6, 7, 8, 2, 5, 4, 6, 5, 1, 2, - 1, 1, 1, 8, 3, 4, 4, 6, 4, 6, - 6, 0, 9, 2, 5, 6, 0, 3, 0, 1, - 0, 2, 1, 0, 1, 2, 1, 2, 1, 1, - 1, 1, 1, 6, 2, 3, 3, 5, 3, 5, - 5, 0, 1, 3, 4, 2, 4, 5, 5, 2, - 2, 1, 1, 1, 1, 1, 1, 4, 2, 5, - 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 0, 4, 1, 1, 2, 3, - 2, 4, 2, 4, 0, 3, 0, 3, 0, 3, - 1, 2, 2, 2, 1, 0, 1, 3, 2, 2, - 3, 5, 2, 3, 2, 1, 1, 3, 4, 2, - 4, 4, 2, 2, 2, 2, 2, 4, 3, 2, - 4, 4, 2, 1, 1, 1, 1, 1, 0, 1, - 3, 1, 0, 3, 0, 4, 0, 4, 0, 5, - 2, 2, 3, 2, 3, 1, 1, 1, 1, 1, + 6, 7, 8, 2, 5, 4, 6, 5, 1, 1, + 1, 2, 1, 1, 1, 8, 3, 4, 4, 6, + 4, 6, 6, 0, 9, 2, 5, 6, 0, 3, + 0, 1, 0, 2, 1, 0, 1, 2, 1, 2, + 1, 1, 1, 1, 1, 6, 2, 3, 3, 5, + 3, 5, 5, 0, 1, 3, 4, 2, 4, 5, + 5, 2, 2, 1, 1, 1, 1, 1, 1, 4, + 2, 5, 3, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 0, 4, 1, 1, + 2, 3, 2, 4, 2, 4, 0, 3, 0, 3, + 0, 3, 1, 2, 2, 2, 1, 0, 1, 3, + 2, 2, 3, 5, 2, 3, 2, 1, 1, 3, + 4, 2, 4, 4, 2, 2, 2, 2, 2, 4, + 3, 2, 4, 4, 2, 1, 1, 1, 1, 1, + 0, 1, 3, 1, 0, 3, 0, 4, 0, 4, + 0, 5, 2, 2, 3, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 1, 2, 0, 3, 0, 3, 0, 3, - 0, 3, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 1, 2, 0, 3, 0, 3, + 0, 3, 0, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 1, 2, 0, 3, 0, 3, 0, 3, - 3, 4, 3, 4, 3, 3, 2, 2, 0, 3, - 1, 1, 0, 2, 2, 1, 3, 2, 3, 2, - 1, 3, 3, 2, 0, 1, 2, 3, 2, 2, - 2, 3, 3, 2, 2, 1, 1, 1, 1, 1, - 1, 3, 2, 1, 2, 1, 1, 1, 3, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 3, 2, 2, 2, 2, - 2, 2, 3, 2, 1, 2, 1, 1, 1, 2, + 1, 1, 2, 2, 1, 2, 0, 3, 0, 3, + 0, 3, 3, 4, 3, 4, 3, 3, 2, 2, + 0, 3, 1, 1, 0, 2, 2, 1, 3, 2, + 3, 2, 1, 3, 3, 2, 0, 1, 2, 3, + 2, 2, 2, 3, 3, 2, 2, 1, 1, 1, + 1, 1, 1, 3, 2, 1, 2, 1, 1, 1, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 3, 2, 2, + 2, 2, 2, 2, 3, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, - 2, 1, 1, 2, 2, 3, 2, 3, 2, 2, - 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 3, 3, 3, 3, 3, 3, 5, - 3 + 1, 2, 2, 1, 1, 2, 2, 3, 2, 3, + 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, + 3, 5, 3, 3 }; /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. @@ -1059,1225 +1065,1223 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 0, 97, 96, 0, 0, 278, 0, 0, 0, - 0, 278, 278, 77, 0, 0, 78, 0, 99, 0, - 0, 362, 374, 8, 9, 12, 0, 0, 0, 201, - 0, 37, 2, 35, 39, 40, 41, 42, 43, 44, - 45, 47, 46, 278, 50, 52, 0, 92, 100, 102, - 94, 48, 49, 51, 103, 0, 104, 98, 13, 199, - 0, 93, 278, 93, 93, 93, 0, 278, 0, 412, - 0, 113, 0, 325, 0, 0, 0, 0, 0, 0, - 282, 0, 0, 0, 0, 0, 0, 0, 327, 326, - 358, 360, 348, 0, 0, 0, 0, 0, 346, 0, - 344, 0, 0, 0, 329, 330, 331, 332, 333, 334, - 335, 273, 275, 274, 328, 277, 0, 276, 279, 281, - 336, 338, 337, 339, 342, 115, 0, 116, 0, 117, - 0, 112, 0, 0, 0, 110, 0, 143, 0, 0, - 111, 0, 126, 0, 0, 0, 361, 0, 390, 388, - 411, 0, 0, 386, 387, 374, 385, 3, 370, 375, - 389, 14, 0, 0, 4, 20, 295, 23, 0, 0, - 297, 296, 320, 322, 318, 0, 316, 0, 314, 0, - 6, 299, 300, 301, 302, 303, 304, 305, 298, 29, - 306, 308, 307, 309, 312, 226, 227, 238, 240, 236, - 0, 0, 234, 0, 10, 262, 0, 0, 259, 0, - 0, 0, 367, 0, 1, 36, 0, 91, 101, 95, - 200, 195, 0, 413, 0, 0, 0, 0, 93, 93, - 121, 120, 54, 0, 53, 420, 419, 417, 418, 369, - 0, 214, 213, 216, 215, 218, 217, 224, 223, 284, - 0, 448, 0, 446, 0, 450, 220, 219, 222, 221, - 441, 432, 430, 438, 0, 0, 340, 291, 428, 0, - 442, 0, 427, 0, 424, 426, 341, 293, 0, 0, - 266, 265, 356, 357, 272, 0, 0, 269, 0, 0, - 264, 263, 0, 0, 0, 365, 343, 0, 212, 211, - 416, 414, 0, 423, 421, 0, 0, 286, 0, 0, - 0, 290, 0, 0, 0, 0, 58, 57, 60, 59, - 62, 61, 0, 0, 0, 93, 179, 178, 0, 453, - 454, 455, 456, 457, 278, 278, 278, 458, 459, 278, - 278, 278, 0, 278, 460, 278, 461, 0, 0, 0, - 174, 182, 180, 181, 0, 176, 0, 0, 0, 0, - 130, 134, 0, 392, 0, 384, 410, 403, 383, 404, - 405, 409, 407, 406, 401, 399, 402, 408, 400, 0, - 393, 395, 396, 397, 373, 374, 374, 374, 378, 380, - 379, 374, 376, 18, 16, 0, 22, 21, 34, 27, - 25, 0, 310, 311, 0, 0, 31, 0, 0, 324, - 313, 0, 30, 34, 0, 0, 242, 230, 246, 0, - 243, 232, 0, 245, 0, 241, 228, 0, 34, 0, - 0, 0, 257, 205, 202, 193, 0, 204, 203, 366, - 0, 0, 93, 0, 93, 0, 122, 123, 0, 0, - 0, 81, 368, 0, 0, 283, 452, 451, 447, 449, - 436, 434, 433, 431, 439, 440, 0, 429, 443, 444, - 0, 425, 359, 349, 0, 0, 0, 268, 347, 364, - 363, 345, 415, 422, 114, 0, 288, 0, 292, 294, - 280, 0, 350, 0, 352, 355, 354, 0, 0, 118, - 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, - 184, 0, 0, 0, 0, 362, 0, 175, 145, 0, - 0, 0, 0, 148, 150, 151, 152, 0, 172, 177, - 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, - 0, 391, 382, 394, 0, 371, 372, 377, 381, 0, - 0, 15, 33, 5, 32, 0, 0, 24, 321, 319, - 317, 323, 315, 7, 239, 237, 249, 244, 248, 0, - 254, 255, 256, 252, 0, 244, 0, 0, 235, 229, - 11, 261, 260, 258, 194, 0, 0, 196, 0, 38, - 38, 82, 225, 285, 437, 435, 210, 362, 445, 271, - 270, 267, 56, 55, 0, 287, 351, 353, 109, 64, - 0, 66, 65, 69, 73, 0, 105, 79, 80, 278, - 462, 463, 466, 464, 465, 470, 173, 467, 468, 278, - 0, 144, 0, 139, 0, 0, 163, 0, 0, 149, - 171, 0, 147, 0, 107, 278, 0, 119, 127, 0, - 0, 0, 0, 0, 86, 88, 398, 19, 17, 28, - 26, 247, 231, 250, 0, 253, 233, 76, 0, 198, - 197, 83, 84, 0, 289, 0, 0, 0, 70, 0, - 278, 0, 191, 0, 207, 0, 0, 154, 0, 140, - 146, 0, 0, 0, 125, 0, 0, 0, 137, 133, - 129, 362, 90, 0, 0, 278, 209, 63, 38, 38, - 67, 0, 93, 173, 173, 278, 173, 278, 278, 0, - 469, 138, 170, 0, 0, 141, 0, 124, 135, 134, - 0, 0, 0, 0, 251, 74, 0, 71, 72, 0, - 0, 191, 191, 0, 191, 0, 0, 183, 169, 161, - 164, 166, 142, 0, 131, 136, 134, 0, 38, 0, - 0, 38, 106, 185, 186, 173, 188, 173, 173, 0, - 0, 278, 0, 278, 278, 0, 362, 168, 108, 132, - 38, 89, 85, 38, 0, 191, 191, 191, 170, 170, - 0, 170, 0, 0, 0, 0, 0, 0, 88, 0, - 0, 187, 189, 190, 161, 161, 0, 161, 0, 0, - 153, 0, 170, 0, 87, 0, 68, 155, 156, 170, - 158, 170, 170, 170, 167, 162, 75, 161, 161, 161, - 166, 157, 159, 160, 165 + 0, 0, 97, 96, 0, 0, 280, 0, 0, 0, + 0, 280, 280, 77, 0, 148, 78, 149, 0, 99, + 0, 0, 364, 376, 8, 9, 12, 0, 0, 0, + 203, 0, 37, 2, 35, 39, 40, 41, 42, 43, + 44, 45, 47, 46, 280, 50, 52, 0, 92, 100, + 102, 94, 48, 49, 51, 0, 103, 0, 104, 98, + 13, 201, 0, 93, 280, 93, 93, 93, 0, 280, + 0, 414, 0, 113, 0, 327, 0, 0, 0, 0, + 0, 0, 284, 0, 0, 0, 0, 0, 0, 0, + 329, 328, 360, 362, 350, 0, 0, 0, 0, 0, + 348, 0, 346, 0, 0, 0, 331, 332, 333, 334, + 335, 336, 337, 275, 277, 276, 330, 279, 0, 278, + 281, 283, 338, 340, 339, 341, 344, 115, 0, 116, + 0, 117, 0, 112, 0, 0, 0, 110, 0, 111, + 0, 126, 0, 0, 0, 363, 0, 392, 390, 413, + 0, 0, 388, 389, 376, 387, 3, 372, 377, 391, + 14, 0, 0, 4, 20, 297, 23, 0, 0, 299, + 298, 322, 324, 320, 0, 318, 0, 316, 0, 6, + 301, 302, 303, 304, 305, 306, 307, 300, 29, 308, + 310, 309, 311, 314, 228, 229, 240, 242, 238, 0, + 0, 236, 0, 10, 264, 0, 0, 261, 0, 0, + 0, 369, 0, 1, 36, 0, 91, 101, 95, 143, + 0, 0, 202, 197, 0, 415, 0, 0, 0, 0, + 93, 93, 121, 120, 54, 0, 53, 422, 421, 419, + 420, 371, 0, 216, 215, 218, 217, 220, 219, 226, + 225, 286, 0, 450, 0, 448, 0, 452, 222, 221, + 224, 223, 443, 434, 432, 440, 0, 0, 342, 293, + 430, 0, 444, 0, 429, 0, 426, 428, 343, 295, + 0, 0, 268, 267, 358, 359, 274, 0, 0, 271, + 0, 0, 266, 265, 0, 0, 0, 367, 345, 0, + 214, 213, 418, 416, 0, 425, 423, 0, 0, 288, + 0, 0, 0, 292, 0, 0, 0, 0, 58, 57, + 60, 59, 62, 61, 0, 0, 0, 93, 0, 0, + 0, 130, 134, 0, 394, 0, 386, 412, 405, 385, + 406, 407, 411, 409, 408, 403, 401, 404, 410, 402, + 0, 395, 397, 398, 399, 375, 376, 376, 376, 380, + 382, 381, 376, 378, 18, 16, 0, 22, 21, 34, + 27, 25, 0, 312, 313, 0, 0, 31, 0, 0, + 326, 315, 0, 30, 34, 0, 0, 244, 232, 248, + 0, 245, 234, 0, 247, 0, 243, 230, 0, 34, + 0, 0, 0, 259, 207, 204, 195, 0, 206, 205, + 368, 0, 181, 180, 0, 455, 456, 457, 458, 459, + 280, 280, 280, 460, 461, 280, 280, 280, 280, 0, + 280, 462, 280, 463, 0, 0, 0, 176, 184, 182, + 183, 0, 178, 0, 0, 93, 0, 93, 0, 122, + 123, 0, 0, 0, 81, 370, 0, 0, 285, 454, + 453, 449, 451, 438, 436, 435, 433, 441, 442, 0, + 431, 445, 446, 0, 427, 361, 351, 0, 0, 0, + 270, 349, 366, 365, 347, 417, 424, 114, 0, 290, + 0, 294, 296, 282, 0, 352, 0, 354, 357, 356, + 0, 0, 118, 0, 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 0, 393, 384, 396, 0, 373, + 374, 379, 383, 0, 0, 15, 33, 5, 32, 0, + 0, 24, 323, 321, 319, 325, 317, 7, 241, 239, + 251, 246, 250, 0, 256, 257, 258, 254, 0, 246, + 0, 0, 237, 231, 11, 263, 262, 260, 196, 0, + 210, 0, 0, 0, 0, 0, 0, 0, 186, 0, + 0, 0, 0, 364, 0, 177, 145, 0, 0, 0, + 0, 150, 152, 153, 154, 0, 174, 179, 0, 0, + 0, 198, 0, 38, 38, 82, 227, 287, 439, 437, + 212, 364, 447, 273, 272, 269, 56, 55, 0, 289, + 353, 355, 109, 64, 0, 66, 65, 69, 73, 0, + 105, 79, 80, 280, 107, 280, 0, 119, 127, 0, + 0, 0, 0, 0, 86, 88, 400, 19, 17, 28, + 26, 249, 233, 252, 0, 255, 235, 76, 0, 464, + 465, 468, 466, 467, 472, 473, 175, 469, 470, 280, + 0, 144, 0, 139, 0, 0, 165, 0, 0, 151, + 173, 0, 147, 0, 200, 199, 83, 84, 0, 291, + 0, 0, 0, 70, 0, 280, 0, 0, 125, 0, + 0, 0, 137, 133, 129, 364, 90, 0, 0, 280, + 193, 0, 209, 0, 0, 156, 0, 140, 146, 0, + 0, 211, 63, 38, 38, 67, 0, 93, 0, 124, + 135, 134, 0, 0, 0, 0, 253, 74, 0, 175, + 175, 280, 175, 280, 280, 0, 471, 138, 172, 0, + 0, 141, 71, 72, 0, 0, 0, 131, 136, 134, + 0, 38, 0, 0, 193, 193, 0, 193, 0, 0, + 185, 171, 163, 166, 168, 142, 38, 106, 108, 132, + 38, 89, 85, 38, 187, 188, 175, 190, 175, 175, + 0, 0, 280, 0, 280, 280, 0, 364, 170, 0, + 88, 0, 193, 193, 193, 172, 172, 0, 172, 0, + 0, 0, 0, 0, 0, 0, 87, 0, 189, 191, + 192, 163, 163, 0, 163, 0, 0, 155, 0, 172, + 0, 68, 75, 157, 158, 172, 160, 172, 172, 172, + 169, 164, 163, 163, 163, 168, 159, 161, 162, 167 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 30, 398, 413, 428, 164, 395, 550, 549, 180, - 401, 556, 555, 553, 31, 233, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 615, 678, 42, 43, 619, - 234, 451, 44, 702, 733, 45, 46, 47, 48, 49, - 50, 71, 231, 51, 52, 539, 53, 748, 523, 524, - 775, 525, 777, 797, 749, 526, 527, 528, 350, 351, - 719, 54, 55, 436, 352, 272, 104, 105, 106, 107, - 108, 109, 110, 453, 204, 424, 415, 414, 569, 419, - 423, 574, 111, 112, 113, 114, 115, 116, 117, 118, - 250, 454, 487, 604, 409, 411, 407, 405, 404, 410, - 119, 297, 292, 279, 278, 147, 296, 57, 120, 157, - 158, 159, 379, 380, 381, 382, 160, 72, 121, 122, - 123, 273, 274, 275, 462, 266, 276, 124, 254, 255, - 355 + -1, 31, 369, 384, 399, 163, 366, 524, 523, 179, + 372, 530, 529, 527, 32, 235, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 619, 683, 43, 44, 623, + 236, 454, 45, 696, 725, 46, 47, 48, 49, 50, + 51, 73, 233, 52, 53, 513, 54, 55, 761, 581, + 582, 786, 583, 788, 804, 762, 584, 585, 586, 437, + 438, 735, 56, 57, 407, 439, 274, 106, 107, 108, + 109, 110, 111, 112, 456, 203, 395, 386, 385, 543, + 390, 394, 548, 113, 114, 115, 116, 117, 118, 119, + 120, 252, 457, 490, 608, 380, 382, 378, 376, 375, + 381, 121, 299, 294, 281, 280, 146, 298, 59, 122, + 156, 157, 158, 350, 351, 352, 353, 159, 74, 123, + 124, 125, 275, 276, 277, 465, 268, 278, 126, 256, + 257, 442 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -610 +#define YYPACT_NINF -664 static const yytype_int16 yypact[] = { - 2060, -82, -610, -610, 2118, 4643, 2604, 4643, 4643, 4643, - 1377, 2604, 2604, -610, 1450, 1523, -610, 1596, -610, 1669, - 7, 2604, 978, 2668, 2923, 4037, 1133, 72, 3240, -610, - 51, 4746, -610, -610, -610, -610, -610, -610, -610, -610, - -610, -610, -610, 2604, -610, -610, -13, -610, 23, -610, - 4777, -610, -610, -610, -610, 62, -610, -610, -610, -610, - 2, 4777, 2604, 4777, 4777, 4777, 1377, 2604, 2604, -610, - 262, -610, 3526, -610, 213, 3792, 29, 35, 43, 3682, - 18, 36, 63, 70, 24, 24, 66, 66, -610, -610, - -610, -610, -610, 1815, 3578, 3578, 1220, 1888, -610, 2737, - -610, 74, 37, 65, -610, -610, -610, -610, -610, -610, - -610, -610, -610, -610, -610, -610, 45, -610, 2331, 156, - -610, -610, -610, -610, -610, -610, 3674, -610, 3705, -610, - 3797, -610, 75, 80, 94, -610, 101, -610, 3828, 109, - -610, 123, -610, 7, 139, 3904, -610, 172, -610, -610, - -610, 816, 1240, -610, -610, 978, -610, 154, -610, 2854, - -610, -21, 3578, 3578, -610, 156, -610, -10, 24, 66, - -610, -610, -610, -610, -610, 4301, -610, 4237, -610, 4301, - -610, -610, -610, -610, -610, -610, -610, -610, -610, -610, - -610, -610, -610, -610, -610, -610, -610, -610, -610, -610, - 254, 1055, -610, 46, -610, -610, 3578, 3578, -610, 2604, - 186, 314, -610, 215, -610, -610, 193, -610, -610, -610, - -610, -610, 141, -610, 199, 211, 230, 234, 4777, 4777, - -610, -610, -610, 292, -610, -610, -610, -610, -610, -610, - 271, -610, -610, -610, -610, -610, -610, -610, -610, -610, - 3578, -610, 64, -610, 86, -610, -610, -610, -610, -610, - -610, 30, 162, -610, 24, 24, -610, -610, -610, 2988, - -610, 66, -610, 170, 150, -610, -610, -610, 2737, 2737, - -610, 156, -11, -11, -610, 3578, 3578, -610, 2604, 155, - -610, 241, 2737, 3578, 3578, 156, -610, 2737, -610, -610, - -610, -610, 227, -610, -610, 226, 4643, 237, 24, 66, - 3578, 156, 3052, 3116, 3578, 3578, -610, -610, -610, -610, - -610, -610, 2595, 4643, 7, 4777, -610, -610, 2152, -610, - -610, -610, -610, -610, 2604, 2604, 2604, -610, -610, 2604, - 2604, 2604, 1742, 2604, -610, 2604, -610, 3578, 3578, 238, - 4864, -610, -610, -610, 2833, 4864, 3828, 4777, 4397, 2595, - -610, 58, 7, -610, 93, -610, -610, -610, -610, -610, - -610, -610, -610, -610, -610, -610, -610, -610, -610, 249, - 2014, -610, 253, -610, -610, 978, 978, 978, -610, -610, - -610, 978, -610, -610, -610, 3578, 156, 156, 3180, -610, - -610, 4301, -610, -610, 4237, 4237, -610, 4237, 4301, -610, - -610, 4237, -610, 3180, 4037, 2737, -610, -610, -610, 976, - -610, -610, 1010, 3914, 2737, -610, -610, 239, 3180, 251, - 285, 263, -610, -610, -610, -610, 275, -610, -610, -610, - 7, -2, 4777, 4777, 4777, 4777, -610, -610, 7, 7, - 7, -610, -610, 4037, 3578, 156, -610, -610, -610, -610, - -610, -610, 48, 286, -610, -610, 1961, 156, -610, -610, - 66, -610, -610, -610, 78, 356, 274, -610, -610, -11, - -11, -610, -610, -610, -610, 3937, -610, 3578, -610, -610, - 156, 3578, 156, 3578, 241, -11, -11, 344, 4428, -610, - 4029, 2866, 69, -610, 281, 282, 287, 290, 291, 294, - -610, 297, 301, 302, 2395, 2193, 3276, -610, -610, 7, - 1304, 3317, 373, 4670, -610, -610, -610, 307, -610, -610, - 312, 3413, 167, -610, 375, 392, 4520, 2464, 7, 393, - 4060, -610, -610, -610, 570, 330, -610, -610, -610, 3578, - 3578, 156, -610, -610, 156, 4301, 4301, -610, -610, -610, - -610, -610, -610, -610, -610, -610, -610, 4037, -610, 341, - -610, -610, -610, -610, 4037, 4037, 420, 348, -610, -610, - -610, -610, -610, -610, -610, 3569, 350, -610, 355, 4746, - 4746, -610, -610, 156, -610, -610, -610, 2193, -610, -610, - -610, -610, -610, -610, 3578, 156, -11, -11, -610, -610, - 416, -610, -610, -610, 272, 222, -610, -610, -610, 2604, - -610, -610, -610, -610, -610, -610, 4864, -610, -610, 2193, - 358, -610, 421, -610, 359, 435, -610, 2262, 7, -610, - -610, 3450, -610, 424, -610, 2604, 7, -610, -610, 432, - 7, 364, 4551, 7, -610, 376, -610, 156, 156, -610, - -610, -610, -610, -610, 27, -610, -610, -610, 235, -610, - -610, -610, -610, 377, 156, 7, 7, 7, -610, 7, - 2604, 378, 585, 382, -610, 7, 7, -610, 7, -610, - -610, 439, 7, 384, -610, 7, 4152, 7, -610, -610, - -610, 2604, 379, 4037, 7, 2604, -610, -610, 4746, 4746, - -610, 385, 4777, 4864, 4864, 2604, 4864, 2604, 2604, 452, - -610, -610, 4670, 2560, 7, -610, 4777, -610, -610, 58, - 4185, 390, 7, 455, -610, -610, 394, -610, -610, 7, - 457, 585, 585, 397, 585, 401, 405, -610, -610, 675, - -610, 410, -610, 473, -610, -610, 58, 7, 4746, 7, - 7, 4746, -610, -610, -610, 4864, -610, 4864, 4864, 7, - 7, 2604, 7, 2604, 2604, 475, 2604, 417, -610, -610, - 4746, -610, -610, 4746, 480, 585, 585, 585, 4670, 4670, - 419, 4670, 429, 431, 7, 436, 7, 484, 376, 492, - 7, -610, -610, -610, 675, 675, 7, 675, 7, 7, - -610, 7, 4670, 7, -610, 7, -610, -610, -610, 4670, - -610, 4670, 4670, 4670, -610, -610, -610, 675, 675, 675, - 410, -610, -610, -610, -610 + 2085, -55, -664, -664, 3053, 4597, 2630, 4597, 4597, 4597, + 1393, 2630, 2630, -664, 1467, -664, -664, -664, 1541, -664, + 1615, 19, 2630, 830, 2695, 3130, 3373, 1141, 55, 226, + -664, 63, 4751, -664, -664, -664, -664, -664, -664, -664, + -664, -664, -664, -664, 2630, -664, -664, -29, -664, 42, + -664, 4010, -664, -664, -664, 1689, -664, 71, -664, -664, + -664, -664, -6, 4010, 2630, 4010, 4010, 4010, 1393, 2630, + 2630, -664, 315, -664, 3227, -664, 176, 1079, 47, 48, + 50, 1034, 3, 31, 60, 72, 37, 37, 39, 39, + -664, -664, -664, -664, -664, 1837, 4204, 4204, 1222, 1911, + -664, 2878, -664, 86, 43, 27, -664, -664, -664, -664, + -664, -664, -664, -664, -664, -664, -664, -664, 22, -664, + 2430, 135, -664, -664, -664, -664, -664, -664, 3259, -664, + 3352, -664, 3384, -664, 52, 78, 83, -664, 85, -664, + 94, -664, 19, 110, 3477, -664, 115, -664, -664, -664, + 1242, 2350, -664, -664, 830, -664, -32, -664, 3247, -664, + 93, 4204, 4204, -664, 135, -664, 101, 37, 39, -664, + -664, -664, -664, -664, 4500, -664, 4269, -664, 4500, -664, + -664, -664, -664, -664, -664, -664, -664, -664, -664, -664, + -664, -664, -664, -664, -664, -664, -664, -664, -664, 915, + 961, -664, 58, -664, -664, 4204, 4204, -664, 2630, 133, + 995, -664, 308, -664, -664, 137, -664, -664, -664, -664, + 3511, 139, -664, -664, 131, -664, 141, 144, 166, 168, + 4010, 4010, -664, -664, -664, 427, -664, -664, -664, -664, + -664, -664, 480, -664, -664, -664, -664, -664, -664, -664, + -664, -664, 4204, -664, 49, -664, 4, -664, -664, -664, + -664, -664, -664, 11, 99, -664, 37, 37, -664, -664, + -664, 3552, -664, 39, -664, 18, 67, -664, -664, -664, + 2878, 2878, -664, 135, 113, 113, -664, 4204, 4204, -664, + 2630, 114, -664, 195, 2878, 4204, 4204, 135, -664, 2878, + -664, -664, -664, -664, 157, -664, -664, 159, 4597, 169, + 37, 39, 4204, 135, 3617, 3682, 4204, 4204, -664, -664, + -664, -664, -664, -664, 4625, 4597, 19, 4010, 4010, 2869, + 4625, -664, 167, 19, -664, 23, -664, -664, -664, -664, + -664, -664, -664, -664, -664, -664, -664, -664, -664, -664, + 180, 1324, -664, 179, -664, -664, 830, 830, 830, -664, + -664, -664, 830, -664, -664, -664, 4204, 135, 135, 3747, + -664, -664, 4500, -664, -664, 4269, 4269, -664, 4269, 4500, + -664, -664, 4269, -664, 3747, 3373, 2878, -664, -664, -664, + 562, -664, -664, 197, 3361, 2878, -664, -664, 175, 3747, + 230, 359, 185, -664, -664, -664, -664, 192, -664, -664, + -664, 19, -664, -664, 2178, -664, -664, -664, -664, -664, + 2630, 2630, 2630, -664, -664, 2630, 2630, 2630, 2630, 1763, + 2630, -664, 2630, -664, 4204, 4204, 183, 4844, -664, -664, + -664, 2792, 4844, 3511, 116, 4010, 4010, 4010, 4010, -664, + -664, 19, 19, 19, -664, -664, 3373, 4204, 135, -664, + -664, -664, -664, -664, -664, 35, 220, -664, -664, 1985, + 135, -664, -664, 39, -664, -664, -664, 255, 410, 204, + -664, -664, 113, 113, -664, -664, -664, -664, 3844, -664, + 4204, -664, -664, 135, 4204, 135, 4204, 195, 113, 113, + 259, 4366, -664, 3876, 2826, 208, 327, -664, 276, 280, + 4398, 2495, 19, 281, 2143, -664, -664, -664, 2039, 217, + -664, -664, -664, 4204, 4204, 135, -664, -664, 135, 4500, + 4500, -664, -664, -664, -664, -664, -664, -664, -664, -664, + -664, 3373, -664, 227, -664, -664, -664, -664, 3373, 3373, + 320, 232, -664, -664, -664, -664, -664, -664, -664, 3969, + -664, 235, 246, 251, 263, 266, 270, 271, -664, 283, + 290, 293, 2560, 2219, 2975, -664, -664, 19, 1307, 4021, + 341, 4718, -664, -664, -664, 267, -664, -664, 282, 3012, + 304, -664, 330, 4751, 4751, -664, -664, 135, -664, -664, + -664, 2219, -664, -664, -664, -664, -664, -664, 4204, 135, + 113, 113, -664, -664, 369, -664, -664, -664, 221, 385, + -664, -664, -664, 2630, -664, 2630, 19, -664, -664, 399, + 19, 337, 4491, 19, -664, 340, -664, 135, 135, -664, + -664, -664, -664, -664, 25, -664, -664, -664, 515, -664, + -664, -664, -664, -664, -664, -664, 4844, -664, -664, 2219, + 345, -664, 409, -664, 349, 430, -664, 2289, 19, -664, + -664, 3089, -664, 422, -664, -664, -664, -664, 362, 135, + 19, 19, 19, -664, 19, 2630, 371, 376, -664, 19, + 4118, 19, -664, -664, -664, 2630, 382, 3373, 19, 2630, + 581, 386, -664, 19, 19, -664, 19, -664, -664, 450, + 19, -664, -664, 4751, 4751, -664, 389, 4010, 4010, -664, + -664, 167, 4152, 390, 19, 456, -664, -664, 395, 4844, + 4844, 2630, 4844, 2630, 2630, 461, -664, -664, 4718, 2386, + 19, -664, -664, -664, 19, 467, 470, -664, -664, 167, + 19, 4751, 19, 19, 581, 581, 407, 581, 408, 414, + -664, -664, 628, -664, 420, -664, 4751, -664, -664, -664, + 4751, -664, -664, 4751, -664, -664, 4844, -664, 4844, 4844, + 19, 19, 2630, 19, 2630, 2630, 484, 2630, 432, 499, + 340, 502, 581, 581, 581, 4718, 4718, 438, 4718, 441, + 443, 19, 453, 19, 519, 19, -664, 19, -664, -664, + -664, 628, 628, 19, 628, 19, 19, -664, 19, 4718, + 19, -664, -664, -664, -664, 4718, -664, 4718, 4718, 4718, + -664, -664, 628, 628, 628, 420, -664, -664, -664, -664 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -610, -610, -610, -610, -610, -610, -610, -610, -610, -610, - -610, -610, -610, -371, -610, 39, 486, -610, -610, -610, - -610, -610, -610, -610, -610, -405, -610, -610, -610, -518, - -97, -610, -610, -280, -610, -610, 15, -32, -610, 471, - -610, 53, -610, -610, -610, -589, -610, -344, -610, -610, - -400, -610, -309, -610, 95, -610, -609, -93, -610, -610, - -281, -610, -610, -610, -610, -610, 11, 71, 79, 119, - 189, 428, 474, -610, -39, -610, -610, -610, 106, -610, - -610, -132, 144, -610, -610, -9, -12, 218, -5, -610, - -610, -610, -610, -610, 22, -610, -610, -610, -610, -140, - 731, -610, -610, -610, -610, -338, -224, -205, 541, 60, - 374, -610, 158, -610, -610, -3, -143, -7, 549, 561, - 597, -98, -610, 28, 277, -66, -76, 682, -610, 280, - -610 + -664, -664, -664, -664, -664, -664, -664, -664, -664, -664, + -664, -664, -664, -347, -664, 127, 513, -664, -664, -664, + -664, -664, -664, -664, -664, -472, -664, -664, -664, -488, + -120, -664, -664, -238, -664, -664, 14, -48, -664, 504, + -664, 224, -664, -664, -664, -663, -664, -664, -428, -664, + -664, -256, -664, -274, -664, -302, -664, -622, -191, -664, + -664, -490, -664, -664, -664, -664, -664, 0, 30, 45, + 103, 164, 172, 212, -664, -57, -664, -664, -664, 170, + -664, -664, -75, 384, -664, -664, -9, -13, 81, -16, + -664, -664, -664, -664, -664, 8, -664, -664, -664, -664, + -17, 761, -664, -664, -664, -664, -361, -216, -206, 472, + -2, 415, -664, 228, -664, -664, 64, -142, -7, 558, + 574, 579, -88, -664, -51, 317, -82, -63, 614, -664, + 333, -664 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -375 +#define YYTABLE_NINF -377 static const yytype_int16 yytable[] = { - 126, 128, 130, 139, 511, 305, 438, 144, 60, 383, - 522, 277, 58, 145, 645, 188, 146, 682, 219, 267, - 70, 210, 70, 70, 70, 260, 2, 3, 261, 317, - 241, 319, 571, 321, 460, 181, 243, 251, 300, 32, - 248, 261, 563, 313, 245, 349, 189, 425, 393, 18, - 261, 214, 594, 586, 472, 473, 227, 580, 314, 399, - 125, 127, 129, 220, 256, 456, 303, 221, 478, 261, - 261, 258, 394, 481, 587, 298, 70, 211, 70, 70, - 70, 217, 315, 400, 28, 616, 262, 617, 213, 537, - 538, 289, 461, 403, 618, 182, 223, 680, 252, 262, - 26, 69, 402, 183, 741, 742, 26, 744, 262, 28, - 595, 249, 265, 265, 26, 312, 125, 127, 129, 253, - 263, 268, 268, 264, 572, 306, 457, 262, 262, 353, - 302, 354, 313, 301, 26, 240, 358, 222, 269, 269, - 754, 26, 426, 184, 56, 26, 441, 314, 252, 56, - 705, 56, 56, 56, 261, 322, 785, 599, 786, 787, - 323, 418, 422, 304, 270, 271, 188, 779, 188, 458, - 188, 315, 632, 541, 324, 56, 471, 630, 385, 639, - 386, 325, 634, 644, 361, 617, 181, 643, 181, 356, - 181, 565, 618, 312, 56, 468, 265, 406, 464, 465, - 578, 412, 437, 357, 431, 56, 268, 56, 56, 56, - 313, 364, 262, 185, 235, 384, 56, 236, 237, 359, - 242, 244, 246, 269, 461, 314, 257, 259, 132, 133, - 134, 427, 136, 489, 477, 141, 588, 383, 679, 385, - 617, 386, 488, 70, 70, 299, 182, 618, 182, 315, - 182, 704, 362, 617, 183, 416, 183, 517, 183, 673, - 618, 216, 529, 530, 558, 559, 432, 560, 469, 470, - 56, 562, 56, 440, 56, 238, 228, 229, 230, 442, - 224, 446, 447, 476, 225, 226, 676, 677, 312, 56, - 497, 443, 265, 265, 184, 313, 184, 691, 184, 485, - 385, 439, 386, 737, 738, 313, 448, 449, 450, 195, - 444, 196, 197, 198, 445, 498, 500, 501, 199, 433, - 314, 70, 312, 482, 483, 532, 200, 535, 542, 201, - 486, 581, 516, 417, 544, 579, 265, 146, 70, 313, - 502, 353, 202, 583, 315, 353, 353, 353, 595, 531, - 203, 584, 536, 601, 314, 540, 385, 452, 386, 484, - 608, 620, 621, 731, 185, 582, 185, 622, 185, 434, - 623, 624, 56, 56, 625, 564, 499, 626, 315, 93, - 568, 627, 628, 573, 576, 26, 96, 97, 603, 638, - 435, 646, 188, 312, 598, 188, 188, 534, 188, 188, - 28, 640, 188, 612, 817, 818, 641, 820, 647, 653, - 313, 497, 181, 535, 592, 181, 181, 386, 181, 181, - 662, 665, 181, 557, 666, 314, 669, 831, 832, 833, - 561, 670, 675, 585, 684, 600, 687, 685, 795, 686, - 692, 589, 590, 591, 697, 545, 546, 547, 695, 315, - 56, 548, 186, 706, 701, 724, 732, 70, 712, 70, - 763, 764, 720, 766, 726, 739, 56, 56, 747, 56, - 757, 759, 182, 762, 760, 182, 182, 765, 182, 182, - 183, 767, 182, 183, 183, 768, 183, 183, 776, 778, - 183, 794, 671, 672, 796, 484, 800, 499, 187, 806, - 813, 56, 56, 56, 801, 802, 803, 353, 815, 808, - 146, 809, 633, 635, 353, 146, 811, 215, 814, 218, - 184, 834, 353, 184, 184, 651, 184, 184, 661, 577, - 184, 652, 703, 392, 459, 663, 664, 610, 543, 463, - 614, 656, 0, 0, 0, 0, 188, 188, 0, 0, - 0, 0, 504, 505, 506, 0, 0, 507, 508, 509, - 0, 512, 0, 513, 0, 190, 181, 181, 0, 0, - 0, 0, 0, 191, 0, 649, 0, 659, 660, 655, - 0, 0, 0, 0, 0, 192, 56, 56, 56, 56, - 185, 0, 146, 185, 185, 0, 185, 185, 0, 0, - 185, 0, 0, 186, 0, 186, 0, 186, 713, 714, - 715, 716, 717, 718, 0, 0, 0, 353, 0, 0, - 0, 193, 0, 0, 668, 0, 182, 182, 0, 56, - 366, 689, 353, 0, 183, 183, 0, 0, 0, 694, - 0, 367, 56, 696, 56, 56, 700, 0, 0, 187, - 369, 187, 0, 187, 0, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 734, 0, 0, 0, 707, 708, - 709, 0, 710, 0, 184, 184, 0, 0, 721, 722, - 56, 723, 0, 0, 56, 725, 0, 0, 727, 0, - 730, 699, 0, 0, 753, 0, 146, 735, 769, 770, - 771, 772, 773, 774, 353, 353, 194, 353, 0, 0, - 0, 0, 0, 353, 353, 0, 190, 752, 190, 0, - 190, 0, 0, 0, 191, 758, 191, 740, 191, 56, - 0, 0, 761, 56, 56, 729, 192, 0, 192, 0, - 192, 0, 0, 0, 185, 185, 0, 614, 614, 0, - 780, 0, 782, 783, 165, 0, 353, 0, 353, 353, - 0, 0, 788, 789, 0, 791, 0, 0, 0, 756, - 0, 146, 193, 0, 193, 0, 193, 0, 0, 353, - 353, 0, 353, 0, 0, 0, 0, 810, 0, 812, - 0, 0, 0, 816, 0, 0, 56, 781, 0, 819, - 784, 821, 822, 353, 823, 0, 825, 0, 826, 0, - 353, 0, 353, 353, 353, 0, 0, 363, 751, 798, - 148, 0, 799, 0, 281, 282, 283, 0, 291, 186, - 295, 0, 186, 186, 0, 186, 186, 681, 0, 186, - 56, 0, 0, 0, 0, 0, 0, 683, 0, 311, - 0, 0, 56, 56, 0, 0, 56, 194, 0, 194, - 0, 194, 0, 693, 0, 0, 0, 0, 0, 0, - 56, 0, 0, 0, 56, 187, 149, 150, 187, 187, - 0, 187, 187, 804, 805, 187, 807, 151, 152, 0, - 0, 0, 0, 396, 397, 153, -374, 154, 711, 0, - 0, -374, 56, -374, 155, 56, 0, 824, 0, 156, - 0, 0, 0, 0, 827, 0, 828, 829, 830, 0, - 0, 0, 0, 736, 56, 0, 0, 56, 0, 0, - 0, 0, 0, 743, 0, 745, 746, 429, 430, 0, - 0, 0, 190, 0, 0, 190, 190, 0, 190, 190, - 191, 0, 190, 191, 191, 0, 191, 191, 0, 0, - 191, 0, 192, 0, 0, 192, 192, 0, 192, 192, - 0, 0, 192, 0, 0, 0, 0, 566, 0, 0, - 0, 455, 148, 186, 186, 0, 0, 0, 0, 790, - 0, 792, 793, 0, 0, 0, 0, 0, 193, 0, - 467, 193, 193, 0, 193, 193, 0, 0, 193, 295, - 295, 570, 0, 0, 0, 571, 474, 475, 0, 0, - 0, 0, 0, 295, 479, 480, 0, 0, 295, 187, - 187, 195, 0, 196, 197, 198, 0, 0, 149, 150, - 199, 490, 0, 492, 494, 495, 496, 0, 200, 151, - 152, 201, 0, 0, 0, -245, 420, 153, 567, 154, - 0, 0, 0, 0, 202, 195, 155, 196, 197, 198, - 0, 156, 203, 0, 199, 0, 0, 0, 514, 515, - 0, 0, 200, 194, 0, 201, 194, 194, 0, 194, - 194, 0, 0, 194, 0, 0, 190, 190, 202, 0, - 0, 0, 0, 0, 191, 191, 203, 572, 0, 0, - 195, 0, 196, 197, 198, 0, 192, 192, 0, 199, - 0, 0, 0, 0, 0, 0, 551, 200, 0, 554, - 201, 421, 0, 0, 205, 0, 0, 0, 73, 0, - 0, 0, 0, 202, 554, 0, 295, 0, 0, 0, - 0, 203, 193, 193, 0, 295, 0, 0, 0, 554, - 0, 0, 0, 0, 0, 0, 0, 0, 74, 75, - 0, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 0, 0, 593, 0, 0, 88, 89, - 0, 90, 91, 0, 0, 0, 92, 597, 93, 206, - 207, 94, 0, 95, 26, 96, 97, 0, 0, 0, - 0, 0, 0, 208, 0, 98, 99, 100, 605, 0, - 0, 284, 606, 0, 607, 73, 209, 0, 101, 102, - 0, 103, 0, 0, 0, 0, 0, 194, 194, 0, - 0, 365, 0, 0, 0, 629, 0, 0, 0, 0, - 0, 0, 637, 0, 0, 74, 75, 0, 76, 77, + 128, 130, 132, 218, 409, 269, 145, 143, 319, 354, + 321, 209, 323, 580, 144, 463, 187, 307, 625, 72, + 62, 72, 72, 72, 250, 180, 279, 212, 305, 436, + 545, 263, 253, 188, 700, 267, 267, 537, 262, 598, + 60, 263, 221, 263, 302, 2, 3, 263, 243, 245, + 459, 247, 554, 304, 356, 181, 357, 229, 747, 396, + 210, 258, 263, 213, 475, 476, 216, 254, 569, 19, + 182, 263, 222, 260, 464, 242, 223, 72, 481, 72, + 72, 72, 291, 484, 270, 373, 769, 300, 461, 225, + 264, 134, 135, 136, 254, 138, 270, 251, 599, 140, + 264, 271, 264, 308, 515, 374, 264, 754, 755, 356, + 757, 357, 460, 271, 71, 255, 267, 472, 473, 27, + 27, 264, 27, 546, 270, 215, 306, 33, 183, 29, + 264, 685, 27, 324, 265, 329, 444, 266, 272, 273, + 303, 271, 389, 393, 27, 226, 662, 224, 335, 227, + 228, 398, 355, 669, 792, 397, 793, 794, 27, 325, + 699, 673, 464, 364, 326, 187, 327, 187, 315, 187, + 539, 370, 590, 314, 180, 328, 180, 237, 180, 552, + 238, 239, 377, 316, 467, 468, 383, 365, 474, 184, + 315, 330, 402, 591, 480, 371, 333, 185, 544, 511, + 512, 408, 545, 29, 181, 316, 181, 317, 181, 354, + 471, 440, 660, 441, 403, 267, 267, 664, 411, 182, + 443, 182, 445, 182, 620, 446, 621, 211, 491, 317, + 147, 127, 129, 131, 622, 681, 682, 186, 592, 240, + 678, 742, 743, 709, 72, 72, 575, 447, 492, 448, + 315, 587, 588, 194, 485, 195, 196, 197, 486, 267, + 516, 518, 198, 489, 774, 775, 557, 777, 314, 558, + 199, 332, 553, 200, 479, 612, 500, 183, 574, 183, + 506, 183, 509, 599, 605, 315, 201, 148, 149, 127, + 129, 131, 626, 314, 202, 546, 627, 633, 150, 151, + 316, 488, 808, 809, 810, 357, 152, 642, 153, 646, + 315, 555, -376, -376, -376, 154, 649, 501, 503, 504, + 155, 645, 72, 510, 317, 316, 514, 650, 538, 230, + 231, 232, 651, 542, 723, 603, 547, 550, 184, 72, + 184, 505, 184, 624, 652, 621, 185, 653, 185, 317, + 185, 654, 655, 622, 519, 520, 521, 668, 532, 533, + 522, 534, 670, 187, 656, 536, 187, 187, 607, 187, + 187, 657, 180, 187, 658, 180, 180, 671, 180, 180, + 531, 674, 180, 616, 58, 680, 186, 535, 186, 58, + 186, 58, 58, 58, 356, 410, 357, 314, 500, 596, + 509, 684, 181, 621, 559, 181, 181, 675, 181, 181, + 602, 622, 181, 145, 315, 689, 58, 182, 691, 695, + 182, 182, 702, 182, 182, 703, 802, 182, 440, 316, + 704, 705, 440, 440, 440, 58, 589, 764, 710, 711, + 556, 451, 452, 453, 593, 594, 595, 58, 314, 58, + 58, 58, 717, 317, 449, 450, 508, 718, 58, 72, + 724, 72, 244, 246, 248, 315, 740, 736, 259, 261, + 744, 750, 752, 676, 677, 183, 753, 760, 183, 183, + 316, 183, 183, 767, 641, 183, 768, 301, 776, 778, + 604, 643, 644, 811, 812, 779, 814, 189, 631, 787, + 801, 561, 562, 563, 317, 632, 564, 565, 566, 567, + 803, 570, 58, 571, 58, 805, 58, 830, 807, 813, + 187, 187, 815, 832, 816, 833, 834, 835, 58, 180, + 180, 698, 487, 621, 818, 820, 184, 639, 640, 184, + 184, 622, 184, 184, 185, 214, 184, 185, 185, 502, + 185, 185, 806, 217, 185, 823, 824, 145, 826, 181, + 181, 839, 145, 540, 551, 440, 356, 455, 357, 697, + 663, 665, 440, 363, 182, 182, 836, 837, 838, 517, + 440, 466, 636, 190, 186, 145, 0, 186, 186, 462, + 186, 186, 0, 0, 186, 0, 0, 0, 0, 191, + 0, 0, 0, 0, 192, 729, 730, 731, 732, 733, + 734, 0, 0, 0, 58, 58, 0, 0, 194, 688, + 195, 196, 197, 690, 0, 0, 694, 198, 614, 0, + 0, 618, 183, 183, 0, 199, 0, 629, 200, 193, + 726, 635, -247, 0, 0, 541, 189, 440, 189, 0, + 189, 201, 780, 781, 782, 783, 784, 785, 0, 202, + 0, 707, 440, 0, 0, 0, 0, 0, 0, 487, + 746, 502, 0, 712, 713, 714, 0, 715, 0, 145, + 0, 0, 719, 0, 722, 0, 648, 0, 0, 0, + 0, 727, 58, 184, 184, 0, 737, 738, 0, 739, + 0, 185, 185, 741, 686, 0, 687, 0, 58, 58, + 0, 58, 58, 58, 58, 0, 0, 751, 0, 0, + 440, 440, 0, 440, 0, 0, 0, 0, 0, 440, + 440, 745, 190, 765, 190, 0, 190, 766, 0, 0, + 701, 186, 186, 770, 0, 772, 773, 0, 191, 0, + 191, 0, 191, 192, 0, 192, 0, 192, 0, 693, + 0, 0, 0, 0, 0, 0, 716, 440, 0, 440, + 440, 145, 0, 795, 796, 0, 798, 0, 0, 0, + 728, 0, 0, 0, 0, 164, 440, 440, 193, 440, + 193, 0, 193, 0, 817, 0, 819, 0, 821, 0, + 822, 0, 0, 0, 0, 0, 825, 0, 827, 828, + 440, 829, 756, 831, 758, 759, 440, 721, 440, 440, + 440, 0, 0, 0, 0, 0, 0, 0, 0, 58, + 58, 58, 58, 0, 147, 0, 0, 0, 0, 0, + 618, 618, 0, 0, 189, 0, 0, 189, 189, 749, + 189, 189, 0, 0, 189, 0, 283, 284, 285, 0, + 293, 0, 297, 797, 0, 799, 800, 0, 0, 0, + 0, 0, 58, 0, 0, 0, 0, 0, 771, 0, + 0, 313, 0, 0, 0, 58, 0, 58, 58, 0, + 0, 148, 149, 789, 58, 0, 0, 790, 58, 0, + 791, 0, 150, 151, 0, 0, 0, 0, 0, 0, + 152, 0, 153, 0, 0, 0, 387, 0, 0, 154, + 0, 0, 367, 368, 155, 0, 0, 0, 0, 0, + 190, 0, 0, 190, 190, 0, 190, 190, 0, 0, + 190, 0, 0, 58, 0, 0, 191, 0, 0, 191, + 191, 192, 191, 191, 192, 192, 191, 192, 192, 0, + 0, 192, 391, 0, 0, 0, 400, 401, 0, 0, + 0, 194, 0, 195, 196, 197, 0, 58, 58, 0, + 198, 0, 0, 0, 0, 0, 193, 0, 199, 193, + 193, 200, 193, 193, 0, 388, 193, 0, 0, 0, + 404, 189, 189, 0, 201, 0, 0, 0, 0, 0, + 0, 0, 202, 458, 0, 0, 58, 194, 0, 195, + 196, 197, 0, 0, 0, 0, 198, 0, 0, 0, + 0, 0, 470, 0, 199, 0, 0, 200, 392, 0, + 0, 297, 297, 0, 0, 0, 0, 0, 477, 478, + 201, 405, 0, 0, 0, 297, 482, 483, 202, 0, + 297, 95, 0, 0, 0, 0, 0, 27, 98, 99, + 0, 0, 406, 493, 58, 495, 497, 498, 499, 0, + 241, 0, 29, 147, 0, 0, 0, 190, 190, 0, + 194, 0, 195, 196, 197, 0, 0, 58, 58, 198, + 0, 58, 58, 191, 191, 0, 58, 199, 192, 192, + 200, 0, 0, 0, 0, 0, 0, 0, 0, 249, + 0, 0, 0, 201, 0, 0, 0, 525, 0, 0, + 528, 202, 0, 0, 0, 58, 0, 0, 0, 0, + 148, 149, 204, 193, 193, 528, 75, 297, 0, 0, + 58, 150, 151, 0, 58, 0, 297, 58, 0, 152, + 528, 153, 0, 0, 0, -376, -376, -376, 154, 0, + 0, 0, 0, 155, 0, 0, 0, 76, 77, 0, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 0, 0, 0, 0, 0, 88, 89, 0, 90, 91, - 657, 658, 0, 92, 0, 93, 285, 286, 94, 0, - 95, 26, 96, 97, 0, 0, 0, 0, 0, 287, - 366, 150, 98, 99, 100, 60, 0, 0, 0, 73, - 0, 367, 0, 288, 0, 101, 102, 0, 103, 368, - 369, 0, 0, 0, 0, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 0, 674, 0, 0, 0, 74, - 75, 0, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 0, 0, 0, 0, 0, 88, - 89, 0, 90, 91, 0, 0, 0, 92, 629, 93, - 0, 0, 94, 0, 95, 26, 96, 97, 131, 0, - 0, 0, 73, 0, -362, 0, 98, 99, 100, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 69, 101, - 102, 0, 103, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 74, 75, 0, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 0, 0, 0, - 0, 0, 88, 89, 0, 90, 91, 0, 0, 0, - 92, 0, 93, 0, 0, 94, 0, 95, 26, 96, - 97, 135, 0, 0, 0, 73, 0, -278, 0, 98, - 99, 100, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 101, 102, 0, 103, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 74, 75, 0, 76, 77, + 88, 89, 0, 0, 0, 572, 573, 90, 91, 0, + 92, 93, 0, 0, 0, 94, 0, 95, 205, 206, + 96, 0, 97, 27, 98, 99, 0, 0, 597, 0, + 0, 0, 207, 286, 100, 101, 102, 75, 0, 0, + 601, 0, 0, 0, 0, 208, 0, 103, 104, 0, + 105, 0, 0, 334, 0, 0, 147, 0, 0, 0, + 0, 609, 0, 0, 0, 610, 0, 611, 76, 77, + 0, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 0, 0, 0, 0, 0, 90, 91, + 0, 92, 93, 0, 637, 638, 94, 0, 95, 287, + 288, 96, 0, 97, 27, 98, 99, 0, 0, 0, + 0, 0, 289, 148, 149, 100, 101, 102, 62, 0, + 0, 0, 75, 0, 150, 151, 290, 0, 103, 104, + 0, 105, 152, -376, 153, 0, 0, 0, -376, 0, + -376, 154, 0, 659, 0, 0, 155, 0, 0, 0, + 667, 0, 0, 76, 77, 0, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 0, 0, + 0, 0, 0, 90, 91, 0, 92, 93, 0, 679, + 0, 94, 0, 95, 0, 0, 96, 0, 97, 27, + 98, 99, 0, 0, 0, 337, 149, 0, -364, 0, + 100, 101, 102, 0, 133, 0, 338, 0, 75, 0, + 0, 0, 71, 103, 104, 340, 105, 0, 0, 0, + 341, 342, 343, 344, 345, 346, 347, 348, 349, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 659, 76, + 77, 0, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 0, 0, 0, 0, 0, 90, + 91, 0, 92, 93, 0, 0, 0, 94, 0, 95, + 0, 0, 96, 0, 97, 27, 98, 99, 137, 0, + 0, 0, 75, 0, -280, 0, 100, 101, 102, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, + 104, 0, 105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 76, 77, 0, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 0, 0, + 0, 0, 0, 90, 91, 0, 92, 93, 0, 0, + 0, 94, 0, 95, 0, 0, 96, 0, 97, 27, + 98, 99, 139, 0, 0, 0, 75, 0, -280, 0, + 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 104, 0, 105, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 76, 77, 0, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 0, 0, 0, 0, 0, 88, 89, 0, 90, 91, - 0, 0, 0, 92, 0, 93, 0, 0, 94, 0, - 95, 26, 96, 97, 137, 0, 0, 0, 73, 0, - -278, 0, 98, 99, 100, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 101, 102, 0, 103, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 74, 75, - 0, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 0, 0, 0, 0, 0, 88, 89, - 0, 90, 91, 0, 0, 0, 92, 0, 93, 0, - 0, 94, 0, 95, 26, 96, 97, 140, 0, 0, - 0, 73, 0, 138, 0, 98, 99, 100, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 101, 102, - 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 74, 75, 0, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 0, 0, 0, 0, - 0, 88, 89, 0, 90, 91, 0, 0, 0, 92, - 0, 93, 0, 0, 94, 0, 95, 26, 96, 97, - 142, 0, 0, 0, 73, 0, -278, 0, 98, 99, - 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 101, 102, 0, 103, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 74, 75, 0, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 0, - 0, 0, 0, 0, 88, 89, 0, 90, 91, 0, - 0, 0, 92, 0, 93, 0, 0, 94, 0, 95, - 26, 96, 97, 510, 0, 0, 0, 73, 0, 143, - 0, 98, 99, 100, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 101, 102, 0, 103, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 74, 75, 0, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 0, 0, 0, 0, 0, 88, 89, 0, - 90, 91, 0, 0, 0, 92, 0, 93, 0, 0, - 94, 0, 95, 26, 96, 97, 280, 0, 0, 0, - 73, 0, -362, 0, 98, 99, 100, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 101, 102, 0, - 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 74, 75, 0, 76, 77, 78, 79, 0, 81, 82, - 83, 84, 0, 86, 0, 0, 0, 0, 0, 0, - 88, 89, 0, 90, 91, 0, 0, 0, 92, 0, - 93, 0, 0, 94, 0, 95, 26, 96, 97, 290, - 0, 0, 0, 73, 0, 0, 0, 98, 99, 100, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 101, 102, 0, 103, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 74, 75, 0, 76, 77, 78, 79, - 0, 81, 82, 83, 84, 0, 86, 0, 0, 0, - 0, 0, 0, 88, 89, 0, 90, 91, 0, 0, - 0, 92, 0, 93, 0, 0, 94, 0, 95, 26, - 96, 97, 596, 0, 0, 0, 73, 0, 0, 0, - 98, 99, 100, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 102, 0, 103, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 74, 75, 0, 76, - 77, 78, 79, 0, 81, 82, 83, 84, 0, 86, - 0, 0, 0, 0, 0, 0, 88, 89, 0, 90, - 91, 0, 0, 0, 92, 0, 93, 0, 0, 94, - 0, 95, 26, 96, 97, 0, 0, 0, 0, 0, - 0, 0, 0, 98, 99, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 102, 0, 103, - -38, 1, 0, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 366, 150, 0, 13, 0, 14, - 15, 16, 17, 0, 0, 367, 18, 0, 0, 19, - 20, 0, 0, 21, 369, 0, 0, 0, 0, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 0, 0, - 22, 23, 24, 25, 0, 0, 0, 0, 0, 59, - 0, -192, -192, -192, -192, -192, -192, -192, -192, -192, - -192, 26, -192, -192, -192, 27, -192, -192, 0, 0, - -192, 0, 0, -192, -192, 0, 28, -192, 0, 29, - 0, 0, 0, 503, -93, -206, -206, -206, -206, -206, - -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, - 0, -206, -206, 0, -206, -206, -206, -206, -206, -206, - -206, -206, -206, -206, -206, -206, 0, 0, 0, -192, - 0, 0, 0, -192, 0, 0, 0, 0, 73, 0, - 0, 0, 0, 0, -192, 0, 0, -192, 0, 0, - 0, 0, -192, 0, 0, 0, 0, -206, 0, 0, - 0, 0, 0, -206, -206, -206, 0, -206, 74, 75, - 312, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 0, 0, 0, -206, 313, 88, 89, - 0, 90, 91, 0, 0, 0, 92, 0, 93, 0, - 0, 94, 314, 95, 26, 96, 97, 73, 0, 0, - 0, 0, 0, 0, 0, 98, 99, 100, 0, 0, - 0, 0, 0, 0, 0, 0, 315, 0, 101, 102, - 0, 103, 0, 0, 0, 0, 0, 74, 75, 312, - 76, 77, 78, 79, 0, 81, 82, 83, 84, 0, - 86, 0, 0, 0, 0, 0, 313, 88, 89, 0, - 90, 91, 0, 0, 0, 92, 0, 93, 0, 0, - 94, 314, 95, 26, 96, 97, 73, 0, 0, 0, - 0, 0, 688, 0, 98, 99, 100, 0, 0, 0, - 0, 0, 0, 0, 0, 315, 0, 101, 102, 0, - 103, 0, 0, 0, 0, 0, 74, 75, 0, 76, - 77, 78, 79, 307, 81, 82, 83, 84, 308, 86, - 309, 0, 0, 0, 0, 0, 88, 89, 0, 90, - 91, 0, 0, 0, 92, 0, 93, 310, 0, 94, - 73, 95, 26, 96, 97, 0, 0, 0, 0, 0, - 0, 0, 0, 98, 99, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 102, 0, 103, - 74, 75, 312, 76, 77, 78, 79, 0, 81, 82, - 83, 84, 0, 86, 0, 0, 0, 0, 0, 313, - 88, 89, 0, 90, 91, 0, 0, 0, 92, 0, - 93, 0, 0, 94, 314, 95, 26, 96, 97, 73, - 0, 0, 0, 0, 0, 0, 0, 98, 99, 100, - 0, 0, 0, 0, 0, 0, 0, 0, 315, 0, - 101, 102, 0, 103, 0, 0, 0, 0, 0, 74, - 75, 0, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 0, 0, 0, 0, 0, 88, - 89, 0, 90, 91, 0, 0, 0, 92, 0, 93, - 0, 0, 94, 0, 95, 26, 96, 97, 0, 0, - 0, 0, 0, 0, 650, 0, 98, 99, 100, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, - 102, 750, 103, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, -170, 339, 0, 340, - 341, 520, 342, 0, 0, 0, 0, 0, 0, 343, - 344, 345, 346, 521, 0, 0, 60, 0, 2, 3, - 4, 61, 62, 63, 64, 65, 66, 67, 0, 73, - 0, 0, 0, 0, 14, 0, 0, 17, 0, 0, - 0, 18, 0, 0, 68, 93, 0, 0, 0, 0, - 0, 26, 96, 97, 0, 348, 0, -170, -170, 74, - 75, 0, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, -173, 0, 0, 0, 0, 88, - 89, 0, 90, 91, 0, 0, 26, 92, 0, 93, - 27, 0, 94, 73, 95, 26, 96, 97, 0, 0, - 0, 28, 0, 0, 29, 0, 98, 99, 100, 69, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, - 102, 0, 103, 74, 75, 0, 76, 77, 78, 79, - 161, 81, 82, 83, 84, 0, 86, 0, 0, 0, - 0, 0, 0, 88, 89, 0, 90, 91, 0, 0, - 0, 92, 0, 93, 0, 0, 94, 162, 95, 26, - 96, 97, 73, 0, 0, 0, 0, 0, 0, 0, - 98, 99, 100, 0, 0, 0, 0, 0, 0, 0, - 0, 163, 0, 101, 102, 0, 103, 0, 0, 0, - 0, 0, 74, 75, 0, 76, 77, 78, 79, 0, - 81, 82, 83, 84, 0, 86, 0, 0, 0, 0, - 0, 0, 88, 89, 0, 90, 91, 0, 0, 0, - 92, 0, 93, 0, 0, 94, 293, 95, 26, 96, - 97, 0, 0, 0, 0, 0, 0, 0, 0, 98, - 99, 100, 0, 0, 0, 0, 0, 0, 0, 0, - 294, 0, 101, 102, 518, 103, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 519, - 339, 0, 340, 341, 520, 342, 0, 0, 148, 0, - 0, 0, 343, 344, 345, 346, 521, 613, 0, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -38, -38, -38, 13, -38, 14, 15, 16, 17, 0, - 0, -38, 18, 0, 0, 19, 20, 0, 93, 21, - 0, 0, 0, 0, 26, 96, 97, 0, 348, 0, - 0, 0, 0, 0, 149, 150, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 151, 152, -173, 166, 0, - 0, 0, 0, 153, 0, 154, 0, 26, 0, 0, - 0, 27, 387, 388, 389, 390, 391, 156, 0, 0, - 0, 0, 28, 0, 0, 29, 0, 0, 74, 75, - -93, 76, 77, 78, 79, 167, 81, 82, 83, 168, - 0, 169, 0, 0, 0, 0, 0, 0, 170, 171, - 0, 172, 173, 0, 0, 0, 174, 0, 93, 0, - 0, 0, 175, 73, 26, 96, 97, 0, 0, 0, - 0, 0, 0, 0, 0, 176, 177, 178, 0, 0, - 0, 0, 0, 0, 0, 0, 179, 0, 101, 102, - 0, 103, 0, 74, 75, 0, 76, 77, 78, 79, - 0, 81, 82, 83, 84, 0, 86, 0, 0, 0, - 0, 0, 0, 88, 89, 0, 90, 91, 0, 0, - 0, 92, 0, 93, 0, 0, 94, 73, 95, 26, - 96, 97, 0, 466, 0, 0, 0, 0, 0, 0, - 98, 99, 100, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 102, 0, 103, 74, 75, 0, - 76, 77, 78, 79, 0, 81, 82, 83, 84, 0, - 86, 0, 0, 0, 0, 0, 0, 88, 89, 0, - 90, 91, 0, 0, 0, 92, 0, 93, 0, 0, - 94, 73, 95, 26, 96, 97, 0, 0, 0, 0, - 0, 0, 0, 0, 98, 99, 100, 0, 0, 0, - 0, 0, 0, 0, 0, 491, 0, 101, 102, 0, - 103, 74, 75, 0, 76, 77, 78, 79, 0, 81, - 82, 83, 84, 0, 86, 0, 0, 0, 0, 0, - 0, 88, 89, 0, 90, 91, 0, 0, 0, 92, - 0, 93, 0, 0, 94, 73, 95, 26, 96, 97, - 0, 0, 0, 0, 0, 0, 0, 0, 98, 99, - 100, 0, 0, 0, 0, 0, 0, 0, 0, 493, - 0, 101, 102, 0, 103, 74, 75, 0, 76, 77, - 78, 79, 552, 81, 82, 83, 84, 0, 86, 0, - 0, 0, 0, 0, 0, 88, 89, 0, 90, 91, - 0, 212, 0, 92, 148, 93, 0, 0, 94, 0, - 95, 26, 96, 97, 0, 0, 0, 0, 0, 0, - 0, 0, 98, 99, 100, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 101, 102, 631, 103, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 0, 339, 0, 340, 341, 520, 342, 0, - 149, 150, 0, 0, 0, 343, 344, 345, 346, 521, - 0, 151, 152, 0, 0, 0, 0, 0, 0, 153, - 0, 154, 73, 0, 0, -374, -374, -374, 155, 0, - 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, - 0, 93, 0, 0, 0, 0, 0, 26, 96, 97, - 0, 348, 74, 75, 0, 76, 77, 78, 79, 0, - 81, 82, 83, 84, 0, 86, 0, 0, 0, 0, - -173, 0, 88, 89, 0, 90, 91, 0, 0, 0, - 92, 0, 93, 0, 0, 94, 0, 95, 26, 96, - 97, 0, 0, 0, 0, 0, 0, 636, 0, 98, - 99, 100, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 101, 102, 642, 103, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 0, - 339, 0, 340, 341, 520, 342, 0, 0, 0, 0, - 0, 0, 343, 344, 345, 346, 521, 0, 0, 0, - 0, 690, 0, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 0, 339, 0, 340, - 341, 520, 342, 0, 0, 0, 0, 0, 93, 343, - 344, 345, 346, 521, 26, 96, 97, 0, 348, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -173, 0, 0, - 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, - 0, 26, 96, 97, 0, 348, 0, 232, 0, 2, + 88, 89, 0, 0, 0, 0, 0, 90, 91, 0, + 92, 93, 0, 0, 0, 94, 0, 95, 0, 0, + 96, 0, 97, 27, 98, 99, 141, 0, 0, 0, + 75, 0, -280, 0, 100, 101, 102, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 103, 104, 0, + 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 76, 77, 0, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 0, 0, 0, 0, + 0, 90, 91, 0, 92, 93, 0, 0, 0, 94, + 0, 95, 0, 0, 96, 0, 97, 27, 98, 99, + 219, 0, 0, 0, 75, 0, 142, 0, 100, 101, + 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 103, 104, 0, 105, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 76, 77, 0, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 0, 0, 0, 0, 0, 90, 91, 0, 92, 93, + 0, 0, 0, 94, 0, 95, 0, 0, 96, 0, + 97, 27, 98, 99, 568, 0, 0, 0, 75, 0, + 220, 0, 100, 101, 102, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 103, 104, 0, 105, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, + 77, 0, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 0, 0, 0, 0, 0, 90, + 91, 0, 92, 93, 0, 0, 0, 94, 0, 95, + 0, 0, 96, 0, 97, 27, 98, 99, 282, 0, + 0, 0, 75, 0, -364, 0, 100, 101, 102, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, + 104, 0, 105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 76, 77, 0, 78, 79, 80, 81, + 0, 83, 84, 85, 86, 0, 88, 0, 0, 0, + 0, 0, 0, 90, 91, 0, 92, 93, 0, 0, + 0, 94, 0, 95, 0, 0, 96, 0, 97, 27, + 98, 99, 292, 0, 0, 0, 75, 0, 0, 0, + 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 104, 0, 105, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 76, 77, 0, + 78, 79, 80, 81, 0, 83, 84, 85, 86, 0, + 88, 0, 0, 0, 0, 0, 0, 90, 91, 0, + 92, 93, 0, 0, 0, 94, 0, 95, 0, 0, + 96, 0, 97, 27, 98, 99, 600, 0, 0, 0, + 75, 0, 0, 0, 100, 101, 102, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 103, 104, 0, + 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 76, 77, 0, 78, 79, 80, 81, 0, 83, + 84, 85, 86, 0, 88, 0, 0, 0, 0, 0, + 0, 90, 91, 0, 92, 93, 0, 0, 0, 94, + 0, 95, 0, 0, 96, 0, 97, 27, 98, 99, + 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, + 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 103, 104, 0, 105, -38, 1, 0, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, + 337, 0, 13, 0, 14, 15, 16, 17, 18, 0, + 0, 338, 19, 0, 0, 20, 21, 0, 0, 22, + 340, 0, 0, 0, 0, 341, 342, 343, 344, 345, + 346, 347, 348, 349, 0, 0, 23, 24, 25, 26, + 0, 0, 0, 0, 634, 0, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 27, 0, -38, + 13, 28, 14, 15, 16, 17, 18, 0, 0, 0, + 19, 0, 29, 20, 21, 30, 0, 22, 0, 560, + -93, -208, -208, -208, -208, -208, -208, -208, -208, -208, + -208, -208, -208, -208, -208, -208, 0, -208, -208, 0, + -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, + -208, -208, -208, 0, 0, 27, 0, 0, 0, 28, + 0, -38, -38, 0, 75, 0, 0, 0, 0, 0, + 29, 0, 0, 30, 0, 0, 0, 0, -93, 0, + 0, 0, 0, 0, -208, 0, 0, 0, 0, 0, + -208, -208, -208, 0, -208, 76, 77, 314, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 0, 0, 0, -208, 315, 90, 91, 0, 92, 93, + 0, 0, 0, 94, 0, 95, 0, 0, 96, 316, + 97, 27, 98, 99, 75, 0, 0, 0, 0, 0, + 0, 0, 100, 101, 102, 0, 0, 0, 0, 0, + 0, 0, 0, 317, 0, 103, 104, 0, 105, 0, + 0, 0, 0, 0, 0, 76, 77, 314, 78, 79, + 80, 81, 0, 83, 84, 85, 86, 0, 88, 0, + 0, 0, 0, 0, 315, 90, 91, 0, 92, 93, + 0, 336, 0, 94, 0, 95, 0, 0, 96, 316, + 97, 27, 98, 99, 0, 0, 0, 0, 0, 0, + 706, 0, 100, 101, 102, 0, 0, 0, 0, 0, + 0, 0, 0, 317, 0, 103, 104, 763, 105, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, -172, 425, 0, 426, 427, 578, 428, 429, + 0, 337, 149, 0, 0, 0, 430, 431, 432, 433, + 579, 0, 338, 0, 0, 0, 0, 0, 0, 0, + 339, 340, 0, 0, 0, 75, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 0, 0, 0, 0, 0, + 0, 0, 95, 0, 0, 0, 0, 0, 27, 98, + 99, 0, 435, 0, -172, -172, 76, 77, 0, 78, + 79, 80, 81, 309, 83, 84, 85, 86, 310, 88, + 311, -175, 0, 0, 0, 0, 90, 91, 0, 92, + 93, 0, 0, 0, 94, 0, 95, 312, 0, 96, + 75, 97, 27, 98, 99, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 101, 102, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 103, 104, 0, 105, + 0, 76, 77, 0, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 0, 0, 0, 0, + 0, 90, 91, 0, 92, 93, 0, 0, 0, 94, + 0, 95, 0, 0, 96, 75, 97, 27, 98, 99, + 0, 0, 0, 0, 0, 0, 630, 0, 100, 101, + 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 103, 104, 0, 105, 0, 76, 77, 314, 78, + 79, 80, 81, 0, 83, 84, 85, 86, 0, 88, + 0, 0, 0, 0, 0, 315, 90, 91, 0, 92, + 93, 0, 0, 0, 94, 0, 95, 0, 0, 96, + 316, 97, 27, 98, 99, 75, 0, 0, 0, 0, + 0, 0, 0, 100, 101, 102, 0, 0, 0, 0, + 0, 0, 0, 0, 317, 0, 103, 104, 0, 105, + 0, 0, 0, 0, 0, 0, 76, 77, 0, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 0, 0, 0, 0, 0, 90, 91, 0, 92, + 93, 0, 0, 0, 94, 0, 95, 0, 0, 96, + 75, 97, 27, 98, 99, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 101, 102, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 103, 104, 0, 105, + 0, 76, 77, 0, 78, 79, 80, 81, 160, 83, + 84, 85, 86, 0, 88, 0, 0, 0, 0, 0, + 0, 90, 91, 0, 92, 93, 0, 0, 0, 94, + 0, 95, 0, 0, 96, 161, 97, 27, 98, 99, + 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, + 102, 0, 0, 0, 0, 0, 0, 0, 0, 162, + 0, 103, 104, 576, 105, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 577, 425, + 0, 426, 427, 578, 428, 429, 0, 0, 0, 0, + 0, 0, 430, 431, 432, 433, 579, 617, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -38, -38, -38, 13, -173, 14, 15, 16, 17, 0, - 0, 0, 18, 0, 0, 19, 20, 0, 0, 21, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 667, 0, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 73, 0, -38, 13, -38, 14, 15, - 16, 17, 0, 0, -38, 18, 0, 26, 19, 20, - 0, 27, 21, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 74, 75, 29, 76, 77, 78, 79, - -93, 81, 82, 83, 84, 0, 86, 0, 0, 0, - 0, 0, 0, 88, 89, 0, 90, 91, 0, 0, - 26, 92, 0, 93, 27, 0, 94, 0, 95, 26, - 96, 97, 0, 0, 0, 28, 0, 0, 29, 0, - 98, 99, 100, -93, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 102, 316, 103, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -38, -38, - -38, 13, 0, 14, 15, 16, 17, 0, 0, 0, - 18, 0, 0, 19, 20, 0, 318, 21, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, -38, - -38, -38, 13, 0, 14, 15, 16, 17, 0, 0, - 0, 18, 0, 0, 19, 20, 0, 195, 21, 196, - 197, 198, 0, 0, 0, 26, 199, 0, 0, 27, - 0, 0, 0, 0, 200, 0, 0, 201, 0, 0, - 28, 0, 0, 29, 0, 0, 247, 0, -93, 0, - 202, 0, 0, 0, 0, 0, 26, 0, 203, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 0, 239, 29, 0, 148, 0, 320, -93, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, -38, -38, -38, 13, 0, 14, 15, 16, 17, - 0, 0, 0, 18, 0, 0, 19, 20, 0, 60, - 21, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 0, 339, 0, 340, 341, 0, - 342, 0, 149, 150, 0, 0, 0, 343, 344, 345, - 346, 347, 0, 151, 152, 0, 0, 0, 26, 0, - 0, 153, 27, 154, 0, 0, 0, -374, -374, -374, - 155, 0, 0, 28, 0, 156, 29, 0, 0, 0, - 0, -93, 0, 93, 0, 0, 0, 0, 0, 26, - 96, 97, 0, 348, 0, 360, 0, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, - -38, 13, 69, 14, 15, 16, 17, 0, 0, 0, - 18, 0, 0, 19, 20, -38, -38, 21, 602, 0, + -38, -38, -38, 13, -38, 14, 15, 16, 17, 18, + 0, 0, -38, 19, 0, 0, 20, 21, 95, 0, + 22, 0, 0, 0, 27, 98, 99, 0, 435, 0, + 507, 0, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 75, 0, -38, 13, -175, 14, 15, + 16, 17, 18, 0, 0, 0, 19, 0, 27, 20, + 21, 0, 28, 22, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 76, 77, 30, 78, 79, 80, + 81, -93, 83, 84, 85, 86, 0, 88, 0, 0, + 0, 0, 0, 0, 90, 91, 0, 92, 93, 0, + 0, 27, 94, 0, 95, 28, 0, 96, 295, 97, + 27, 98, 99, 0, 0, 0, 29, 0, 0, 30, + 0, 100, 101, 102, -93, 0, 0, 0, 0, 0, + 0, 0, 296, 0, 103, 104, 661, 105, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 0, 425, 0, 426, 427, 578, 428, 429, 0, + 0, 0, 0, 0, 0, 430, 431, 432, 433, 579, + 0, 0, 0, 672, 0, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 0, 425, + 0, 426, 427, 578, 428, 429, 0, 0, 0, 0, + 0, 95, 430, 431, 432, 433, 579, 27, 98, 99, + 0, 435, 0, 0, 61, 0, -194, -194, -194, -194, + -194, -194, -194, -194, -194, -194, 0, -194, -194, -194, + -175, -194, -194, 0, 0, 0, -194, 0, 95, -194, + -194, 0, 0, -194, 27, 98, 99, 0, 435, 0, + 708, 0, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 0, 425, -175, 426, 427, + 578, 428, 429, 0, 0, 0, 0, 0, 0, 430, + 431, 432, 433, 579, 0, -194, 0, 0, 0, -194, + 0, 0, 0, 0, 0, 165, 0, 0, 0, 0, + -194, 0, 0, -194, 0, 0, 0, 0, -194, 0, + 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, + 0, 27, 98, 99, 0, 435, 76, 77, 0, 78, + 79, 80, 81, 166, 83, 84, 85, 167, 0, 168, + 0, 0, 0, 0, -175, 0, 169, 170, 0, 171, + 172, 0, 0, 0, 173, 0, 95, 0, 0, 0, + 174, 0, 27, 98, 99, 0, 0, 0, 0, 0, + 0, 0, 0, 175, 176, 177, 0, 0, 0, 0, + 0, 0, 0, 0, 178, 0, 103, 104, 234, 105, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -38, -38, -38, 13, 0, 14, 15, 16, 17, - 0, 0, 0, 18, 0, 0, 19, 20, 0, 195, - 21, 196, 197, 198, 0, 26, 0, 0, 199, 27, - 0, 0, 0, 0, 0, 0, 200, 0, 0, 201, - 28, 0, 0, 29, 0, 0, 575, 0, -93, 0, - 0, 0, 202, 0, 0, 0, 0, 0, 26, 0, - 203, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 0, 0, 29, 0, 0, 0, - 611, -93, 2, 3, 4, 5, 6, 7, 8, 9, + 18, 147, 0, 0, 19, 0, 0, 20, 21, 0, + 318, 22, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -38, -38, -38, 13, 0, 14, 15, - 16, 17, 0, 0, 0, 18, 0, 0, 19, 20, - 0, 654, 21, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 0, 0, -38, 13, 0, 14, - 15, 16, 17, 0, 0, 0, 18, 0, 0, 19, - 20, 0, 195, 21, 196, 197, 198, 0, 0, 0, - 26, 199, 0, 0, 27, 0, 0, 0, 0, 200, - 0, 0, 201, 0, 0, 28, 0, 0, 29, 0, - 0, 0, 0, -93, 0, 202, 0, 0, 0, 0, - 0, 26, 0, 203, 0, 27, 0, -38, -38, 0, - 0, 0, 0, 0, 0, 0, 28, 0, 0, 29, - 0, 0, 0, 728, -93, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 0, 0, -38, 13, - 0, 14, 15, 16, 17, 0, 0, 0, 18, 0, - 0, 19, 20, -38, -38, 21, 755, 0, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, -38, 13, 0, 14, 15, 16, 17, 0, 0, - 0, 18, 0, 0, 19, 20, -38, -38, 21, 0, - 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 29, 166, 0, 0, 0, -93, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 74, 75, 29, 76, 77, 78, 79, -93, - 81, 82, 83, 168, 0, 169, 0, 0, 0, 0, - 0, 0, 170, 171, 0, 172, 173, 0, 0, 0, - 174, 0, 93, 0, 0, 0, 166, 0, 26, 96, - 97, 0, 0, 0, 0, 0, 0, 0, 0, 176, - 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 408, 0, 101, 102, 0, 103, 74, 75, 0, 76, - 77, 78, 79, 0, 81, 82, 83, 168, 0, 169, - 0, 0, 0, 0, 0, 0, 170, 171, 0, 172, - 173, 0, 0, 0, 174, 0, 93, 0, 0, 0, - 0, 0, 26, 96, 97, 0, 0, 0, 0, 0, - 0, 0, 0, 176, 177, 178, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 102, 533, 103, + 16, 17, 18, 0, 0, 0, 19, 0, 0, 20, + 21, 0, 0, 22, 0, 0, 0, 0, 0, 27, + 0, 0, 0, 28, 0, 0, 0, 0, 148, 149, + 0, 0, 0, 0, 29, 0, 0, 30, 0, 150, + 151, 0, -93, 0, 0, 0, 0, 152, 0, 153, + 0, 27, 0, 0, 0, 28, 358, 359, 360, 361, + 362, 155, 0, 0, 0, 0, 29, 0, 0, 30, + 0, 0, 0, 320, -93, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, -38, -38, -38, 13, + 0, 14, 15, 16, 17, 18, 0, 0, 0, 19, + 0, 0, 20, 21, 0, 322, 22, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, -38, -38, + -38, 13, 0, 14, 15, 16, 17, 18, 0, 0, + 0, 19, 0, 0, 20, 21, 0, 194, 22, 195, + 196, 197, 0, 0, 27, 0, 198, 0, 28, 194, + 0, 195, 196, 197, 199, 0, 0, 200, 198, 29, + 0, 0, 30, 0, 549, 0, 199, -93, 0, 200, + 201, 0, 0, 0, 0, 0, 27, 0, 202, 0, + 28, 0, 201, 0, 0, 0, 0, 0, 0, 0, + 202, 29, 0, 0, 30, 0, 0, 0, 331, -93, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, -38, 13, 0, 14, 15, 16, 17, - 0, 0, 0, 18, 0, 0, 19, 20, 0, 609, - 21, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 18, 0, 0, 0, 19, 0, 0, 20, 21, -38, + -38, 22, 62, 0, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 0, 425, 0, + 426, 427, 0, 428, 429, 0, 0, 0, 0, 0, + 0, 430, 431, 432, 433, 434, 0, 0, 0, 27, + 0, 0, 0, 28, 0, 0, 0, 75, 0, 0, + 0, 0, 0, 0, 29, 0, 0, 30, 0, 0, + 0, 0, -93, 0, 0, 0, 0, 95, 0, 0, + 0, 0, 0, 27, 98, 99, 0, 435, 76, 77, + 0, 78, 79, 80, 81, 0, 83, 84, 85, 86, + 0, 88, 0, 0, 0, 0, 71, 0, 90, 91, + 0, 92, 93, 0, 0, 0, 94, 0, 95, 0, + 0, 96, 75, 97, 27, 98, 99, 0, 469, 0, + 0, 0, 0, 0, 0, 100, 101, 102, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 104, + 0, 105, 0, 76, 77, 0, 78, 79, 80, 81, + 0, 83, 84, 85, 86, 0, 88, 0, 0, 0, + 0, 0, 0, 90, 91, 0, 92, 93, 0, 0, + 0, 94, 0, 95, 0, 0, 96, 75, 97, 27, + 98, 99, 0, 0, 0, 0, 0, 0, 0, 0, + 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, + 0, 494, 0, 103, 104, 0, 105, 0, 76, 77, + 0, 78, 79, 80, 81, 0, 83, 84, 85, 86, + 0, 88, 0, 0, 0, 0, 0, 0, 90, 91, + 0, 92, 93, 0, 0, 0, 94, 0, 95, 0, + 0, 96, 75, 97, 27, 98, 99, 0, 0, 0, + 0, 0, 0, 0, 0, 100, 101, 102, 0, 0, + 0, 0, 0, 0, 0, 0, 496, 0, 103, 104, + 0, 105, 0, 76, 77, 0, 78, 79, 80, 81, + 526, 83, 84, 85, 86, 0, 88, 0, 0, 0, + 0, 0, 0, 90, 91, 0, 92, 93, 0, 0, + 0, 94, 0, 95, 0, 0, 96, 0, 97, 27, + 98, 99, 0, 0, 0, 0, 0, 0, 0, 0, + 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 104, 606, 105, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, -38, -38, + -38, 13, 0, 14, 15, 16, 17, 18, 0, 0, + 0, 19, 0, 0, 20, 21, 0, 615, 22, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + -38, -38, -38, 13, 0, 14, 15, 16, 17, 18, + 0, 0, 0, 19, 0, 0, 20, 21, 0, 0, + 22, 0, 0, 0, 0, 0, 27, 0, 0, 0, + 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 29, 0, 0, 30, 0, 0, 0, 0, -93, + 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 0, 0, 30, 0, 0, 0, + 647, -93, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 0, 0, -38, 13, -38, 14, 15, + 16, 17, 18, 0, 0, -38, 19, 0, 0, 20, + 21, 0, 0, 22, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 3, 4, 63, 64, 65, 66, + 67, 68, 69, 0, 0, 0, 75, 0, 0, 14, + 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, + 70, 27, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 29, 76, 77, 30, + 78, 79, 80, 81, -93, 83, 84, 85, 86, 0, + 88, 0, 0, 0, 0, 0, 0, 90, 91, 0, + 92, 93, 27, 0, 0, 94, 28, 95, 0, 0, + 96, 0, 97, 27, 98, 99, 0, 29, 0, 0, + 30, 0, 666, 0, 100, 101, 102, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 103, 104, 720, + 105, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, -38, 13, 0, 14, 15, 16, - 17, 0, 0, 0, 18, 0, 0, 19, 20, 0, - 0, 21, 0, 0, 0, 0, 0, 0, 26, 0, - 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 0, 0, 29, 0, 0, 0, - 0, -93, 0, 0, 0, 0, 0, 0, 0, 26, - 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 28, 0, 0, 29, 0, 0, - 0, 648, -93, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 0, 0, -38, 13, 0, 14, - 15, 16, 17, 0, 0, 0, 18, 0, 0, 19, - 20, 0, 698, 21, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 0, 0, -38, 13, 0, - 14, 15, 16, 17, 0, 0, 0, 18, 0, 0, - 19, 20, 0, 0, 21, 0, 0, 0, 0, 0, - 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 28, 0, 0, 29, - 0, 0, 0, 0, -93, 0, 0, 0, 0, 0, - 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, - 29, 0, 0, 0, 60, -93, 2, 3, 4, 61, - 62, 63, 64, 65, 66, 67, 0, -93, -93, -93, - 0, 0, 14, 0, 0, 17, 0, 0, 0, 18, - 0, 0, 68, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 0, 339, 0, 340, - 341, 520, 342, 0, 0, 0, 0, 0, 0, 343, - 344, 345, 346, 521, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 26, 0, 0, 0, 27, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, - 0, 0, 29, 0, 0, 93, 0, 69, 0, 0, - 0, 26, 96, 97, 0, 348, 0, 0, 0, 2, + 17, 18, 0, 0, 0, 19, 0, 0, 20, 21, + -38, -38, 22, 748, 0, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 0, 0, -38, 13, + 0, 14, 15, 16, 17, 18, 0, 0, 0, 19, + 0, 0, 20, 21, -38, -38, 22, 0, 0, 0, + 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 29, 0, 0, 30, 75, + 0, 0, 0, -93, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 27, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, + 76, 77, 30, 78, 79, 80, 81, -93, 83, 84, + 85, 86, 0, 88, 0, 0, 0, 0, 0, 0, + 90, 91, 0, 92, 93, 0, 0, 0, 94, 0, + 95, 0, 0, 96, 165, 97, 27, 98, 99, 0, + 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 103, 104, 0, 105, 0, 76, 77, 0, 78, 79, + 80, 81, 0, 83, 84, 85, 167, 0, 168, 0, + 0, 0, 0, 0, 0, 169, 170, 0, 171, 172, + 0, 0, 0, 173, 0, 95, 0, 0, 0, 0, + 0, 27, 98, 99, 0, 0, 0, 0, 0, 0, + 0, 0, 175, 176, 177, 0, 0, 0, 0, 0, + 0, 0, 0, 379, 0, 103, 104, 613, 105, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 0, 0, 13, -173, 14, 15, 16, 17, 0, - 0, 0, 18, 0, 0, 19, 20, 0, 0, 21, - 2, 3, 4, 61, 62, 63, 64, 65, 66, 67, - 0, 0, 0, 0, 0, 0, 14, 0, 0, 17, - 0, 0, 0, 18, 0, 0, 68, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, - 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 29, 0, 0, 0, 0, - -93, 0, 0, 0, 0, 0, 0, 0, 26, 0, - 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 0, 0, 29, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, - 0, 339, 0, 340, 341, 0, 342, 0, 0, 0, - 0, 0, 0, 343, 344, 345, 346, 347, 0, 0, + 0, 0, -38, 13, 0, 14, 15, 16, 17, 18, + 0, 0, 0, 19, 0, 0, 20, 21, 0, 628, + 22, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 0, 0, -38, 13, 0, 14, 15, 16, + 17, 18, 0, 0, 0, 19, 0, 0, 20, 21, + 0, 0, 22, 0, 0, 0, 0, 0, 27, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 0, 0, 30, 0, 0, 0, + 0, -93, 0, 0, 0, 0, 0, 0, 0, 0, + 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 29, 0, 0, 30, 0, + 0, 0, 692, -93, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 165, 0, -38, 13, 0, + 14, 15, 16, 17, 18, 0, 0, 0, 19, 0, + 0, 20, 21, 0, 0, 22, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 76, 77, 0, 78, + 79, 80, 81, 0, 83, 84, 85, 167, 0, 168, + 0, 0, 0, 0, 0, 0, 169, 170, 0, 171, + 172, 0, 0, 27, 173, 0, 95, 28, 0, 0, + 0, 0, 27, 98, 99, 0, 0, 0, 29, 0, + 0, 30, 0, 175, 176, 177, -93, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 103, 104, 62, 105, + 2, 3, 4, 63, 64, 65, 66, 67, 68, 69, + 0, -93, -93, -93, 0, 0, 14, 0, 0, 0, + 18, 0, 0, 0, 19, 0, 62, 70, 2, 3, + 4, 63, 64, 65, 66, 67, 68, 69, 0, 0, + 0, 0, 0, 0, 14, 0, 0, 0, 18, 0, + 0, 0, 19, 0, 0, 70, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, + 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 29, 0, 0, 30, 0, 0, + 0, 0, 71, 0, 0, 0, 0, 27, 0, 0, + 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 29, 0, 0, 30, 0, 0, 0, 0, + 71, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 0, 425, 0, 426, 427, 578, + 428, 429, 0, 0, 0, 0, 0, 0, 430, 431, + 432, 433, 579, 0, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 0, 0, 0, 13, 0, + 14, 15, 16, 17, 18, 0, 0, 0, 19, 0, + 0, 20, 21, 0, 95, 22, 0, 0, 0, 0, + 27, 98, 99, 0, 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -175, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, + 0, 30, 0, 0, 0, 0, -93, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 0, 425, 0, 426, 427, 0, 428, 429, 0, 0, + 0, 0, 0, 0, 430, 431, 432, 433, 434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, - 0, 0, 0, 0, 0, 26, 96, 97, 0, 348 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 95, 0, 0, 0, 0, 0, 27, 98, 99, 0, + 435 }; #define yypact_value_is_default(yystate) \ - ((yystate) == (-610)) + ((yystate) == (-664)) #define yytable_value_is_error(yytable_value) \ YYID (0) static const yytype_int16 yycheck[] = { - 7, 8, 9, 15, 342, 103, 211, 19, 1, 152, - 354, 87, 94, 20, 532, 24, 21, 626, 50, 85, - 5, 26, 7, 8, 9, 1, 3, 4, 4, 126, - 1, 128, 5, 130, 4, 24, 1, 1, 1, 0, - 79, 4, 413, 54, 1, 138, 24, 1, 69, 26, - 4, 0, 4, 55, 278, 279, 68, 428, 69, 69, - 7, 8, 9, 1, 1, 1, 1, 5, 292, 4, - 4, 1, 93, 297, 76, 1, 61, 5, 63, 64, - 65, 94, 93, 93, 86, 16, 62, 18, 28, 31, - 32, 96, 62, 169, 25, 24, 94, 615, 62, 62, - 71, 94, 168, 24, 713, 714, 71, 716, 62, 86, - 62, 93, 84, 85, 71, 37, 63, 64, 65, 83, - 96, 56, 56, 99, 97, 80, 62, 62, 62, 138, - 102, 138, 54, 96, 71, 75, 143, 75, 73, 73, - 729, 71, 96, 24, 0, 71, 5, 69, 62, 5, - 668, 7, 8, 9, 4, 80, 765, 79, 767, 768, - 80, 200, 201, 98, 98, 99, 175, 756, 177, 83, - 179, 93, 516, 80, 80, 31, 274, 515, 85, 523, - 87, 80, 520, 16, 145, 18, 175, 531, 177, 80, - 179, 415, 25, 37, 50, 271, 168, 175, 264, 265, - 424, 179, 211, 80, 209, 61, 56, 63, 64, 65, - 54, 151, 62, 24, 1, 155, 72, 4, 5, 80, - 76, 77, 78, 73, 62, 69, 82, 83, 10, 11, - 12, 203, 14, 309, 79, 17, 441, 380, 16, 85, - 18, 87, 308, 228, 229, 101, 175, 25, 177, 93, - 179, 16, 80, 18, 175, 1, 177, 350, 179, 597, - 25, 43, 355, 356, 404, 405, 80, 407, 98, 99, - 126, 411, 128, 80, 130, 62, 14, 15, 16, 80, - 62, 228, 229, 288, 66, 67, 14, 15, 37, 145, - 322, 80, 264, 265, 175, 54, 177, 641, 179, 306, - 85, 86, 87, 708, 709, 54, 14, 15, 16, 55, - 80, 57, 58, 59, 80, 322, 323, 324, 64, 5, - 69, 306, 37, 96, 98, 357, 72, 359, 79, 75, - 93, 80, 94, 79, 81, 96, 308, 342, 323, 54, - 325, 350, 88, 80, 93, 354, 355, 356, 62, 356, - 96, 76, 359, 79, 69, 362, 85, 86, 87, 306, - 16, 80, 80, 701, 175, 80, 177, 80, 179, 55, - 80, 80, 228, 229, 80, 414, 323, 80, 93, 65, - 419, 80, 80, 422, 423, 71, 72, 73, 485, 16, - 76, 16, 401, 37, 470, 404, 405, 358, 407, 408, - 86, 94, 411, 500, 804, 805, 94, 807, 16, 16, - 54, 443, 401, 445, 453, 404, 405, 87, 407, 408, - 79, 1, 411, 401, 76, 69, 76, 827, 828, 829, - 408, 76, 16, 440, 76, 79, 1, 16, 776, 80, - 16, 448, 449, 450, 80, 385, 386, 387, 16, 93, - 306, 391, 24, 76, 78, 16, 77, 442, 80, 444, - 741, 742, 80, 744, 80, 80, 322, 323, 16, 325, - 80, 16, 401, 16, 80, 404, 405, 80, 407, 408, - 401, 80, 411, 404, 405, 80, 407, 408, 78, 16, - 411, 16, 589, 590, 77, 442, 16, 444, 24, 80, - 16, 357, 358, 359, 785, 786, 787, 516, 16, 80, - 515, 80, 519, 520, 523, 520, 80, 31, 798, 48, - 401, 830, 531, 404, 405, 537, 407, 408, 567, 423, - 411, 538, 664, 159, 254, 574, 575, 498, 380, 262, - 501, 544, -1, -1, -1, -1, 555, 556, -1, -1, - -1, -1, 334, 335, 336, -1, -1, 339, 340, 341, - -1, 343, -1, 345, -1, 24, 555, 556, -1, -1, - -1, -1, -1, 24, -1, 536, -1, 555, 556, 540, - -1, -1, -1, -1, -1, 24, 442, 443, 444, 445, - 401, -1, 597, 404, 405, -1, 407, 408, -1, -1, - 411, -1, -1, 175, -1, 177, -1, 179, 23, 24, - 25, 26, 27, 28, -1, -1, -1, 626, -1, -1, - -1, 24, -1, -1, 585, -1, 555, 556, -1, 485, - 60, 638, 641, -1, 555, 556, -1, -1, -1, 646, - -1, 71, 498, 650, 500, 501, 653, -1, -1, 175, - 80, 177, -1, 179, -1, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 703, -1, -1, -1, 675, 676, - 677, -1, 679, -1, 555, 556, -1, -1, 685, 686, - 536, 688, -1, -1, 540, 692, -1, -1, 695, -1, - 697, 652, -1, -1, 726, -1, 701, 704, 23, 24, - 25, 26, 27, 28, 713, 714, 24, 716, -1, -1, - -1, -1, -1, 722, 723, -1, 175, 724, 177, -1, - 179, -1, -1, -1, 175, 732, 177, 712, 179, 585, - -1, -1, 739, 589, 590, 696, 175, -1, 177, -1, - 179, -1, -1, -1, 555, 556, -1, 708, 709, -1, - 757, -1, 759, 760, 23, -1, 765, -1, 767, 768, - -1, -1, 769, 770, -1, 772, -1, -1, -1, 730, - -1, 776, 175, -1, 177, -1, 179, -1, -1, 788, - 789, -1, 791, -1, -1, -1, -1, 794, -1, 796, - -1, -1, -1, 800, -1, -1, 652, 758, -1, 806, - 761, 808, 809, 812, 811, -1, 813, -1, 815, -1, - 819, -1, 821, 822, 823, -1, -1, 1, 723, 780, - 4, -1, 783, -1, 93, 94, 95, -1, 97, 401, - 99, -1, 404, 405, -1, 407, 408, 619, -1, 411, - 696, -1, -1, -1, -1, -1, -1, 629, -1, 118, - -1, -1, 708, 709, -1, -1, 712, 175, -1, 177, - -1, 179, -1, 645, -1, -1, -1, -1, -1, -1, - 726, -1, -1, -1, 730, 401, 60, 61, 404, 405, - -1, 407, 408, 788, 789, 411, 791, 71, 72, -1, - -1, -1, -1, 162, 163, 79, 80, 81, 680, -1, - -1, 85, 758, 87, 88, 761, -1, 812, -1, 93, - -1, -1, -1, -1, 819, -1, 821, 822, 823, -1, - -1, -1, -1, 705, 780, -1, -1, 783, -1, -1, - -1, -1, -1, 715, -1, 717, 718, 206, 207, -1, - -1, -1, 401, -1, -1, 404, 405, -1, 407, 408, - 401, -1, 411, 404, 405, -1, 407, 408, -1, -1, - 411, -1, 401, -1, -1, 404, 405, -1, 407, 408, - -1, -1, 411, -1, -1, -1, -1, 1, -1, -1, - -1, 250, 4, 555, 556, -1, -1, -1, -1, 771, - -1, 773, 774, -1, -1, -1, -1, -1, 401, -1, - 269, 404, 405, -1, 407, 408, -1, -1, 411, 278, - 279, 1, -1, -1, -1, 5, 285, 286, -1, -1, - -1, -1, -1, 292, 293, 294, -1, -1, 297, 555, - 556, 55, -1, 57, 58, 59, -1, -1, 60, 61, - 64, 310, -1, 312, 313, 314, 315, -1, 72, 71, - 72, 75, -1, -1, -1, 79, 1, 79, 82, 81, - -1, -1, -1, -1, 88, 55, 88, 57, 58, 59, - -1, 93, 96, -1, 64, -1, -1, -1, 347, 348, - -1, -1, 72, 401, -1, 75, 404, 405, -1, 407, - 408, -1, -1, 411, -1, -1, 555, 556, 88, -1, - -1, -1, -1, -1, 555, 556, 96, 97, -1, -1, - 55, -1, 57, 58, 59, -1, 555, 556, -1, 64, - -1, -1, -1, -1, -1, -1, 395, 72, -1, 398, - 75, 76, -1, -1, 1, -1, -1, -1, 5, -1, - -1, -1, -1, 88, 413, -1, 415, -1, -1, -1, - -1, 96, 555, 556, -1, 424, -1, -1, -1, 428, - -1, -1, -1, -1, -1, -1, -1, -1, 35, 36, - -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, -1, -1, 454, -1, -1, 55, 56, - -1, 58, 59, -1, -1, -1, 63, 466, 65, 66, - 67, 68, -1, 70, 71, 72, 73, -1, -1, -1, - -1, -1, -1, 80, -1, 82, 83, 84, 487, -1, - -1, 1, 491, -1, 493, 5, 93, -1, 95, 96, - -1, 98, -1, -1, -1, -1, -1, 555, 556, -1, - -1, 1, -1, -1, -1, 514, -1, -1, -1, -1, - -1, -1, 521, -1, -1, 35, 36, -1, 38, 39, + 7, 8, 9, 51, 210, 87, 22, 20, 128, 151, + 130, 27, 132, 441, 21, 4, 25, 105, 506, 5, + 1, 7, 8, 9, 81, 25, 89, 29, 1, 220, + 5, 4, 1, 25, 656, 86, 87, 384, 1, 4, + 95, 4, 55, 4, 1, 3, 4, 4, 1, 1, + 1, 1, 399, 104, 86, 25, 88, 70, 721, 1, + 5, 1, 4, 0, 280, 281, 95, 63, 429, 27, + 25, 4, 1, 1, 63, 77, 5, 63, 294, 65, + 66, 67, 98, 299, 57, 167, 749, 1, 84, 95, + 63, 10, 11, 12, 63, 14, 57, 94, 63, 18, + 63, 74, 63, 81, 81, 168, 63, 729, 730, 86, + 732, 88, 63, 74, 95, 84, 167, 99, 100, 72, + 72, 63, 72, 98, 57, 44, 99, 0, 25, 87, + 63, 619, 72, 81, 97, 142, 5, 100, 99, 100, + 97, 74, 199, 200, 72, 64, 574, 76, 150, 68, + 69, 202, 154, 581, 776, 97, 778, 779, 72, 81, + 648, 589, 63, 70, 81, 174, 81, 176, 55, 178, + 386, 70, 56, 38, 174, 81, 176, 1, 178, 395, + 4, 5, 174, 70, 266, 267, 178, 94, 276, 25, + 55, 81, 208, 77, 80, 94, 81, 25, 1, 32, + 33, 210, 5, 87, 174, 70, 176, 94, 178, 351, + 273, 220, 573, 220, 81, 266, 267, 578, 81, 174, + 81, 176, 81, 178, 16, 81, 18, 1, 310, 94, + 4, 7, 8, 9, 26, 14, 15, 25, 444, 63, + 601, 713, 714, 671, 230, 231, 437, 81, 311, 81, + 55, 442, 443, 56, 97, 58, 59, 60, 99, 310, + 80, 82, 65, 94, 754, 755, 81, 757, 38, 77, + 73, 144, 97, 76, 290, 16, 324, 174, 95, 176, + 328, 178, 330, 63, 80, 55, 89, 61, 62, 65, + 66, 67, 16, 38, 97, 98, 16, 16, 72, 73, + 70, 308, 792, 793, 794, 88, 80, 80, 82, 77, + 55, 81, 86, 87, 88, 89, 81, 324, 325, 326, + 94, 1, 308, 330, 94, 70, 333, 81, 385, 14, + 15, 16, 81, 390, 695, 80, 393, 394, 174, 325, + 176, 327, 178, 16, 81, 18, 174, 81, 176, 94, + 178, 81, 81, 26, 356, 357, 358, 16, 375, 376, + 362, 378, 95, 372, 81, 382, 375, 376, 488, 378, + 379, 81, 372, 382, 81, 375, 376, 95, 378, 379, + 372, 77, 382, 503, 0, 16, 174, 379, 176, 5, + 178, 7, 8, 9, 86, 87, 88, 38, 446, 456, + 448, 16, 372, 18, 411, 375, 376, 77, 378, 379, + 473, 26, 382, 429, 55, 16, 32, 372, 81, 79, + 375, 376, 77, 378, 379, 16, 787, 382, 437, 70, + 81, 1, 441, 442, 443, 51, 443, 739, 16, 77, + 81, 14, 15, 16, 451, 452, 453, 63, 38, 65, + 66, 67, 81, 94, 230, 231, 329, 81, 74, 445, + 78, 447, 78, 79, 80, 55, 16, 81, 84, 85, + 81, 81, 16, 593, 594, 372, 81, 16, 375, 376, + 70, 378, 379, 16, 541, 382, 16, 103, 81, 81, + 80, 548, 549, 795, 796, 81, 798, 25, 511, 79, + 16, 420, 421, 422, 94, 512, 425, 426, 427, 428, + 78, 430, 128, 432, 130, 16, 132, 819, 16, 81, + 529, 530, 81, 825, 81, 827, 828, 829, 144, 529, + 530, 16, 308, 18, 81, 16, 372, 529, 530, 375, + 376, 26, 378, 379, 372, 32, 382, 375, 376, 325, + 378, 379, 790, 49, 382, 811, 812, 573, 814, 529, + 530, 835, 578, 1, 394, 574, 86, 87, 88, 644, + 577, 578, 581, 158, 529, 530, 832, 833, 834, 351, + 589, 264, 518, 25, 372, 601, -1, 375, 376, 256, + 378, 379, -1, -1, 382, -1, -1, -1, -1, 25, + -1, -1, -1, -1, 25, 24, 25, 26, 27, 28, + 29, -1, -1, -1, 230, 231, -1, -1, 56, 626, + 58, 59, 60, 630, -1, -1, 633, 65, 501, -1, + -1, 504, 529, 530, -1, 73, -1, 510, 76, 25, + 697, 514, 80, -1, -1, 83, 174, 656, 176, -1, + 178, 89, 24, 25, 26, 27, 28, 29, -1, 97, + -1, 668, 671, -1, -1, -1, -1, -1, -1, 445, + 718, 447, -1, 680, 681, 682, -1, 684, -1, 695, + -1, -1, 689, -1, 691, -1, 559, -1, -1, -1, + -1, 698, 308, 529, 530, -1, 703, 704, -1, 706, + -1, 529, 530, 710, 623, -1, 625, -1, 324, 325, + -1, 327, 328, 329, 330, -1, -1, 724, -1, -1, + 729, 730, -1, 732, -1, -1, -1, -1, -1, 738, + 739, 717, 174, 740, 176, -1, 178, 744, -1, -1, + 659, 529, 530, 750, -1, 752, 753, -1, 174, -1, + 176, -1, 178, 174, -1, 176, -1, 178, -1, 632, + -1, -1, -1, -1, -1, -1, 685, 776, -1, 778, + 779, 787, -1, 780, 781, -1, 783, -1, -1, -1, + 699, -1, -1, -1, -1, 24, 795, 796, 174, 798, + 176, -1, 178, -1, 801, -1, 803, -1, 805, -1, + 807, -1, -1, -1, -1, -1, 813, -1, 815, 816, + 819, 818, 731, 820, 733, 734, 825, 690, 827, 828, + 829, -1, -1, -1, -1, -1, -1, -1, -1, 445, + 446, 447, 448, -1, 4, -1, -1, -1, -1, -1, + 713, 714, -1, -1, 372, -1, -1, 375, 376, 722, + 378, 379, -1, -1, 382, -1, 95, 96, 97, -1, + 99, -1, 101, 782, -1, 784, 785, -1, -1, -1, + -1, -1, 488, -1, -1, -1, -1, -1, 751, -1, + -1, 120, -1, -1, -1, 501, -1, 503, 504, -1, + -1, 61, 62, 766, 510, -1, -1, 770, 514, -1, + 773, -1, 72, 73, -1, -1, -1, -1, -1, -1, + 80, -1, 82, -1, -1, -1, 1, -1, -1, 89, + -1, -1, 161, 162, 94, -1, -1, -1, -1, -1, + 372, -1, -1, 375, 376, -1, 378, 379, -1, -1, + 382, -1, -1, 559, -1, -1, 372, -1, -1, 375, + 376, 372, 378, 379, 375, 376, 382, 378, 379, -1, + -1, 382, 1, -1, -1, -1, 205, 206, -1, -1, + -1, 56, -1, 58, 59, 60, -1, 593, 594, -1, + 65, -1, -1, -1, -1, -1, 372, -1, 73, 375, + 376, 76, 378, 379, -1, 80, 382, -1, -1, -1, + 5, 529, 530, -1, 89, -1, -1, -1, -1, -1, + -1, -1, 97, 252, -1, -1, 632, 56, -1, 58, + 59, 60, -1, -1, -1, -1, 65, -1, -1, -1, + -1, -1, 271, -1, 73, -1, -1, 76, 77, -1, + -1, 280, 281, -1, -1, -1, -1, -1, 287, 288, + 89, 56, -1, -1, -1, 294, 295, 296, 97, -1, + 299, 66, -1, -1, -1, -1, -1, 72, 73, 74, + -1, -1, 77, 312, 690, 314, 315, 316, 317, -1, + 1, -1, 87, 4, -1, -1, -1, 529, 530, -1, + 56, -1, 58, 59, 60, -1, -1, 713, 714, 65, + -1, 717, 718, 529, 530, -1, 722, 73, 529, 530, + 76, -1, -1, -1, -1, -1, -1, -1, -1, 85, + -1, -1, -1, 89, -1, -1, -1, 366, -1, -1, + 369, 97, -1, -1, -1, 751, -1, -1, -1, -1, + 61, 62, 1, 529, 530, 384, 5, 386, -1, -1, + 766, 72, 73, -1, 770, -1, 395, 773, -1, 80, + 399, 82, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, -1, 94, -1, -1, -1, 36, 37, -1, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, -1, -1, -1, 434, 435, 56, 57, -1, + 59, 60, -1, -1, -1, 64, -1, 66, 67, 68, + 69, -1, 71, 72, 73, 74, -1, -1, 457, -1, + -1, -1, 81, 1, 83, 84, 85, 5, -1, -1, + 469, -1, -1, -1, -1, 94, -1, 96, 97, -1, + 99, -1, -1, 1, -1, -1, 4, -1, -1, -1, + -1, 490, -1, -1, -1, 494, -1, 496, 36, 37, + -1, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, -1, -1, -1, -1, -1, 56, 57, + -1, 59, 60, -1, 523, 524, 64, -1, 66, 67, + 68, 69, -1, 71, 72, 73, 74, -1, -1, -1, + -1, -1, 80, 61, 62, 83, 84, 85, 1, -1, + -1, -1, 5, -1, 72, 73, 94, -1, 96, 97, + -1, 99, 80, 81, 82, -1, -1, -1, 86, -1, + 88, 89, -1, 572, -1, -1, 94, -1, -1, -1, + 579, -1, -1, 36, 37, -1, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, + -1, -1, -1, 56, 57, -1, 59, 60, -1, 608, + -1, 64, -1, 66, -1, -1, 69, -1, 71, 72, + 73, 74, -1, -1, -1, 61, 62, -1, 81, -1, + 83, 84, 85, -1, 1, -1, 72, -1, 5, -1, + -1, -1, 95, 96, 97, 81, 99, -1, -1, -1, + 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 667, 36, + 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, -1, -1, -1, -1, -1, 56, + 57, -1, 59, 60, -1, -1, -1, 64, -1, 66, + -1, -1, 69, -1, 71, 72, 73, 74, 1, -1, + -1, -1, 5, -1, 81, -1, 83, 84, 85, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, + 97, -1, 99, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 36, 37, -1, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, + -1, -1, -1, 56, 57, -1, 59, 60, -1, -1, + -1, 64, -1, 66, -1, -1, 69, -1, 71, 72, + 73, 74, 1, -1, -1, -1, 5, -1, 81, -1, + 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 96, 97, -1, 99, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 36, 37, -1, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, -1, -1, -1, -1, -1, 56, 57, -1, + 59, 60, -1, -1, -1, 64, -1, 66, -1, -1, + 69, -1, 71, 72, 73, 74, 1, -1, -1, -1, + 5, -1, 81, -1, 83, 84, 85, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 96, 97, -1, + 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 36, 37, -1, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, + -1, 56, 57, -1, 59, 60, -1, -1, -1, 64, + -1, 66, -1, -1, 69, -1, 71, 72, 73, 74, + 1, -1, -1, -1, 5, -1, 81, -1, 83, 84, + 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 96, 97, -1, 99, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 36, 37, -1, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + -1, -1, -1, -1, -1, 56, 57, -1, 59, 60, + -1, -1, -1, 64, -1, 66, -1, -1, 69, -1, + 71, 72, 73, 74, 1, -1, -1, -1, 5, -1, + 81, -1, 83, 84, 85, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 96, 97, -1, 99, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, + 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, -1, -1, -1, -1, -1, 56, + 57, -1, 59, 60, -1, -1, -1, 64, -1, 66, + -1, -1, 69, -1, 71, 72, 73, 74, 1, -1, + -1, -1, 5, -1, 81, -1, 83, 84, 85, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, + 97, -1, 99, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 36, 37, -1, 39, 40, 41, 42, + -1, 44, 45, 46, 47, -1, 49, -1, -1, -1, + -1, -1, -1, 56, 57, -1, 59, 60, -1, -1, + -1, 64, -1, 66, -1, -1, 69, -1, 71, 72, + 73, 74, 1, -1, -1, -1, 5, -1, -1, -1, + 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 96, 97, -1, 99, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 36, 37, -1, + 39, 40, 41, 42, -1, 44, 45, 46, 47, -1, + 49, -1, -1, -1, -1, -1, -1, 56, 57, -1, + 59, 60, -1, -1, -1, 64, -1, 66, -1, -1, + 69, -1, 71, 72, 73, 74, 1, -1, -1, -1, + 5, -1, -1, -1, 83, 84, 85, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 96, 97, -1, + 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 36, 37, -1, 39, 40, 41, 42, -1, 44, + 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, + -1, 56, 57, -1, 59, 60, -1, -1, -1, 64, + -1, 66, -1, -1, 69, -1, 71, 72, 73, 74, + -1, -1, -1, -1, -1, -1, -1, -1, 83, 84, + 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 96, 97, -1, 99, 0, 1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, + 61, -1, 17, -1, 19, 20, 21, 22, 23, -1, + -1, 72, 27, -1, -1, 30, 31, -1, -1, 34, + 81, -1, -1, -1, -1, 86, 87, 88, 89, 90, + 91, 92, 93, 94, -1, -1, 51, 52, 53, 54, + -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 72, -1, 16, + 17, 76, 19, 20, 21, 22, 23, -1, -1, -1, + 27, -1, 87, 30, 31, 90, -1, 34, -1, 1, + 95, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, -1, -1, 72, -1, -1, -1, 76, + -1, 78, 79, -1, 5, -1, -1, -1, -1, -1, + 87, -1, -1, 90, -1, -1, -1, -1, 95, -1, + -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, + 72, 73, 74, -1, 76, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + -1, -1, -1, 95, 55, 56, 57, -1, 59, 60, + -1, -1, -1, 64, -1, 66, -1, -1, 69, 70, + 71, 72, 73, 74, 5, -1, -1, -1, -1, -1, + -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, + -1, -1, -1, 94, -1, 96, 97, -1, 99, -1, + -1, -1, -1, -1, -1, 36, 37, 38, 39, 40, + 41, 42, -1, 44, 45, 46, 47, -1, 49, -1, + -1, -1, -1, -1, 55, 56, 57, -1, 59, 60, + -1, 1, -1, 64, -1, 66, -1, -1, 69, 70, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, + 81, -1, 83, 84, 85, -1, -1, -1, -1, -1, + -1, -1, -1, 94, -1, 96, 97, 1, 99, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, + -1, 61, 62, -1, -1, -1, 30, 31, 32, 33, + 34, -1, 72, -1, -1, -1, -1, -1, -1, -1, + 80, 81, -1, -1, -1, 5, 86, 87, 88, 89, + 90, 91, 92, 93, 94, -1, -1, -1, -1, -1, + -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, + 74, -1, 76, -1, 78, 79, 36, 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - -1, -1, -1, -1, -1, 55, 56, -1, 58, 59, - 549, 550, -1, 63, -1, 65, 66, 67, 68, -1, - 70, 71, 72, 73, -1, -1, -1, -1, -1, 79, - 60, 61, 82, 83, 84, 1, -1, -1, -1, 5, - -1, 71, -1, 93, -1, 95, 96, -1, 98, 79, - 80, -1, -1, -1, -1, 85, 86, 87, 88, 89, - 90, 91, 92, 93, -1, 604, -1, -1, -1, 35, - 36, -1, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, -1, -1, -1, -1, -1, 55, - 56, -1, 58, 59, -1, -1, -1, 63, 637, 65, - -1, -1, 68, -1, 70, 71, 72, 73, 1, -1, - -1, -1, 5, -1, 80, -1, 82, 83, 84, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 94, 95, - 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 35, 36, -1, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, -1, -1, -1, - -1, -1, 55, 56, -1, 58, 59, -1, -1, -1, - 63, -1, 65, -1, -1, 68, -1, 70, 71, 72, - 73, 1, -1, -1, -1, 5, -1, 80, -1, 82, - 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 95, 96, -1, 98, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 35, 36, -1, 38, 39, + 50, 95, -1, -1, -1, -1, 56, 57, -1, 59, + 60, -1, -1, -1, 64, -1, 66, 67, -1, 69, + 5, 71, 72, 73, 74, -1, -1, -1, -1, -1, + -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 96, 97, -1, 99, + -1, 36, 37, -1, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, + -1, 56, 57, -1, 59, 60, -1, -1, -1, 64, + -1, 66, -1, -1, 69, 5, 71, 72, 73, 74, + -1, -1, -1, -1, -1, -1, 81, -1, 83, 84, + 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 96, 97, -1, 99, -1, 36, 37, 38, 39, + 40, 41, 42, -1, 44, 45, 46, 47, -1, 49, + -1, -1, -1, -1, -1, 55, 56, 57, -1, 59, + 60, -1, -1, -1, 64, -1, 66, -1, -1, 69, + 70, 71, 72, 73, 74, 5, -1, -1, -1, -1, + -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, + -1, -1, -1, -1, 94, -1, 96, 97, -1, 99, + -1, -1, -1, -1, -1, -1, 36, 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - -1, -1, -1, -1, -1, 55, 56, -1, 58, 59, - -1, -1, -1, 63, -1, 65, -1, -1, 68, -1, - 70, 71, 72, 73, 1, -1, -1, -1, 5, -1, - 80, -1, 82, 83, 84, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 35, 36, - -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, -1, -1, -1, -1, -1, 55, 56, - -1, 58, 59, -1, -1, -1, 63, -1, 65, -1, - -1, 68, -1, 70, 71, 72, 73, 1, -1, -1, - -1, 5, -1, 80, -1, 82, 83, 84, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 95, 96, - -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 35, 36, -1, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, -1, -1, -1, -1, - -1, 55, 56, -1, 58, 59, -1, -1, -1, 63, - -1, 65, -1, -1, 68, -1, 70, 71, 72, 73, - 1, -1, -1, -1, 5, -1, 80, -1, 82, 83, - 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 95, 96, -1, 98, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 35, 36, -1, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, -1, - -1, -1, -1, -1, 55, 56, -1, 58, 59, -1, - -1, -1, 63, -1, 65, -1, -1, 68, -1, 70, - 71, 72, 73, 1, -1, -1, -1, 5, -1, 80, - -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 95, 96, -1, 98, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 35, 36, -1, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, -1, -1, -1, -1, -1, 55, 56, -1, - 58, 59, -1, -1, -1, 63, -1, 65, -1, -1, - 68, -1, 70, 71, 72, 73, 1, -1, -1, -1, - 5, -1, 80, -1, 82, 83, 84, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, - 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 35, 36, -1, 38, 39, 40, 41, -1, 43, 44, - 45, 46, -1, 48, -1, -1, -1, -1, -1, -1, - 55, 56, -1, 58, 59, -1, -1, -1, 63, -1, - 65, -1, -1, 68, -1, 70, 71, 72, 73, 1, - -1, -1, -1, 5, -1, -1, -1, 82, 83, 84, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 95, 96, -1, 98, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 35, 36, -1, 38, 39, 40, 41, - -1, 43, 44, 45, 46, -1, 48, -1, -1, -1, - -1, -1, -1, 55, 56, -1, 58, 59, -1, -1, - -1, 63, -1, 65, -1, -1, 68, -1, 70, 71, - 72, 73, 1, -1, -1, -1, 5, -1, -1, -1, - 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 95, 96, -1, 98, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 35, 36, -1, 38, - 39, 40, 41, -1, 43, 44, 45, 46, -1, 48, - -1, -1, -1, -1, -1, -1, 55, 56, -1, 58, - 59, -1, -1, -1, 63, -1, 65, -1, -1, 68, - -1, 70, 71, 72, 73, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, - 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 60, 61, -1, 17, -1, 19, - 20, 21, 22, -1, -1, 71, 26, -1, -1, 29, - 30, -1, -1, 33, 80, -1, -1, -1, -1, 85, - 86, 87, 88, 89, 90, 91, 92, 93, -1, -1, - 50, 51, 52, 53, -1, -1, -1, -1, -1, 1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 71, 14, 15, 16, 75, 18, 19, -1, -1, - 22, -1, -1, 25, 26, -1, 86, 29, -1, 89, - -1, -1, -1, 1, 94, 3, 4, 5, 6, 7, + 50, -1, -1, -1, -1, -1, 56, 57, -1, 59, + 60, -1, -1, -1, 64, -1, 66, -1, -1, 69, + 5, 71, 72, 73, 74, -1, -1, -1, -1, -1, + -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 96, 97, -1, 99, + -1, 36, 37, -1, 39, 40, 41, 42, 43, 44, + 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, + -1, 56, 57, -1, 59, 60, -1, -1, -1, 64, + -1, 66, -1, -1, 69, 70, 71, 72, 73, 74, + -1, -1, -1, -1, -1, -1, -1, -1, 83, 84, + 85, -1, -1, -1, -1, -1, -1, -1, -1, 94, + -1, 96, 97, 1, 99, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - -1, 19, 20, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, -1, -1, -1, 71, - -1, -1, -1, 75, -1, -1, -1, -1, 5, -1, - -1, -1, -1, -1, 86, -1, -1, 89, -1, -1, - -1, -1, 94, -1, -1, -1, -1, 65, -1, -1, - -1, -1, -1, 71, 72, 73, -1, 75, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, -1, -1, -1, 94, 54, 55, 56, - -1, 58, 59, -1, -1, -1, 63, -1, 65, -1, - -1, 68, 69, 70, 71, 72, 73, 5, -1, -1, - -1, -1, -1, -1, -1, 82, 83, 84, -1, -1, - -1, -1, -1, -1, -1, -1, 93, -1, 95, 96, - -1, 98, -1, -1, -1, -1, -1, 35, 36, 37, - 38, 39, 40, 41, -1, 43, 44, 45, 46, -1, - 48, -1, -1, -1, -1, -1, 54, 55, 56, -1, - 58, 59, -1, -1, -1, 63, -1, 65, -1, -1, - 68, 69, 70, 71, 72, 73, 5, -1, -1, -1, - -1, -1, 80, -1, 82, 83, 84, -1, -1, -1, - -1, -1, -1, -1, -1, 93, -1, 95, 96, -1, - 98, -1, -1, -1, -1, -1, 35, 36, -1, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, -1, -1, -1, -1, -1, 55, 56, -1, 58, - 59, -1, -1, -1, 63, -1, 65, 66, -1, 68, - 5, 70, 71, 72, 73, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, - 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, - 45, 46, -1, 48, -1, -1, -1, -1, -1, 54, - 55, 56, -1, 58, 59, -1, -1, -1, 63, -1, - 65, -1, -1, 68, 69, 70, 71, 72, 73, 5, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - -1, -1, -1, -1, -1, -1, -1, -1, 93, -1, - 95, 96, -1, 98, -1, -1, -1, -1, -1, 35, - 36, -1, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, -1, -1, -1, -1, -1, 55, - 56, -1, 58, 59, -1, -1, -1, 63, -1, 65, - -1, -1, 68, -1, 70, 71, 72, 73, -1, -1, - -1, -1, -1, -1, 80, -1, 82, 83, 84, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 95, - 96, 1, 98, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, - 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, - 30, 31, 32, 33, -1, -1, 1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, 5, - -1, -1, -1, -1, 19, -1, -1, 22, -1, -1, - -1, 26, -1, -1, 29, 65, -1, -1, -1, -1, - -1, 71, 72, 73, -1, 75, -1, 77, 78, 35, - 36, -1, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 94, -1, -1, -1, -1, 55, - 56, -1, 58, 59, -1, -1, 71, 63, -1, 65, - 75, -1, 68, 5, 70, 71, 72, 73, -1, -1, - -1, 86, -1, -1, 89, -1, 82, 83, 84, 94, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 95, - 96, -1, 98, 35, 36, -1, 38, 39, 40, 41, - 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, - -1, -1, -1, 55, 56, -1, 58, 59, -1, -1, - -1, 63, -1, 65, -1, -1, 68, 69, 70, 71, - 72, 73, 5, -1, -1, -1, -1, -1, -1, -1, - 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, - -1, 93, -1, 95, 96, -1, 98, -1, -1, -1, - -1, -1, 35, 36, -1, 38, 39, 40, 41, -1, - 43, 44, 45, 46, -1, 48, -1, -1, -1, -1, - -1, -1, 55, 56, -1, 58, 59, -1, -1, -1, - 63, -1, 65, -1, -1, 68, 69, 70, 71, 72, - 73, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, - 93, -1, 95, 96, 1, 98, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, -1, 19, 20, 21, 22, -1, -1, 4, -1, - -1, -1, 29, 30, 31, 32, 33, 1, -1, 3, + -1, 19, 20, 21, 22, 23, -1, -1, -1, -1, + -1, -1, 30, 31, 32, 33, 34, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, - -1, 25, 26, -1, -1, 29, 30, -1, 65, 33, - -1, -1, -1, -1, 71, 72, 73, -1, 75, -1, - -1, -1, -1, -1, 60, 61, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 71, 72, 94, 5, -1, - -1, -1, -1, 79, -1, 81, -1, 71, -1, -1, - -1, 75, 88, 89, 90, 91, 92, 93, -1, -1, - -1, -1, 86, -1, -1, 89, -1, -1, 35, 36, - 94, 38, 39, 40, 41, 42, 43, 44, 45, 46, - -1, 48, -1, -1, -1, -1, -1, -1, 55, 56, - -1, 58, 59, -1, -1, -1, 63, -1, 65, -1, - -1, -1, 69, 5, 71, 72, 73, -1, -1, -1, - -1, -1, -1, -1, -1, 82, 83, 84, -1, -1, - -1, -1, -1, -1, -1, -1, 93, -1, 95, 96, - -1, 98, -1, 35, 36, -1, 38, 39, 40, 41, - -1, 43, 44, 45, 46, -1, 48, -1, -1, -1, - -1, -1, -1, 55, 56, -1, 58, 59, -1, -1, - -1, 63, -1, 65, -1, -1, 68, 5, 70, 71, - 72, 73, -1, 75, -1, -1, -1, -1, -1, -1, - 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 95, 96, -1, 98, 35, 36, -1, - 38, 39, 40, 41, -1, 43, 44, 45, 46, -1, - 48, -1, -1, -1, -1, -1, -1, 55, 56, -1, - 58, 59, -1, -1, -1, 63, -1, 65, -1, -1, - 68, 5, 70, 71, 72, 73, -1, -1, -1, -1, - -1, -1, -1, -1, 82, 83, 84, -1, -1, -1, - -1, -1, -1, -1, -1, 93, -1, 95, 96, -1, - 98, 35, 36, -1, 38, 39, 40, 41, -1, 43, - 44, 45, 46, -1, 48, -1, -1, -1, -1, -1, - -1, 55, 56, -1, 58, 59, -1, -1, -1, 63, - -1, 65, -1, -1, 68, 5, 70, 71, 72, 73, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, - -1, 95, 96, -1, 98, 35, 36, -1, 38, 39, - 40, 41, 42, 43, 44, 45, 46, -1, 48, -1, - -1, -1, -1, -1, -1, 55, 56, -1, 58, 59, - -1, 1, -1, 63, 4, 65, -1, -1, 68, -1, - 70, 71, 72, 73, -1, -1, -1, -1, -1, -1, - -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 95, 96, 1, 98, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, -1, 17, -1, 19, 20, 21, 22, -1, - 60, 61, -1, -1, -1, 29, 30, 31, 32, 33, - -1, 71, 72, -1, -1, -1, -1, -1, -1, 79, - -1, 81, 5, -1, -1, 85, 86, 87, 88, -1, - -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, - -1, 75, 35, 36, -1, 38, 39, 40, 41, -1, - 43, 44, 45, 46, -1, 48, -1, -1, -1, -1, - 94, -1, 55, 56, -1, 58, 59, -1, -1, -1, - 63, -1, 65, -1, -1, 68, -1, 70, 71, 72, - 73, -1, -1, -1, -1, -1, -1, 80, -1, 82, - 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 95, 96, 1, 98, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, -1, - 17, -1, 19, 20, 21, 22, -1, -1, -1, -1, - -1, -1, 29, 30, 31, 32, 33, -1, -1, -1, - -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, -1, 17, -1, 19, - 20, 21, 22, -1, -1, -1, -1, -1, 65, 29, - 30, 31, 32, 33, 71, 72, 73, -1, 75, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, - -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, - -1, 71, 72, 73, -1, 75, -1, 1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 94, 19, 20, 21, 22, -1, - -1, -1, 26, -1, -1, 29, 30, -1, -1, 33, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + -1, -1, 26, 27, -1, -1, 30, 31, 66, -1, + 34, -1, -1, -1, 72, 73, 74, -1, 76, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 5, -1, 16, 17, 18, 19, 20, - 21, 22, -1, -1, 25, 26, -1, 71, 29, 30, - -1, 75, 33, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 86, 35, 36, 89, 38, 39, 40, 41, - 94, 43, 44, 45, 46, -1, 48, -1, -1, -1, - -1, -1, -1, 55, 56, -1, 58, 59, -1, -1, - 71, 63, -1, 65, 75, -1, 68, -1, 70, 71, - 72, 73, -1, -1, -1, 86, -1, -1, 89, -1, - 82, 83, 84, 94, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 95, 96, 1, 98, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, -1, 19, 20, 21, 22, -1, -1, -1, - 26, -1, -1, 29, 30, -1, 1, 33, 3, 4, + 11, 12, 13, 5, -1, 16, 17, 95, 19, 20, + 21, 22, 23, -1, -1, -1, 27, -1, 72, 30, + 31, -1, 76, 34, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 87, 36, 37, 90, 39, 40, 41, + 42, 95, 44, 45, 46, 47, -1, 49, -1, -1, + -1, -1, -1, -1, 56, 57, -1, 59, 60, -1, + -1, 72, 64, -1, 66, 76, -1, 69, 70, 71, + 72, 73, 74, -1, -1, -1, 87, -1, -1, 90, + -1, 83, 84, 85, 95, -1, -1, -1, -1, -1, + -1, -1, 94, -1, 96, 97, 1, 99, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, -1, 19, 20, 21, 22, -1, -1, - -1, 26, -1, -1, 29, 30, -1, 55, 33, 57, - 58, 59, -1, -1, -1, 71, 64, -1, -1, 75, - -1, -1, -1, -1, 72, -1, -1, 75, -1, -1, - 86, -1, -1, 89, -1, -1, 84, -1, 94, -1, - 88, -1, -1, -1, -1, -1, 71, -1, 96, -1, - 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 86, -1, 1, 89, -1, 4, -1, 1, 94, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, - -1, -1, -1, 26, -1, -1, 29, 30, -1, 1, - 33, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, -1, 17, -1, 19, 20, -1, - 22, -1, 60, 61, -1, -1, -1, 29, 30, 31, - 32, 33, -1, 71, 72, -1, -1, -1, 71, -1, - -1, 79, 75, 81, -1, -1, -1, 85, 86, 87, - 88, -1, -1, 86, -1, 93, 89, -1, -1, -1, - -1, 94, -1, 65, -1, -1, -1, -1, -1, 71, - 72, 73, -1, 75, -1, 1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, -1, -1, - 16, 17, 94, 19, 20, 21, 22, -1, -1, -1, - 26, -1, -1, 29, 30, 31, 32, 33, 1, -1, + 15, -1, 17, -1, 19, 20, 21, 22, 23, -1, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + -1, -1, -1, 1, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, -1, 17, + -1, 19, 20, 21, 22, 23, -1, -1, -1, -1, + -1, 66, 30, 31, 32, 33, 34, 72, 73, 74, + -1, 76, -1, -1, 1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, -1, 14, 15, 16, + 95, 18, 19, -1, -1, -1, 23, -1, 66, 26, + 27, -1, -1, 30, 72, 73, 74, -1, 76, -1, + 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, -1, 17, 95, 19, 20, + 21, 22, 23, -1, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, -1, 72, -1, -1, -1, 76, + -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, + 87, -1, -1, 90, -1, -1, -1, -1, 95, -1, + -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, + -1, 72, 73, 74, -1, 76, 36, 37, -1, 39, + 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, + -1, -1, -1, -1, 95, -1, 56, 57, -1, 59, + 60, -1, -1, -1, 64, -1, 66, -1, -1, -1, + 70, -1, 72, 73, 74, -1, -1, -1, -1, -1, + -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, + -1, -1, -1, -1, 94, -1, 96, 97, 1, 99, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, - -1, -1, -1, 26, -1, -1, 29, 30, -1, 55, - 33, 57, 58, 59, -1, 71, -1, -1, 64, 75, - -1, -1, -1, -1, -1, -1, 72, -1, -1, 75, - 86, -1, -1, 89, -1, -1, 82, -1, 94, -1, - -1, -1, 88, -1, -1, -1, -1, -1, 71, -1, - 96, -1, 75, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 86, -1, -1, 89, -1, -1, -1, - 1, 94, 3, 4, 5, 6, 7, 8, 9, 10, + 23, 4, -1, -1, 27, -1, -1, 30, 31, -1, + 1, 34, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, - 21, 22, -1, -1, -1, 26, -1, -1, 29, 30, - -1, 1, 33, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, -1, -1, 16, 17, -1, 19, - 20, 21, 22, -1, -1, -1, 26, -1, -1, 29, - 30, -1, 55, 33, 57, 58, 59, -1, -1, -1, - 71, 64, -1, -1, 75, -1, -1, -1, -1, 72, - -1, -1, 75, -1, -1, 86, -1, -1, 89, -1, - -1, -1, -1, 94, -1, 88, -1, -1, -1, -1, - -1, 71, -1, 96, -1, 75, -1, 77, 78, -1, - -1, -1, -1, -1, -1, -1, 86, -1, -1, 89, - -1, -1, -1, 1, 94, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, -1, -1, 16, 17, - -1, 19, 20, 21, 22, -1, -1, -1, 26, -1, - -1, 29, 30, 31, 32, 33, 1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, - -1, 16, 17, -1, 19, 20, 21, 22, -1, -1, - -1, 26, -1, -1, 29, 30, 31, 32, 33, -1, - -1, -1, -1, 71, -1, -1, -1, 75, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 86, -1, - -1, 89, 5, -1, -1, -1, 94, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 71, -1, -1, -1, - 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 86, 35, 36, 89, 38, 39, 40, 41, 94, - 43, 44, 45, 46, -1, 48, -1, -1, -1, -1, - -1, -1, 55, 56, -1, 58, 59, -1, -1, -1, - 63, -1, 65, -1, -1, -1, 5, -1, 71, 72, - 73, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, - 93, -1, 95, 96, -1, 98, 35, 36, -1, 38, - 39, 40, 41, -1, 43, 44, 45, 46, -1, 48, - -1, -1, -1, -1, -1, -1, 55, 56, -1, 58, - 59, -1, -1, -1, 63, -1, 65, -1, -1, -1, - -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 95, 96, 1, 98, + 21, 22, 23, -1, -1, -1, 27, -1, -1, 30, + 31, -1, -1, 34, -1, -1, -1, -1, -1, 72, + -1, -1, -1, 76, -1, -1, -1, -1, 61, 62, + -1, -1, -1, -1, 87, -1, -1, 90, -1, 72, + 73, -1, 95, -1, -1, -1, -1, 80, -1, 82, + -1, 72, -1, -1, -1, 76, 89, 90, 91, 92, + 93, 94, -1, -1, -1, -1, 87, -1, -1, 90, + -1, -1, -1, 1, 95, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + -1, 19, 20, 21, 22, 23, -1, -1, -1, 27, + -1, -1, 30, 31, -1, 1, 34, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, -1, 19, 20, 21, 22, 23, -1, -1, + -1, 27, -1, -1, 30, 31, -1, 56, 34, 58, + 59, 60, -1, -1, 72, -1, 65, -1, 76, 56, + -1, 58, 59, 60, 73, -1, -1, 76, 65, 87, + -1, -1, 90, -1, 83, -1, 73, 95, -1, 76, + 89, -1, -1, -1, -1, -1, 72, -1, 97, -1, + 76, -1, 89, -1, -1, -1, -1, -1, -1, -1, + 97, 87, -1, -1, 90, -1, -1, -1, 1, 95, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, -1, 16, 17, -1, 19, 20, 21, 22, - -1, -1, -1, 26, -1, -1, 29, 30, -1, 1, - 33, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 23, -1, -1, -1, 27, -1, -1, 30, 31, 32, + 33, 34, 1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, -1, 17, -1, + 19, 20, -1, 22, 23, -1, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, -1, -1, -1, 72, + -1, -1, -1, 76, -1, -1, -1, 5, -1, -1, + -1, -1, -1, -1, 87, -1, -1, 90, -1, -1, + -1, -1, 95, -1, -1, -1, -1, 66, -1, -1, + -1, -1, -1, 72, 73, 74, -1, 76, 36, 37, + -1, 39, 40, 41, 42, -1, 44, 45, 46, 47, + -1, 49, -1, -1, -1, -1, 95, -1, 56, 57, + -1, 59, 60, -1, -1, -1, 64, -1, 66, -1, + -1, 69, 5, 71, 72, 73, 74, -1, 76, -1, + -1, -1, -1, -1, -1, 83, 84, 85, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 96, 97, + -1, 99, -1, 36, 37, -1, 39, 40, 41, 42, + -1, 44, 45, 46, 47, -1, 49, -1, -1, -1, + -1, -1, -1, 56, 57, -1, 59, 60, -1, -1, + -1, 64, -1, 66, -1, -1, 69, 5, 71, 72, + 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, + 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, + -1, 94, -1, 96, 97, -1, 99, -1, 36, 37, + -1, 39, 40, 41, 42, -1, 44, 45, 46, 47, + -1, 49, -1, -1, -1, -1, -1, -1, 56, 57, + -1, 59, 60, -1, -1, -1, 64, -1, 66, -1, + -1, 69, 5, 71, 72, 73, 74, -1, -1, -1, + -1, -1, -1, -1, -1, 83, 84, 85, -1, -1, + -1, -1, -1, -1, -1, -1, 94, -1, 96, 97, + -1, 99, -1, 36, 37, -1, 39, 40, 41, 42, + 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, + -1, -1, -1, 56, 57, -1, 59, 60, -1, -1, + -1, 64, -1, 66, -1, -1, 69, -1, 71, 72, + 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, + 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 96, 97, 1, 99, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, -1, 19, 20, 21, 22, 23, -1, -1, + -1, 27, -1, -1, 30, 31, -1, 1, 34, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, + -1, -1, -1, 27, -1, -1, 30, 31, -1, -1, + 34, -1, -1, -1, -1, -1, 72, -1, -1, -1, + 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 87, -1, -1, 90, -1, -1, -1, -1, 95, + -1, -1, -1, -1, -1, -1, -1, -1, 72, -1, + -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 87, -1, -1, 90, -1, -1, -1, + 1, 95, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, -1, -1, 16, 17, 18, 19, 20, + 21, 22, 23, -1, -1, 26, 27, -1, -1, 30, + 31, -1, -1, 34, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, -1, -1, -1, 5, -1, -1, 19, + -1, -1, -1, 23, -1, -1, -1, 27, -1, -1, + 30, 72, -1, -1, -1, 76, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 87, 36, 37, 90, + 39, 40, 41, 42, 95, 44, 45, 46, 47, -1, + 49, -1, -1, -1, -1, -1, -1, 56, 57, -1, + 59, 60, 72, -1, -1, 64, 76, 66, -1, -1, + 69, -1, 71, 72, 73, 74, -1, 87, -1, -1, + 90, -1, 81, -1, 83, 84, 85, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 96, 97, 1, + 99, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, -1, 16, 17, -1, 19, 20, 21, - 22, -1, -1, -1, 26, -1, -1, 29, 30, -1, - -1, 33, -1, -1, -1, -1, -1, -1, 71, -1, - -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 86, -1, -1, 89, -1, -1, -1, - -1, 94, -1, -1, -1, -1, -1, -1, -1, 71, - -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 86, -1, -1, 89, -1, -1, - -1, 1, 94, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, -1, -1, 16, 17, -1, 19, - 20, 21, 22, -1, -1, -1, 26, -1, -1, 29, - 30, -1, 1, 33, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, -1, -1, 16, 17, -1, - 19, 20, 21, 22, -1, -1, -1, 26, -1, -1, - 29, 30, -1, -1, 33, -1, -1, -1, -1, -1, - -1, 71, -1, -1, -1, 75, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 86, -1, -1, 89, - -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, - -1, -1, 71, -1, -1, -1, 75, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 86, -1, -1, - 89, -1, -1, -1, 1, 94, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, 15, 16, - -1, -1, 19, -1, -1, 22, -1, -1, -1, 26, - -1, -1, 29, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, -1, 17, -1, 19, - 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, - 30, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 71, -1, -1, -1, 75, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 86, - -1, -1, 89, -1, -1, 65, -1, 94, -1, -1, - -1, 71, 72, 73, -1, 75, -1, -1, -1, 3, + 22, 23, -1, -1, -1, 27, -1, -1, 30, 31, + 32, 33, 34, 1, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, -1, -1, 16, 17, + -1, 19, 20, 21, 22, 23, -1, -1, -1, 27, + -1, -1, 30, 31, 32, 33, 34, -1, -1, -1, + 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 87, -1, -1, 90, 5, + -1, -1, -1, 95, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 72, -1, -1, -1, 76, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, + 36, 37, 90, 39, 40, 41, 42, 95, 44, 45, + 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, + 56, 57, -1, 59, 60, -1, -1, -1, 64, -1, + 66, -1, -1, 69, 5, 71, 72, 73, 74, -1, + -1, -1, -1, -1, -1, -1, -1, 83, 84, 85, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 96, 97, -1, 99, -1, 36, 37, -1, 39, 40, + 41, 42, -1, 44, 45, 46, 47, -1, 49, -1, + -1, -1, -1, -1, -1, 56, 57, -1, 59, 60, + -1, -1, -1, 64, -1, 66, -1, -1, -1, -1, + -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, + -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, + -1, -1, -1, 94, -1, 96, 97, 1, 99, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - -1, -1, -1, 17, 94, 19, 20, 21, 22, -1, - -1, -1, 26, -1, -1, 29, 30, -1, -1, 33, + -1, -1, 16, 17, -1, 19, 20, 21, 22, 23, + -1, -1, -1, 27, -1, -1, 30, 31, -1, 1, + 34, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, -1, -1, 16, 17, -1, 19, 20, 21, + 22, 23, -1, -1, -1, 27, -1, -1, 30, 31, + -1, -1, 34, -1, -1, -1, -1, -1, 72, -1, + -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 87, -1, -1, 90, -1, -1, -1, + -1, 95, -1, -1, -1, -1, -1, -1, -1, -1, + 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 87, -1, -1, 90, -1, + -1, -1, 1, 95, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 5, -1, 16, 17, -1, + 19, 20, 21, 22, 23, -1, -1, -1, 27, -1, + -1, 30, 31, -1, -1, 34, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 36, 37, -1, 39, + 40, 41, 42, -1, 44, 45, 46, 47, -1, 49, + -1, -1, -1, -1, -1, -1, 56, 57, -1, 59, + 60, -1, -1, 72, 64, -1, 66, 76, -1, -1, + -1, -1, 72, 73, 74, -1, -1, -1, 87, -1, + -1, 90, -1, 83, 84, 85, 95, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 96, 97, 1, 99, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, -1, -1, -1, -1, -1, 19, -1, -1, 22, - -1, -1, -1, 26, -1, -1, 29, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 71, -1, -1, - -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 86, -1, -1, 89, -1, -1, -1, -1, - 94, -1, -1, -1, -1, -1, -1, -1, 71, -1, - -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 86, -1, -1, 89, 3, 4, 5, + -1, 14, 15, 16, -1, -1, 19, -1, -1, -1, + 23, -1, -1, -1, 27, -1, 1, 30, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, + -1, -1, -1, -1, 19, -1, -1, -1, 23, -1, + -1, -1, 27, -1, -1, 30, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, + -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 87, -1, -1, 90, -1, -1, + -1, -1, 95, -1, -1, -1, -1, 72, -1, -1, + -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 87, -1, -1, 90, -1, -1, -1, -1, + 95, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, -1, 17, -1, 19, 20, 21, + 22, 23, -1, -1, -1, -1, -1, -1, 30, 31, + 32, 33, 34, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, -1, -1, -1, 17, -1, + 19, 20, 21, 22, 23, -1, -1, -1, 27, -1, + -1, 30, 31, -1, 66, 34, -1, -1, -1, -1, + 72, 73, 74, -1, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 95, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, + -1, 90, -1, -1, -1, -1, 95, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - -1, 17, -1, 19, 20, -1, 22, -1, -1, -1, - -1, -1, -1, 29, 30, 31, 32, 33, -1, -1, + -1, 17, -1, 19, 20, -1, 22, 23, -1, -1, + -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, - -1, -1, -1, -1, -1, 71, 72, 73, -1, 75 + 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, + 76 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2285,89 +2289,89 @@ static const yytype_int16 yycheck[] = static const yytype_uint8 yystos[] = { 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 17, 19, 20, 21, 22, 26, 29, - 30, 33, 50, 51, 52, 53, 71, 75, 86, 89, - 101, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 127, 128, 132, 135, 136, 137, 138, 139, - 140, 143, 144, 146, 161, 162, 182, 207, 94, 1, - 1, 6, 7, 8, 9, 10, 11, 12, 29, 94, - 136, 141, 217, 5, 35, 36, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 55, 56, - 58, 59, 63, 65, 68, 70, 72, 73, 82, 83, - 84, 95, 96, 98, 166, 167, 168, 169, 170, 171, - 172, 182, 183, 184, 185, 186, 187, 188, 189, 200, - 208, 218, 219, 220, 227, 141, 217, 141, 217, 141, - 217, 1, 187, 187, 187, 1, 187, 1, 80, 186, - 1, 187, 1, 80, 186, 217, 188, 205, 4, 60, - 61, 71, 72, 79, 81, 88, 93, 209, 210, 211, - 216, 42, 69, 93, 105, 200, 5, 42, 46, 48, - 55, 56, 58, 59, 63, 69, 82, 83, 84, 93, - 109, 166, 167, 168, 169, 170, 171, 172, 185, 194, - 208, 218, 219, 220, 227, 55, 57, 58, 59, 64, - 72, 75, 88, 96, 174, 1, 66, 67, 80, 93, - 188, 5, 1, 209, 0, 116, 187, 94, 139, 137, - 1, 5, 75, 94, 187, 187, 187, 186, 14, 15, - 16, 142, 1, 115, 130, 1, 4, 5, 62, 1, - 209, 1, 182, 1, 182, 1, 182, 84, 174, 93, - 190, 1, 62, 83, 228, 229, 1, 182, 1, 182, - 1, 4, 62, 96, 99, 223, 225, 225, 56, 73, - 98, 99, 165, 221, 222, 223, 226, 226, 204, 203, - 1, 200, 200, 200, 1, 66, 67, 79, 93, 188, - 1, 200, 202, 69, 93, 200, 206, 201, 1, 182, - 1, 96, 223, 1, 98, 221, 80, 42, 47, 49, - 66, 200, 37, 54, 69, 93, 1, 130, 1, 130, - 1, 130, 80, 80, 80, 80, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, - 19, 20, 22, 29, 30, 31, 32, 33, 75, 157, - 158, 159, 164, 185, 217, 230, 80, 80, 217, 80, - 1, 115, 80, 1, 209, 1, 60, 71, 79, 80, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 212, - 213, 214, 215, 216, 209, 85, 87, 88, 89, 90, - 91, 92, 210, 69, 93, 106, 200, 200, 102, 69, - 93, 110, 225, 226, 198, 197, 194, 196, 93, 194, - 199, 195, 194, 103, 177, 176, 1, 79, 174, 179, - 1, 76, 174, 180, 175, 1, 96, 223, 104, 200, - 200, 188, 80, 5, 55, 76, 163, 185, 207, 86, - 80, 5, 80, 80, 80, 80, 141, 141, 14, 15, - 16, 131, 86, 173, 191, 200, 1, 62, 83, 229, - 4, 62, 224, 224, 225, 225, 75, 200, 226, 98, - 99, 221, 206, 206, 200, 200, 188, 79, 206, 200, - 200, 206, 96, 98, 141, 217, 93, 192, 225, 226, - 200, 93, 200, 93, 200, 200, 200, 137, 217, 141, - 217, 217, 136, 1, 187, 187, 187, 187, 187, 187, - 1, 205, 187, 187, 200, 200, 94, 157, 1, 16, - 21, 33, 147, 148, 149, 151, 155, 156, 157, 157, - 157, 217, 137, 1, 115, 137, 217, 31, 32, 145, - 217, 80, 79, 212, 81, 209, 209, 209, 209, 108, - 107, 200, 42, 113, 200, 112, 111, 194, 199, 199, - 199, 194, 199, 113, 174, 206, 1, 82, 174, 178, - 1, 5, 97, 174, 181, 82, 174, 178, 206, 96, - 113, 80, 80, 80, 76, 217, 55, 76, 207, 217, - 217, 217, 174, 200, 4, 62, 1, 200, 226, 79, - 79, 79, 1, 130, 193, 200, 200, 200, 16, 1, - 115, 1, 130, 1, 115, 125, 16, 18, 25, 129, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 200, - 205, 1, 147, 217, 205, 217, 80, 200, 16, 147, - 94, 94, 1, 147, 16, 129, 16, 16, 1, 115, - 80, 186, 217, 16, 1, 115, 215, 200, 200, 194, - 194, 174, 79, 174, 174, 1, 76, 1, 115, 76, - 76, 130, 130, 205, 200, 16, 14, 15, 126, 16, - 129, 187, 156, 187, 76, 16, 80, 1, 80, 217, - 1, 147, 16, 187, 217, 16, 217, 80, 1, 115, - 217, 78, 133, 181, 16, 129, 76, 217, 217, 217, - 217, 187, 80, 23, 24, 25, 26, 27, 28, 160, - 80, 217, 217, 217, 16, 217, 80, 217, 1, 115, - 217, 205, 77, 134, 174, 217, 187, 125, 125, 80, - 136, 156, 156, 187, 156, 187, 187, 16, 147, 154, - 1, 154, 217, 137, 145, 1, 115, 80, 217, 16, - 80, 217, 16, 160, 160, 80, 160, 80, 80, 23, - 24, 25, 26, 27, 28, 150, 78, 152, 16, 145, - 217, 115, 217, 217, 115, 156, 156, 156, 217, 217, - 187, 217, 187, 187, 16, 205, 77, 153, 115, 115, - 16, 160, 160, 160, 154, 154, 80, 154, 80, 80, - 217, 80, 217, 16, 133, 16, 217, 150, 150, 217, - 150, 217, 217, 217, 154, 217, 217, 154, 154, 154, - 154, 150, 150, 150, 152 + 11, 12, 13, 17, 19, 20, 21, 22, 23, 27, + 30, 31, 34, 51, 52, 53, 54, 72, 76, 87, + 90, 102, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 128, 129, 133, 136, 137, 138, 139, + 140, 141, 144, 145, 147, 148, 163, 164, 184, 209, + 95, 1, 1, 6, 7, 8, 9, 10, 11, 12, + 30, 95, 137, 142, 219, 5, 36, 37, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 56, 57, 59, 60, 64, 66, 69, 71, 73, 74, + 83, 84, 85, 96, 97, 99, 168, 169, 170, 171, + 172, 173, 174, 184, 185, 186, 187, 188, 189, 190, + 191, 202, 210, 220, 221, 222, 229, 142, 219, 142, + 219, 142, 219, 1, 189, 189, 189, 1, 189, 1, + 189, 1, 81, 188, 219, 190, 207, 4, 61, 62, + 72, 73, 80, 82, 89, 94, 211, 212, 213, 218, + 43, 70, 94, 106, 202, 5, 43, 47, 49, 56, + 57, 59, 60, 64, 70, 83, 84, 85, 94, 110, + 168, 169, 170, 171, 172, 173, 174, 187, 196, 210, + 220, 221, 222, 229, 56, 58, 59, 60, 65, 73, + 76, 89, 97, 176, 1, 67, 68, 81, 94, 190, + 5, 1, 211, 0, 117, 189, 95, 140, 138, 1, + 81, 188, 1, 5, 76, 95, 189, 189, 189, 188, + 14, 15, 16, 143, 1, 116, 131, 1, 4, 5, + 63, 1, 211, 1, 184, 1, 184, 1, 184, 85, + 176, 94, 192, 1, 63, 84, 230, 231, 1, 184, + 1, 184, 1, 4, 63, 97, 100, 225, 227, 227, + 57, 74, 99, 100, 167, 223, 224, 225, 228, 228, + 206, 205, 1, 202, 202, 202, 1, 67, 68, 80, + 94, 190, 1, 202, 204, 70, 94, 202, 208, 203, + 1, 184, 1, 97, 225, 1, 99, 223, 81, 43, + 48, 50, 67, 202, 38, 55, 70, 94, 1, 131, + 1, 131, 1, 131, 81, 81, 81, 81, 81, 219, + 81, 1, 116, 81, 1, 211, 1, 61, 72, 80, + 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 214, 215, 216, 217, 218, 211, 86, 88, 89, 90, + 91, 92, 93, 212, 70, 94, 107, 202, 202, 103, + 70, 94, 111, 227, 228, 200, 199, 196, 198, 94, + 196, 201, 197, 196, 104, 179, 178, 1, 80, 176, + 181, 1, 77, 176, 182, 177, 1, 97, 225, 105, + 202, 202, 190, 81, 5, 56, 77, 165, 187, 209, + 87, 81, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 17, 19, 20, 22, 23, + 30, 31, 32, 33, 34, 76, 159, 160, 161, 166, + 187, 219, 232, 81, 5, 81, 81, 81, 81, 142, + 142, 14, 15, 16, 132, 87, 175, 193, 202, 1, + 63, 84, 231, 4, 63, 226, 226, 227, 227, 76, + 202, 228, 99, 100, 223, 208, 208, 202, 202, 190, + 80, 208, 202, 202, 208, 97, 99, 142, 219, 94, + 194, 227, 228, 202, 94, 202, 94, 202, 202, 202, + 138, 219, 142, 219, 219, 137, 138, 1, 116, 138, + 219, 32, 33, 146, 219, 81, 80, 214, 82, 211, + 211, 211, 211, 109, 108, 202, 43, 114, 202, 113, + 112, 196, 201, 201, 201, 196, 201, 114, 176, 208, + 1, 83, 176, 180, 1, 5, 98, 176, 183, 83, + 176, 180, 208, 97, 114, 81, 81, 81, 77, 219, + 1, 189, 189, 189, 189, 189, 189, 189, 1, 207, + 189, 189, 202, 202, 95, 159, 1, 16, 21, 34, + 149, 150, 151, 153, 157, 158, 159, 159, 159, 219, + 56, 77, 209, 219, 219, 219, 176, 202, 4, 63, + 1, 202, 228, 80, 80, 80, 1, 131, 195, 202, + 202, 202, 16, 1, 116, 1, 131, 1, 116, 126, + 16, 18, 26, 130, 16, 130, 16, 16, 1, 116, + 81, 188, 219, 16, 1, 116, 217, 202, 202, 196, + 196, 176, 80, 176, 176, 1, 77, 1, 116, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 202, + 207, 1, 149, 219, 207, 219, 81, 202, 16, 149, + 95, 95, 1, 149, 77, 77, 131, 131, 207, 202, + 16, 14, 15, 127, 16, 130, 189, 189, 219, 16, + 219, 81, 1, 116, 219, 79, 134, 183, 16, 130, + 158, 189, 77, 16, 81, 1, 81, 219, 1, 149, + 16, 77, 219, 219, 219, 219, 189, 81, 81, 219, + 1, 116, 219, 207, 78, 135, 176, 219, 189, 24, + 25, 26, 27, 28, 29, 162, 81, 219, 219, 219, + 16, 219, 126, 126, 81, 137, 138, 146, 1, 116, + 81, 219, 16, 81, 158, 158, 189, 158, 189, 189, + 16, 149, 156, 1, 156, 219, 219, 16, 16, 146, + 219, 116, 219, 219, 162, 162, 81, 162, 81, 81, + 24, 25, 26, 27, 28, 29, 152, 79, 154, 116, + 116, 116, 158, 158, 158, 219, 219, 189, 219, 189, + 189, 16, 207, 78, 155, 16, 134, 16, 162, 162, + 162, 156, 156, 81, 156, 81, 81, 219, 81, 219, + 16, 219, 219, 152, 152, 219, 152, 219, 219, 219, + 156, 219, 156, 156, 156, 156, 152, 152, 152, 154 }; #define yyerrok (yyerrstatus = 0) @@ -3216,14 +3220,14 @@ yyreduce: case 2: /* Line 1806 of yacc.c */ -#line 175 "parser.y" +#line 177 "parser.y" { set_syntax_tree(parser, (yyvsp[(1) - (1)].val)); } break; case 3: /* Line 1806 of yacc.c */ -#line 176 "parser.y" +#line 178 "parser.y" { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); end_of_regex(scnr); } break; @@ -3231,35 +3235,35 @@ yyreduce: case 4: /* Line 1806 of yacc.c */ -#line 179 "parser.y" +#line 181 "parser.y" { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); YYACCEPT; } break; case 5: /* Line 1806 of yacc.c */ -#line 180 "parser.y" +#line 182 "parser.y" { internal_error("notreached"); } break; case 6: /* Line 1806 of yacc.c */ -#line 182 "parser.y" +#line 184 "parser.y" { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); YYACCEPT; } break; case 7: /* Line 1806 of yacc.c */ -#line 183 "parser.y" +#line 185 "parser.y" { internal_error("notreached"); } break; case 8: /* Line 1806 of yacc.c */ -#line 184 "parser.y" +#line 186 "parser.y" { if (yychar == YYEOF) { parser->syntax_tree = nao; YYACCEPT; @@ -3272,7 +3276,7 @@ yyreduce: case 9: /* Line 1806 of yacc.c */ -#line 191 "parser.y" +#line 193 "parser.y" { if (yychar == YYEOF) { parser->syntax_tree = nao; YYACCEPT; @@ -3285,7 +3289,7 @@ yyreduce: case 10: /* Line 1806 of yacc.c */ -#line 198 "parser.y" +#line 200 "parser.y" { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); YYACCEPT; } break; @@ -3293,14 +3297,14 @@ yyreduce: case 11: /* Line 1806 of yacc.c */ -#line 200 "parser.y" +#line 202 "parser.y" { internal_error("notreached"); } break; case 12: /* Line 1806 of yacc.c */ -#line 201 "parser.y" +#line 203 "parser.y" { if (yychar == YYEOF) { parser->syntax_tree = nao; YYACCEPT; @@ -3313,7 +3317,7 @@ yyreduce: case 13: /* Line 1806 of yacc.c */ -#line 208 "parser.y" +#line 210 "parser.y" { parser->syntax_tree = nil; if (parser->errors >= 8) YYABORT; @@ -3324,14 +3328,14 @@ yyreduce: case 14: /* Line 1806 of yacc.c */ -#line 217 "parser.y" +#line 219 "parser.y" { parser->ignore = 1; } break; case 15: /* Line 1806 of yacc.c */ -#line 218 "parser.y" +#line 220 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3339,14 +3343,14 @@ yyreduce: case 16: /* Line 1806 of yacc.c */ -#line 220 "parser.y" +#line 222 "parser.y" { parser->ignore = 1; } break; case 17: /* Line 1806 of yacc.c */ -#line 221 "parser.y" +#line 223 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3354,14 +3358,14 @@ yyreduce: case 18: /* Line 1806 of yacc.c */ -#line 223 "parser.y" +#line 225 "parser.y" { parser->ignore = 1; } break; case 19: /* Line 1806 of yacc.c */ -#line 224 "parser.y" +#line 226 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3369,35 +3373,35 @@ yyreduce: case 20: /* Line 1806 of yacc.c */ -#line 226 "parser.y" +#line 228 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 21: /* Line 1806 of yacc.c */ -#line 227 "parser.y" +#line 229 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 22: /* Line 1806 of yacc.c */ -#line 228 "parser.y" +#line 230 "parser.y" { (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 23: /* Line 1806 of yacc.c */ -#line 231 "parser.y" +#line 233 "parser.y" { parser->ignore = 1; } break; case 24: /* Line 1806 of yacc.c */ -#line 232 "parser.y" +#line 234 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3405,14 +3409,14 @@ yyreduce: case 25: /* Line 1806 of yacc.c */ -#line 234 "parser.y" +#line 236 "parser.y" { parser->ignore = 1; } break; case 26: /* Line 1806 of yacc.c */ -#line 235 "parser.y" +#line 237 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3420,14 +3424,14 @@ yyreduce: case 27: /* Line 1806 of yacc.c */ -#line 237 "parser.y" +#line 239 "parser.y" { parser->ignore = 1; } break; case 28: /* Line 1806 of yacc.c */ -#line 238 "parser.y" +#line 240 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3435,140 +3439,140 @@ yyreduce: case 29: /* Line 1806 of yacc.c */ -#line 240 "parser.y" +#line 242 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 30: /* Line 1806 of yacc.c */ -#line 241 "parser.y" +#line 243 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 31: /* Line 1806 of yacc.c */ -#line 242 "parser.y" +#line 244 "parser.y" { (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 32: /* Line 1806 of yacc.c */ -#line 247 "parser.y" +#line 249 "parser.y" { internal_error("notreached"); } break; case 33: /* Line 1806 of yacc.c */ -#line 248 "parser.y" +#line 250 "parser.y" { internal_error("notreached"); } break; case 34: /* Line 1806 of yacc.c */ -#line 249 "parser.y" +#line 251 "parser.y" { internal_error("notreached"); } break; case 35: /* Line 1806 of yacc.c */ -#line 252 "parser.y" +#line 254 "parser.y" { (yyval.val) = check_parse_time_action(cons((yyvsp[(1) - (1)].val), nil)); } break; case 36: /* Line 1806 of yacc.c */ -#line 253 "parser.y" +#line 255 "parser.y" { (yyval.val) = check_parse_time_action(cons((yyvsp[(2) - (2)].val), (yyvsp[(1) - (2)].val))); } break; case 37: /* Line 1806 of yacc.c */ -#line 256 "parser.y" +#line 258 "parser.y" { (yyval.val) = us_nreverse((yyvsp[(1) - (1)].val)); } break; case 38: /* Line 1806 of yacc.c */ -#line 257 "parser.y" +#line 259 "parser.y" { (yyval.val) = nil; } break; case 39: /* Line 1806 of yacc.c */ -#line 260 "parser.y" +#line 262 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 40: /* Line 1806 of yacc.c */ -#line 261 "parser.y" +#line 263 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 41: /* Line 1806 of yacc.c */ -#line 262 "parser.y" +#line 264 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 42: /* Line 1806 of yacc.c */ -#line 263 "parser.y" +#line 265 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 43: /* Line 1806 of yacc.c */ -#line 264 "parser.y" +#line 266 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 44: /* Line 1806 of yacc.c */ -#line 265 "parser.y" +#line 267 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 45: /* Line 1806 of yacc.c */ -#line 266 "parser.y" +#line 268 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 46: /* Line 1806 of yacc.c */ -#line 267 "parser.y" +#line 269 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 47: /* Line 1806 of yacc.c */ -#line 268 "parser.y" +#line 270 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 48: /* Line 1806 of yacc.c */ -#line 269 "parser.y" +#line 271 "parser.y" { (yyval.val) = list(define_transform(parser, (yyvsp[(1) - (1)].val)), nao); rlc(car((yyval.val)), (yyvsp[(1) - (1)].val)); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } @@ -3577,35 +3581,35 @@ yyreduce: case 49: /* Line 1806 of yacc.c */ -#line 272 "parser.y" +#line 274 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 50: /* Line 1806 of yacc.c */ -#line 273 "parser.y" +#line 275 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 51: /* Line 1806 of yacc.c */ -#line 274 "parser.y" +#line 276 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 52: /* Line 1806 of yacc.c */ -#line 275 "parser.y" +#line 277 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 53: /* Line 1806 of yacc.c */ -#line 278 "parser.y" +#line 280 "parser.y" { (yyval.val) = list(all_s, (yyvsp[(3) - (3)].val), nao); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; @@ -3613,7 +3617,7 @@ yyreduce: case 54: /* Line 1806 of yacc.c */ -#line 280 "parser.y" +#line 282 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("all clause")); } break; @@ -3621,7 +3625,7 @@ yyreduce: case 55: /* Line 1806 of yacc.c */ -#line 285 "parser.y" +#line 287 "parser.y" { (yyval.val) = list(some_s, (yyvsp[(5) - (5)].val), (yyvsp[(2) - (5)].val), nao); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } break; @@ -3629,7 +3633,7 @@ yyreduce: case 56: /* Line 1806 of yacc.c */ -#line 289 "parser.y" +#line 291 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("some clause")); } break; @@ -3637,7 +3641,7 @@ yyreduce: case 57: /* Line 1806 of yacc.c */ -#line 293 "parser.y" +#line 295 "parser.y" { (yyval.val) = list(none_s, (yyvsp[(3) - (3)].val), nao); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; @@ -3645,7 +3649,7 @@ yyreduce: case 58: /* Line 1806 of yacc.c */ -#line 295 "parser.y" +#line 297 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("none clause")); } break; @@ -3653,7 +3657,7 @@ yyreduce: case 59: /* Line 1806 of yacc.c */ -#line 299 "parser.y" +#line 301 "parser.y" { (yyval.val) = list(maybe_s, (yyvsp[(3) - (3)].val), nao); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; @@ -3661,7 +3665,7 @@ yyreduce: case 60: /* Line 1806 of yacc.c */ -#line 301 "parser.y" +#line 303 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("maybe clause")); } break; @@ -3669,7 +3673,7 @@ yyreduce: case 61: /* Line 1806 of yacc.c */ -#line 305 "parser.y" +#line 307 "parser.y" { (yyval.val) = list(cases_s, (yyvsp[(3) - (3)].val), nao); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; @@ -3677,7 +3681,7 @@ yyreduce: case 62: /* Line 1806 of yacc.c */ -#line 307 "parser.y" +#line 309 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("cases clause")); } break; @@ -3685,7 +3689,7 @@ yyreduce: case 63: /* Line 1806 of yacc.c */ -#line 313 "parser.y" +#line 315 "parser.y" { val name = first((yyvsp[(2) - (7)].val)); if (gt(length((yyvsp[(2) - (7)].val)), one)) yyerr("block: takes zero or no arguments"); @@ -3700,7 +3704,7 @@ yyreduce: case 64: /* Line 1806 of yacc.c */ -#line 323 "parser.y" +#line 325 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("block clause")); } break; @@ -3708,7 +3712,7 @@ yyreduce: case 65: /* Line 1806 of yacc.c */ -#line 328 "parser.y" +#line 330 "parser.y" { (yyval.val) = list(choose_s, (yyvsp[(5) - (5)].val), (yyvsp[(2) - (5)].val), nao); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } break; @@ -3716,7 +3720,7 @@ yyreduce: case 66: /* Line 1806 of yacc.c */ -#line 331 "parser.y" +#line 333 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("choose clause")); } break; @@ -3724,7 +3728,7 @@ yyreduce: case 67: /* Line 1806 of yacc.c */ -#line 337 "parser.y" +#line 339 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (7)].val)); (yyval.val) = list(gather_s, append2(mapcar(pa_12_1(func_n2(cons), nil), @@ -3736,7 +3740,7 @@ yyreduce: case 68: /* Line 1806 of yacc.c */ -#line 348 "parser.y" +#line 350 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (12)].val)); (yyval.val) = list(gather_s, append2(mapcar(pa_12_1(func_n2(cons), nil), @@ -3749,7 +3753,7 @@ yyreduce: case 69: /* Line 1806 of yacc.c */ -#line 357 "parser.y" +#line 359 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("gather clause")); } break; @@ -3757,35 +3761,35 @@ yyreduce: case 70: /* Line 1806 of yacc.c */ -#line 362 "parser.y" +#line 364 "parser.y" { (yyval.val) = if2((yyvsp[(1) - (2)].val), cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val))); } break; case 71: /* Line 1806 of yacc.c */ -#line 365 "parser.y" +#line 367 "parser.y" { (yyval.val) = (yyvsp[(3) - (3)].val); } break; case 72: /* Line 1806 of yacc.c */ -#line 366 "parser.y" +#line 368 "parser.y" { (yyval.val) = (yyvsp[(3) - (3)].val); } break; case 73: /* Line 1806 of yacc.c */ -#line 367 "parser.y" +#line 369 "parser.y" { (yyval.val) = nil; } break; case 74: /* Line 1806 of yacc.c */ -#line 371 "parser.y" +#line 373 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (7)].val)); (yyval.val) = list(car((yyvsp[(1) - (7)].val)), (yyvsp[(5) - (7)].val), nil, args, @@ -3796,7 +3800,7 @@ yyreduce: case 75: /* Line 1806 of yacc.c */ -#line 379 "parser.y" +#line 381 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (12)].val)); if (nilp((yyvsp[(10) - (12)].val))) yyerr("empty until/last in collect"); @@ -3811,7 +3815,7 @@ yyreduce: case 76: /* Line 1806 of yacc.c */ -#line 389 "parser.y" +#line 391 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("collect clause")); } break; @@ -3819,63 +3823,63 @@ yyreduce: case 77: /* Line 1806 of yacc.c */ -#line 393 "parser.y" +#line 395 "parser.y" { (yyval.val) = cons(collect_s, num((yyvsp[(1) - (1)].lineno))); } break; case 78: /* Line 1806 of yacc.c */ -#line 394 "parser.y" +#line 396 "parser.y" { (yyval.val) = cons(repeat_s, num((yyvsp[(1) - (1)].lineno))); } break; case 79: /* Line 1806 of yacc.c */ -#line 397 "parser.y" +#line 399 "parser.y" { (yyval.val) = cons(num((yyvsp[(1) - (1)].lineno)), until_s); } break; case 80: /* Line 1806 of yacc.c */ -#line 398 "parser.y" +#line 400 "parser.y" { (yyval.val) = cons(num((yyvsp[(1) - (1)].lineno)), last_s); } break; case 81: /* Line 1806 of yacc.c */ -#line 401 "parser.y" +#line 403 "parser.y" { (yyval.val) = if2((yyvsp[(1) - (2)].val), cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val))); } break; case 82: /* Line 1806 of yacc.c */ -#line 404 "parser.y" +#line 406 "parser.y" { (yyval.val) = nil; } break; case 83: /* Line 1806 of yacc.c */ -#line 405 "parser.y" +#line 407 "parser.y" { (yyval.val) = (yyvsp[(3) - (3)].val); } break; case 84: /* Line 1806 of yacc.c */ -#line 406 "parser.y" +#line 408 "parser.y" { (yyval.val) = (yyvsp[(3) - (3)].val); } break; case 85: /* Line 1806 of yacc.c */ -#line 413 "parser.y" +#line 415 "parser.y" { if (opt_compat && opt_compat <= 136) { val xexp = expand_meta((yyvsp[(2) - (9)].val), nil); val req = rlc(cons(require_s, xexp), (yyvsp[(2) - (9)].val)); @@ -3900,14 +3904,14 @@ yyreduce: case 86: /* Line 1806 of yacc.c */ -#line 433 "parser.y" +#line 435 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("if clause")); } break; case 87: /* Line 1806 of yacc.c */ -#line 438 "parser.y" +#line 440 "parser.y" { if (opt_compat && opt_compat <= 136) { val xexp = expand_meta((yyvsp[(2) - (6)].val), nil); val req = rlc(cons(require_s, xexp), (yyvsp[(2) - (6)].val)); @@ -3924,14 +3928,14 @@ yyreduce: case 88: /* Line 1806 of yacc.c */ -#line 449 "parser.y" +#line 451 "parser.y" { (yyval.val) = nil; } break; case 89: /* Line 1806 of yacc.c */ -#line 453 "parser.y" +#line 455 "parser.y" { if (opt_compat && opt_compat <= 136) { (yyval.val) = (yyvsp[(3) - (3)].val); } else @@ -3941,35 +3945,35 @@ yyreduce: case 90: /* Line 1806 of yacc.c */ -#line 457 "parser.y" +#line 459 "parser.y" { (yyval.val) = nil; } break; case 91: /* Line 1806 of yacc.c */ -#line 460 "parser.y" +#line 462 "parser.y" { (yyval.val) = (yyvsp[(1) - (2)].val); } break; case 92: /* Line 1806 of yacc.c */ -#line 463 "parser.y" +#line 465 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 93: /* Line 1806 of yacc.c */ -#line 464 "parser.y" +#line 466 "parser.y" { (yyval.val) = nil; } break; case 94: /* Line 1806 of yacc.c */ -#line 467 "parser.y" +#line 469 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; @@ -3977,7 +3981,7 @@ yyreduce: case 95: /* Line 1806 of yacc.c */ -#line 469 "parser.y" +#line 471 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); rlc((yyval.val), (yyvsp[(1) - (2)].val)); } break; @@ -3985,14 +3989,14 @@ yyreduce: case 96: /* Line 1806 of yacc.c */ -#line 474 "parser.y" +#line 476 "parser.y" { (yyval.val) = rl(string_own((yyvsp[(1) - (1)].lexeme)), num(parser->lineno)); } break; case 97: /* Line 1806 of yacc.c */ -#line 475 "parser.y" +#line 477 "parser.y" { if ((yyvsp[(1) - (1)].lexeme)[0] == ' ' && (yyvsp[(1) - (1)].lexeme)[1] == 0) { val spaces = list(oneplus_s, chr(' '), nao); @@ -4006,7 +4010,7 @@ yyreduce: case 98: /* Line 1806 of yacc.c */ -#line 483 "parser.y" +#line 485 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); rl((yyval.val), num(parser->lineno)); } break; @@ -4014,28 +4018,28 @@ yyreduce: case 99: /* Line 1806 of yacc.c */ -#line 485 "parser.y" +#line 487 "parser.y" { (yyval.val) = null_string; } break; case 100: /* Line 1806 of yacc.c */ -#line 488 "parser.y" +#line 490 "parser.y" { (yyval.val) = rlc(cons((yyvsp[(1) - (1)].val), nil), (yyvsp[(1) - (1)].val)); } break; case 101: /* Line 1806 of yacc.c */ -#line 489 "parser.y" +#line 491 "parser.y" { (yyval.val) = rlc(cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)), (yyvsp[(2) - (2)].val)); } break; case 102: /* Line 1806 of yacc.c */ -#line 492 "parser.y" +#line 494 "parser.y" { (yyval.val) = rlc(cons(text_s, (yyvsp[(1) - (1)].val)), (yyvsp[(1) - (1)].val)); (yyval.val) = rlc(optimize_text((yyval.val)), (yyval.val)); } break; @@ -4043,7 +4047,7 @@ yyreduce: case 103: /* Line 1806 of yacc.c */ -#line 494 "parser.y" +#line 496 "parser.y" { (yyval.val) = rl((yyvsp[(1) - (1)].val), num(parser->lineno)); match_reg_elem((yyval.val)); } break; @@ -4051,7 +4055,7 @@ yyreduce: case 104: /* Line 1806 of yacc.c */ -#line 496 "parser.y" +#line 498 "parser.y" { val sym = first((yyvsp[(1) - (1)].val)); if (sym == do_s || sym == require_s) (yyval.val) = rlc(cons(sym, @@ -4068,7 +4072,7 @@ yyreduce: case 105: /* Line 1806 of yacc.c */ -#line 507 "parser.y" +#line 509 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (5)].val)); (yyval.val) = list(coll_s, (yyvsp[(4) - (5)].val), nil, args, nao); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } @@ -4077,7 +4081,7 @@ yyreduce: case 106: /* Line 1806 of yacc.c */ -#line 512 "parser.y" +#line 514 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (9)].val)); (yyval.val) = list(coll_s, (yyvsp[(4) - (9)].val), cons(cdr((yyvsp[(5) - (9)].val)), cons((yyvsp[(6) - (9)].val), (yyvsp[(8) - (9)].val))), @@ -4089,7 +4093,7 @@ yyreduce: case 107: /* Line 1806 of yacc.c */ -#line 518 "parser.y" +#line 520 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (5)].val)); (yyval.val) = list(rep_s, (yyvsp[(4) - (5)].val), nil, args, nao); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } @@ -4098,7 +4102,7 @@ yyreduce: case 108: /* Line 1806 of yacc.c */ -#line 524 "parser.y" +#line 526 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (9)].val)); (yyval.val) = list(rep_s, (yyvsp[(4) - (9)].val), cons(cdr((yyvsp[(5) - (9)].val)), cons((yyvsp[(6) - (9)].val), (yyvsp[(8) - (9)].val))), @@ -4110,7 +4114,7 @@ yyreduce: case 109: /* Line 1806 of yacc.c */ -#line 530 "parser.y" +#line 532 "parser.y" { (yyval.val) = list(block_s, car((yyvsp[(2) - (5)].val)), cons((yyvsp[(4) - (5)].val), nil), nao); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } @@ -4119,7 +4123,7 @@ yyreduce: case 110: /* Line 1806 of yacc.c */ -#line 533 "parser.y" +#line 535 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("coll clause")); } break; @@ -4127,7 +4131,7 @@ yyreduce: case 111: /* Line 1806 of yacc.c */ -#line 535 "parser.y" +#line 537 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("rep clause")); } break; @@ -4135,7 +4139,7 @@ yyreduce: case 112: /* Line 1806 of yacc.c */ -#line 537 "parser.y" +#line 539 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("rep clause")); } break; @@ -4143,42 +4147,42 @@ yyreduce: case 113: /* Line 1806 of yacc.c */ -#line 539 "parser.y" +#line 541 "parser.y" { (yyval.val) = rl(list(all_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); } break; case 114: /* Line 1806 of yacc.c */ -#line 541 "parser.y" +#line 543 "parser.y" { (yyval.val) = rl(list(some_s, t, (yyvsp[(4) - (4)].val), (yyvsp[(2) - (4)].val), nao), num((yyvsp[(1) - (4)].lineno))); } break; case 115: /* Line 1806 of yacc.c */ -#line 542 "parser.y" +#line 544 "parser.y" { (yyval.val) = rl(list(none_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); } break; case 116: /* Line 1806 of yacc.c */ -#line 543 "parser.y" +#line 545 "parser.y" { (yyval.val) = rl(list(maybe_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); } break; case 117: /* Line 1806 of yacc.c */ -#line 544 "parser.y" +#line 546 "parser.y" { (yyval.val) = rl(list(cases_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); } break; case 118: /* Line 1806 of yacc.c */ -#line 546 "parser.y" +#line 548 "parser.y" { (yyval.val) = list(choose_s, t, (yyvsp[(4) - (4)].val), (yyvsp[(2) - (4)].val), nao); rl((yyval.val), num((yyvsp[(1) - (4)].lineno))); } break; @@ -4186,7 +4190,7 @@ yyreduce: case 119: /* Line 1806 of yacc.c */ -#line 549 "parser.y" +#line 551 "parser.y" { (yyval.val) = list(define_s, t, (yyvsp[(4) - (5)].val), (yyvsp[(2) - (5)].val), nao); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); match_reg_params(second((yyvsp[(2) - (5)].val))); } @@ -4195,35 +4199,35 @@ yyreduce: case 120: /* Line 1806 of yacc.c */ -#line 554 "parser.y" +#line 556 "parser.y" { (yyval.val) = if2((yyvsp[(1) - (2)].val), cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val))); } break; case 121: /* Line 1806 of yacc.c */ -#line 557 "parser.y" +#line 559 "parser.y" { (yyval.val) = nil; } break; case 122: /* Line 1806 of yacc.c */ -#line 558 "parser.y" +#line 560 "parser.y" { (yyval.val) = (yyvsp[(2) - (2)].val); } break; case 123: /* Line 1806 of yacc.c */ -#line 559 "parser.y" +#line 561 "parser.y" { (yyval.val) = (yyvsp[(2) - (2)].val); } break; case 124: /* Line 1806 of yacc.c */ -#line 564 "parser.y" +#line 566 "parser.y" { (yyval.val) = list(define_s, (yyvsp[(2) - (7)].val), (yyvsp[(5) - (7)].val), nao); rl((yyval.val), num((yyvsp[(1) - (7)].lineno))); match_reg_params(second((yyvsp[(2) - (7)].val))); } @@ -4232,7 +4236,7 @@ yyreduce: case 125: /* Line 1806 of yacc.c */ -#line 569 "parser.y" +#line 571 "parser.y" { (yyval.val) = list(define_s, nil, (yyvsp[(4) - (6)].val), nao); rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); } break; @@ -4240,7 +4244,7 @@ yyreduce: case 126: /* Line 1806 of yacc.c */ -#line 571 "parser.y" +#line 573 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("define directive")); } break; @@ -4248,14 +4252,14 @@ yyreduce: case 127: /* Line 1806 of yacc.c */ -#line 574 "parser.y" +#line 576 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("define")); } break; case 128: /* Line 1806 of yacc.c */ -#line 576 "parser.y" +#line 578 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("define")); } break; @@ -4263,7 +4267,7 @@ yyreduce: case 129: /* Line 1806 of yacc.c */ -#line 583 "parser.y" +#line 585 "parser.y" { (yyval.val) = list(try_s, flatten(mapcar(func_n1(second), (yyvsp[(4) - (6)].val))), @@ -4274,7 +4278,7 @@ yyreduce: case 130: /* Line 1806 of yacc.c */ -#line 589 "parser.y" +#line 591 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("try clause")); } break; @@ -4282,7 +4286,7 @@ yyreduce: case 131: /* Line 1806 of yacc.c */ -#line 595 "parser.y" +#line 597 "parser.y" { (yyval.val) = cons(list(catch_s, cons(t, nil), (yyvsp[(4) - (5)].val), nao), (yyvsp[(5) - (5)].val)); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } @@ -4291,7 +4295,7 @@ yyreduce: case 132: /* Line 1806 of yacc.c */ -#line 600 "parser.y" +#line 602 "parser.y" { (yyval.val) = cons(list(catch_s, (yyvsp[(2) - (6)].val), (yyvsp[(5) - (6)].val), nao), (yyvsp[(6) - (6)].val)); process_catch_exprs((yyvsp[(2) - (6)].val)); @@ -4301,7 +4305,7 @@ yyreduce: case 133: /* Line 1806 of yacc.c */ -#line 605 "parser.y" +#line 607 "parser.y" { (yyval.val) = cons(list(finally_s, nil, (yyvsp[(3) - (3)].val), nao), nil); @@ -4311,14 +4315,14 @@ yyreduce: case 134: /* Line 1806 of yacc.c */ -#line 609 "parser.y" +#line 611 "parser.y" { (yyval.val) = nil; } break; case 135: /* Line 1806 of yacc.c */ -#line 611 "parser.y" +#line 613 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("catch clause")); } break; @@ -4326,7 +4330,7 @@ yyreduce: case 136: /* Line 1806 of yacc.c */ -#line 614 "parser.y" +#line 616 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("catch clause")); } break; @@ -4334,7 +4338,7 @@ yyreduce: case 137: /* Line 1806 of yacc.c */ -#line 617 "parser.y" +#line 619 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("finally clause")); } break; @@ -4342,54 +4346,47 @@ yyreduce: case 138: /* Line 1806 of yacc.c */ -#line 624 "parser.y" +#line 626 "parser.y" { (yyval.val) = nil; - yyerr("obsolete output syntax: trailing material"); } + yyerrorf(scnr, lit("~a: traling material"), + car((yyvsp[(1) - (7)].val)), nao); } break; case 139: /* Line 1806 of yacc.c */ -#line 627 "parser.y" - { (yyval.val) = rl(list(output_s, nao), num((yyvsp[(1) - (5)].lineno))); } +#line 630 "parser.y" + { (yyval.val) = rl(list(car((yyvsp[(1) - (5)].val)), nao), (yyvsp[(1) - (5)].val)); } break; case 140: /* Line 1806 of yacc.c */ -#line 630 "parser.y" - { (yyval.val) = rl(list(output_s, (yyvsp[(4) - (6)].val), nao), num((yyvsp[(1) - (6)].lineno))); } +#line 633 "parser.y" + { (yyval.val) = rl(list(car((yyvsp[(1) - (6)].val)), (yyvsp[(4) - (6)].val), nao), (yyvsp[(1) - (6)].val)); } break; case 141: /* Line 1806 of yacc.c */ -#line 633 "parser.y" - { cons_bind (dest, rest, (yyvsp[(2) - (7)].val)); - val dest_ex = expand_form_ver(dest, 166); - val args = if3(dest_ex == dest, - (yyvsp[(2) - (7)].val), cons(dest_ex, rest)); - (yyval.val) = list(output_s, (yyvsp[(5) - (7)].val), args, nao); - rl((yyval.val), num((yyvsp[(1) - (7)].lineno))); - { val into_var = second(memql(into_k, args)); - val named_var = second(memql(named_k, args)); - match_reg_var(into_var); - match_reg_var(named_var); } } +#line 636 "parser.y" + { (yyval.val) = output_helper(parser, car((yyvsp[(1) - (7)].val)), (yyvsp[(2) - (7)].val), (yyvsp[(5) - (7)].val)); + rl((yyval.val), (yyvsp[(1) - (7)].val)); } break; case 142: /* Line 1806 of yacc.c */ -#line 645 "parser.y" +#line 640 "parser.y" { (yyval.val) = nil; yyerr("invalid combination of old and " - "new syntax in output directive"); } + "new syntax in output directive"); } break; case 143: /* Line 1806 of yacc.c */ -#line 648 "parser.y" +#line 643 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output directive")); } break; @@ -4397,7 +4394,7 @@ yyreduce: case 144: /* Line 1806 of yacc.c */ -#line 651 "parser.y" +#line 646 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output clause")); } break; @@ -4405,7 +4402,7 @@ yyreduce: case 145: /* Line 1806 of yacc.c */ -#line 654 "parser.y" +#line 649 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output clause")); } break; @@ -4413,7 +4410,7 @@ yyreduce: case 146: /* Line 1806 of yacc.c */ -#line 657 "parser.y" +#line 652 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output clause")); } break; @@ -4421,7 +4418,7 @@ yyreduce: case 147: /* Line 1806 of yacc.c */ -#line 660 "parser.y" +#line 655 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output clause")); } break; @@ -4429,75 +4426,89 @@ yyreduce: case 148: /* Line 1806 of yacc.c */ -#line 664 "parser.y" - { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } +#line 659 "parser.y" + { (yyval.val) = cons(output_s, num((yyvsp[(1) - (1)].lineno))); } break; case 149: /* Line 1806 of yacc.c */ -#line 665 "parser.y" - { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } +#line 660 "parser.y" + { (yyval.val) = cons(push_s, num((yyvsp[(1) - (1)].lineno))); } break; case 150: /* Line 1806 of yacc.c */ -#line 668 "parser.y" +#line 663 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; case 151: /* Line 1806 of yacc.c */ -#line 669 "parser.y" - { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } +#line 664 "parser.y" + { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; case 152: /* Line 1806 of yacc.c */ -#line 670 "parser.y" - { (yyval.val) = (yyvsp[(1) - (1)].val); } +#line 667 "parser.y" + { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; case 153: /* Line 1806 of yacc.c */ -#line 676 "parser.y" +#line 668 "parser.y" + { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } + break; + + case 154: + +/* Line 1806 of yacc.c */ +#line 669 "parser.y" + { (yyval.val) = (yyvsp[(1) - (1)].val); } + break; + + case 155: + +/* Line 1806 of yacc.c */ +#line 675 "parser.y" { (yyval.val) = repeat_rep_helper(repeat_s, (yyvsp[(2) - (8)].val), (yyvsp[(5) - (8)].val), (yyvsp[(6) - (8)].val)); rl((yyval.val), num((yyvsp[(1) - (8)].lineno))); } break; - case 154: + case 156: /* Line 1806 of yacc.c */ -#line 680 "parser.y" +#line 679 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("repeat clause")); } break; - case 155: + case 157: /* Line 1806 of yacc.c */ -#line 686 "parser.y" +#line 685 "parser.y" { (yyval.val) = cons(cons(single_s, (yyvsp[(3) - (4)].val)), (yyvsp[(4) - (4)].val)); rl((yyval.val), num((yyvsp[(1) - (4)].lineno))); } break; - case 156: + case 158: /* Line 1806 of yacc.c */ -#line 690 "parser.y" +#line 689 "parser.y" { (yyval.val) = cons(cons(first_s, (yyvsp[(3) - (4)].val)), (yyvsp[(4) - (4)].val)); rl((yyval.val), num((yyvsp[(1) - (4)].lineno))); } break; - case 157: + case 159: /* Line 1806 of yacc.c */ -#line 694 "parser.y" +#line 693 "parser.y" { if ((yyvsp[(2) - (6)].val)) yyerrorf(scnr, lit("last: in output, " @@ -4507,45 +4518,45 @@ yyreduce: rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); } break; - case 158: + case 160: /* Line 1806 of yacc.c */ -#line 703 "parser.y" +#line 702 "parser.y" { (yyval.val) = cons(cons(empty_s, (yyvsp[(3) - (4)].val)), (yyvsp[(4) - (4)].val)); rl((yyval.val), num((yyvsp[(1) - (4)].lineno))); } break; - case 159: + case 161: /* Line 1806 of yacc.c */ -#line 708 "parser.y" +#line 707 "parser.y" { (yyval.val) = cons(cons(mod_s, cons(expand_forms_ver((yyvsp[(2) - (6)].val), 166), (yyvsp[(5) - (6)].val))), (yyvsp[(6) - (6)].val)); rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); } break; - case 160: + case 162: /* Line 1806 of yacc.c */ -#line 715 "parser.y" +#line 714 "parser.y" { (yyval.val) = cons(cons(modlast_s, cons(expand_forms_ver((yyvsp[(2) - (6)].val), 166), (yyvsp[(5) - (6)].val))), (yyvsp[(6) - (6)].val)); rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); } break; - case 161: + case 163: /* Line 1806 of yacc.c */ -#line 719 "parser.y" +#line 718 "parser.y" { (yyval.val) = nil; } break; - case 162: + case 164: /* Line 1806 of yacc.c */ -#line 726 "parser.y" +#line 725 "parser.y" { val expr = expand((yyvsp[(2) - (9)].val), nil); val ifs = (yyvsp[(5) - (9)].val); val branch = cons(cons(expr, ifs), nil); @@ -4556,25 +4567,25 @@ yyreduce: rl((yyval.val), num((yyvsp[(1) - (9)].lineno))); } break; - case 163: + case 165: /* Line 1806 of yacc.c */ -#line 735 "parser.y" +#line 734 "parser.y" { (yyval.val) = nil; yyerr("if requires expression"); } break; - case 164: + case 166: /* Line 1806 of yacc.c */ -#line 738 "parser.y" +#line 737 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("if clause")); } break; - case 165: + case 167: /* Line 1806 of yacc.c */ -#line 744 "parser.y" +#line 743 "parser.y" { val expr = expand(car((yyvsp[(2) - (6)].val)), nil); val elifs = (yyvsp[(5) - (6)].val); val branch = cons(cons(expr, elifs), nil); @@ -4585,165 +4596,165 @@ yyreduce: (yyval.val) = nappend2(branch, (yyvsp[(6) - (6)].val)); } break; - case 166: + case 168: /* Line 1806 of yacc.c */ -#line 752 "parser.y" +#line 751 "parser.y" { (yyval.val) = nil; } break; - case 167: + case 169: /* Line 1806 of yacc.c */ -#line 757 "parser.y" +#line 756 "parser.y" { (yyval.val) = cons(cons(t, (yyvsp[(3) - (3)].val)), nil); } break; - case 168: + case 170: /* Line 1806 of yacc.c */ -#line 758 "parser.y" +#line 757 "parser.y" { (yyval.val) = nil; } break; - case 169: + case 171: /* Line 1806 of yacc.c */ -#line 761 "parser.y" +#line 760 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 170: + case 172: /* Line 1806 of yacc.c */ -#line 762 "parser.y" +#line 761 "parser.y" { (yyval.val) = nil; } break; - case 171: + case 173: /* Line 1806 of yacc.c */ -#line 764 "parser.y" +#line 763 "parser.y" { (yyval.val) = (yyvsp[(1) - (2)].val); } break; - case 172: + case 174: /* Line 1806 of yacc.c */ -#line 767 "parser.y" +#line 766 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); rl((yyval.val), num(parser->lineno)); } break; - case 173: + case 175: /* Line 1806 of yacc.c */ -#line 769 "parser.y" +#line 768 "parser.y" { (yyval.val) = nil; } break; - case 174: + case 176: /* Line 1806 of yacc.c */ -#line 772 "parser.y" +#line 771 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; - case 175: + case 177: /* Line 1806 of yacc.c */ -#line 773 "parser.y" +#line 772 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; - case 176: + case 178: /* Line 1806 of yacc.c */ -#line 774 "parser.y" +#line 773 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; - case 177: + case 179: /* Line 1806 of yacc.c */ -#line 775 "parser.y" +#line 774 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; - case 178: + case 180: /* Line 1806 of yacc.c */ -#line 778 "parser.y" +#line 777 "parser.y" { (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); rl((yyval.val), num(parser->lineno)); } break; - case 179: + case 181: /* Line 1806 of yacc.c */ -#line 780 "parser.y" +#line 779 "parser.y" { (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); rl((yyval.val), num(parser->lineno)); } break; - case 180: + case 182: /* Line 1806 of yacc.c */ -#line 782 "parser.y" +#line 781 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 181: + case 183: /* Line 1806 of yacc.c */ -#line 783 "parser.y" +#line 782 "parser.y" { (yyval.val) = rlc(list(expr_s, expand((yyvsp[(1) - (1)].val), nil), nao), (yyvsp[(1) - (1)].val)); } break; - case 182: + case 184: /* Line 1806 of yacc.c */ -#line 785 "parser.y" +#line 784 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 183: + case 185: /* Line 1806 of yacc.c */ -#line 789 "parser.y" +#line 788 "parser.y" { (yyval.val) = repeat_rep_helper(rep_s, (yyvsp[(2) - (6)].val), (yyvsp[(4) - (6)].val), (yyvsp[(5) - (6)].val)); rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); } break; - case 184: + case 186: /* Line 1806 of yacc.c */ -#line 791 "parser.y" +#line 790 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("rep clause")); } break; - case 185: + case 187: /* Line 1806 of yacc.c */ -#line 796 "parser.y" +#line 795 "parser.y" { (yyval.val) = cons(cons(single_s, (yyvsp[(2) - (3)].val)), (yyvsp[(3) - (3)].val)); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; - case 186: + case 188: /* Line 1806 of yacc.c */ -#line 799 "parser.y" +#line 798 "parser.y" { (yyval.val) = cons(cons(first_s, (yyvsp[(2) - (3)].val)), (yyvsp[(3) - (3)].val)); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; - case 187: + case 189: /* Line 1806 of yacc.c */ -#line 802 "parser.y" +#line 801 "parser.y" { if ((yyvsp[(2) - (5)].val)) yyerrorf(scnr, lit("last: in output, " @@ -4753,90 +4764,90 @@ yyreduce: rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } break; - case 188: + case 190: /* Line 1806 of yacc.c */ -#line 810 "parser.y" +#line 809 "parser.y" { (yyval.val) = cons(cons(empty_s, (yyvsp[(2) - (3)].val)), (yyvsp[(3) - (3)].val)); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; - case 189: + case 191: /* Line 1806 of yacc.c */ -#line 814 "parser.y" +#line 813 "parser.y" { (yyval.val) = cons(cons(mod_s, cons(expand_forms_ver((yyvsp[(2) - (5)].val), 166), (yyvsp[(4) - (5)].val))), (yyvsp[(5) - (5)].val)); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } break; - case 190: + case 192: /* Line 1806 of yacc.c */ -#line 820 "parser.y" +#line 819 "parser.y" { (yyval.val) = cons(cons(modlast_s, cons(expand_forms_ver((yyvsp[(2) - (5)].val), 166), (yyvsp[(4) - (5)].val))), (yyvsp[(5) - (5)].val)); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } break; - case 191: + case 193: /* Line 1806 of yacc.c */ -#line 824 "parser.y" +#line 823 "parser.y" { (yyval.val) = nil; } break; - case 192: + case 194: /* Line 1806 of yacc.c */ -#line 831 "parser.y" +#line 830 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(1) - (1)].lexeme), nil), nao); } break; - case 193: + case 195: /* Line 1806 of yacc.c */ -#line 832 "parser.y" +#line 831 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (3)].lexeme), nil), nao); } break; - case 194: + case 196: /* Line 1806 of yacc.c */ -#line 833 "parser.y" +#line 832 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (4)].lexeme), nil), (yyvsp[(3) - (4)].val), nao); } break; - case 195: + case 197: /* Line 1806 of yacc.c */ -#line 834 "parser.y" +#line 833 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (2)].lexeme), nil), (yyvsp[(1) - (2)].val), nao); } break; - case 196: + case 198: /* Line 1806 of yacc.c */ -#line 835 "parser.y" +#line 834 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(3) - (4)].lexeme), nil), (yyvsp[(1) - (4)].val), nao); } break; - case 197: + case 199: /* Line 1806 of yacc.c */ -#line 836 "parser.y" +#line 835 "parser.y" { (yyval.val) = nil; free((yyvsp[(3) - (5)].lexeme)); yyerr("longest match " "not useable with regex"); } break; - case 198: + case 200: /* Line 1806 of yacc.c */ -#line 840 "parser.y" +#line 839 "parser.y" { (yyval.val) = nil; free((yyvsp[(3) - (5)].lexeme)); yyerr("longest match " @@ -4844,64 +4855,64 @@ yyreduce: "fixed width match"); } break; - case 199: + case 201: /* Line 1806 of yacc.c */ -#line 845 "parser.y" +#line 844 "parser.y" { (yyval.val) = nil; free((yyvsp[(1) - (2)].lexeme)); yybadtok(yychar, lit("variable spec")); } break; - case 200: + case 202: /* Line 1806 of yacc.c */ -#line 848 "parser.y" +#line 847 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("variable spec")); } break; - case 201: + case 203: /* Line 1806 of yacc.c */ -#line 852 "parser.y" +#line 851 "parser.y" { (yyval.val) = list(t, nao); } break; - case 202: + case 204: /* Line 1806 of yacc.c */ -#line 855 "parser.y" +#line 854 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; - case 203: + case 205: /* Line 1806 of yacc.c */ -#line 856 "parser.y" +#line 855 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; - case 204: + case 206: /* Line 1806 of yacc.c */ -#line 858 "parser.y" +#line 857 "parser.y" { (yyval.val) = rlc(cons(expand_meta((yyvsp[(1) - (1)].val), nil), nil), (yyvsp[(1) - (1)].val)); } break; - case 205: + case 207: /* Line 1806 of yacc.c */ -#line 860 "parser.y" +#line 859 "parser.y" { (yyval.val) = cons(symhlpr((yyvsp[(1) - (1)].lexeme), nil), nil); } break; - case 206: + case 208: /* Line 1806 of yacc.c */ -#line 863 "parser.y" +#line 862 "parser.y" { val expr = symhlpr((yyvsp[(1) - (1)].lexeme), nil); if (!opt_compat || opt_compat > 128) expr = expand(expr, nil); @@ -4909,10 +4920,10 @@ yyreduce: rl((yyval.val), num(parser->lineno)); } break; - case 207: + case 209: /* Line 1806 of yacc.c */ -#line 869 "parser.y" +#line 868 "parser.y" { if (opt_compat && opt_compat <= 128) { (yyval.val) = list(var_s, expand_meta((yyvsp[(2) - (4)].val), nil), @@ -4923,35 +4934,35 @@ yyreduce: (yyval.val) = car(expand_quasi(quasi_items, nil)); } } break; - case 208: + case 210: /* Line 1806 of yacc.c */ -#line 877 "parser.y" +#line 876 "parser.y" { (yyval.val) = nil; free((yyvsp[(1) - (2)].lexeme)); yybadtok(yychar, lit("variable spec")); } break; - case 209: + case 211: /* Line 1806 of yacc.c */ -#line 883 "parser.y" +#line 882 "parser.y" { (yyval.val) = list(var_s, (yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val), nao); rl((yyval.val), num(parser->lineno)); } break; - case 210: + case 212: /* Line 1806 of yacc.c */ -#line 885 "parser.y" +#line 884 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("variable spec")); } break; - case 211: + case 213: /* Line 1806 of yacc.c */ -#line 890 "parser.y" +#line 889 "parser.y" { if (parser->quasi_level > 0) (yyval.val) = rlc(cons(vector_lit_s, cons((yyvsp[(2) - (2)].val), nil)), (yyvsp[(2) - (2)].val)); @@ -4959,18 +4970,18 @@ yyreduce: (yyval.val) = rlc(vec_list((yyvsp[(2) - (2)].val)), (yyvsp[(2) - (2)].val)); } break; - case 212: + case 214: /* Line 1806 of yacc.c */ -#line 895 "parser.y" +#line 894 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("unassigned/reserved # notation")); } break; - case 213: + case 215: /* Line 1806 of yacc.c */ -#line 899 "parser.y" +#line 898 "parser.y" { if (parser->ignore) (yyval.val) = nil; else if (parser->quasi_level > 0) @@ -4981,18 +4992,18 @@ yyreduce: num((yyvsp[(1) - (2)].lineno))); } break; - case 214: + case 216: /* Line 1806 of yacc.c */ -#line 907 "parser.y" +#line 906 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("hash literal")); } break; - case 215: + case 217: /* Line 1806 of yacc.c */ -#line 911 "parser.y" +#line 910 "parser.y" { if (parser->ignore) { (yyval.val) = nil; } else if ((parser->quasi_level > 0) || @@ -5005,36 +5016,36 @@ yyreduce: (yyval.val) = rl(strct, num((yyvsp[(1) - (2)].lineno))); } } break; - case 216: + case 218: /* Line 1806 of yacc.c */ -#line 921 "parser.y" +#line 920 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("struct literal")); } break; - case 217: + case 219: /* Line 1806 of yacc.c */ -#line 925 "parser.y" +#line 924 "parser.y" { if (length((yyvsp[(2) - (2)].val)) != two) yyerr("range literal needs two elements"); { val range = rcons(first((yyvsp[(2) - (2)].val)), second((yyvsp[(2) - (2)].val))); (yyval.val) = rl(range, num((yyvsp[(1) - (2)].lineno))); } } break; - case 218: + case 220: /* Line 1806 of yacc.c */ -#line 929 "parser.y" +#line 928 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("range literal")); } break; - case 219: + case 221: /* Line 1806 of yacc.c */ -#line 933 "parser.y" +#line 932 "parser.y" { if (gt(length((yyvsp[(2) - (2)].val)), three)) yyerr("excess elements in tree node"); { val tn = tnode(first((yyvsp[(2) - (2)].val)), second((yyvsp[(2) - (2)].val)), @@ -5042,18 +5053,18 @@ yyreduce: (yyval.val) = rl(tn, num((yyvsp[(1) - (2)].lineno))); } } break; - case 220: + case 222: /* Line 1806 of yacc.c */ -#line 938 "parser.y" +#line 937 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("tree node literal")); } break; - case 221: + case 223: /* Line 1806 of yacc.c */ -#line 942 "parser.y" +#line 941 "parser.y" { if (parser->ignore) { (yyval.val) = nil; } else if (parser->quasi_level > 0) @@ -5071,78 +5082,78 @@ yyreduce: (yyval.val) = rl(tr, num((yyvsp[(1) - (2)].lineno))); } } break; - case 222: + case 224: /* Line 1806 of yacc.c */ -#line 957 "parser.y" +#line 956 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("tree node literal")); } break; - case 223: + case 225: /* Line 1806 of yacc.c */ -#line 961 "parser.y" +#line 960 "parser.y" { (yyval.val) = list(json_s, quote_s, (yyvsp[(2) - (2)].val), nao); end_of_json(scnr); } break; - case 224: + case 226: /* Line 1806 of yacc.c */ -#line 963 "parser.y" +#line 962 "parser.y" { parser->quasi_level++; } break; - case 225: + case 227: /* Line 1806 of yacc.c */ -#line 964 "parser.y" +#line 963 "parser.y" { parser->quasi_level--; end_of_json(scnr); (yyval.val) = list(json_s, sys_qquote_s, (yyvsp[(4) - (4)].val), nao); } break; - case 226: + case 228: /* Line 1806 of yacc.c */ -#line 967 "parser.y" +#line 966 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 227: + case 229: /* Line 1806 of yacc.c */ -#line 968 "parser.y" +#line 967 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 228: + case 230: /* Line 1806 of yacc.c */ -#line 969 "parser.y" +#line 968 "parser.y" { (yyval.val) = null_string; } break; - case 229: + case 231: /* Line 1806 of yacc.c */ -#line 970 "parser.y" +#line 969 "parser.y" { (yyval.val) = (yyvsp[(2) - (3)].val); rl((yyval.val), num(parser->lineno)); } break; - case 230: + case 232: /* Line 1806 of yacc.c */ -#line 972 "parser.y" +#line 971 "parser.y" { (yyval.val) = vector(zero, nil); } break; - case 231: + case 233: /* Line 1806 of yacc.c */ -#line 974 "parser.y" +#line 973 "parser.y" { (yyval.val) = if3(vectorp((yyvsp[(2) - (4)].val)), (yyvsp[(2) - (4)].val), rl(cons(vector_lit_s, @@ -5150,17 +5161,17 @@ yyreduce: (yyvsp[(2) - (4)].val))); } break; - case 232: + case 234: /* Line 1806 of yacc.c */ -#line 979 "parser.y" +#line 978 "parser.y" { (yyval.val) = make_hash(hash_weak_none, t); } break; - case 233: + case 235: /* Line 1806 of yacc.c */ -#line 981 "parser.y" +#line 980 "parser.y" { (yyval.val) = if3(hashp((yyvsp[(2) - (4)].val)), (yyvsp[(2) - (4)].val), rl(cons(hash_lit_s, @@ -5168,107 +5179,107 @@ yyreduce: (yyvsp[(2) - (4)].val))); } break; - case 234: + case 236: /* Line 1806 of yacc.c */ -#line 986 "parser.y" +#line 985 "parser.y" { parser->quasi_level--; } break; - case 235: + case 237: /* Line 1806 of yacc.c */ -#line 987 "parser.y" +#line 986 "parser.y" { parser->quasi_level++; end_of_json_unquote(scnr); (yyval.val) = rl(rlc(list(sys_unquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 236: + case 238: /* Line 1806 of yacc.c */ -#line 991 "parser.y" +#line 990 "parser.y" { parser->quasi_level--; } break; - case 237: + case 239: /* Line 1806 of yacc.c */ -#line 992 "parser.y" +#line 991 "parser.y" { parser->quasi_level++; end_of_json_unquote(scnr); (yyval.val) = rl(rlc(list(sys_splice_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 238: + case 240: /* Line 1806 of yacc.c */ -#line 996 "parser.y" +#line 995 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); } break; - case 239: + case 241: /* Line 1806 of yacc.c */ -#line 997 "parser.y" +#line 996 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); (yyval.val) = (yyvsp[(3) - (3)].val); } break; - case 240: + case 242: /* Line 1806 of yacc.c */ -#line 999 "parser.y" +#line 998 "parser.y" { (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); } break; - case 241: + case 243: /* Line 1806 of yacc.c */ -#line 1000 "parser.y" +#line 999 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("JSON string")); } break; - case 242: + case 244: /* Line 1806 of yacc.c */ -#line 1002 "parser.y" +#line 1001 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("JSON array")); } break; - case 243: + case 245: /* Line 1806 of yacc.c */ -#line 1004 "parser.y" +#line 1003 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("JSON hash")); } break; - case 244: + case 246: /* Line 1806 of yacc.c */ -#line 1008 "parser.y" +#line 1007 "parser.y" { if (!parser->read_bad_json) yyerr("trailing comma in JSON array"); } break; - case 246: + case 248: /* Line 1806 of yacc.c */ -#line 1013 "parser.y" +#line 1012 "parser.y" { (yyval.val) = if3(parser->quasi_level > 0, cons((yyvsp[(1) - (1)].val), nil), vector(one, (yyvsp[(1) - (1)].val))); } break; - case 247: + case 249: /* Line 1806 of yacc.c */ -#line 1016 "parser.y" +#line 1015 "parser.y" { if (consp((yyvsp[(1) - (3)].val))) { (yyval.val) = cons((yyvsp[(3) - (3)].val), (yyvsp[(1) - (3)].val)); } else if (parser->quasi_level > 0) @@ -5279,26 +5290,26 @@ yyreduce: (yyval.val) = (yyvsp[(1) - (3)].val); } } break; - case 248: + case 250: /* Line 1806 of yacc.c */ -#line 1024 "parser.y" +#line 1023 "parser.y" { yyerr("missing comma in JSON array"); (yyval.val) = (yyvsp[(1) - (2)].val); } break; - case 249: + case 251: /* Line 1806 of yacc.c */ -#line 1026 "parser.y" +#line 1025 "parser.y" { yybadtok(yychar, lit("JSON array")); (yyval.val) = (yyvsp[(1) - (2)].val); } break; - case 250: + case 252: /* Line 1806 of yacc.c */ -#line 1030 "parser.y" +#line 1029 "parser.y" { if (parser->quasi_level > 0) { (yyval.val) = cons(list((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao), nil); } else @@ -5306,10 +5317,10 @@ yyreduce: sethash((yyval.val), (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); } } break; - case 251: + case 253: /* Line 1806 of yacc.c */ -#line 1036 "parser.y" +#line 1035 "parser.y" { if (consp((yyvsp[(1) - (5)].val))) { (yyval.val) = cons(list((yyvsp[(3) - (5)].val), (yyvsp[(5) - (5)].val), nao), (yyvsp[(1) - (5)].val)); } else if (parser->quasi_level > 0) @@ -5320,55 +5331,55 @@ yyreduce: (yyval.val) = (yyvsp[(1) - (5)].val); } } break; - case 252: + case 254: /* Line 1806 of yacc.c */ -#line 1044 "parser.y" +#line 1043 "parser.y" { yyerr("missing colon in JSON hash"); } break; - case 253: + case 255: /* Line 1806 of yacc.c */ -#line 1046 "parser.y" +#line 1045 "parser.y" { yyerr("missing comma in JSON hash"); } break; - case 254: + case 256: /* Line 1806 of yacc.c */ -#line 1047 "parser.y" +#line 1046 "parser.y" { yybadtok(yychar, lit("JSON hash")); } break; - case 255: + case 257: /* Line 1806 of yacc.c */ -#line 1050 "parser.y" +#line 1049 "parser.y" { if ((yyvsp[(1) - (1)].lexeme)[0] == ':' && (yyvsp[(1) - (1)].lexeme)[1] == 0) { (yyval.val) = nil; } else { yybadtok(yychar, lit("JSON hash")); } } break; - case 256: + case 258: /* Line 1806 of yacc.c */ -#line 1054 "parser.y" +#line 1053 "parser.y" { (yyval.val) = nil; } break; - case 257: + case 259: /* Line 1806 of yacc.c */ -#line 1058 "parser.y" +#line 1057 "parser.y" { (yyval.val) = rl((yyvsp[(2) - (3)].val), num((yyvsp[(1) - (3)].lineno))); } break; - case 258: + case 260: /* Line 1806 of yacc.c */ -#line 1059 "parser.y" +#line 1058 "parser.y" { val a = car((yyvsp[(3) - (4)].val)); val ur = uref_helper(parser, a); if (ur == a) @@ -5377,39 +5388,39 @@ yyreduce: (yyval.val) = rlc(cons(ur, cdr((yyvsp[(3) - (4)].val))), ur); } break; - case 259: + case 261: /* Line 1806 of yacc.c */ -#line 1065 "parser.y" +#line 1064 "parser.y" { (yyval.val) = nil; } break; - case 260: + case 262: /* Line 1806 of yacc.c */ -#line 1066 "parser.y" +#line 1065 "parser.y" { (yyval.val) = (yyvsp[(3) - (4)].val); } break; - case 261: + case 263: /* Line 1806 of yacc.c */ -#line 1067 "parser.y" +#line 1066 "parser.y" { (yyval.val) = (yyvsp[(3) - (4)].val); } break; - case 262: + case 264: /* Line 1806 of yacc.c */ -#line 1068 "parser.y" +#line 1067 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("expression")); } break; - case 263: + case 265: /* Line 1806 of yacc.c */ -#line 1072 "parser.y" +#line 1071 "parser.y" { if (consp((yyvsp[(2) - (2)].val))) (yyval.val) = rl(cons(expr_s, cons((yyvsp[(2) - (2)].val), nil)), num((yyvsp[(1) - (2)].lineno))); else @@ -5417,18 +5428,18 @@ yyreduce: num((yyvsp[(1) - (2)].lineno))); } break; - case 264: + case 266: /* Line 1806 of yacc.c */ -#line 1077 "parser.y" +#line 1076 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("meta expression")); } break; - case 265: + case 267: /* Line 1806 of yacc.c */ -#line 1081 "parser.y" +#line 1080 "parser.y" { if (consp((yyvsp[(2) - (2)].val))) (yyval.val) = rl(cons(expr_s, cons((yyvsp[(2) - (2)].val), nil)), num((yyvsp[(1) - (2)].chr))); else @@ -5436,628 +5447,628 @@ yyreduce: num((yyvsp[(1) - (2)].chr))); } break; - case 266: + case 268: /* Line 1806 of yacc.c */ -#line 1086 "parser.y" +#line 1085 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("meta expression")); } break; - case 267: + case 269: /* Line 1806 of yacc.c */ -#line 1090 "parser.y" +#line 1089 "parser.y" { val a = car((yyvsp[(3) - (4)].val)); val ur = uref_helper(parser, a); (yyval.val) = rlcp_tree(cons(dwim_s, cons(ur, cdr((yyvsp[(3) - (4)].val)))), ur); } break; - case 268: + case 270: /* Line 1806 of yacc.c */ -#line 1094 "parser.y" +#line 1093 "parser.y" { (yyval.val) = rl(cons(dwim_s, (yyvsp[(2) - (3)].val)), num((yyvsp[(1) - (3)].lineno))); } break; - case 269: + case 271: /* Line 1806 of yacc.c */ -#line 1095 "parser.y" +#line 1094 "parser.y" { (yyval.val) = rl(cons(dwim_s, nil), num((yyvsp[(1) - (2)].lineno))); } break; - case 270: + case 272: /* Line 1806 of yacc.c */ -#line 1096 "parser.y" +#line 1095 "parser.y" { (yyval.val) = rl(cons(dwim_s, (yyvsp[(3) - (4)].val)), num((yyvsp[(1) - (4)].lineno))); } break; - case 271: + case 273: /* Line 1806 of yacc.c */ -#line 1097 "parser.y" +#line 1096 "parser.y" { (yyval.val) = rl(cons(dwim_s, (yyvsp[(3) - (4)].val)), num((yyvsp[(1) - (4)].lineno))); } break; - case 272: + case 274: /* Line 1806 of yacc.c */ -#line 1098 "parser.y" +#line 1097 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("DWIM expression")); } break; - case 276: + case 278: /* Line 1806 of yacc.c */ -#line 1107 "parser.y" +#line 1106 "parser.y" { (yyval.val) = rlc(expand_meta((yyvsp[(1) - (1)].val), nil), (yyvsp[(1) - (1)].val)); } break; - case 277: + case 279: /* Line 1806 of yacc.c */ -#line 1110 "parser.y" +#line 1109 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 278: + case 280: /* Line 1806 of yacc.c */ -#line 1111 "parser.y" +#line 1110 "parser.y" { (yyval.val) = nil; } break; - case 279: + case 281: /* Line 1806 of yacc.c */ -#line 1114 "parser.y" +#line 1113 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val)->c.cdr; (yyvsp[(1) - (1)].val)->c.cdr = nil; if ((yyval.val)->c.car == nao) (yyval.val) = (yyval.val)->c.cdr; } break; - case 280: + case 282: /* Line 1806 of yacc.c */ -#line 1119 "parser.y" +#line 1118 "parser.y" { (yyval.val) = (yyvsp[(1) - (3)].val)->c.cdr; (yyvsp[(1) - (3)].val)->c.cdr = (yyvsp[(3) - (3)].val); } break; - case 281: + case 283: /* Line 1806 of yacc.c */ -#line 1123 "parser.y" +#line 1122 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); (yyval.val)->c.cdr = (yyval.val); } break; - case 282: + case 284: /* Line 1806 of yacc.c */ -#line 1126 "parser.y" +#line 1125 "parser.y" { parser->ignore = 1; } break; - case 283: + case 285: /* Line 1806 of yacc.c */ -#line 1127 "parser.y" +#line 1126 "parser.y" { parser->ignore = 0; (yyval.val) = cons(nao, nil); (yyval.val)->c.cdr = (yyval.val); } break; - case 284: + case 286: /* Line 1806 of yacc.c */ -#line 1130 "parser.y" +#line 1129 "parser.y" { parser->ignore = 1; } break; - case 285: + case 287: /* Line 1806 of yacc.c */ -#line 1131 "parser.y" +#line 1130 "parser.y" { parser->ignore = 0; (yyval.val) = cons(nao, nil); (yyval.val)->c.cdr = (yyval.val); } break; - case 286: + case 288: /* Line 1806 of yacc.c */ -#line 1134 "parser.y" +#line 1133 "parser.y" { parser->ignore = 1; } break; - case 287: + case 289: /* Line 1806 of yacc.c */ -#line 1135 "parser.y" +#line 1134 "parser.y" { parser->ignore = 0; (yyval.val) = (yyvsp[(1) - (4)].val); } break; - case 288: + case 290: /* Line 1806 of yacc.c */ -#line 1137 "parser.y" +#line 1136 "parser.y" { parser->ignore = 1; } break; - case 289: + case 291: /* Line 1806 of yacc.c */ -#line 1138 "parser.y" +#line 1137 "parser.y" { parser->ignore = 0; (yyval.val) = (yyvsp[(1) - (5)].val); } break; - case 290: + case 292: /* Line 1806 of yacc.c */ -#line 1140 "parser.y" +#line 1139 "parser.y" { uses_or2; (yyval.val) = rlc(cons((yyvsp[(2) - (2)].val), (yyvsp[(1) - (2)].val)->c.cdr), or2((yyvsp[(2) - (2)].val), (yyvsp[(1) - (2)].val)->c.cdr)); (yyvsp[(1) - (2)].val)->c.cdr = (yyval.val); } break; - case 291: + case 293: /* Line 1806 of yacc.c */ -#line 1143 "parser.y" +#line 1142 "parser.y" { (yyval.val) = lastcons(rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno)))); (yyval.val)->c.cdr = (yyvsp[(2) - (2)].val); } break; - case 292: + case 294: /* Line 1806 of yacc.c */ -#line 1146 "parser.y" +#line 1145 "parser.y" { (yyval.val) = lastcons(rl((yyvsp[(3) - (3)].val), num((yyvsp[(2) - (3)].lineno)))); (yyval.val)->c.cdr = (yyvsp[(1) - (3)].val)->c.cdr; (yyvsp[(1) - (3)].val)->c.cdr = (yyvsp[(3) - (3)].val); } break; - case 293: + case 295: /* Line 1806 of yacc.c */ -#line 1149 "parser.y" +#line 1148 "parser.y" { (yyval.val) = lastcons(rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno)))); (yyval.val)->c.cdr = (yyvsp[(2) - (2)].val); } break; - case 294: + case 296: /* Line 1806 of yacc.c */ -#line 1152 "parser.y" +#line 1151 "parser.y" { (yyval.val) = lastcons(rl((yyvsp[(3) - (3)].val), num((yyvsp[(2) - (3)].lineno)))); (yyval.val)->c.cdr = (yyvsp[(1) - (3)].val)->c.cdr; (yyvsp[(1) - (3)].val)->c.cdr = (yyvsp[(3) - (3)].val); } break; - case 295: + case 297: /* Line 1806 of yacc.c */ -#line 1157 "parser.y" +#line 1156 "parser.y" { (yyval.val) = ifnign(symhlpr((yyvsp[(1) - (1)].lexeme), t)); } break; - case 296: + case 298: /* Line 1806 of yacc.c */ -#line 1158 "parser.y" +#line 1157 "parser.y" { (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil)); rl((yyval.val), num(parser->lineno)); } break; - case 297: + case 299: + +/* Line 1806 of yacc.c */ +#line 1159 "parser.y" + { (yyval.val) = (yyvsp[(1) - (1)].val); } + break; + + case 300: /* Line 1806 of yacc.c */ #line 1160 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 298: + case 301: /* Line 1806 of yacc.c */ #line 1161 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 299: + case 302: /* Line 1806 of yacc.c */ #line 1162 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 300: + case 303: /* Line 1806 of yacc.c */ #line 1163 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 301: + case 304: /* Line 1806 of yacc.c */ #line 1164 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 302: + case 305: /* Line 1806 of yacc.c */ #line 1165 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 303: + case 306: /* Line 1806 of yacc.c */ #line 1166 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 304: + case 307: /* Line 1806 of yacc.c */ #line 1167 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 305: + case 308: /* Line 1806 of yacc.c */ #line 1168 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 306: + case 309: /* Line 1806 of yacc.c */ #line 1169 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 307: + case 310: /* Line 1806 of yacc.c */ #line 1170 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 308: + case 311: /* Line 1806 of yacc.c */ #line 1171 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 309: + case 312: /* Line 1806 of yacc.c */ #line 1172 "parser.y" - { (yyval.val) = (yyvsp[(1) - (1)].val); } - break; - - case 310: - -/* Line 1806 of yacc.c */ -#line 1173 "parser.y" { (yyval.val) = rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))); } break; - case 311: + case 313: /* Line 1806 of yacc.c */ -#line 1174 "parser.y" +#line 1173 "parser.y" { (yyval.val) = rl(cons(quasilist_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno))); } break; - case 312: + case 314: /* Line 1806 of yacc.c */ -#line 1175 "parser.y" +#line 1174 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 313: + case 315: /* Line 1806 of yacc.c */ -#line 1176 "parser.y" +#line 1175 "parser.y" { (yyval.val) = rl(rlc(list(quote_s, (yyvsp[(2) - (2)].val), nao), (yyvsp[(2) - (2)].val)), num(parser->lineno)); } break; - case 314: + case 316: /* Line 1806 of yacc.c */ -#line 1178 "parser.y" +#line 1177 "parser.y" { parser->quasi_level++; } break; - case 315: + case 317: /* Line 1806 of yacc.c */ -#line 1179 "parser.y" +#line 1178 "parser.y" { parser->quasi_level--; (yyval.val) = rl(rlc(list(sys_qquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 316: + case 318: /* Line 1806 of yacc.c */ -#line 1182 "parser.y" +#line 1181 "parser.y" { parser->quasi_level--; } break; - case 317: + case 319: /* Line 1806 of yacc.c */ -#line 1183 "parser.y" +#line 1182 "parser.y" { parser->quasi_level++; (yyval.val) = rl(rlc(list(sys_unquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 318: + case 320: /* Line 1806 of yacc.c */ -#line 1186 "parser.y" +#line 1185 "parser.y" { parser->quasi_level--; } break; - case 319: + case 321: /* Line 1806 of yacc.c */ -#line 1187 "parser.y" +#line 1186 "parser.y" { parser->quasi_level++; (yyval.val) = rl(rlc(list(sys_splice_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 320: + case 322: /* Line 1806 of yacc.c */ -#line 1190 "parser.y" +#line 1189 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); } break; - case 321: + case 323: /* Line 1806 of yacc.c */ -#line 1191 "parser.y" +#line 1190 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); (yyval.val) = (yyvsp[(3) - (3)].val); } break; - case 322: + case 324: /* Line 1806 of yacc.c */ -#line 1193 "parser.y" +#line 1192 "parser.y" { (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); } break; - case 323: + case 325: /* Line 1806 of yacc.c */ -#line 1196 "parser.y" +#line 1195 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; - case 324: + case 326: /* Line 1806 of yacc.c */ -#line 1197 "parser.y" +#line 1196 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 325: + case 327: /* Line 1806 of yacc.c */ -#line 1199 "parser.y" +#line 1198 "parser.y" { (yyval.val) = ifnign(symhlpr((yyvsp[(1) - (1)].lexeme), t)); } break; - case 326: + case 328: /* Line 1806 of yacc.c */ -#line 1200 "parser.y" +#line 1199 "parser.y" { (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil)); rl((yyval.val), num(parser->lineno)); } break; - case 327: + case 329: + +/* Line 1806 of yacc.c */ +#line 1201 "parser.y" + { (yyval.val) = (yyvsp[(1) - (1)].val); } + break; + + case 330: /* Line 1806 of yacc.c */ #line 1202 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 328: + case 331: /* Line 1806 of yacc.c */ #line 1203 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 329: + case 332: /* Line 1806 of yacc.c */ #line 1204 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 330: + case 333: /* Line 1806 of yacc.c */ #line 1205 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 331: + case 334: /* Line 1806 of yacc.c */ #line 1206 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 332: + case 335: /* Line 1806 of yacc.c */ #line 1207 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 333: + case 336: /* Line 1806 of yacc.c */ #line 1208 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 334: + case 337: /* Line 1806 of yacc.c */ #line 1209 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 335: + case 338: /* Line 1806 of yacc.c */ #line 1210 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 336: + case 339: /* Line 1806 of yacc.c */ #line 1211 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 337: + case 340: /* Line 1806 of yacc.c */ #line 1212 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 338: + case 341: /* Line 1806 of yacc.c */ #line 1213 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 339: + case 342: /* Line 1806 of yacc.c */ #line 1214 "parser.y" - { (yyval.val) = (yyvsp[(1) - (1)].val); } - break; - - case 340: - -/* Line 1806 of yacc.c */ -#line 1215 "parser.y" { (yyval.val) = rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))); } break; - case 341: + case 343: /* Line 1806 of yacc.c */ -#line 1216 "parser.y" +#line 1215 "parser.y" { (yyval.val) = rl(cons(quasilist_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno))); } break; - case 342: + case 344: /* Line 1806 of yacc.c */ -#line 1217 "parser.y" +#line 1216 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 343: + case 345: /* Line 1806 of yacc.c */ -#line 1218 "parser.y" +#line 1217 "parser.y" { (yyval.val) = rl(rlc(list(quote_s, (yyvsp[(2) - (2)].val), nao), (yyvsp[(2) - (2)].val)), num(parser->lineno)); } break; - case 344: + case 346: /* Line 1806 of yacc.c */ -#line 1220 "parser.y" +#line 1219 "parser.y" { parser->quasi_level++; } break; - case 345: + case 347: /* Line 1806 of yacc.c */ -#line 1221 "parser.y" +#line 1220 "parser.y" { parser->quasi_level--; (yyval.val) = rl(rlc(list(sys_qquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 346: + case 348: /* Line 1806 of yacc.c */ -#line 1224 "parser.y" +#line 1223 "parser.y" { parser->quasi_level--; } break; - case 347: + case 349: /* Line 1806 of yacc.c */ -#line 1225 "parser.y" +#line 1224 "parser.y" { parser->quasi_level++; (yyval.val) = rl(rlc(list(sys_unquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 348: + case 350: /* Line 1806 of yacc.c */ -#line 1228 "parser.y" +#line 1227 "parser.y" { parser->quasi_level--; } break; - case 349: + case 351: /* Line 1806 of yacc.c */ -#line 1229 "parser.y" +#line 1228 "parser.y" { parser->quasi_level++; (yyval.val) = rl(rlc(list(sys_splice_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 350: + case 352: /* Line 1806 of yacc.c */ -#line 1232 "parser.y" +#line 1231 "parser.y" { uses_or2; (yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao), or2((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val))); } break; - case 351: + case 353: /* Line 1806 of yacc.c */ -#line 1236 "parser.y" +#line 1235 "parser.y" { uses_or2; (yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (4)].val), uref_helper(parser, (yyvsp[(4) - (4)].val)), @@ -6065,19 +6076,19 @@ yyreduce: or2((yyvsp[(1) - (4)].val), (yyvsp[(4) - (4)].val))); } break; - case 352: + case 354: /* Line 1806 of yacc.c */ -#line 1242 "parser.y" +#line 1241 "parser.y" { uses_or2; (yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao), or2((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val))); } break; - case 353: + case 355: /* Line 1806 of yacc.c */ -#line 1246 "parser.y" +#line 1245 "parser.y" { uses_or2; (yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (4)].val), uref_helper(parser, (yyvsp[(4) - (4)].val)), @@ -6085,219 +6096,219 @@ yyreduce: or2((yyvsp[(1) - (4)].val), (yyvsp[(4) - (4)].val))); } break; - case 354: + case 356: /* Line 1806 of yacc.c */ -#line 1251 "parser.y" +#line 1250 "parser.y" { (yyval.val) = qref_helper(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); } break; - case 355: + case 357: /* Line 1806 of yacc.c */ -#line 1252 "parser.y" +#line 1251 "parser.y" { (yyval.val) = qref_helper(parser, cons(t, cons((yyvsp[(1) - (3)].val), nil)), (yyvsp[(3) - (3)].val)); } break; - case 356: + case 358: /* Line 1806 of yacc.c */ -#line 1255 "parser.y" +#line 1254 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; - case 357: + case 359: /* Line 1806 of yacc.c */ -#line 1256 "parser.y" +#line 1255 "parser.y" { (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); } break; - case 358: + case 360: /* Line 1806 of yacc.c */ -#line 1257 "parser.y" +#line 1256 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); } break; - case 359: + case 361: /* Line 1806 of yacc.c */ -#line 1258 "parser.y" +#line 1257 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); (yyval.val) = (yyvsp[(3) - (3)].val); } break; - case 360: + case 362: /* Line 1806 of yacc.c */ -#line 1260 "parser.y" +#line 1259 "parser.y" { (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); } break; - case 361: + case 363: /* Line 1806 of yacc.c */ -#line 1263 "parser.y" +#line 1262 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 362: + case 364: /* Line 1806 of yacc.c */ -#line 1264 "parser.y" +#line 1263 "parser.y" { (yyval.val) = nil; } break; - case 363: + case 365: /* Line 1806 of yacc.c */ -#line 1267 "parser.y" +#line 1266 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; - case 364: + case 366: /* Line 1806 of yacc.c */ -#line 1268 "parser.y" +#line 1267 "parser.y" { (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); } break; - case 365: + case 367: /* Line 1806 of yacc.c */ -#line 1269 "parser.y" +#line 1268 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 366: + case 368: /* Line 1806 of yacc.c */ -#line 1272 "parser.y" +#line 1271 "parser.y" { (yyval.val) = regex_compile((yyvsp[(2) - (3)].val), nil); end_of_regex(scnr); rl((yyval.val), num(parser->lineno)); } break; - case 367: + case 369: /* Line 1806 of yacc.c */ -#line 1275 "parser.y" +#line 1274 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("regex")); end_of_regex(scnr); } break; - case 368: + case 370: /* Line 1806 of yacc.c */ -#line 1281 "parser.y" +#line 1280 "parser.y" { (yyval.val) = regex_compile((yyvsp[(2) - (3)].val), nil); end_of_regex(scnr); rl((yyval.val), num(parser->lineno)); } break; - case 369: + case 371: /* Line 1806 of yacc.c */ -#line 1285 "parser.y" +#line 1284 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("regex")); end_of_regex(scnr); } break; - case 370: + case 372: /* Line 1806 of yacc.c */ -#line 1290 "parser.y" +#line 1289 "parser.y" { (yyval.val) = if3(cdr((yyvsp[(1) - (1)].val)), cons(compound_s, (yyvsp[(1) - (1)].val)), car((yyvsp[(1) - (1)].val))); } break; - case 371: + case 373: /* Line 1806 of yacc.c */ -#line 1293 "parser.y" +#line 1292 "parser.y" { (yyval.val) = list(or_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); } break; - case 372: + case 374: /* Line 1806 of yacc.c */ -#line 1294 "parser.y" +#line 1293 "parser.y" { (yyval.val) = list(and_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); } break; - case 373: + case 375: /* Line 1806 of yacc.c */ -#line 1295 "parser.y" +#line 1294 "parser.y" { (yyval.val) = list(compl_s, (yyvsp[(2) - (2)].val), nao); } break; - case 374: + case 376: /* Line 1806 of yacc.c */ -#line 1296 "parser.y" +#line 1295 "parser.y" { (yyval.val) = nil; } break; - case 375: + case 377: /* Line 1806 of yacc.c */ -#line 1299 "parser.y" +#line 1298 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; - case 376: + case 378: /* Line 1806 of yacc.c */ -#line 1300 "parser.y" +#line 1299 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; - case 377: + case 379: /* Line 1806 of yacc.c */ -#line 1301 "parser.y" +#line 1300 "parser.y" { (yyval.val) = list((yyvsp[(1) - (3)].val), list(compl_s, (yyvsp[(3) - (3)].val), nao), nao); } break; - case 378: + case 380: /* Line 1806 of yacc.c */ -#line 1304 "parser.y" +#line 1303 "parser.y" { (yyval.val) = list(zeroplus_s, (yyvsp[(1) - (2)].val), nao); } break; - case 379: + case 381: /* Line 1806 of yacc.c */ -#line 1305 "parser.y" +#line 1304 "parser.y" { (yyval.val) = list(oneplus_s, (yyvsp[(1) - (2)].val), nao); } break; - case 380: + case 382: /* Line 1806 of yacc.c */ -#line 1306 "parser.y" +#line 1305 "parser.y" { (yyval.val) = list(optional_s, (yyvsp[(1) - (2)].val), nao); } break; - case 381: + case 383: /* Line 1806 of yacc.c */ -#line 1307 "parser.y" +#line 1306 "parser.y" { (yyval.val) = list(nongreedy_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); } break; - case 382: + case 384: /* Line 1806 of yacc.c */ -#line 1308 "parser.y" +#line 1307 "parser.y" { if (first((yyvsp[(2) - (3)].val)) == chr('^')) { if (rest((yyvsp[(2) - (3)].val))) (yyval.val) = cons(cset_s, rest((yyvsp[(2) - (3)].val))); @@ -6307,208 +6318,208 @@ yyreduce: (yyval.val) = cons(set_s, (yyvsp[(2) - (3)].val)); } break; - case 383: + case 385: /* Line 1806 of yacc.c */ -#line 1315 "parser.y" +#line 1314 "parser.y" { (yyval.val) = cons(set_s, nil); } break; - case 384: + case 386: /* Line 1806 of yacc.c */ -#line 1316 "parser.y" +#line 1315 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("regex character class")); } break; - case 385: + case 387: /* Line 1806 of yacc.c */ -#line 1318 "parser.y" +#line 1317 "parser.y" { (yyval.val) = wild_s; } break; - case 386: + case 388: /* Line 1806 of yacc.c */ -#line 1319 "parser.y" +#line 1318 "parser.y" { (yyval.val) = chr(']'); } break; - case 387: + case 389: /* Line 1806 of yacc.c */ -#line 1320 "parser.y" +#line 1319 "parser.y" { (yyval.val) = chr('-'); } break; - case 388: + case 390: /* Line 1806 of yacc.c */ -#line 1321 "parser.y" +#line 1320 "parser.y" { (yyval.val) = chr((yyvsp[(1) - (1)].chr)); } break; - case 389: + case 391: /* Line 1806 of yacc.c */ -#line 1322 "parser.y" +#line 1321 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 390: + case 392: /* Line 1806 of yacc.c */ -#line 1323 "parser.y" +#line 1322 "parser.y" { (yyval.val) = list(compound_s, string_own((yyvsp[(1) - (1)].lexeme)), nao); } break; - case 391: + case 393: /* Line 1806 of yacc.c */ -#line 1324 "parser.y" +#line 1323 "parser.y" { (yyval.val) = (yyvsp[(2) - (3)].val); } break; - case 392: + case 394: /* Line 1806 of yacc.c */ -#line 1325 "parser.y" +#line 1324 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("regex subexpression")); } break; - case 393: + case 395: /* Line 1806 of yacc.c */ -#line 1329 "parser.y" +#line 1328 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; - case 394: + case 396: /* Line 1806 of yacc.c */ -#line 1330 "parser.y" +#line 1329 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; - case 395: + case 397: /* Line 1806 of yacc.c */ -#line 1333 "parser.y" +#line 1332 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 396: + case 398: /* Line 1806 of yacc.c */ -#line 1334 "parser.y" +#line 1333 "parser.y" { (yyval.val) = chr((yyvsp[(1) - (1)].chr)); } break; - case 397: + case 399: /* Line 1806 of yacc.c */ -#line 1335 "parser.y" +#line 1334 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 398: + case 400: /* Line 1806 of yacc.c */ -#line 1338 "parser.y" +#line 1337 "parser.y" { (yyval.val) = cons(chr((yyvsp[(1) - (3)].chr)), chr((yyvsp[(3) - (3)].chr))); } break; - case 399: + case 401: /* Line 1806 of yacc.c */ -#line 1340 "parser.y" +#line 1339 "parser.y" { (yyval.chr) = '?'; } break; - case 400: + case 402: /* Line 1806 of yacc.c */ -#line 1341 "parser.y" +#line 1340 "parser.y" { (yyval.chr) = '.'; } break; - case 401: + case 403: /* Line 1806 of yacc.c */ -#line 1342 "parser.y" +#line 1341 "parser.y" { (yyval.chr) = '*'; } break; - case 402: + case 404: /* Line 1806 of yacc.c */ -#line 1343 "parser.y" +#line 1342 "parser.y" { (yyval.chr) = '+'; } break; - case 403: + case 405: /* Line 1806 of yacc.c */ -#line 1344 "parser.y" +#line 1343 "parser.y" { (yyval.chr) = '('; } break; - case 404: + case 406: /* Line 1806 of yacc.c */ -#line 1345 "parser.y" +#line 1344 "parser.y" { (yyval.chr) = ')'; } break; - case 405: + case 407: /* Line 1806 of yacc.c */ -#line 1346 "parser.y" +#line 1345 "parser.y" { (yyval.chr) = '|'; } break; - case 406: + case 408: /* Line 1806 of yacc.c */ -#line 1347 "parser.y" +#line 1346 "parser.y" { (yyval.chr) = '~'; } break; - case 407: + case 409: /* Line 1806 of yacc.c */ -#line 1348 "parser.y" +#line 1347 "parser.y" { (yyval.chr) = '&'; } break; - case 408: + case 410: /* Line 1806 of yacc.c */ -#line 1349 "parser.y" +#line 1348 "parser.y" { (yyval.chr) = '%'; } break; - case 409: + case 411: /* Line 1806 of yacc.c */ -#line 1350 "parser.y" +#line 1349 "parser.y" { (yyval.chr) = '/'; } break; - case 410: + case 412: /* Line 1806 of yacc.c */ -#line 1351 "parser.y" +#line 1350 "parser.y" { (yyval.chr) = (yyvsp[(1) - (1)].chr); } break; - case 411: + case 413: /* Line 1806 of yacc.c */ -#line 1354 "parser.y" +#line 1353 "parser.y" { switch ((yyvsp[(1) - (1)].chr)) { case 's': (yyval.val) = space_k; break; @@ -6524,41 +6535,41 @@ yyreduce: (yyval.val) = cword_char_k; break; }} break; - case 413: + case 415: /* Line 1806 of yacc.c */ -#line 1369 "parser.y" +#line 1368 "parser.y" { yyerr("newline expected after directive"); yyerrok; } break; - case 414: + case 416: /* Line 1806 of yacc.c */ -#line 1373 "parser.y" +#line 1372 "parser.y" { (yyval.val) = null_string; } break; - case 415: + case 417: /* Line 1806 of yacc.c */ -#line 1374 "parser.y" +#line 1373 "parser.y" { (yyval.val) = (yyvsp[(2) - (3)].val); rl((yyval.val), num(parser->lineno)); } break; - case 416: + case 418: /* Line 1806 of yacc.c */ -#line 1376 "parser.y" +#line 1375 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("string literal")); } break; - case 417: + case 419: /* Line 1806 of yacc.c */ -#line 1380 "parser.y" +#line 1379 "parser.y" { wchar_t ch; val str = string_own((yyvsp[(2) - (2)].lexeme)); const wchar_t *cstr = c_str(str, nil); @@ -6574,99 +6585,99 @@ yyreduce: (yyval.val) = chr(ch); } break; - case 418: + case 420: /* Line 1806 of yacc.c */ -#line 1393 "parser.y" +#line 1392 "parser.y" { (yyval.val) = chr((yyvsp[(2) - (2)].chr)); end_of_char(scnr); } break; - case 419: + case 421: /* Line 1806 of yacc.c */ -#line 1395 "parser.y" +#line 1394 "parser.y" { free((yyvsp[(2) - (2)].lexeme)); yyerrorf(scnr, lit("invalid UTF-8 used as character name"), nao); } break; - case 420: + case 422: /* Line 1806 of yacc.c */ -#line 1399 "parser.y" +#line 1398 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("character literal")); } break; - case 421: + case 423: /* Line 1806 of yacc.c */ -#line 1404 "parser.y" +#line 1403 "parser.y" { (yyval.val) = null_string; } break; - case 422: + case 424: /* Line 1806 of yacc.c */ -#line 1405 "parser.y" +#line 1404 "parser.y" { (yyval.val) = cons(quasi_s, (yyvsp[(2) - (3)].val)); rlc((yyval.val), (yyvsp[(2) - (3)].val)); rl((yyval.val), num(parser->lineno)); } break; - case 423: + case 425: /* Line 1806 of yacc.c */ -#line 1408 "parser.y" +#line 1407 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("quasistring")); } break; - case 424: + case 426: /* Line 1806 of yacc.c */ -#line 1412 "parser.y" +#line 1411 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rl((yyval.val), num(parser->lineno)); } break; - case 425: + case 427: /* Line 1806 of yacc.c */ -#line 1414 "parser.y" +#line 1413 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); rl((yyval.val), num(parser->lineno)); } break; - case 426: + case 428: /* Line 1806 of yacc.c */ -#line 1418 "parser.y" +#line 1417 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 427: + case 429: /* Line 1806 of yacc.c */ -#line 1419 "parser.y" +#line 1418 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 428: + case 430: /* Line 1806 of yacc.c */ -#line 1420 "parser.y" +#line 1419 "parser.y" { (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil)); rl((yyval.val), num(parser->lineno)); } break; - case 429: + case 431: /* Line 1806 of yacc.c */ -#line 1422 "parser.y" +#line 1421 "parser.y" { if (integerp((yyvsp[(2) - (2)].val)) || symbolp((yyvsp[(2) - (2)].val))) (yyval.val) = rlcp_tree(cons(var_s, cons((yyvsp[(2) - (2)].val), nil)), (yyvsp[(2) - (2)].val)); @@ -6674,314 +6685,321 @@ yyreduce: (yyval.val) = (yyvsp[(2) - (2)].val); } break; - case 430: + case 432: /* Line 1806 of yacc.c */ -#line 1429 "parser.y" +#line 1428 "parser.y" { (yyval.val) = mkstring(one, chr((yyvsp[(1) - (1)].chr))); } break; - case 431: + case 433: /* Line 1806 of yacc.c */ -#line 1430 "parser.y" +#line 1429 "parser.y" { val ch = mkstring(one, chr((yyvsp[(1) - (2)].chr))); (yyval.val) = string_extend(ch, (yyvsp[(2) - (2)].val), t); } break; - case 432: + case 434: /* Line 1806 of yacc.c */ -#line 1432 "parser.y" +#line 1431 "parser.y" { (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); } break; - case 433: + case 435: /* Line 1806 of yacc.c */ -#line 1433 "parser.y" +#line 1432 "parser.y" { (yyval.val) = string_extend(string_own((yyvsp[(1) - (2)].lexeme)), (yyvsp[(2) - (2)].val), t); } break; - case 434: + case 436: /* Line 1806 of yacc.c */ -#line 1436 "parser.y" +#line 1435 "parser.y" { (yyval.val) = mkstring(one, chr((yyvsp[(1) - (1)].chr))); } break; - case 435: + case 437: /* Line 1806 of yacc.c */ -#line 1437 "parser.y" +#line 1436 "parser.y" { (yyval.val) = string_extend((yyvsp[(1) - (2)].val), chr((yyvsp[(2) - (2)].chr)), nil); } break; - case 436: + case 438: /* Line 1806 of yacc.c */ -#line 1438 "parser.y" +#line 1437 "parser.y" { (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); } break; - case 437: + case 439: /* Line 1806 of yacc.c */ -#line 1439 "parser.y" +#line 1438 "parser.y" { (yyval.val) = string_extend((yyvsp[(1) - (2)].val), string_own((yyvsp[(2) - (2)].lexeme)), nil); } break; - case 438: + case 440: /* Line 1806 of yacc.c */ -#line 1442 "parser.y" +#line 1441 "parser.y" { (yyval.val) = nil; } break; - case 439: + case 441: /* Line 1806 of yacc.c */ -#line 1443 "parser.y" +#line 1442 "parser.y" { (yyval.val) = (yyvsp[(2) - (2)].val); } break; - case 440: + case 442: /* Line 1806 of yacc.c */ -#line 1444 "parser.y" +#line 1443 "parser.y" { val word = (yyvsp[(1) - (2)].val); (yyval.val) = rlc(cons(word, (yyvsp[(2) - (2)].val)), (yyvsp[(1) - (2)].val)); } break; - case 441: + case 443: /* Line 1806 of yacc.c */ -#line 1446 "parser.y" +#line 1445 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("word list")); } break; - case 442: + case 444: /* Line 1806 of yacc.c */ -#line 1450 "parser.y" +#line 1449 "parser.y" { (yyval.val) = nil; } break; - case 443: + case 445: /* Line 1806 of yacc.c */ -#line 1451 "parser.y" +#line 1450 "parser.y" { (yyval.val) = (yyvsp[(2) - (2)].val); } break; - case 444: + case 446: /* Line 1806 of yacc.c */ -#line 1452 "parser.y" +#line 1451 "parser.y" { val qword = cons(quasi_s, (yyvsp[(1) - (2)].val)); (yyval.val) = rlc(cons(qword, nil), (yyvsp[(1) - (2)].val)); } break; - case 445: + case 447: /* Line 1806 of yacc.c */ -#line 1456 "parser.y" +#line 1455 "parser.y" { val qword = cons(quasi_s, (yyvsp[(1) - (3)].val)); (yyval.val) = rlc(cons(qword, (yyvsp[(3) - (3)].val)), (yyvsp[(1) - (3)].val)); } break; - case 446: + case 448: /* Line 1806 of yacc.c */ -#line 1460 "parser.y" +#line 1459 "parser.y" { (yyval.val) = make_buf(zero, nil, nil); end_of_buflit(scnr); } break; - case 447: + case 449: /* Line 1806 of yacc.c */ -#line 1462 "parser.y" +#line 1461 "parser.y" { end_of_buflit(scnr); buf_trim((yyvsp[(2) - (3)].val)); (yyval.val) = (yyvsp[(2) - (3)].val); } break; - case 448: + case 450: /* Line 1806 of yacc.c */ -#line 1465 "parser.y" +#line 1464 "parser.y" { yyerr("unterminated buffer literal"); end_of_buflit(scnr); yyerrok; } break; - case 449: + case 451: /* Line 1806 of yacc.c */ -#line 1470 "parser.y" +#line 1469 "parser.y" { buf_put_u8((yyvsp[(1) - (2)].val), length_buf((yyval.val)), (yyvsp[(2) - (2)].val)); (yyval.val) = (yyvsp[(1) - (2)].val); } break; - case 450: + case 452: /* Line 1806 of yacc.c */ -#line 1472 "parser.y" +#line 1471 "parser.y" { (yyval.val) = make_buf(zero, nil, num_fast(512)); buf_put_u8((yyval.val), zero, (yyvsp[(1) - (1)].val)); } break; - case 451: + case 453: /* Line 1806 of yacc.c */ -#line 1476 "parser.y" +#line 1475 "parser.y" { (yyval.val) = num((yyvsp[(1) - (2)].chr) << 4 | (yyvsp[(2) - (2)].chr)); } break; - case 452: + case 454: /* Line 1806 of yacc.c */ -#line 1477 "parser.y" +#line 1476 "parser.y" { (yyval.val) = zero; yyerr("unpaired digit in buffer literal"); yyerrok; } break; - case 453: + case 455: /* Line 1806 of yacc.c */ -#line 1484 "parser.y" +#line 1483 "parser.y" { (yyval.val) = mkexp(all_s, nil, num(parser->lineno)); } break; - case 454: + case 456: /* Line 1806 of yacc.c */ -#line 1485 "parser.y" +#line 1484 "parser.y" { (yyval.val) = mkexp(some_s, nil, num(parser->lineno)); } break; - case 455: + case 457: /* Line 1806 of yacc.c */ -#line 1486 "parser.y" +#line 1485 "parser.y" { (yyval.val) = mkexp(none_s, nil, num(parser->lineno)); } break; - case 456: + case 458: /* Line 1806 of yacc.c */ -#line 1487 "parser.y" +#line 1486 "parser.y" { (yyval.val) = mkexp(maybe_s, nil, num(parser->lineno)); } break; - case 457: + case 459: /* Line 1806 of yacc.c */ -#line 1488 "parser.y" +#line 1487 "parser.y" { (yyval.val) = mkexp(cases_s, nil, num(parser->lineno)); } break; - case 458: + case 460: /* Line 1806 of yacc.c */ -#line 1489 "parser.y" +#line 1488 "parser.y" { (yyval.val) = mkexp(and_s, nil, num(parser->lineno)); } break; - case 459: + case 461: /* Line 1806 of yacc.c */ -#line 1490 "parser.y" +#line 1489 "parser.y" { (yyval.val) = mkexp(or_s, nil, num(parser->lineno)); } break; - case 460: + case 462: /* Line 1806 of yacc.c */ -#line 1491 "parser.y" +#line 1490 "parser.y" { (yyval.val) = mkexp(try_s, nil, num(parser->lineno)); } break; - case 461: + case 463: /* Line 1806 of yacc.c */ -#line 1492 "parser.y" +#line 1491 "parser.y" { (yyval.val) = mkexp(finally_s, nil, num(parser->lineno)); } break; - case 462: + case 464: /* Line 1806 of yacc.c */ -#line 1494 "parser.y" +#line 1493 "parser.y" { (yyval.val) = mkexp(block_s, (yyvsp[(2) - (3)].val), nil); } break; - case 463: + case 465: /* Line 1806 of yacc.c */ -#line 1496 "parser.y" +#line 1495 "parser.y" { (yyval.val) = mkexp(choose_s, (yyvsp[(2) - (3)].val), nil); } break; - case 464: + case 466: /* Line 1806 of yacc.c */ -#line 1498 "parser.y" +#line 1497 "parser.y" { (yyval.val) = mkexp(collect_s, (yyvsp[(2) - (3)].val), nil); } break; - case 465: + case 467: /* Line 1806 of yacc.c */ -#line 1500 "parser.y" +#line 1499 "parser.y" { (yyval.val) = mkexp(coll_s, (yyvsp[(2) - (3)].val), nil); } break; - case 466: + case 468: /* Line 1806 of yacc.c */ -#line 1502 "parser.y" +#line 1501 "parser.y" { (yyval.val) = mkexp(gather_s, (yyvsp[(2) - (3)].val), nil); } break; - case 467: + case 469: /* Line 1806 of yacc.c */ -#line 1504 "parser.y" +#line 1503 "parser.y" { (yyval.val) = mkexp(define_s, (yyvsp[(2) - (3)].val), nil); } break; - case 468: + case 470: /* Line 1806 of yacc.c */ -#line 1506 "parser.y" +#line 1505 "parser.y" { (yyval.val) = mkexp(catch_s, (yyvsp[(2) - (3)].val), nil); } break; - case 469: + case 471: /* Line 1806 of yacc.c */ -#line 1508 "parser.y" +#line 1507 "parser.y" { (yyval.val) = mkexp(if_s, cons((yyvsp[(2) - (5)].val), cons((yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val))), nil); } break; - case 470: + case 472: /* Line 1806 of yacc.c */ -#line 1513 "parser.y" +#line 1512 "parser.y" { yyerr("@(output) doesn't nest"); } break; + case 473: + +/* Line 1806 of yacc.c */ +#line 1514 "parser.y" + { yyerr("@(push) doesn't nest"); } + break; + /* Line 1806 of yacc.c */ -#line 7015 "y.tab.c" +#line 7033 "y.tab.c" default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -7756,6 +7774,52 @@ static val fname_helper(parser_t *parser, val name) return nil; } +static val output_helper(parser_t *parser, val sym, val exprs, val clauses) +{ + cons_bind (dest, rest, exprs); + + val dest_ex = expand_form_ver(dest, 166); + val args = if3(dest_ex == dest, exprs, cons(dest_ex, rest)); + val args_kw = keywordp(car(args)); + val alist = improper_plist_to_alist(if3(args_kw, args, cdr(args)), + v_output_keys); + + if (!args_kw && sym == push_s) + { + yyerrorf(parser->scanner, lit("~s: doesn't support destination argument"), + sym, nao); + } + + + while (alist) { + val key = car(pop(&alist)); + + if (key == filter_k) + continue; + + if (sym != push_s) { + if (key == nothrow_k || key == append_k || + key == named_k || key == continue_k || + key == finish_k || key == into_k) + { + continue; + } + } + + yyerrorf(parser->scanner, lit("~s: unsupported keyword ~s"), + sym, key, nao); + } + + if (sym != push_s) { + val into_var = second(memql(into_k, args)); + val named_var = second(memql(named_k, args)); + match_reg_var(into_var); + match_reg_var(named_var); + } + + return list(sym, clauses, args, nao); +} + #ifndef YYEOF #define YYEOF 0 #endif diff --git a/y.tab.h.shipped b/y.tab.h.shipped index 6946fc41..fdf1b170 100644 --- a/y.tab.h.shipped +++ b/y.tab.h.shipped @@ -27,58 +27,59 @@ COLL = 274, OUTPUT = 275, REPEAT = 276, - REP = 277, - SINGLE = 278, - FIRST = 279, - LAST = 280, - EMPTY = 281, - MOD = 282, - MODLAST = 283, - DEFINE = 284, - TRY = 285, - CATCH = 286, - FINALLY = 287, - IF = 288, - ERRTOK = 289, - HASH_BACKSLASH = 290, - HASH_SLASH = 291, - DOTDOT = 292, - HASH_H = 293, - HASH_S = 294, - HASH_R = 295, - HASH_J = 296, - HASH_SEMI = 297, - HASH_B_QUOTE = 298, - HASH_N = 299, - HASH_T = 300, - WORDS = 301, - WSPLICE = 302, - QWORDS = 303, - QWSPLICE = 304, - SECRET_ESCAPE_R = 305, - SECRET_ESCAPE_E = 306, - SECRET_ESCAPE_I = 307, - SECRET_ESCAPE_J = 308, - OLD_DOTDOT = 309, - NUMBER = 310, - METANUM = 311, - JSKW = 312, - HASH_N_EQUALS = 313, - HASH_N_HASH = 314, - REGCHAR = 315, - REGTOKEN = 316, - LITCHAR = 317, - SPLICE = 318, - JSPLICE = 319, - OLD_AT = 320, - CONSDOT = 321, - LAMBDOT = 322, - UREFDOT = 323, - OREFDOT = 324, - UOREFDOT = 325, - LOW = 326, - ELSE = 327, - ELIF = 328 + PUSH = 277, + REP = 278, + SINGLE = 279, + FIRST = 280, + LAST = 281, + EMPTY = 282, + MOD = 283, + MODLAST = 284, + DEFINE = 285, + TRY = 286, + CATCH = 287, + FINALLY = 288, + IF = 289, + ERRTOK = 290, + HASH_BACKSLASH = 291, + HASH_SLASH = 292, + DOTDOT = 293, + HASH_H = 294, + HASH_S = 295, + HASH_R = 296, + HASH_J = 297, + HASH_SEMI = 298, + HASH_B_QUOTE = 299, + HASH_N = 300, + HASH_T = 301, + WORDS = 302, + WSPLICE = 303, + QWORDS = 304, + QWSPLICE = 305, + SECRET_ESCAPE_R = 306, + SECRET_ESCAPE_E = 307, + SECRET_ESCAPE_I = 308, + SECRET_ESCAPE_J = 309, + OLD_DOTDOT = 310, + NUMBER = 311, + METANUM = 312, + JSKW = 313, + HASH_N_EQUALS = 314, + HASH_N_HASH = 315, + REGCHAR = 316, + REGTOKEN = 317, + LITCHAR = 318, + SPLICE = 319, + JSPLICE = 320, + OLD_AT = 321, + CONSDOT = 322, + LAMBDOT = 323, + UREFDOT = 324, + OREFDOT = 325, + UOREFDOT = 326, + LOW = 327, + ELSE = 328, + ELIF = 329 }; #endif /* Tokens. */ @@ -101,58 +102,59 @@ #define COLL 274 #define OUTPUT 275 #define REPEAT 276 -#define REP 277 -#define SINGLE 278 -#define FIRST 279 -#define LAST 280 -#define EMPTY 281 -#define MOD 282 -#define MODLAST 283 -#define DEFINE 284 -#define TRY 285 -#define CATCH 286 -#define FINALLY 287 -#define IF 288 -#define ERRTOK 289 -#define HASH_BACKSLASH 290 -#define HASH_SLASH 291 -#define DOTDOT 292 -#define HASH_H 293 -#define HASH_S 294 -#define HASH_R 295 -#define HASH_J 296 -#define HASH_SEMI 297 -#define HASH_B_QUOTE 298 -#define HASH_N 299 -#define HASH_T 300 -#define WORDS 301 -#define WSPLICE 302 -#define QWORDS 303 -#define QWSPLICE 304 -#define SECRET_ESCAPE_R 305 -#define SECRET_ESCAPE_E 306 -#define SECRET_ESCAPE_I 307 -#define SECRET_ESCAPE_J 308 -#define OLD_DOTDOT 309 -#define NUMBER 310 -#define METANUM 311 -#define JSKW 312 -#define HASH_N_EQUALS 313 -#define HASH_N_HASH 314 -#define REGCHAR 315 -#define REGTOKEN 316 -#define LITCHAR 317 -#define SPLICE 318 -#define JSPLICE 319 -#define OLD_AT 320 -#define CONSDOT 321 -#define LAMBDOT 322 -#define UREFDOT 323 -#define OREFDOT 324 -#define UOREFDOT 325 -#define LOW 326 -#define ELSE 327 -#define ELIF 328 +#define PUSH 277 +#define REP 278 +#define SINGLE 279 +#define FIRST 280 +#define LAST 281 +#define EMPTY 282 +#define MOD 283 +#define MODLAST 284 +#define DEFINE 285 +#define TRY 286 +#define CATCH 287 +#define FINALLY 288 +#define IF 289 +#define ERRTOK 290 +#define HASH_BACKSLASH 291 +#define HASH_SLASH 292 +#define DOTDOT 293 +#define HASH_H 294 +#define HASH_S 295 +#define HASH_R 296 +#define HASH_J 297 +#define HASH_SEMI 298 +#define HASH_B_QUOTE 299 +#define HASH_N 300 +#define HASH_T 301 +#define WORDS 302 +#define WSPLICE 303 +#define QWORDS 304 +#define QWSPLICE 305 +#define SECRET_ESCAPE_R 306 +#define SECRET_ESCAPE_E 307 +#define SECRET_ESCAPE_I 308 +#define SECRET_ESCAPE_J 309 +#define OLD_DOTDOT 310 +#define NUMBER 311 +#define METANUM 312 +#define JSKW 313 +#define HASH_N_EQUALS 314 +#define HASH_N_HASH 315 +#define REGCHAR 316 +#define REGTOKEN 317 +#define LITCHAR 318 +#define SPLICE 319 +#define JSPLICE 320 +#define OLD_AT 321 +#define CONSDOT 322 +#define LAMBDOT 323 +#define UREFDOT 324 +#define OREFDOT 325 +#define UOREFDOT 326 +#define LOW 327 +#define ELSE 328 +#define ELIF 329 @@ -162,7 +164,7 @@ typedef union YYSTYPE { /* Line 2068 of yacc.c */ -#line 107 "parser.y" +#line 109 "parser.y" wchar_t *lexeme; union obj *val; @@ -172,7 +174,7 @@ typedef union YYSTYPE /* Line 2068 of yacc.c */ -#line 205 "y.tab.h" +#line 207 "y.tab.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ |