diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2025-05-18 18:43:05 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2025-05-18 18:43:05 -0700 |
commit | 985af50d3c61b8919459b3121292b54220e81eb0 (patch) | |
tree | 0729b63e2f4f6a97b32eab5321fdc5596f32bfa6 | |
parent | 3bec8464a938555034ea6be43f5447a5e7409bb8 (diff) | |
download | txr-985af50d3c61b8919459b3121292b54220e81eb0.tar.gz txr-985af50d3c61b8919459b3121292b54220e81eb0.tar.bz2 txr-985af50d3c61b8919459b3121292b54220e81eb0.zip |
quasistrings: support format notation.
This patch adds support to quasiliterals to have the inserted
items formatted via a format conversion specifier, for example
@~3,3a:abc is @abc modified by ~3,3a format conversion.
When the inserted value is a list, the conversion is distributed
over the elements individually. Otherwise it applies to the
entire item.
* eval.c (fmt_tostring, fmt_cat): Take additional format
string argument. If it isn't nil, then do the string
conversion via the fmt1 function rather than tostring.
(do_format_field): Take format string argument, and
pass down to fmt_cat.
(format_field); Take format string argument and pass down
to do_format_field.
(fmt_simple, fmt_flex): Pass nil format string argument to
fmt_tostring.
(fmt_simple_fmstr, fmt_flex_fmstr): New static functions,
like fmt_simple and fmt_flex but with format string arg.
Used as run-time support for compiler-generated quasilit code
for cases when format conversion specifier is present.
(subst_vars): Extract the new format string frome each
variable item. Pass it down to fmt_tostring, format_field
and fmt_cat.
(eval_init): Register sys:fmt-simple-fmstr and sys:flex-fmstr
intrinsics.
* eval.h (format_field): Declaration updated.
* lib.c (out_quasi_str_sym): Take format string argument.
If it is present, output it after the @, followed by
a colon, to reproduce the read notation.
(out_quasi_str): Pass down the format string, taken
from the fourth element of a sys:var item of the quasiliteral.
For simple symbolic items, pass down nil.
* match.c (tx_subst_vars): Pass nil as new argument of
format_field. The output variables of the TXR Pattern
language do not exhibit this feature.
* parser.l (FMT): New pattern for matching the format
string part.
(grammar): The rule which recognizes @ in quasiliterals
optionally scans the format notation, and turns it
into a string attached to the token's semantic value,
which is now of type val (see parser.y remarks).
* parser.y (tokens): The '@' token's %type changed
from lineno to val so it can carry the format string.
(q_var): If format string is present in the @ symbol,
then include it as the fourth element of the sys:var
form. This rule handles braced items.
(meta): We can no longer get the line number from the @
item, so we get it from n_expr.
(quasi_item): Similar to q_var change here. This handles
@ followed by unbraced items: symbols and other expressions.
* stdlib/compiler.tl (expand-quasi-mods): Take format
string argument. When the format string is present,
then generate code which uses the new alternative
run-time support functions, and passes them the format
string as an argument.
(expand-quasi-args): Extend the sys:var match to extract
the format string if it is present. Pass it down to
expand-quasi-mods.
* stdlib/match.tl (expand-quasi-match): Add an error case
diagnosing the situation when the program tries to use
a format-conversion-endowed item in a quasilit pattern.
* stream.[ch] (fmt1): New function.
* tests/012/quasi.tl: New tests.
* txr.1: Documented.
* lex.yy.c.shipped, y.tab.c.shipped: Regenerated.
-rw-r--r-- | eval.c | 83 | ||||
-rw-r--r-- | eval.h | 3 | ||||
-rw-r--r-- | lex.yy.c.shipped | 8129 | ||||
-rw-r--r-- | lib.c | 14 | ||||
-rw-r--r-- | match.c | 2 | ||||
-rw-r--r-- | parser.l | 13 | ||||
-rw-r--r-- | parser.y | 21 | ||||
-rw-r--r-- | stdlib/compiler.tl | 43 | ||||
-rw-r--r-- | stdlib/match.tl | 4 | ||||
-rw-r--r-- | stream.c | 7 | ||||
-rw-r--r-- | stream.h | 1 | ||||
-rw-r--r-- | tests/012/quasi.tl | 11 | ||||
-rw-r--r-- | txr.1 | 94 | ||||
-rw-r--r-- | y.tab.c.shipped | 2236 |
14 files changed, 5550 insertions, 5111 deletions
@@ -2983,17 +2983,17 @@ static val op_handler_bind(val form, val env) return result; } -static val fmt_tostring(val obj) +static val fmt_tostring(val obj, val fmstr) { return if3(stringp(obj), - obj, + if3(fmstr, fmt1(fmstr, obj), obj), if3(if3(opt_compat && opt_compat <= 174, listp(obj), seqp(obj)), obj, - tostringp(obj))); + if3(fmstr, fmt1(fmstr, obj), tostringp(obj)))); } -static val fmt_cat(val obj, val sep) +static val fmt_cat(val obj, val sep, val fmstr) { val self = lit("quasistring formatting"); @@ -3005,20 +3005,21 @@ static val fmt_cat(val obj, val sep) case BUF: if (!opt_compat || opt_compat > 294) return if3(null_or_missing_p(sep), - fmt_cat(tostringp(obj), sep), + fmt_cat(tostringp(obj), sep, fmstr), buf_str_sep(obj, sep, self)); /* fallthrough */ default: return if3(if3(opt_compat && opt_compat <= 174, listp(obj), seqp(obj)), - cat_str(mapcar(func_n1(tostringp), obj), + cat_str(mapcar(if3(fmstr, + pa_12_2(func_n2(fmt1), fmstr), + func_n1(tostringp)), obj), default_arg(sep, lit(" "))), tostringp(obj)); } } -static val do_format_field(val obj, val n, val sep, - val range_ix, val plist, - val filter) +static val do_format_field(val obj, val n, val sep, val fmstr, + val range_ix, val plist, val filter) { val str; @@ -3032,7 +3033,7 @@ static val do_format_field(val obj, val n, val sep, range_ix, nao); } - str = fmt_cat(obj, sep); + str = fmt_cat(obj, sep, fmstr); { val filter_sym = getplist(plist, filter_k); @@ -3072,7 +3073,7 @@ static val do_format_field(val obj, val n, val sep, } } -val format_field(val obj, val modifier, val filter, val eval_fun) +val format_field(val obj, val fmstr, val modifier, val filter, val eval_fun) { val n = zero, sep = nil; val plist = nil; @@ -3114,15 +3115,28 @@ val format_field(val obj, val modifier, val filter, val eval_fun) } } - return do_format_field(obj, n, sep, range_ix, plist, filter); + return do_format_field(obj, n, sep, fmstr, range_ix, plist, filter); } static val fmt_simple(val obj, val n, val sep, - val range_ix, val plist) + val range_ix, val plist) { - return do_format_field(fmt_tostring(obj), + return do_format_field(fmt_tostring(obj, nil), default_arg(n, zero), sep, + nil, + default_null_arg(range_ix), + default_null_arg(plist), + nil); +} + +static val fmt_simple_fmstr(val obj, val fmstr, val n, val sep, + val range_ix, val plist) +{ + return do_format_field(fmt_tostring(obj, fmstr), + default_arg(n, zero), + sep, + fmstr, default_null_arg(range_ix), default_null_arg(plist), nil); @@ -3149,7 +3163,37 @@ static val fmt_flex(val obj, val plist, varg args) } } - return do_format_field(fmt_tostring(obj), n, sep, range_ix, plist, nil); + return do_format_field(fmt_tostring(obj, nil), n, sep, + nil, range_ix, plist, nil); +} + +static val fmt_flex_fmstr(val obj, val fmstr, varg args) +{ + cnum ix = 0; + val n = zero, sep = nil; + val range_ix = nil; + val plist = nil; + + if (args_more(args, ix)) + plist = args_get(args, &ix); + + while (args_more(args, ix)) { + val arg = args_get(args, &ix); + + if (integerp(arg)) { + n = arg; + } else if (stringp(arg)) { + sep = arg; + } else if (rangep(arg)) { + if (to(arg)) + range_ix = arg; + else + range_ix = from(arg); + } + } + + return do_format_field(fmt_tostring(obj, fmstr), n, sep, + fmstr, range_ix, plist, nil); } val subst_vars(val forms, val env, val filter) @@ -3165,19 +3209,20 @@ val subst_vars(val forms, val env, val filter) if (sym == var_s) { val expr = second(form); val modifiers = third(form); + val fmstr = fourth(form); val str = eval(expr, env, form); /* If the object is a sequence, we let format_field deal with the conversion to text, because the modifiers influence how it is done. */ - str = fmt_tostring(str); + str = fmt_tostring(str, fmstr); if (modifiers) { - forms = cons(format_field(str, modifiers, filter, + forms = cons(format_field(str, fmstr, modifiers, filter, pa_123_1(func_n3(eval), env, form)), rest(forms)); } else { - str = fmt_cat(str, nil); + str = fmt_cat(str, nil, fmstr); forms = cons(filter_string_tree(filter, str), rest(forms)); } @@ -7886,7 +7931,9 @@ void eval_init(void) reg_fun(intern(lit("display-width"), user_package), func_n1(display_width)); reg_fun(intern(lit("fmt-simple"), system_package), func_n5o(fmt_simple, 1)); + reg_fun(intern(lit("fmt-simple-fmstr"), system_package), func_n6o(fmt_simple_fmstr, 1)); reg_fun(intern(lit("fmt-flex"), system_package), func_n2v(fmt_flex)); + reg_fun(intern(lit("fmt-flex-fmstr"), system_package), func_n2v(fmt_flex_fmstr)); reg_fun(intern(lit("fmt-join"), system_package), join_f); reg_fun(intern(lit("join"), user_package), join_f); reg_fun(intern(lit("join-with"), user_package), func_n1v(join_with)); @@ -84,7 +84,8 @@ val eval(val form, val env, val ctx_form); val eval_intrinsic(val form, val env, val menv); val eval_intrinsic_noerr(val form, val env, val *error_p); void trace_check(val name); -val format_field(val string_or_list, val modifier, val filter, val eval_fun); +val format_field(val string_or_list, val fmstr, + val modifier, val filter, val eval_fun); val subst_vars(val forms, val env, val filter); val expand_quasi(val quasi_forms, val menv); void run_load_hooks(val load_dyn_env); diff --git a/lex.yy.c.shipped b/lex.yy.c.shipped index 0f908557..a1d4fef5 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 169 -#define YY_END_OF_BUFFER 170 +#define YY_NUM_RULES 170 +#define YY_END_OF_BUFFER 171 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -356,207 +356,207 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_acclist[1788] = +static const flex_int16_t yy_acclist[1791] = { 0, - 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, 100, 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, 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, 95, 22, 101,16403, 65, 91, - 23, 25,16404, 23,16404, 23, 25,16404, 23,16404, - 23,16404, 1, 2, 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, 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, 100, 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, 93, 2, 10, 5, 6, 7, 10, 8210, - 7, 10, 7, 10, 5, 6, 21,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, 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, 5, 6, 8, - 10, 8211, 8, 10, 10, 8, 10, 10, 10, 10, - 22, 24,16403, 5, 6, 22, 24,16403, 22, 24, - 16403, 22, 24,16403, 24, 22, 24,16403, 24, 22, - 24,16403, 22,16403, 22,16403, 11, 22, 24,16403, - 23, 25,16404, 23, 25,16404, 23, 25,16404, 23, - 25,16404, 8212, 23, 25,16404, 23, 25,16404, 23, - 25,16404, 25, 25, 23, 25,16404, 23,16404, 23, - 16404, 5, 6, 8212, 1, 2, 23, 25,16404, 23, - 25,16404, 9, 5, 6, 9, 9, 9, 2, 9, - - 10, 10, 5, 6, 9, 10, 8212, 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, 107, 107, 105, 105, 105, - 127, 128, 127, 128, 129, 129, 129, 11, 3, 16, - 3, 14, 1, 2, 12, 2, 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, 5, 6, 8, - 8, 5, 6, 22, 24,16403, 22, 24,16403, 22, - 24,16403, 22, 24,16403, 22, 24,16403, 22, 24, - 16403, 24, 24, 24, 24, 22, 24,16403, 22, 24, - 16403, 22, 24,16403, 5, 6, 8, 8211, 8, 8, - 8, 6, 8, 8, 5, 6, 8, 8, 8, 8, - 8, 8, 5, 6, 8, 2, 5, 6, 8, 8211, - 8, 5, 6, 8, 8, 22, 24,16403, 22, 24, - - 16403, 5, 6, 8, 22, 24,16403, 8, 22, 24, - 16403, 24, 22, 24,16403, 22, 24,16403, 22, 24, - 16403, 11, 22, 24,16403, 5, 6, 9, 9, 5, - 6, 23, 25,16404, 23, 25,16404, 23, 25,16404, - 23, 25,16404, 23, 25,16404, 23, 25,16404, 25, - 25, 25, 25, 23, 25,16404, 23, 25,16404, 23, - 25,16404, 5, 6, 9, 8212, 9, 9, 9, 6, - 9, 9, 5, 6, 9, 9, 9, 9, 9, 9, - 5, 6, 9, 2, 5, 6, 9, 8212, 9, 5, - 6, 9, 9, 23, 25,16404, 23, 25,16404, 5, - - 6, 9, 23, 25,16404, 9, 23, 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, 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, 8, 8, 5, - 6, 8, 6, 8, 10, 8, 10, 6, 5, 6, - - 8, 8, 22, 24,16403, 8, 22, 24,16403, 8, - 22, 24,16403, 8, 22, 24,16403, 8, 22, 24, - 16403, 8, 8211, 8, 22, 24,16403, 8, 22, 24, - 16403, 5, 6, 8, 22, 24,16403, 8, 22, 24, - 16403, 8, 22, 24,16403, 8, 22, 24,16403, 8, - 22, 24,16403, 8, 24, 8, 24, 5, 6, 9, - 23, 25,16404, 23, 25,16404, 23, 25,16404, 25, - 9, 9, 6, 9, 9, 9, 9, 9, 5, 6, - 9, 6, 9, 10, 9, 10, 6, 5, 6, 9, - 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,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, 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, 22, 24,16403, - 8, 22, 24,16403, 8, 22, 24,16403, 8, 22, - 24,16403, 8, 22, 24,16403, 8, 8211, 8, 22, + 65, 65, 65, 65, 65, 65, 65, 65, 142, 142, + 142, 142, 153, 153, 167, 167, 171, 117, 170, 118, + 170, 118, 170, 116, 170, 120, 170, 117, 170, 117, + 170, 117, 170, 120, 170, 101, 102, 170, 65, 101, + 102, 170, 87, 170, 87, 101, 102, 170, 66, 101, + 102, 170, 101, 102, 170, 58, 101, 102, 170, 64, + 101, 102, 170, 101, 102, 170, 92, 101, 102, 170, + 88, 101, 102, 170, 1, 2, 21, 101, 102, 170, + 16402, 100, 101, 102, 170, 86, 101, 102, 170, 21, + 101, 102, 170,16402, 58, 101, 102, 170, 101, 102, + + 170, 70, 101, 102, 170, 57, 101, 102, 170, 64, + 101, 102, 170, 102, 170, 102, 170, 102, 170, 102, + 170, 65, 101, 102, 170, 22, 101, 102, 170,16403, + 75, 101, 102, 170, 61, 101, 102, 170, 22, 101, + 102, 170,16403, 61, 101, 102, 170, 92, 101, 102, + 170, 1, 2, 22, 101, 102, 170,16403, 22, 101, + 102, 170,16403, 59, 101, 102, 170, 22, 101, 102, + 170,16403, 62, 101, 102, 170, 102, 170, 102, 170, + 102, 170, 65, 101, 102, 170, 23, 101, 102, 170, + 16404, 75, 101, 102, 170, 23, 101, 102, 170,16404, + + 92, 101, 102, 170, 1, 2, 23, 101, 102, 170, + 16404, 23, 101, 102, 170,16404, 59, 101, 102, 170, + 23, 101, 102, 170,16404, 102, 170, 102, 170, 102, + 170, 114, 115, 170, 114, 115, 170, 108, 170, 108, + 114, 115, 170, 110, 114, 115, 170, 103, 110, 114, + 115, 170, 113, 114, 115, 170, 115, 170, 115, 170, + 115, 170, 115, 170, 109, 170, 109, 114, 115, 170, + 150, 156, 170, 150, 156, 170, 135, 170, 135, 150, + 156, 170, 123, 150, 156, 170, 150, 156, 170, 156, + 170, 156, 170, 156, 170, 156, 170, 134, 150, 156, + + 170, 136, 170, 136, 150, 156, 170, 133, 134, 150, + 156, 170, 133, 134, 150, 156, 170, 133, 134, 150, + 156, 170, 134, 156, 170, 134, 156, 170, 134, 156, + 170, 134, 156, 170, 137, 170, 137, 150, 156, 170, + 141, 150, 156, 170,16523, 150, 156, 170, 124, 150, + 156, 170, 65, 101, 102, 170, 101, 102, 170, 101, + 102, 170, 92, 101, 102, 170, 1, 2, 12, 21, + 101, 102, 170,16402, 59, 101, 102, 170, 101, 102, + 170, 142, 150, 156, 170, 138, 170, 138, 150, 156, + 170, 150, 156, 170, 150, 156, 170, 155, 170, 153, + + 155, 170, 154, 170, 154, 155, 170, 152, 155, 170, + 151, 155, 170, 161, 168, 170, 167, 168, 170, 166, + 170, 166, 168, 170, 162, 165, 168, 170, 161, 168, + 170, 165, 168, 170, 161, 168, 170, 157, 161, 168, + 170, 157, 161, 168, 170, 100, 161, 168, 170, 161, + 168, 170, 161, 168, 170, 161, 168, 170, 164, 165, + 168, 170, 149, 170, 149, 150, 156, 170, 143, 150, + 156, 170, 150, 156, 170, 169, 170, 170, 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, 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, 95, 22, 101,16403, 65, + 91, 23, 25,16404, 23,16404, 23, 25,16404, 23, + 16404, 23,16404, 1, 2, 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, 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, 150, 136, 133, 132, + 133, 132, 133, 137, 8331, 11, 8331, 8331, 140, 126, + 131, 65, 91, 1, 2, 12, 1, 2, 12, 21, + 16402, 142, 138, 128, 128, 131, 153, 154, 161, 167, + 166, 161, 157, 161, 157, 161, 161, 161, 157, 161, + + 100, 161, 161, 161, 161, 163, 149, 148, 144, 148, + 147, 148, 122, 117, 122, 121, 121, 122, 89, 94, + 72, 74, 68, 3, 3, 3, 63, 1, 2, 5, + 6, 7, 7, 7, 93, 2, 10, 5, 6, 7, + 10, 8210, 7, 10, 7, 10, 5, 6, 21,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, 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, 5, + 6, 8, 10, 8211, 8, 10, 10, 8, 10, 10, + 10, 10, 22, 24,16403, 5, 6, 22, 24,16403, + 22, 24,16403, 22, 24,16403, 24, 22, 24,16403, + 24, 22, 24,16403, 22,16403, 22,16403, 11, 22, + 24,16403, 23, 25,16404, 23, 25,16404, 23, 25, + 16404, 23, 25,16404, 8212, 23, 25,16404, 23, 25, + 16404, 23, 25,16404, 25, 25, 23, 25,16404, 23, + 16404, 23,16404, 5, 6, 8212, 1, 2, 23, 25, + 16404, 23, 25,16404, 9, 5, 6, 9, 9, 9, + + 2, 9, 10, 10, 5, 6, 9, 10, 8212, 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, 107, 107, 105, + 105, 105, 127, 128, 127, 128, 129, 129, 129, 11, + 3, 16, 3, 14, 1, 2, 12, 2, 10, 8210, + 128, 128, 84, 161, 83, 161, 157, 161, 161, 157, + 161, 161, 161, 161, 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, 5, + 6, 8, 8, 5, 6, 22, 24,16403, 22, 24, + 16403, 22, 24,16403, 22, 24,16403, 22, 24,16403, + 22, 24,16403, 24, 24, 24, 24, 22, 24,16403, + 22, 24,16403, 22, 24,16403, 5, 6, 8, 8211, + 8, 8, 8, 6, 8, 8, 5, 6, 8, 8, + 8, 8, 8, 8, 5, 6, 8, 2, 5, 6, + 8, 8211, 8, 5, 6, 8, 8, 22, 24,16403, + + 22, 24,16403, 5, 6, 8, 22, 24,16403, 8, + 22, 24,16403, 24, 22, 24,16403, 22, 24,16403, + 22, 24,16403, 11, 22, 24,16403, 5, 6, 9, + 9, 5, 6, 23, 25,16404, 23, 25,16404, 23, + 25,16404, 23, 25,16404, 23, 25,16404, 23, 25, + 16404, 25, 25, 25, 25, 23, 25,16404, 23, 25, + 16404, 23, 25,16404, 5, 6, 9, 8212, 9, 9, + 9, 6, 9, 9, 5, 6, 9, 9, 9, 9, + 9, 9, 5, 6, 9, 2, 5, 6, 9, 8212, + 9, 5, 6, 9, 9, 23, 25,16404, 23, 25, + + 16404, 5, 6, 9, 23, 25,16404, 9, 23, 25, + 16404, 25, 23, 25,16404, 23, 25,16404, 23, 25, + 16404, 17, 15, 13, 11, 23, 25,16404,16523, 3, + 4, 16, 3, 4, 14, 2, 161, 161, 161, 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, + 8, 8, 5, 6, 8, 6, 8, 10, 8, 10, + + 6, 5, 6, 8, 8, 22, 24,16403, 8, 22, 24,16403, 8, 22, 24,16403, 8, 22, 24,16403, + 8, 22, 24,16403, 8, 8211, 8, 22, 24,16403, + 8, 22, 24,16403, 5, 6, 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,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, 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, 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 + 24,16403, 8, 22, 24,16403, 8, 24, 8, 24, + 5, 6, 9, 23, 25,16404, 23, 25,16404, 23, + 25,16404, 25, 9, 9, 6, 9, 9, 9, 9, + 9, 5, 6, 9, 6, 9, 10, 9, 10, 6, + 5, 6, 9, 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,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, 161, + 160, 158, 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, + 22, 24,16403, 8, 22, 24,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,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, 159, 146, 146, 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, 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, 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, 145 } ; -static const flex_int16_t yy_accept[1766] = +static const flex_int16_t yy_accept[1775] = { 0, 1, 1, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, @@ -571,187 +571,188 @@ static const flex_int16_t yy_accept[1766] = 257, 259, 261, 263, 265, 267, 271, 274, 277, 279, 283, 287, 290, 292, 294, 296, 298, 302, 304, 308, - 313, 318, 323, 326, 329, 332, 335, 337, 341, 345, - 348, 352, 356, 359, 362, 366, 374, 378, 381, 385, - 387, 391, 394, 397, 399, 402, 404, 407, 410, 413, - 416, 419, 421, 424, 428, 431, 434, 437, 441, 445, - 449, 452, 455, 458, 462, 464, 468, 472, 475, 477, - 478, 479, 480, 481, 482, 483, 484, 484, 485, 486, - 487, 488, 489, 489, 490, 491, 491, 492, 492, 493, - 494, 494, 495, 496, 497, 497, 497, 497, 497, 497, - - 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, - 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, - 497, 497, 497, 499, 500, 502, 503, 503, 503, 507, - 509, 511, 512, 512, 513, 514, 516, 518, 520, 522, - 523, 523, 523, 524, 524, 525, 525, 528, 530, 530, - 533, 533, 535, 535, 535, 535, 535, 537, 538, 539, - 540, 541, 542, 543, 544, 544, 549, 550, 552, 552, - 552, 557, 560, 563, 565, 566, 568, 568, 568, 568, - 570, 570, 572, 575, 575, 575, 575, 576, 579, 579, - 579, 580, 580, 581, 581, 584, 586, 586, 589, 589, - - 591, 591, 591, 591, 593, 593, 598, 599, 601, 601, - 601, 606, 609, 612, 614, 615, 617, 617, 617, 617, - 619, 619, 621, 624, 624, 624, 624, 627, 627, 627, - 627, 627, 628, 629, 630, 632, 634, 636, 638, 640, - 641, 642, 642, 642, 643, 643, 643, 644, 645, 647, - 650, 652, 654, 656, 657, 657, 657, 658, 659, 661, - 663, 664, 664, 665, 665, 667, 668, 670, 671, 672, - 672, 672, 675, 675, 675, 680, 680, 681, 681, 682, - 683, 685, 686, 687, 688, 689, 690, 691, 693, 695, - 696, 697, 699, 701, 702, 703, 704, 705, 706, 707, - - 709, 711, 712, 713, 714, 715, 717, 718, 719, 719, - 719, 719, 719, 720, 721, 722, 722, 723, 723, 724, - 724, 725, 725, 725, 725, 725, 725, 725, 725, 725, - 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, - 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, - 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, - 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, - 726, 726, 728, 728, 728, 731, 732, 733, 734, 735, - 736, 741, 743, 745, 745, 749, 750, 751, 752, 753, - 754, 754, 754, 754, 754, 754, 754, 757, 760, 763, - - 766, 766, 766, 766, 767, 770, 773, 776, 776, 776, - 776, 777, 777, 778, 778, 778, 778, 778, 778, 779, - 780, 783, 785, 787, 787, 787, 787, 790, 795, 798, - 799, 799, 799, 799, 802, 803, 803, 804, 804, 804, - 804, 805, 807, 808, 813, 815, 816, 818, 819, 820, - 821, 824, 829, 832, 835, 836, 839, 839, 839, 839, - 840, 840, 840, 840, 840, 840, 843, 845, 847, 847, - 847, 847, 851, 851, 851, 851, 851, 851, 851, 851, - 851, 854, 857, 860, 863, 863, 863, 863, 864, 867, - 870, 873, 873, 873, 873, 874, 874, 875, 875, 875, - - 875, 875, 875, 878, 880, 882, 882, 882, 882, 885, - 890, 893, 894, 894, 894, 894, 897, 898, 898, 899, - 899, 899, 899, 900, 902, 903, 908, 910, 911, 913, - 914, 915, 916, 919, 924, 927, 930, 931, 934, 934, - 934, 934, 935, 935, 935, 935, 935, 935, 938, 940, - 942, 942, 942, 942, 942, 942, 942, 946, 946, 946, - 946, 947, 948, 949, 950, 951, 951, 953, 955, 956, - 957, 958, 958, 959, 959, 961, 961, 963, 963, 966, - 967, 969, 970, 971, 973, 975, 977, 978, 980, 981, - 982, 983, 983, 983, 984, 984, 987, 988, 990, 990, - - 992, 993, 993, 995, 995, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 998, 999, - 1000, 1001, 1002, 1003, 1003, 1003, 1003, 1003, 1003, 1004, - 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1008, 1009, - 1009, 1012, 1012, 1013, 1013, 1017, 1020, 1020, 1025, 1028, - 1028, 1031, 1032, 1032, 1034, 1037, 1040, 1043, 1043, 1043, - 1043, 1043, 1043, 1046, 1049, 1052, 1052, 1052, 1052, 1052, - - 1052, 1053, 1054, 1055, 1055, 1055, 1055, 1056, 1056, 1056, - 1056, 1056, 1056, 1056, 1059, 1062, 1065, 1065, 1065, 1065, - 1065, 1065, 1069, 1070, 1071, 1071, 1071, 1071, 1072, 1073, - 1074, 1075, 1078, 1079, 1080, 1080, 1080, 1080, 1081, 1081, - 1081, 1081, 1082, 1082, 1082, 1082, 1083, 1086, 1086, 1086, - 1086, 1087, 1087, 1091, 1092, 1095, 1099, 1102, 1102, 1108, - 1112, 1112, 1112, 1112, 1112, 1113, 1113, 1113, 1113, 1113, - 1113, 1113, 1113, 1113, 1116, 1119, 1122, 1122, 1122, 1122, - 1122, 1122, 1126, 1126, 1126, 1129, 1130, 1130, 1132, 1135, - 1138, 1141, 1141, 1141, 1141, 1141, 1141, 1144, 1147, 1150, - - 1150, 1150, 1150, 1150, 1150, 1151, 1152, 1153, 1153, 1153, - 1153, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1157, 1160, - 1163, 1163, 1163, 1163, 1163, 1163, 1167, 1168, 1169, 1169, - 1169, 1169, 1170, 1171, 1172, 1173, 1176, 1177, 1178, 1178, - 1178, 1178, 1179, 1179, 1179, 1179, 1180, 1180, 1180, 1180, - 1181, 1184, 1184, 1184, 1184, 1185, 1185, 1189, 1190, 1193, - 1197, 1200, 1200, 1206, 1210, 1210, 1210, 1210, 1210, 1211, - 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1214, 1217, - 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1221, 1221, 1222, - 1222, 1223, 1227, 1227, 1230, 1233, 1234, 1235, 1236, 1237, - - 1237, 1237, 1237, 1237, 1238, 1239, 1240, 1240, 1240, 1240, - 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, - 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, - 1240, 1240, 1240, 1240, 1240, 1241, 1241, 1242, 1242, 1242, - 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1243, 1243, - 1243, 1243, 1243, 1243, 1244, 1245, 1246, 1246, 1247, 1248, - 1249, 1249, 1249, 1249, 1250, 1251, 1252, 1252, 1253, 1254, - 1255, 1255, 1255, 1255, 1256, 1256, 1258, 1259, 1261, 1264, - 1266, 1266, 1267, 1269, 1269, 1269, 1272, 1275, 1278, 1281, - 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1282, - - 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, - 1282, 1283, 1283, 1283, 1283, 1283, 1283, 1284, 1284, 1284, - 1284, 1286, 1287, 1288, 1288, 1288, 1288, 1288, 1288, 1288, - 1288, 1289, 1290, 1290, 1290, 1290, 1290, 1290, 1293, 1293, - 1296, 1298, 1298, 1299, 1302, 1306, 1310, 1314, 1318, 1318, - 1318, 1318, 1322, 1324, 1328, 1332, 1338, 1342, 1342, 1342, - 1342, 1346, 1350, 1354, 1354, 1354, 1354, 1356, 1356, 1358, - 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, - 1358, 1358, 1358, 1358, 1361, 1364, 1367, 1370, 1370, 1370, - 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1371, 1371, 1371, - - 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1372, - 1372, 1372, 1372, 1372, 1372, 1373, 1373, 1373, 1373, 1375, - 1376, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1378, - 1379, 1379, 1379, 1379, 1379, 1379, 1382, 1382, 1385, 1387, - 1387, 1388, 1391, 1395, 1399, 1403, 1407, 1407, 1407, 1407, - 1411, 1413, 1417, 1421, 1427, 1431, 1431, 1431, 1431, 1435, - 1439, 1443, 1443, 1443, 1443, 1445, 1445, 1447, 1447, 1447, - 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, - 1448, 1449, 1450, 1450, 1450, 1452, 1453, 1453, 1453, 1453, - 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, - - 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, - 1453, 1453, 1453, 1454, 1455, 1456, 1456, 1457, 1458, 1459, - 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1465, 1466, 1466, - 1466, 1466, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1472, - 1472, 1472, 1473, 1473, 1474, 1475, 1476, 1477, 1478, 1479, - 1479, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1485, 1485, - 1487, 1489, 1491, 1492, 1492, 1492, 1492, 1492, 1492, 1492, - 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1494, 1495, - 1496, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1499, - 1501, 1503, 1507, 1511, 1515, 1515, 1515, 1515, 1515, 1515, - - 1519, 1523, 1527, 1527, 1527, 1527, 1529, 1533, 1537, 1541, - 1541, 1541, 1541, 1541, 1541, 1545, 1549, 1553, 1553, 1553, - 1553, 1553, 1553, 1555, 1557, 1559, 1559, 1559, 1559, 1561, - 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1563, 1564, - 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, - 1564, 1564, 1564, 1564, 1566, 1567, 1568, 1570, 1570, 1570, - 1570, 1570, 1570, 1570, 1570, 1571, 1573, 1575, 1579, 1583, - 1587, 1587, 1587, 1587, 1587, 1587, 1591, 1595, 1599, 1599, - 1599, 1599, 1601, 1605, 1609, 1613, 1613, 1613, 1613, 1613, - 1613, 1617, 1621, 1625, 1625, 1625, 1625, 1625, 1625, 1627, - - 1629, 1631, 1631, 1631, 1631, 1633, 1633, 1633, 1633, 1633, - 1633, 1633, 1633, 1633, 1634, 1635, 1636, 1636, 1636, 1636, - 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, - 1636, 1636, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1642, - 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1649, 1649, 1649, - 1649, 1650, 1650, 1650, 1651, 1651, 1651, 1652, 1652, 1652, - 1652, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1659, - 1659, 1659, 1659, 1661, 1661, 1661, 1663, 1667, 1671, 1675, - 1675, 1675, 1675, 1675, 1675, 1675, 1679, 1683, 1687, 1687, - 1687, 1687, 1687, 1687, 1691, 1695, 1699, 1699, 1699, 1699, - - 1699, 1699, 1699, 1699, 1699, 1699, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1703, - 1703, 1703, 1705, 1709, 1713, 1717, 1717, 1717, 1717, 1717, - 1717, 1717, 1721, 1725, 1729, 1729, 1729, 1729, 1729, 1729, - 1733, 1737, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, - 1741, 1741, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, - 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, - 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1749, 1750, 1751, - 1752, 1753, 1754, 1755, 1755, 1756, 1757, 1758, 1759, 1760, - 1761, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, - - 1770, 1771, 1772, 1773, 1773, 1774, 1774, 1774, 1774, 1774, - 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, - 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, - 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1775, 1776, - 1777, 1778, 1779, 1780, 1780, 1781, 1782, 1783, 1784, 1785, - 1786, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, - 1787, 1787, 1787, 1788, 1788 + 313, 318, 323, 326, 329, 332, 335, 337, 341, 346, + 349, 353, 357, 360, 363, 367, 375, 379, 382, 386, + 388, 392, 395, 398, 400, 403, 405, 408, 411, 414, + 417, 420, 422, 425, 429, 432, 435, 438, 442, 446, + 450, 453, 456, 459, 463, 465, 469, 473, 476, 478, + 479, 480, 481, 482, 483, 484, 485, 485, 486, 487, + 488, 489, 490, 490, 491, 492, 492, 493, 493, 494, + 495, 495, 496, 497, 498, 498, 498, 498, 498, 498, + + 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, + 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, + 498, 498, 498, 500, 501, 503, 504, 504, 504, 508, + 510, 512, 513, 513, 514, 515, 517, 519, 521, 523, + 524, 524, 524, 525, 525, 526, 526, 529, 531, 531, + 534, 534, 536, 536, 536, 536, 536, 538, 539, 540, + 541, 542, 543, 544, 545, 545, 550, 551, 553, 553, + 553, 558, 561, 564, 566, 567, 569, 569, 569, 569, + 571, 571, 573, 576, 576, 576, 576, 577, 580, 580, + 580, 581, 581, 582, 582, 585, 587, 587, 590, 590, + + 592, 592, 592, 592, 594, 594, 599, 600, 602, 602, + 602, 607, 610, 613, 615, 616, 618, 618, 618, 618, + 620, 620, 622, 625, 625, 625, 625, 628, 628, 628, + 628, 628, 629, 630, 631, 633, 635, 637, 639, 641, + 642, 643, 643, 643, 644, 644, 644, 645, 646, 648, + 651, 653, 655, 657, 658, 658, 658, 659, 660, 662, + 664, 665, 665, 666, 666, 668, 669, 670, 672, 673, + 674, 674, 674, 677, 677, 677, 682, 682, 683, 683, + 684, 685, 687, 688, 689, 690, 691, 692, 693, 695, + 697, 698, 699, 701, 703, 704, 705, 706, 707, 708, + + 709, 711, 713, 714, 715, 716, 717, 719, 720, 721, + 721, 721, 721, 721, 722, 723, 724, 724, 725, 725, + 726, 726, 727, 727, 727, 727, 727, 727, 727, 727, + 727, 727, 727, 727, 727, 727, 727, 727, 727, 727, + 727, 727, 727, 727, 727, 727, 727, 727, 727, 727, + 727, 727, 727, 727, 727, 727, 727, 727, 727, 727, + 727, 727, 727, 727, 727, 727, 727, 727, 727, 727, + 727, 728, 728, 730, 730, 730, 733, 734, 735, 736, + 737, 738, 743, 745, 747, 747, 751, 752, 753, 754, + 755, 756, 756, 756, 756, 756, 756, 756, 759, 762, + + 765, 768, 768, 768, 768, 769, 772, 775, 778, 778, + 778, 778, 779, 779, 780, 780, 780, 780, 780, 780, + 781, 782, 785, 787, 789, 789, 789, 789, 792, 797, + 800, 801, 801, 801, 801, 804, 805, 805, 806, 806, + 806, 806, 807, 809, 810, 815, 817, 818, 820, 821, + 822, 823, 826, 831, 834, 837, 838, 841, 841, 841, + 841, 842, 842, 842, 842, 842, 842, 845, 847, 849, + 849, 849, 849, 853, 853, 853, 853, 853, 853, 853, + 853, 853, 856, 859, 862, 865, 865, 865, 865, 866, + 869, 872, 875, 875, 875, 875, 876, 876, 877, 877, + + 877, 877, 877, 877, 880, 882, 884, 884, 884, 884, + 887, 892, 895, 896, 896, 896, 896, 899, 900, 900, + 901, 901, 901, 901, 902, 904, 905, 910, 912, 913, + 915, 916, 917, 918, 921, 926, 929, 932, 933, 936, + 936, 936, 936, 937, 937, 937, 937, 937, 937, 940, + 942, 944, 944, 944, 944, 944, 944, 944, 948, 948, + 948, 948, 949, 950, 951, 952, 953, 953, 955, 957, + 958, 959, 960, 960, 961, 961, 961, 961, 961, 961, + 963, 963, 965, 965, 968, 969, 971, 972, 973, 975, + 977, 979, 980, 982, 983, 984, 985, 985, 985, 986, + + 986, 989, 990, 992, 992, 994, 995, 995, 997, 997, + 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, + 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, + 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, + 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, + 999, 999, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1005, + 1005, 1005, 1005, 1005, 1006, 1006, 1006, 1006, 1006, 1006, + 1006, 1006, 1006, 1010, 1011, 1011, 1014, 1014, 1015, 1015, + 1019, 1022, 1022, 1027, 1030, 1030, 1033, 1034, 1034, 1036, + 1039, 1042, 1045, 1045, 1045, 1045, 1045, 1045, 1048, 1051, + + 1054, 1054, 1054, 1054, 1054, 1054, 1055, 1056, 1057, 1057, + 1057, 1057, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1061, + 1064, 1067, 1067, 1067, 1067, 1067, 1067, 1071, 1072, 1073, + 1073, 1073, 1073, 1074, 1075, 1076, 1077, 1080, 1081, 1082, + 1082, 1082, 1082, 1083, 1083, 1083, 1083, 1084, 1084, 1084, + 1084, 1085, 1088, 1088, 1088, 1088, 1089, 1089, 1093, 1094, + 1097, 1101, 1104, 1104, 1110, 1114, 1114, 1114, 1114, 1114, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1118, + 1121, 1124, 1124, 1124, 1124, 1124, 1124, 1128, 1128, 1128, + 1131, 1132, 1132, 1134, 1137, 1140, 1143, 1143, 1143, 1143, + + 1143, 1143, 1146, 1149, 1152, 1152, 1152, 1152, 1152, 1152, + 1153, 1154, 1155, 1155, 1155, 1155, 1156, 1156, 1156, 1156, + 1156, 1156, 1156, 1159, 1162, 1165, 1165, 1165, 1165, 1165, + 1165, 1169, 1170, 1171, 1171, 1171, 1171, 1172, 1173, 1174, + 1175, 1178, 1179, 1180, 1180, 1180, 1180, 1181, 1181, 1181, + 1181, 1182, 1182, 1182, 1182, 1183, 1186, 1186, 1186, 1186, + 1187, 1187, 1191, 1192, 1195, 1199, 1202, 1202, 1208, 1212, + 1212, 1212, 1212, 1212, 1213, 1213, 1213, 1213, 1213, 1213, + 1213, 1213, 1213, 1216, 1219, 1222, 1222, 1222, 1222, 1222, + 1222, 1222, 1223, 1223, 1224, 1224, 1225, 1229, 1229, 1229, + + 1229, 1229, 1230, 1233, 1236, 1237, 1238, 1239, 1240, 1240, + 1240, 1240, 1240, 1241, 1242, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1244, 1244, 1245, 1245, 1245, 1245, + 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1246, 1246, 1246, + 1246, 1246, 1246, 1247, 1248, 1249, 1249, 1250, 1251, 1252, + 1252, 1252, 1252, 1253, 1254, 1255, 1255, 1256, 1257, 1258, + 1258, 1258, 1258, 1259, 1259, 1261, 1262, 1264, 1267, 1269, + 1269, 1270, 1272, 1272, 1272, 1275, 1278, 1281, 1284, 1284, + + 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1285, 1285, + 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, + 1286, 1286, 1286, 1286, 1286, 1286, 1287, 1287, 1287, 1287, + 1289, 1290, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, + 1292, 1293, 1293, 1293, 1293, 1293, 1293, 1296, 1296, 1299, + 1301, 1301, 1302, 1305, 1309, 1313, 1317, 1321, 1321, 1321, + 1321, 1325, 1327, 1331, 1335, 1341, 1345, 1345, 1345, 1345, + 1349, 1353, 1357, 1357, 1357, 1357, 1359, 1359, 1361, 1361, + 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, + 1361, 1361, 1361, 1364, 1367, 1370, 1373, 1373, 1373, 1373, + + 1373, 1373, 1373, 1373, 1373, 1373, 1374, 1374, 1374, 1374, + 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1375, 1375, + 1375, 1375, 1375, 1375, 1376, 1376, 1376, 1376, 1378, 1379, + 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1381, 1382, + 1382, 1382, 1382, 1382, 1382, 1385, 1385, 1388, 1390, 1390, + 1391, 1394, 1398, 1402, 1406, 1410, 1410, 1410, 1410, 1414, + 1416, 1420, 1424, 1430, 1434, 1434, 1434, 1434, 1438, 1442, + 1446, 1446, 1446, 1446, 1448, 1448, 1450, 1450, 1450, 1450, + 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1451, + 1452, 1453, 1453, 1453, 1455, 1456, 1456, 1456, 1456, 1456, + + 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, + 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, + 1456, 1456, 1457, 1458, 1459, 1459, 1460, 1461, 1462, 1462, + 1463, 1464, 1465, 1466, 1467, 1468, 1468, 1469, 1469, 1469, + 1469, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1475, 1475, + 1475, 1476, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1482, + 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1488, 1488, 1490, + 1492, 1494, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, + 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1497, 1498, 1499, + 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1502, 1504, + + 1506, 1510, 1514, 1518, 1518, 1518, 1518, 1518, 1518, 1522, + 1526, 1530, 1530, 1530, 1530, 1532, 1536, 1540, 1544, 1544, + 1544, 1544, 1544, 1544, 1548, 1552, 1556, 1556, 1556, 1556, + 1556, 1556, 1558, 1560, 1562, 1562, 1562, 1562, 1564, 1564, + 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1566, 1567, 1567, + 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, + 1567, 1567, 1567, 1569, 1570, 1571, 1573, 1573, 1573, 1573, + 1573, 1573, 1573, 1573, 1574, 1576, 1578, 1582, 1586, 1590, + 1590, 1590, 1590, 1590, 1590, 1594, 1598, 1602, 1602, 1602, + 1602, 1604, 1608, 1612, 1616, 1616, 1616, 1616, 1616, 1616, + + 1620, 1624, 1628, 1628, 1628, 1628, 1628, 1628, 1630, 1632, + 1634, 1634, 1634, 1634, 1636, 1636, 1636, 1636, 1636, 1636, + 1636, 1636, 1636, 1637, 1638, 1639, 1639, 1639, 1639, 1639, + 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, + 1639, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1645, 1646, + 1647, 1648, 1649, 1650, 1651, 1652, 1652, 1652, 1652, 1652, + 1653, 1653, 1653, 1654, 1654, 1654, 1655, 1655, 1655, 1655, + 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1662, 1662, + 1662, 1662, 1664, 1664, 1664, 1666, 1670, 1674, 1678, 1678, + 1678, 1678, 1678, 1678, 1678, 1682, 1686, 1690, 1690, 1690, + + 1690, 1690, 1690, 1694, 1698, 1702, 1702, 1702, 1702, 1702, + 1702, 1702, 1702, 1702, 1702, 1704, 1704, 1704, 1704, 1704, + 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1706, 1706, + 1706, 1708, 1712, 1716, 1720, 1720, 1720, 1720, 1720, 1720, + 1720, 1724, 1728, 1732, 1732, 1732, 1732, 1732, 1732, 1736, + 1740, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, + 1744, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, + 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, + 1747, 1748, 1749, 1750, 1751, 1752, 1752, 1753, 1754, 1755, + 1756, 1757, 1758, 1758, 1759, 1760, 1761, 1762, 1763, 1764, + + 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, + 1774, 1775, 1776, 1776, 1777, 1777, 1777, 1777, 1777, 1777, + 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, + 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, + 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1778, 1779, 1780, + 1781, 1782, 1783, 1783, 1784, 1785, 1786, 1787, 1788, 1789, + 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, + 1790, 1790, 1791, 1791 } ; static const YY_CHAR yy_ec[256] = @@ -761,1987 +762,2108 @@ static const YY_CHAR yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 7, 8, 6, 9, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 21, 21, 21, 21, 21, 22, 22, 23, 24, 6, - 25, 6, 26, 27, 28, 28, 29, 30, 31, 29, - 32, 33, 32, 34, 32, 32, 32, 35, 32, 32, - 32, 36, 37, 38, 32, 32, 39, 32, 32, 32, - 40, 41, 42, 43, 32, 44, 45, 46, 47, 48, - - 49, 50, 51, 52, 53, 32, 54, 55, 56, 57, - 58, 59, 32, 60, 61, 62, 63, 64, 39, 65, - 66, 32, 67, 9, 68, 69, 1, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 71, 71, 72, 72, 72, 72, 72, 72, 72, - + 21, 21, 21, 21, 21, 22, 22, 23, 24, 25, + 26, 25, 27, 28, 29, 29, 30, 31, 32, 30, + 33, 34, 33, 35, 33, 33, 33, 36, 33, 33, + 33, 37, 38, 39, 33, 33, 40, 41, 33, 33, + 42, 43, 44, 45, 33, 46, 47, 48, 49, 50, + + 51, 52, 53, 54, 55, 33, 56, 57, 58, 59, + 60, 61, 33, 62, 63, 64, 65, 66, 40, 67, + 68, 33, 69, 9, 70, 71, 1, 72, 72, 72, + 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, + 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 74, - 74, 74, 74, 74, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71 + 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, + 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, + 72, 73, 73, 74, 74, 74, 74, 74, 74, 74, + + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 76, + 76, 76, 76, 76, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73 } ; -static const YY_CHAR yy_meta[75] = +static const YY_CHAR yy_meta[77] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 6, 9, 10, 2, 11, 12, 13, 12, 14, 15, 16, 16, - 16, 16, 17, 18, 6, 6, 19, 16, 16, 16, - 16, 20, 20, 20, 20, 20, 20, 20, 20, 10, - 6, 7, 21, 1, 16, 16, 16, 16, 22, 16, - 20, 20, 20, 20, 23, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 10, 7, 11, 1, - 1, 24, 24, 24 + 16, 16, 17, 18, 19, 6, 6, 20, 21, 21, + 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, + 23, 10, 6, 7, 24, 1, 16, 16, 21, 16, + 25, 16, 22, 22, 23, 22, 26, 22, 22, 23, + 23, 22, 23, 22, 22, 22, 23, 22, 10, 7, + 27, 1, 1, 28, 28, 28 } ; -static const flex_int16_t yy_base[2030] = +static const flex_int16_t yy_base[2044] = { 0, - 0, 3, 77, 0, 151, 0, 225, 0, 298, 371, - 6, 8, 345, 351, 445, 0, 518, 591, 664, 0, - 357, 527, 706, 779, 852, 901, 950, 1018, 532, 537, - 5918, 5917, 5919, 232,13343, 5911, 5904, 11, 247, 253, - 258, 12,13343, 24,13343, 5905,13343, 612, 1086, 5887, - 30, 37,13343, 532, 0,13343, 6,13343, 1158,13343, - 13343,13343,13343, 5833, 5829, 5828, 388, 616, 1217,13343, - 1275, 5881, 12, 681, 696, 721, 563,13343, 5821, 5817, - 5816, 555, 728, 5853, 1342, 629, 741, 791, 805, 826, - 5798, 5797, 5791,13343, 13,13343, 5857,13343,13343, 1416, - - 13343, 5787, 5778, 5771,13343, 5835,13343, 340,13343, 5831, - 13343, 1488,13343, 5762, 5760, 5753,13343,13343, 5819, 0, - 41, 1535,13343, 5751, 5746, 5738,13343, 5789, 1578, 1643, - 13343, 361, 708, 45, 331, 417, 5780, 65, 394,13343, - 5784, 521, 67,13343, 332,13343, 5782,13343,13343, 0, - 339,13343, 5776,13343, 593,13343, 601, 611, 893, 1707, - 5733, 5713, 5710, 5751,13343, 5760,13343, 918,13343,13343, - 454, 644, 715, 737,13343, 5755, 883, 0,13343, 564, - 763, 768, 932, 391, 982, 873, 989, 1028,13343,13343, - 370,13343,13343,13343, 969, 1050, 39, 0, 621, 1732, - - 1159, 1170, 1204, 983, 1234, 1173, 794, 1198, 1056, 1241, - 1251, 1256, 1264, 1261, 1298, 1280, 1303, 5688, 5683, 5682, - 839, 897, 1149, 341, 1168, 398, 1190, 1795, 1324, 541, - 1367, 0, 1032,13343, 541, 624,13343, 1371, 0,13343, - 5680, 5679, 1391, 1380, 1247, 1482, 1497, 1587, 1062, 1599, - 1488, 1659, 5678, 5667, 5664, 1522, 1698,13343,13343,13343, - 13343,13343,13343,13343, 1153, 1862,13343, 1929, 1497, 2003, - 0, 1737, 1889, 1896, 724, 2070, 5658, 5656, 5648, 2073, - 5688, 2140, 0, 5639, 5638, 5637, 722, 2078, 5627, 5625, - 1615, 1506, 1743, 1879, 2081, 2106, 1553, 2148, 1583, 2165, - - 5618, 5613, 5611, 2173, 1557, 2240,13343, 2307, 1659, 2381, - 0, 2209, 2226, 2267, 731, 2274, 5593, 5589, 5585, 2448, - 1544, 2515, 0, 5584, 5582, 5581, 2453, 5580, 5574, 726, - 534,13343,13343, 559, 884,13343,13343, 1604,13343, 0, - 13343, 5572, 5548,13343, 936, 583,13343,13343, 652, 1011, - 13343, 1619, 0,13343, 5544, 5540,13343, 0, 907, 2571, - 13343, 641,13343, 1675, 1707, 0,13343, 1189, 666, 1181, - 631, 1905, 1952, 1715, 1960, 5562, 1022, 613,13343, 671, - 1071, 810,13343, 0, 1060,13343, 1968, 715, 2063, 1852, - 1978, 2184, 2620, 5549, 5543, 5533,13343,13343,13343,13343, - - 690, 0, 1024, 637,13343, 771, 1088,13343, 2115, 2257, - 2462, 2106,13343,13343,13343, 772, 924, 1347, 1359, 0, - 2675, 1857, 5519, 5514, 5511, 702, 5517, 277, 5520, 1556, - 5509, 5516, 5508, 5512, 375, 5440, 1050, 5415, 5424, 255, - 5405, 5398, 1885, 1869, 2247, 1892, 2279, 2213, 2145, 2270, - 2286, 2302, 2435, 2293, 2725, 2440, 2444, 2467, 2471, 2572, - 2506, 2524, 2580, 2476, 2538, 2480, 2585, 5381, 5370, 1964, - 2799, 2649, 2342, 0, 2662, 0, 2543, 1151, 2724,13343, - 2119, 0, 2693, 2165, 2351, 2466, 1152, 1719,13343, 5412, - 5355, 2550, 2738, 2866, 2860, 2756, 2875, 2887, 2899, 2927, - - 5353, 5351, 5348, 2585, 2935, 2959, 2967, 5341, 5339, 5328, - 2708, 5372, 1814, 5317, 5315, 5307, 5302, 5300,13343,13343, - 2995, 3003, 3020, 5295, 5294, 5288, 3087, 3154, 3034, 2600, - 5333, 2764, 2628, 3221, 2037, 2923, 3065, 5281, 5279, 5267, - 3100, 2715, 5313, 3288, 2045, 2943, 3132, 5260, 5249, 5248, - 3167, 3355, 3194, 3207, 2125, 3248, 5238, 5228, 5227, 2137, - 5224, 5222, 5221, 5215, 5213, 3255, 3315, 3322, 5209, 5208, - 5199, 3422, 5198, 5195, 5192, 2742, 3051, 3489, 3238, 3113, - 3327, 3363, 3395, 3449, 5191, 5187, 5185, 3038, 3456, 3463, - 3516, 5181, 5163, 5161, 3120, 5207, 2178, 5159, 5156, 5152, - - 5146, 5143, 3523, 3537, 3548, 5138, 5130, 5118, 3615, 3682, - 3439, 2855, 5159, 3389, 3212, 3749, 2192, 3093, 3584, 5105, - 5104, 5098, 3483, 2883, 5143, 3816, 2200, 3294, 3646, 5086, - 5084, 5082, 3628, 3883, 3655, 3668, 2400, 3709, 5080, 5078, - 5072, 2432, 5070, 5069, 5067, 5060, 5059, 3716, 3776, 3783, - 5054, 5053, 5047, 1697, 2880, 919, 3950, 5033, 5027, 5025, - 1401, 1179, 2562,13343, 5063, 5013, 1649, 1283, 2900,13343, - 5057, 5010, 3077, 2594, 2609, 0, 4010, 0, 3404, 3557, - 3104, 1663, 1299, 0, 0, 3563, 3188, 3394, 5010, 5014, - 5012, 0, 2621,13343, 3729, 3796, 3847, 2160, 1976, 2087, - - 5045, 2968, 3004, 5034, 4042, 4978, 4973, 4983, 4986, 4974, - 770, 4971, 4973, 4976, 489, 4966, 4976, 1260, 4961, 0, - 4958, 4952, 4966, 4954, 1534, 4947, 4943, 4944, 4943, 4941, - 4924, 4926, 3802, 3875, 3906, 3910, 3915, 3923, 3963, 3938, - 4003, 4081, 4094, 3929, 4098, 4103, 4111,13343, 4117, 4147, - 4912, 4852, 4832, 4139, 4176, 4250, 4214, 2230,13343, 4223, - 4279, 4353, 4327, 4336, 4314, 4369, 4831, 3864, 3595, 3412, - 4027, 4443, 4116, 4220, 3548, 2319, 4250, 4210, 4879, 4503, - 4545, 4517, 3632, 4524, 4578, 4585, 4599, 4825, 4818, 4817, - 4809, 4808, 4606, 4617, 4638, 4807, 4806, 4801, 4797, 4787, - - 3722, 4236, 2576, 4786, 4779, 4777, 2645, 4772, 4771, 4756, - 4754, 4752, 4751, 4659, 4676, 4697, 4748, 4746, 4744, 4742, - 4732, 4764, 2962, 2839, 4731, 4730, 4724, 2860, 4831, 3039, - 3068, 3832, 2891, 4737, 4723, 4722, 4712, 2907, 4710, 4707, - 4706, 4339, 4705, 4704, 4703, 4507, 4617, 4698, 4697, 4905, - 4706, 4314, 0, 4724, 4784, 4800, 4817, 4844, 4972, 4979, - 4086, 4693, 4692, 4691, 2919, 4684, 4682, 4672, 4671, 4668, - 4664, 4660, 4659, 4990, 4993, 5004, 4652, 4647, 4646, 4643, - 4634, 5071, 4631, 5053, 5138, 5090, 3851, 5099, 5124, 5162, - 5176, 4628, 4627, 4622, 4618, 4617, 5198, 5201, 5215, 4615, - - 4607, 4605, 4604, 4600, 4361, 4692, 2932, 4599, 4598, 4586, - 3084, 4584, 4583, 4573, 4571, 4565, 4561, 5237, 5259, 5273, - 4560, 4554, 4550, 4545, 4541, 5340, 3127, 3106, 4539, 4536, - 4534, 3140, 5407, 3173, 3274, 4046, 3159, 5301, 4529, 4522, - 4517, 3216, 4513, 4512, 4503, 4812, 4501, 4500, 4499, 4809, - 5319, 4493, 4491, 5481, 5371, 4878, 0, 5306, 5386, 5548, - 5551, 5422, 5618, 5556, 4317, 4485, 4480, 4479, 3227, 4478, - 4472, 4465, 4451, 4449, 4390, 4370, 4362, 5559, 5584, 5626, - 4361, 4349, 4345, 4344, 4337, 850, 856, 3293, 3305, 0, - 0, 5693, 4336, 3336, 5753, 5020, 4354, 5802, 5870, 0, - - 0, 4687, 5645, 2174, 3364, 5921, 4328, 2306, 2457, 4347, - 4334, 4328, 4315, 4317, 4313, 4299, 4297, 4265, 2673, 4270, - 4246, 4254, 4242, 4257, 4234, 4234, 4221, 4224, 4219, 4205, - 4198, 3040, 4192, 3249,13343, 3271,13343, 3601, 4344, 3756, - 4622, 5971, 4590, 6045, 5666, 3374, 3331,13343, 5027, 4716, - 3689, 6119, 4796,13343, 4356, 6149, 4985, 4173, 4168, 4163, - 5670, 5062, 6212,13343, 4982, 0, 5104, 4153, 4151, 4150, - 5240, 6286, 3472,13343, 5280, 5702, 5285, 4537, 0, 5438, - 4059, 4964, 4279, 6353, 5710, 6420, 5763, 5816, 5823, 4148, - 4145, 4116, 4112, 4110, 4109, 4104, 4103, 4099, 3319, 4091, - - 4087, 4080, 4079, 4078, 4076, 4069, 4062, 4058, 4057, 4055, - 3378, 4054, 4050, 4041, 4037, 4032, 3445, 4028, 4015, 4014, - 6487, 5833, 3453, 4012, 4004, 3999, 3984, 3982, 3980, 3975, - 5373, 5376, 3973, 3964, 3963, 3958, 3951, 5843, 3949, 0, - 6002, 4292, 5936, 5896, 6082, 6158, 6234, 6294, 3943, 3929, - 3928, 6297, 5683, 6319, 6377, 6554, 6380, 3922, 3915, 3906, - 6388, 6447, 6460, 3904, 3896, 3894, 5746, 3940, 3475, 3881, - 3874, 3867, 3853, 3851, 3849, 3846, 3844, 3839, 3826, 3824, - 3822, 6621, 5970, 6688, 6474, 6514, 6527, 3812, 3808, 3790, - 3788, 3776, 3774, 3764, 3762, 3750, 3479, 3739, 3731, 3727, - - 3707, 3697, 3688, 3667, 3665, 3664, 3640, 3630, 3555, 3626, - 3616, 3614, 3613, 3601, 3567, 3600, 3591, 3563, 6755, 6588, - 3607, 3548, 3531, 3523, 3503, 3488, 3487, 3485, 5754, 5954, - 3474, 3472, 3471, 3464, 3445, 6062, 3443, 0, 6599, 4323, - 6660, 6118, 6695, 6722, 6776, 6783, 3421, 3412, 3411, 6794, - 6506, 6797, 6808, 6875, 6815, 3393, 3392, 3350, 6836, 6896, - 6899, 3347, 3337, 3335, 5957, 3379, 3620, 3311, 3303, 3299, - 3294, 3282, 3271, 3248, 3246, 3236, 3234, 3222, 3207, 6972, - 13343,13343, 0, 0, 6243, 5447, 3220, 3201, 3197, 3162, - 3173, 3161, 0, 3473, 3129, 3136, 3128, 3134, 0, 3123, - - 3123, 3800, 3084, 0, 3100, 3089, 0, 3075, 7041, 7115, - 7189, 4002,13343, 4004, 7219, 4140, 3035, 3033, 3030, 5084, - 13343, 4015, 0, 3020, 3019, 3012, 4212,13343, 4273, 4572, - 4573, 5126,13343, 4598, 0, 3008, 2994, 2991, 5103, 5178, - 5189,13343, 5190,13343, 5202, 0, 2974, 2959, 248, 5215, - 5235,13343, 5241, 0, 281, 295, 309, 7282, 4417, 5455, - 2559, 7349, 6616, 321, 331, 336, 356, 463, 485, 495, - 500, 509, 582, 597, 627, 652, 664, 7416, 6936, 6573, - 6635, 678, 683, 695, 716, 746, 752, 774, 6678, 6704, - 6912, 6959, 7063, 7080, 814, 838, 839, 890, 897, 7152, - - 7228, 7287, 906, 912, 916, 6735, 7315, 7376, 7383, 925, - 927, 935, 958, 965, 7437, 7444, 7455, 966, 974, 976, - 997, 1002, 6028, 6195, 3634, 1008, 1019, 1033, 3642, 1056, - 1095, 1097, 1106, 1116, 1122, 1143, 1149, 7522, 7002, 1158, - 1159, 1164, 1189, 1190, 1195, 1210, 1211, 1223, 1230, 1235, - 1241, 1242, 1252, 7589, 7073, 7145, 7296, 1261, 1262, 1272, - 1287, 1288, 1324, 1328, 7474, 7454, 7535, 7550, 7555, 7562, - 1339, 1424, 1430, 1436, 1440, 7622, 7625, 7633, 1445, 1451, - 1452, 7502, 7647, 7650, 7658, 1465, 1479, 1481, 1488, 1489, - 7661, 7719, 7730, 1498, 1517, 1526, 1531, 1533, 6340, 6393, - - 3649, 1538, 1545, 1549, 3701, 1557, 1563, 1571, 1574, 1579, - 1588, 1599, 1605,13343,13343, 1636, 0, 5254, 0, 1634, - 1638, 1641, 5364, 1636, 5392, 1638, 5398, 1638, 1639, 1642, - 1661, 0,13343, 5270, 7760, 1653, 1654, 1672, 5558,13343, - 13343, 5359, 0, 1674, 1676, 1685, 7823, 5543, 7897, 5575, - 13343, 5613, 5583,13343, 7971, 5588,13343, 5673, 8045, 8119, - 6988,13343, 5574, 0, 1691, 1696, 1697, 5774, 1703, 1714, - 1742, 1805, 8186, 1806, 1808, 8253, 7771, 7845, 7919, 1820, - 1821, 1825, 1832, 1833, 1837, 7993, 8067, 8127, 1839, 1844, - 1848, 1851, 1863, 8152, 8194, 8211, 1868, 1875, 1877, 1885, - - 1950, 2009, 2018, 2021, 2022, 3713, 2029, 2033, 2045, 2061, - 2062, 2088, 2094, 2096, 2099, 2100, 2102, 2132, 8320, 2137, - 2157, 8387, 8219, 8278, 8281, 2171, 2174, 2184, 2186, 2210, - 2211, 8286, 8348, 8353, 2222, 2225, 2226, 2233, 2234, 8360, - 8420, 8423, 2237, 2262, 2279, 2284, 2299, 2307, 2308, 2328, - 2387, 3768, 2390, 2394, 2396, 2398, 2408, 2419, 2427, 2428, - 2437, 0, 2440, 0, 2453, 0, 2462, 0, 0, 5601, - 13343, 5738, 0, 2460, 2461, 2481, 8497,13343, 5806, 0, - 2485, 2486, 2490, 7339,13343, 5828, 0, 2496, 2497, 2539, - 8571,13343, 5861, 0, 2556, 2564, 2567,13343, 5931, 0, - - 2568, 2586, 2591, 5607,13343, 2595, 2597, 2606, 2616, 2621, - 2622, 2629, 2638, 2640, 2664, 2677, 2680, 2684, 2686, 2696, - 2701, 2704, 2720, 2721, 2724, 2746, 2806, 2814, 2820, 2833, - 2835, 2838, 2847, 2893, 0, 5668, 0,13343, 5961, 0, - 2855, 2866, 2867, 5672,13343,13343, 6105, 0, 2875, 2883, - 2898, 2899, 2904, 2907, 2928, 2943, 2944, 2951, 2957, 6121, - 0, 0,13343,13343, 8645, 8669, 8693, 8717, 8741, 8765, - 8789, 8801, 8824, 8848, 8867, 8886, 8905, 8924, 8943, 8962, - 8986, 8995, 9011, 9034, 9058, 9082, 9106, 9130, 3885, 9149, - 9161, 9184, 3058, 9203, 9222, 9241, 9260, 9279, 9298, 9317, - - 9336, 9355, 9374, 9393, 9412, 9431, 9450, 9469, 9488, 9507, - 9526, 9545, 9564, 3148, 3203, 9573, 9581, 3920, 9604, 9616, - 9639, 9663, 3318, 9687, 9711, 9735, 9744, 9755, 3337, 9773, - 9784, 3471, 9802, 9821, 9840, 9859, 9878, 9897, 9916, 9935, - 9954, 9973, 9992,10011,10030,10049,10068,10087,10106,10125, - 10144,10163,10182,10201,10220,10239,10258,10277,10296,10315, - 10334,10353,10372,10391,10410,10429,10448,10467,10486,10505, - 3978, 4079, 4096,10517, 3485,10540,10564, 3565, 3570,10576, - 3586,10599,10622,10633,10651,10670,10689,10708,10727,10746, - 10765,10784,10803,10822,10841,10860,10879,10898,10917,10936, - - 10955,10974,10993,11012,11031,11050,11069,11088,11107,11126, - 11145,11164,11183,11202,11221,11240,11259,11278,11297,11316, - 11335,11354,11373,11392,11411,11430,11449,11468, 3597,11480, - 11503, 3609, 3731,11512,11535,11559,11578,11597,11616,11635, - 11654,11673,11692,11711,11730,11749,11768,11787,11806,11825, - 11844,11863,11882,11901,11920,11939,11958,11977,11996,12015, - 12034,12053,12072,12091,12110,12129,12148,12167,12186,12205, - 12224,12243,12262,12286, 3877, 3908,12298,12321,12345,12369, - 12393,12417,12441,12460,12479,12498,12517,12536,12555,12574, - 12593,12612,12631,12650,12669,12688,12707,12726,12745,12764, - - 12783,12802,12821,12840,12859,12878,12897,12921,12945,12969, - 12988,12999,13017,13036,13055,13074,13093,13112,13131,13150, - 13174,13198,13222,13246,13270,13294,13318, 3923, 3938 + 0, 3, 79, 0, 155, 0, 231, 0, 306, 381, + 6, 8, 357, 363, 457, 0, 532, 607, 682, 0, + 369, 541, 726, 801, 876, 927, 978, 1048, 546, 551, + 5934, 5932, 5933, 238,14408, 5929, 5926, 11, 253, 260, + 265, 12,14408, 24,14408, 5921,14408, 585, 1118, 5903, + 30, 37,14408, 396, 0,14408, 6,14408, 1192,14408, + 14408,14408,14408, 5838, 5835, 5833, 560, 631, 1253,14408, + 1313, 5886, 41, 551, 641, 718, 50,14408, 5826, 5819, + 5815, 731, 738, 5863, 1382, 754, 765, 809, 837, 653, + 5813, 5811, 5809,14408, 25,14408, 5872,14408,14408, 1458, + + 14408, 5801, 5799, 5798,14408, 5862,14408, 353,14408, 5857, + 14408, 1532,14408, 5786, 5782, 5781,14408,14408, 5842, 0, + 13, 1581,14408, 5760, 5759, 5757,14408, 5824, 1626, 1695, + 14408, 340, 998, 332, 342, 621, 5818, 62, 405,14408, + 5818, 398, 327,14408, 13,14408, 5812,14408,14408, 0, + 341,14408, 5810,14408, 400,14408, 519, 535, 692, 1761, + 5764, 5737, 5737, 5780,14408, 5789,14408, 902,14408,14408, + 313, 521, 591, 646,14408, 5785, 755, 0,14408, 329, + 735, 746, 822, 446, 847, 819, 914, 1059,14408,14408, + 368,14408,14408,14408, 675, 873, 543, 0, 796, 1786, + + 894, 825, 1054, 964, 950, 1011, 868, 1193, 1088, 1187, + 1022, 1219, 1232, 1229, 1263, 1286, 1241, 5711, 5707, 5701, + 769, 1083, 1185, 559, 1206, 583, 1307, 1851, 1325, 584, + 1349, 0, 1210,14408, 585, 627,14408, 993, 0,14408, + 5695, 5692, 1392, 1332, 1353, 1364, 1532, 1540, 1397, 1548, + 1359, 1635, 5690, 5682, 5677, 1417, 1656,14408,14408,14408, + 14408,14408,14408,14408, 1401, 1920,14408, 1989, 1409, 2065, + 0, 1671, 1711, 1747, 586, 1939, 5669, 5661, 5659, 1953, + 5703, 2134, 0, 5649, 5648, 5646, 762, 1960, 5638, 5615, + 1777, 1425, 1655, 2144, 2152, 2160, 1429, 2170, 1551, 2173, + + 5614, 5611, 5610, 2194, 1433, 2263,14408, 2332, 1567, 2408, + 0, 2241, 2282, 2296, 828, 2303, 5603, 5601, 5594, 2477, + 1646, 2546, 0, 5592, 5585, 5575, 2481, 5572, 5568, 960, + 643,14408,14408, 632, 1016,14408,14408, 1008,14408, 0, + 14408, 5559, 5557,14408, 990, 674,14408,14408, 666, 1185, + 14408, 1229, 0,14408, 5555, 5553,14408, 0, 919, 2604, + 14408, 675,14408, 1524, 1598, 0, 1795,14408, 826, 1545, + 1788, 809, 1938, 1705, 1729, 1970, 5576, 1052, 774,14408, + 860, 1196, 916,14408, 0, 950,14408, 2011, 1186, 1912, + 1805, 2004, 2221, 2655, 5506, 5486, 5473,14408,14408,14408, + + 14408, 396, 0, 1661, 792,14408, 830, 958,14408, 2023, + 2152, 2491, 2032,14408,14408,14408, 952, 1016, 1291, 1646, + 0, 2712, 1737, 5457, 5448, 5443, 831, 5457, 509, 5435, + 1334, 5425, 5425, 5415, 5411, 702, 5389, 1044, 5380, 5391, + 261, 5379, 5367, 1984, 2200, 1926, 2254, 2191, 2258, 2270, + 2312, 2319, 2464, 2469, 2327, 2764, 2472, 2496, 2484, 2502, + 2605, 2509, 2518, 2514, 2527, 2539, 2564, 2573, 5353, 5347, + 1953, 2840, 2654, 2128, 0, 2670, 0, 2687, 1111, 2696, + 14408, 2763, 0, 2732, 2210, 2281, 2377, 1120, 2200,14408, + 5389, 5325, 2496, 2778, 2909, 2903, 2797, 2919, 2935, 2942, + + 2945, 5321, 5317, 5307, 2622, 2958, 2984, 3007, 5306, 5304, + 5299, 2968, 5347, 1575, 5295, 5294, 5281, 5278, 5276,14408, + 14408, 3023, 3033, 3046, 5270, 5269, 5259, 3115, 3184, 3073, + 2589, 5305, 2805, 2727, 3253, 1714, 2608, 3096, 5255, 5253, + 5245, 3129, 2715, 5290, 3322, 1904, 2991, 3162, 5240, 5233, + 5229, 3137, 3391, 3203, 3217, 1981, 3272, 5215, 5210, 5208, + 2070, 5193, 5190, 5178, 5170, 5164, 3286, 3341, 3348, 5159, + 5155, 5148, 3460, 5146, 5144, 5142, 2674, 3081, 3529, 3232, + 3291, 3355, 3410, 3417, 3424, 5141, 5131, 5129, 2809, 3479, + 3493, 3500, 5123, 5121, 5120, 3119, 5167, 2213, 5117, 5109, + + 5108, 5105, 5102, 3554, 3562, 3570, 5098, 5097, 5094, 3639, + 3708, 3304, 2747, 5134, 3202, 3259, 3777, 2287, 3330, 3368, + 5075, 5067, 5066, 3439, 2903, 5104, 3846, 2427, 3455, 3598, + 5054, 5043, 5040, 3660, 3915, 3625, 3681, 2524, 3689, 5039, + 5023, 5013, 2530, 5008, 5007, 4930, 4910, 4905, 3743, 3750, + 3812, 4904, 4895, 4889, 1550, 3056, 990, 3984, 4882, 4873, + 4871, 1217, 1277, 2925,14408, 4915, 4866, 1775, 1354, 3189, + 14408, 4912, 4855, 3006, 3727, 3822, 0, 4902, 2737, 2919, + 0, 4046, 0, 3755, 3791, 3017, 2189, 1393, 0, 0, + 3493, 3222, 3429, 4859, 4863, 4862, 0, 2936,14408, 3860, + + 3893, 3879, 3909, 1069, 1725, 4891, 2985, 3065, 4886, 4080, + 4812, 4786, 4799, 4803, 4776, 1145, 4773, 4771, 4774, 787, + 4756, 4765, 1479, 4750, 0, 4738, 4725, 4739, 4717, 2304, + 4711, 4698, 4695, 4695, 4686, 4670, 4672, 3590, 3620, 3904, + 3943, 3947, 3960, 3952, 4050, 3972, 4067, 4080, 4111, 4134, + 4148, 4160,14408, 4156, 4190, 4655, 4650, 4629, 4192, 4257, + 4333, 4277, 2364,14408, 4294, 4306, 4409, 4289, 4371, 4413, + 4436, 4627, 4256, 4448, 3453, 4022, 4512, 4574, 3544, 4582, + 4100, 4181, 3589, 4680, 4590, 4634, 4607, 3520, 4650, 4667, + 4683, 4690, 4622, 4621, 4617, 4605, 4591, 4706, 4722, 4732, + + 4578, 4566, 4562, 4552, 4544, 4143, 4419, 2922, 4528, 4526, + 4518, 2973, 4457, 4434, 4432, 4431, 4426, 4425, 4745, 4755, + 4771, 4420, 4418, 4405, 4400, 4394, 4840, 3122, 3065, 4390, + 4386, 4372, 3099, 4909, 3565, 3611, 3630, 3181, 4818, 4367, + 4363, 4359, 3305, 4351, 4332, 4325, 4426, 4324, 4320, 4319, + 4790, 4803, 4317, 4316, 4985, 4854, 3994, 0, 4859, 4868, + 4895, 5054, 4927, 5123, 5058, 3727, 4302, 4300, 4299, 3327, + 4294, 4290, 4287, 4275, 4274, 4267, 4250, 4237, 5061, 5079, + 5133, 4226, 4225, 4223, 4221, 4220, 5202, 4218, 5143, 5271, + 4888, 3699, 5097, 5159, 5183, 5209, 4200, 4192, 4186, 4185, + + 4172, 5221, 5244, 5298, 4149, 4148, 4144, 4141, 4140, 4629, + 4657, 3444, 4117, 4110, 4108, 3663, 4098, 4097, 4095, 4092, + 4091, 4080, 5306, 5316, 5332, 4065, 4061, 4042, 4032, 4019, + 5401, 3756, 3715, 4012, 4008, 4002, 3740, 5470, 3784, 3866, + 3826, 3796, 5288, 3999, 3998, 3973, 3809, 3968, 3966, 3953, + 4729, 3939, 3930, 3928, 4876, 5164, 3916, 3910, 5546, 5337, + 4067, 0, 5364, 5249, 5387, 5420, 5379, 5615, 5436, 4151, + 3904, 3901, 3899, 3828, 3891, 3889, 3886, 3884, 3879, 3878, + 3875, 3874, 5443, 5622, 5625, 3867, 3861, 3835, 3833, 3818, + 1195, 1305, 3898, 3948, 0, 0, 5694, 3804, 4305, 4379, + + 1576, 4218, 3966, 5756, 4598, 3822, 5807, 5877, 0, 0, + 4454, 5484, 1931, 3978, 5930, 3792, 2380, 2606, 3813, 3805, + 3806, 3790, 3792, 3784, 3782, 3782, 3759, 2717, 3774, 3741, + 3739, 3723, 3738, 3724, 3729, 3708, 3714, 3711, 3708, 3703, + 2718, 3689, 3294,14408, 3492,14408, 4117, 4433, 4585, 4569, + 5982, 4768, 6058, 5649, 4898, 3579,14408, 5047, 4612, 4641, + 6134, 4645,14408, 5165, 6164, 5380, 3661, 3652, 3650, 5653, + 5408, 6229,14408, 5394, 0, 5605, 3638, 3636, 3635, 5451, + 6305, 3584,14408, 5456, 5715, 5316, 4264, 5723, 5520, 4011, + 4936, 4156, 6374, 5731, 6443, 5772, 5827, 5889, 3633, 3631, + + 3630, 3621, 3619, 3616, 3612, 3611, 3606, 3975, 3604, 3597, + 3596, 3591, 3585, 3583, 3555, 3552, 3551, 3544, 3529, 4032, + 3528, 3525, 3522, 3511, 3501, 4073, 3500, 3487, 3484, 6512, + 5820, 4131, 3475, 3474, 3471, 3461, 3460, 3455, 3454, 5618, + 5749, 3450, 3439, 3437, 3434, 3431, 5842, 3423, 0, 6015, + 4294, 6022, 5894, 6098, 6173, 6269, 6313, 3417, 3404, 3398, + 6338, 5684, 6345, 6399, 6581, 6407, 3392, 3385, 3381, 6462, + 6476, 6531, 3374, 3367, 3365, 5793, 3412, 4228, 3356, 3354, + 3349, 3348, 3337, 3335, 3323, 3322, 3320, 3313, 3305, 3303, + 6650, 5921, 6719, 6538, 6545, 6600, 3302, 3298, 3296, 3294, + + 3287, 3285, 3280, 3279, 3268, 4311, 3260, 3250, 3244, 3243, + 3236, 3230, 3229, 3225, 3218, 3216, 3214, 4354, 3212, 3199, + 3197, 3194, 3193, 4572, 3191, 3178, 3174, 6788, 6091, 4672, + 3167, 3161, 3160, 3158, 3156, 3155, 3147, 5946, 6363, 3146, + 3143, 3142, 3130, 3128, 5981, 3115, 0, 6558, 4765, 6619, + 6240, 6636, 6669, 6692, 6705, 3114, 3107, 3105, 6754, 6434, + 6761, 6796, 6865, 6804, 3096, 3095, 3093, 6823, 6830, 6873, + 3091, 3090, 3088, 6520, 3132, 4695, 3081, 3061, 3059, 3057, + 3056, 3054, 3053, 3042, 3041, 3039, 3034, 3032, 6948,14408, + 14408, 0, 0, 6268, 6103, 3023, 3010, 3017, 3001, 3011, + + 2998, 0, 3740, 2987, 2996, 2981, 2972, 0, 2971, 2961, + 4051, 2937, 0, 2942, 2931, 0, 2925, 7019, 7095, 7171, + 4133,14408, 4052, 7201, 4318, 2902, 2900, 2899, 5062,14408, + 4438, 0, 2897, 2895, 2889, 4790,14408, 4865, 5241, 4963, + 5086,14408, 5071, 0, 2879, 2876, 2861, 5088, 5200, 5147, + 14408, 5445,14408, 5243, 0, 2849, 1, 254, 5644, 5363, + 14408, 5400, 0, 266, 284, 291, 7266, 4830, 5908, 5997, + 7335, 6893, 319, 337, 362, 368, 379, 470, 475, 479, + 519, 528, 572, 579, 583, 616, 7404, 6903, 6629, 6913, + 636, 647, 672, 686, 698, 736, 743, 6963, 6981, 7030, + + 7059, 7132, 7135, 783, 838, 842, 850, 912, 7210, 7299, + 7354, 916, 924, 938, 7050, 7368, 7423, 7430, 971, 990, + 1001, 1003, 1011, 7437, 7444, 7479, 1022, 1027, 1043, 1049, + 1054, 6711, 6913, 4905, 1061, 1070, 1074, 5034, 1088, 1119, + 1152, 1161, 1163, 1169, 1174, 1193, 7548, 7472, 1198, 1206, + 1211, 1213, 1226, 1230, 1242, 1247, 1259, 1271, 1278, 1283, + 1305, 1306, 7617, 7507, 7326, 7170, 1328, 1335, 1354, 1360, + 1368, 1369, 1482, 7395, 7277, 7569, 7534, 7590, 7598, 1486, + 1489, 1490, 1495, 1501, 7625, 7633, 7652, 1525, 1532, 1533, + 7608, 7687, 7694, 7697, 1537, 1549, 1563, 1566, 1567, 7713, + + 7721, 7729, 1572, 1581, 1583, 1584, 1587, 6983, 7440, 5199, + 1590, 1598, 1606, 5360, 1609, 1611, 1617, 1624, 1632, 1635, + 1636, 1640,14408,14408, 1674, 0, 5495, 0, 1667, 1672, + 1678, 5657, 1695, 5666, 1691, 5672, 1695, 1701, 1703, 1718, + 0,14408, 5881, 7759, 1699, 1709, 1711, 5683,14408,14408, + 5972, 0, 1723, 1728, 1729, 7824, 6124, 7900, 5707,14408, + 6085, 5779,14408, 7976, 5854,14408, 6220, 8052, 8128, 7520, + 14408, 6002, 0, 1746, 1747, 1756, 5954, 1757, 1770, 1796, + 1858, 8197, 1864, 1866, 8266, 7864, 7940, 8016, 1873, 1882, + 1892, 1894, 1897, 1910, 8092, 8136, 8154, 1921, 1927, 1931, + + 1944, 1950, 8161, 8216, 8223, 1967, 1975, 1977, 1978, 1989, + 1990, 2010, 2080, 2086, 5448, 2095, 2098, 2110, 2113, 2114, + 2117, 2127, 2128, 2132, 2134, 2135, 2140, 8335, 2141, 2144, + 8404, 8230, 8285, 8292, 2153, 2161, 2165, 2180, 2182, 2187, + 8299, 8354, 8361, 2192, 2207, 2222, 2224, 2225, 8368, 8423, + 8430, 2235, 2240, 2249, 2251, 2253, 2264, 2271, 2287, 2293, + 5722, 2296, 2301, 2302, 2309, 2312, 2317, 2318, 2328, 2339, + 0, 2341, 0, 2357, 0, 2422, 0, 0, 5906,14408, + 6117, 0, 2416, 2418, 2419, 8506,14408, 6325, 0, 2421, + 2424, 2425, 7529,14408, 6329, 0, 2427, 2448, 2449, 8582, + + 14408, 6420, 0, 2452, 2455, 2457,14408, 6438, 0, 2458, + 2461, 2464, 6062,14408, 2477, 2507, 2508, 2510, 2523, 2537, + 2547, 2555, 2557, 2558, 2573, 2574, 2578, 2586, 2587, 2589, + 2600, 2605, 2616, 2626, 2632, 2638, 2640, 2642, 2664, 2665, + 2667, 2668, 2746, 0, 6082, 0,14408, 6449, 0, 2673, + 2677, 2701, 6083,14408,14408, 6587, 0, 2714, 2722, 2732, + 2733, 2735, 2740, 2743, 2760, 2763, 2785, 2847, 6723, 0, + 0,14408,14408, 8658, 8686, 8714, 8742, 8770, 8798, 8826, + 8842, 8868, 8896, 8919, 8942, 8965, 8988, 9011, 9034, 9062, + 9075, 9094, 9121, 9149, 9177, 9205, 9233, 4249, 9256, 9272, + + 9298, 3610, 9321, 9344, 9367, 9390, 9413, 9436, 9459, 9482, + 9505, 9528, 9551, 9574, 9597, 9620, 9643, 9666, 9689, 9712, + 9735, 9758, 4174, 4333, 9771, 9782, 9796, 6242, 9821, 9837, + 9863, 9891, 4436, 9919, 9947, 9975, 9988,10002, 4615,10023, + 10038, 5047,10059,10082,10105,10128,10151,10174,10197,10220, + 10243,10266,10289,10312,10335,10358,10381,10404,10427,10450, + 10473,10496,10519,10542,10565,10588,10611,10634,10657,10680, + 10703,10726,10749,10772,10795,10818,10841,10864,10887,10910, + 6344, 5076, 6415,10934,10947, 5235,10973,11001, 5512, 5740, + 11017, 6310,11043,11070,11085,11106,11129,11152,11175,11198, + + 11221,11244,11267,11290,11313,11336,11359,11382,11405,11428, + 11451,11474,11497,11520,11543,11566,11589,11612,11635,11658, + 11681,11704,11727,11750,11773,11796,11819,11842,11865,11888, + 11911,11934,11957,11980,12003,12026,12049,12072,12095, 5812, + 12119,12136,12150,12176, 6161, 6338,12189,12215,12243,12266, + 12289,12312,12335,12358,12381,12404,12427,12450,12473,12496, + 12519,12542,12565,12588,12611,12634,12657,12680,12703,12726, + 12749,12772,12795,12818,12841,12864,12887,12910,12933,12956, + 12979,13002,13025,13048,13071,13094,13122, 6351, 6407,13138, + 13164,13192,13220,13248,13276,13304,13327,13350,13373,13396, + + 13419,13442,13465,13488,13511,13534,13557,13580,13603,13626, + 13649,13672,13695,13718,13741,13764,13787,13810,13833,13856, + 13884,13912,13940,13963,13978,13999,14022,14045,14068,14091, + 14114,14137,14160,14183,14211,14239,14267,14295,14323,14351, + 14379, 6476, 6490 } ; -static const flex_int16_t yy_def[2030] = +static const flex_int16_t yy_def[2044] = { 0, - 1765, 1765, 1764, 3, 1764, 5, 1764, 7, 1766, 1766, - 10, 10, 1767, 1767, 1764, 15, 1767, 1767, 3, 19, - 1767, 1767, 1767, 1767, 1768, 1768, 1769, 1769, 1767, 1767, - 1770, 1770, 1764, 1771, 1764, 1764, 1764, 1764, 1771, 1771, - 1771, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1772, 1773, 1764, 1772, 1764, 1774, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1775, 1764, 1764, - 1775, 1764, 1764, 71, 1776, 1777, 71, 1764, 1764, 1764, - 1764, 1764, 1778, 69, 1778, 1764, 85, 1779, 1780, 85, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1781, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1782, - 1782, 1782, 1764, 1764, 1764, 1764, 1764, 1764, 1783, 1781, - 1764, 1764, 1764, 1764, 1764, 1772, 1764, 1764, 1764, 1764, - 1764, 130, 130, 1764, 1764, 1764, 1764, 1764, 1764, 1784, - 1764, 1764, 1764, 1764, 1784, 1764, 1784, 1784, 1784, 1785, - 1784, 1784, 1784, 1764, 1764, 1764, 1764, 1786, 1764, 1764, - 1771, 1771, 1771, 1771, 1764, 1764, 1764, 1787, 1764, 1771, - 1771, 1771, 1764, 1788, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1789, 49, 1790, 1764, + 1774, 1774, 1773, 3, 1773, 5, 1773, 7, 1775, 1775, + 10, 10, 1776, 1776, 1773, 15, 1776, 1776, 3, 19, + 1776, 1776, 1776, 1776, 1777, 1777, 1778, 1778, 1776, 1776, + 1779, 1779, 1773, 1780, 1773, 1773, 1773, 1773, 1780, 1780, + 1780, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1781, 1782, 1773, 1781, 1773, 1783, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1784, 1773, 1773, + 1784, 1773, 1773, 71, 1785, 1786, 71, 1773, 1773, 1773, + 1773, 1773, 1787, 69, 1787, 1773, 85, 1788, 1789, 85, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, - 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, - 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1791, 1764, 1764, 1764, 1772, 1772, - 1772, 1792, 1764, 1764, 1764, 1764, 1764, 1764, 1793, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1794, 1795, 1764, 1796, - 1797, 1795, 1764, 1764, 1764, 1764, 1798, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1794, 1764, 1799, 1764, 1764, - 266, 266, 1800, 1801, 1802, 1801, 1764, 1764, 1764, 1803, - 1764, 1803, 282, 1764, 1764, 1764, 1764, 1795, 1764, 1764, - 1764, 1764, 1764, 1764, 1804, 1805, 1764, 1806, 1807, 1805, - - 1764, 1764, 1764, 1808, 1764, 1804, 1764, 1809, 1764, 1764, - 306, 306, 1810, 1811, 1812, 1811, 1764, 1764, 1764, 1813, - 1764, 1813, 322, 1764, 1764, 1764, 1805, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1814, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1815, 1764, 1764, 1764, 1764, 1816, 1816, 1816, - 1764, 1764, 1764, 1764, 1817, 1817, 1764, 1764, 1764, 1764, - 1818, 1764, 1764, 1819, 1820, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1821, 1764, 1764, 1821, 1821, 1821, 1821, - 1821, 1821, 1822, 1821, 1821, 1821, 1764, 1764, 1764, 1764, - - 1823, 1824, 1825, 1826, 1764, 1826, 1764, 1764, 1764, 1827, - 1764, 1764, 1764, 1764, 1764, 1764, 1828, 1764, 1828, 1829, - 1828, 1830, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1764, 1764, 1764, - 1764, 1764, 1764, 1827, 1827, 1827, 1827, 1764, 1764, 1764, - 475, 1827, 1827, 1764, 1831, 1764, 1764, 1764, 1764, 1832, - 1764, 1764, 1764, 1833, 1764, 1764, 1834, 1834, 1835, 1834, - - 1764, 1764, 1764, 1764, 1836, 1837, 1837, 1764, 1764, 1764, - 1838, 1764, 1839, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1840, 1841, 1841, 1764, 1764, 1764, 1833, 1834, 528, 1842, - 1764, 1764, 1833, 1843, 1844, 1845, 1842, 1764, 1764, 1764, - 1764, 1842, 1764, 1843, 1844, 1845, 1842, 1764, 1764, 1764, - 528, 1846, 1847, 1847, 1848, 1847, 1764, 1764, 1764, 1849, - 1764, 1764, 1764, 1764, 1764, 1850, 1851, 1851, 1764, 1764, - 1764, 1850, 1764, 1764, 1764, 1764, 1764, 1852, 1764, 1764, - 1853, 1853, 1854, 1853, 1764, 1764, 1764, 1764, 1855, 1856, - 1856, 1764, 1764, 1764, 1857, 1764, 1858, 1764, 1764, 1764, - - 1764, 1764, 1859, 1860, 1860, 1764, 1764, 1764, 1852, 1853, - 610, 1861, 1764, 1764, 1852, 1862, 1863, 1864, 1861, 1764, - 1764, 1764, 1764, 1861, 1764, 1862, 1863, 1864, 1861, 1764, - 1764, 1764, 610, 1865, 1866, 1866, 1867, 1866, 1764, 1764, - 1764, 1868, 1764, 1764, 1764, 1764, 1764, 1869, 1870, 1870, - 1764, 1764, 1764, 1764, 1764, 1871, 1869, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1872, 1764, 1764, 1764, 1764, 1764, - 1873, 1764, 1764, 1764, 1874, 1875, 1874, 1876, 1764, 1764, - 1764, 1764, 1764, 1877, 1877, 1877, 1877, 1877, 1877, 1877, - 1877, 1878, 1879, 1764, 1764, 1880, 1880, 697, 1764, 1874, - - 1874, 1764, 1874, 1881, 677, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1882, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, - 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1764, 1883, 1764, - 1764, 1764, 1764, 1883, 1883, 1883, 1883, 1764, 1764, 1883, - 1883, 1883, 1883, 1883, 1883, 1883, 1764, 1880, 768, 1764, - 1880, 1764, 1764, 1764, 768, 697, 697, 1884, 1884, 1764, - 1885, 1886, 1764, 1887, 1888, 1889, 1889, 1764, 1764, 1764, - 1764, 1764, 1890, 1890, 1890, 1764, 1764, 1764, 1764, 1764, - - 1891, 1891, 1892, 1764, 1764, 1764, 1893, 1764, 1764, 1764, - 1764, 1764, 1764, 1894, 1894, 1894, 1764, 1764, 1764, 1764, - 1764, 1885, 1886, 1895, 1764, 1764, 1764, 1896, 1887, 1886, - 1886, 822, 1897, 1886, 1764, 1764, 1764, 1898, 1764, 1764, - 1764, 1899, 1764, 1764, 1764, 1886, 822, 1764, 1764, 1764, - 1764, 1764, 822, 1886, 822, 1900, 1901, 829, 1902, 1903, - 1904, 1764, 1764, 1764, 1905, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1906, 1906, 1906, 1764, 1764, 1764, 1764, - 1764, 1906, 1764, 1764, 1907, 1908, 1764, 1909, 1910, 1911, - 1911, 1764, 1764, 1764, 1764, 1764, 1912, 1912, 1912, 1764, - - 1764, 1764, 1764, 1764, 1913, 1913, 1914, 1764, 1764, 1764, - 1915, 1764, 1764, 1764, 1764, 1764, 1764, 1916, 1916, 1916, - 1764, 1764, 1764, 1764, 1764, 1907, 1908, 1917, 1764, 1764, - 1764, 1918, 1909, 1908, 1908, 926, 1919, 1908, 1764, 1764, - 1764, 1920, 1764, 1764, 1764, 1921, 1764, 1764, 1764, 1908, - 926, 1764, 1764, 1764, 1764, 1764, 926, 1908, 926, 1922, - 1923, 933, 1924, 1925, 1926, 1764, 1764, 1764, 1927, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1928, 1928, 1928, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1929, - 1929, 1928, 1764, 1930, 1930, 1764, 1931, 1931, 1931, 1932, - - 1933, 1934, 1764, 1930, 1930, 995, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1935, 1764, 1764, 1764, 1936, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1937, 1937, 1937, - 1937, 1937, 1937, 1937, 1937, 1937, 1764, 1764, 1937, 1937, - 1937, 1937, 1937, 1764, 1937, 1764, 1937, 1764, 1764, 1764, - 1937, 1937, 1937, 1764, 1937, 1056, 1937, 1764, 1764, 1764, - 1937, 1937, 1764, 1764, 1937, 1934, 1934, 1934, 1076, 1934, - 1764, 1934, 1934, 1938, 1764, 1939, 1940, 1940, 1940, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1941, 1764, - - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1942, 1764, 1764, 1764, 1764, 1764, 1943, 1764, 1764, 1764, - 1939, 1944, 1945, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1946, 1946, 1764, 1764, 1764, 1764, 1764, 1121, 1764, 1121, - 1944, 1764, 1938, 1121, 1947, 1947, 1948, 1947, 1764, 1764, - 1764, 1949, 1944, 1947, 1947, 1950, 1951, 1764, 1764, 1764, - 1952, 1953, 1953, 1764, 1764, 1764, 1954, 1764, 1955, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1956, 1764, 1957, 1958, 1958, 1958, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1959, 1764, 1764, 1764, - - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1960, 1764, - 1764, 1764, 1764, 1764, 1961, 1764, 1764, 1764, 1957, 1962, - 1963, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1964, 1964, - 1764, 1764, 1764, 1764, 1764, 1219, 1764, 1219, 1962, 1764, - 1956, 1219, 1965, 1965, 1966, 1965, 1764, 1764, 1764, 1967, - 1962, 1965, 1965, 1968, 1969, 1764, 1764, 1764, 1970, 1971, - 1971, 1764, 1764, 1764, 1972, 1764, 1973, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1974, - 1764, 1764, 1975, 1976, 1977, 1977, 1764, 1764, 1764, 1764, - 1978, 1764, 1979, 1764, 1764, 1764, 1764, 1764, 1980, 1764, - - 1764, 1764, 1764, 1981, 1764, 1764, 1982, 1764, 1983, 1983, - 1983, 1310, 1764, 1310, 1764, 1310, 1764, 1764, 1764, 1310, - 1764, 1310, 1315, 1764, 1764, 1764, 1764, 1764, 1310, 1310, - 1310, 1310, 1764, 1310, 1315, 1764, 1764, 1764, 1310, 1310, - 1764, 1764, 1310, 1764, 1310, 1315, 1764, 1764, 1764, 1310, - 1310, 1764, 1310, 1315, 1764, 1764, 1764, 1310, 1764, 1977, - 1286, 1984, 1985, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1984, 1985, 1985, - 1378, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1985, 1378, - 1378, 1986, 1987, 1987, 1764, 1764, 1764, 1764, 1764, 1988, - - 1989, 1989, 1764, 1764, 1764, 1985, 1990, 1991, 1991, 1764, - 1764, 1764, 1764, 1764, 1992, 1992, 1992, 1764, 1764, 1764, - 1764, 1764, 1993, 1993, 1994, 1764, 1764, 1764, 1995, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1996, 1997, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1996, 1997, 1997, 1454, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1997, 1454, 1454, 1998, 1999, 1999, - 1764, 1764, 1764, 1764, 1764, 2000, 2001, 2001, 1764, 1764, - 1764, 1997, 2002, 2003, 2003, 1764, 1764, 1764, 1764, 1764, - 2004, 2004, 2004, 1764, 1764, 1764, 1764, 1764, 2005, 2005, - - 2006, 1764, 1764, 1764, 2007, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 2008, 1764, 2009, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 2010, 1764, 2011, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 2011, 1535, 1764, 1764, 1764, 2011, 2011, 2011, 1764, - 1764, 2011, 1764, 1764, 2011, 1764, 1764, 2011, 2011, 2011, - 2011, 1764, 2011, 1535, 1764, 1764, 1764, 2012, 1764, 1764, - 1764, 1764, 2013, 1764, 1764, 2013, 2014, 2014, 2014, 1764, - 1764, 1764, 1764, 1764, 1764, 2015, 2015, 2015, 1764, 1764, - 1764, 1764, 1764, 2016, 2016, 2016, 1764, 1764, 1764, 1764, - - 1764, 1764, 1764, 1764, 1764, 2017, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 2018, 1764, - 1764, 2018, 2019, 2019, 2019, 1764, 1764, 1764, 1764, 1764, - 1764, 2020, 2020, 2020, 1764, 1764, 1764, 1764, 1764, 2002, - 2002, 2002, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 2006, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 2021, 1764, 2022, 1764, 2023, 1764, 2024, 2025, 1764, - 1764, 2011, 1535, 1764, 1764, 1764, 2011, 1764, 2011, 1535, - 1764, 1764, 1764, 2011, 1764, 2011, 1535, 1764, 1764, 1764, - 2011, 1764, 2011, 1535, 1764, 1764, 1764, 1764, 2011, 1535, - - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 2026, 1764, 2027, 1764, 2011, 1535, - 1764, 1764, 1764, 1764, 1764, 1764, 2011, 1535, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 2028, 2029, 1764, 0, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764 + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1790, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1791, + 1791, 1791, 1773, 1773, 1773, 1773, 1773, 1773, 1792, 1790, + 1773, 1773, 1773, 1773, 1773, 1781, 1773, 1773, 1773, 1773, + 1773, 130, 130, 1773, 1773, 1773, 1773, 1773, 1773, 1793, + 1773, 1773, 1773, 1773, 1793, 1773, 1793, 1793, 1793, 1794, + 1793, 1793, 1793, 1773, 1773, 1773, 1773, 1795, 1773, 1773, + 1780, 1780, 1780, 1780, 1773, 1773, 1773, 1796, 1773, 1780, + 1780, 1780, 1773, 1797, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1798, 49, 1799, 1773, + + 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, + 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1800, 1773, 1773, 1773, 1781, 1781, + 1781, 1801, 1773, 1773, 1773, 1773, 1773, 1773, 1802, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1803, 1804, 1773, 1805, + 1806, 1804, 1773, 1773, 1773, 1773, 1807, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1803, 1773, 1808, 1773, 1773, + 266, 266, 1809, 1810, 1811, 1810, 1773, 1773, 1773, 1812, + 1773, 1812, 282, 1773, 1773, 1773, 1773, 1804, 1773, 1773, + 1773, 1773, 1773, 1773, 1813, 1814, 1773, 1815, 1816, 1814, + + 1773, 1773, 1773, 1817, 1773, 1813, 1773, 1818, 1773, 1773, + 306, 306, 1819, 1820, 1821, 1820, 1773, 1773, 1773, 1822, + 1773, 1822, 322, 1773, 1773, 1773, 1814, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1823, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1824, 1773, 1773, 1773, 1773, 1825, 1825, 1825, + 1773, 1773, 1773, 1773, 1826, 1826, 1827, 1773, 1773, 1773, + 1773, 1828, 1773, 1773, 1829, 1830, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1831, 1773, 1773, 1831, 1831, 1831, + 1831, 1831, 1831, 1832, 1831, 1831, 1831, 1773, 1773, 1773, + + 1773, 1833, 1834, 1835, 1836, 1773, 1836, 1773, 1773, 1773, + 1837, 1773, 1773, 1773, 1773, 1773, 1773, 1838, 1773, 1838, + 1839, 1838, 1840, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1840, 1840, 1840, 1840, 1840, 1840, 1840, + 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, + 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1773, 1773, + 1773, 1773, 1773, 1773, 1837, 1837, 1837, 1837, 1773, 1773, + 1773, 1837, 1837, 1837, 1773, 1841, 1773, 1773, 1773, 1773, + 1842, 1773, 1773, 1773, 1843, 1773, 1773, 1844, 1844, 1845, + + 1844, 1773, 1773, 1773, 1773, 1846, 1847, 1847, 1773, 1773, + 1773, 1848, 1773, 1849, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1850, 1851, 1851, 1773, 1773, 1773, 1843, 1844, 529, + 1852, 1773, 1773, 1843, 1853, 1854, 1855, 1852, 1773, 1773, + 1773, 1773, 1852, 1773, 1853, 1854, 1855, 1852, 1773, 1773, + 1773, 529, 1856, 1857, 1857, 1858, 1857, 1773, 1773, 1773, + 1859, 1773, 1773, 1773, 1773, 1773, 1860, 1861, 1861, 1773, + 1773, 1773, 1860, 1773, 1773, 1773, 1773, 1773, 1862, 1773, + 1773, 1863, 1863, 1864, 1863, 1773, 1773, 1773, 1773, 1865, + 1866, 1866, 1773, 1773, 1773, 1867, 1773, 1868, 1773, 1773, + + 1773, 1773, 1773, 1869, 1870, 1870, 1773, 1773, 1773, 1862, + 1863, 611, 1871, 1773, 1773, 1862, 1872, 1873, 1874, 1871, + 1773, 1773, 1773, 1773, 1871, 1773, 1872, 1873, 1874, 1871, + 1773, 1773, 1773, 611, 1875, 1876, 1876, 1877, 1876, 1773, + 1773, 1773, 1878, 1773, 1773, 1773, 1773, 1773, 1879, 1880, + 1880, 1773, 1773, 1773, 1773, 1773, 1881, 1879, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1882, 1773, 1773, 1773, 1773, + 1773, 1883, 1773, 1773, 1884, 1884, 676, 1773, 1773, 1885, + 1886, 1885, 1887, 1773, 1773, 1773, 1773, 1773, 1888, 1888, + 1888, 1888, 1888, 1888, 1888, 1888, 1889, 1890, 1773, 1773, + + 1891, 1891, 1891, 1773, 1885, 1885, 1773, 1885, 1892, 682, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1893, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1894, 1894, 1894, + 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, + 1894, 1894, 1773, 1894, 1773, 1773, 1773, 1773, 1894, 1894, + 1894, 1894, 1773, 1773, 1894, 1894, 1894, 1894, 1894, 1894, + 1894, 1773, 1891, 1891, 1773, 1891, 1773, 1773, 1773, 1891, + 1891, 1891, 1895, 1895, 1773, 1896, 1897, 1773, 1898, 1899, + 1900, 1900, 1773, 1773, 1773, 1773, 1773, 1901, 1901, 1901, + + 1773, 1773, 1773, 1773, 1773, 1902, 1902, 1903, 1773, 1773, + 1773, 1904, 1773, 1773, 1773, 1773, 1773, 1773, 1905, 1905, + 1905, 1773, 1773, 1773, 1773, 1773, 1896, 1897, 1906, 1773, + 1773, 1773, 1907, 1898, 1897, 1897, 827, 1908, 1897, 1773, + 1773, 1773, 1909, 1773, 1773, 1773, 1910, 1773, 1773, 1773, + 1897, 827, 1773, 1773, 1773, 1773, 1773, 827, 1897, 827, + 1911, 1912, 834, 1913, 1914, 1915, 1773, 1773, 1773, 1916, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1917, 1917, + 1917, 1773, 1773, 1773, 1773, 1773, 1917, 1773, 1773, 1918, + 1919, 1773, 1920, 1921, 1922, 1922, 1773, 1773, 1773, 1773, + + 1773, 1923, 1923, 1923, 1773, 1773, 1773, 1773, 1773, 1924, + 1924, 1925, 1773, 1773, 1773, 1926, 1773, 1773, 1773, 1773, + 1773, 1773, 1927, 1927, 1927, 1773, 1773, 1773, 1773, 1773, + 1918, 1919, 1928, 1773, 1773, 1773, 1929, 1920, 1919, 1919, + 931, 1930, 1919, 1773, 1773, 1773, 1931, 1773, 1773, 1773, + 1932, 1773, 1773, 1773, 1919, 931, 1773, 1773, 1773, 1773, + 1773, 931, 1919, 931, 1933, 1934, 938, 1935, 1936, 1937, + 1773, 1773, 1773, 1938, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1939, 1939, 1939, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1940, 1940, 1939, 1773, 1941, 1941, + + 1000, 1942, 1943, 1943, 1773, 1944, 1944, 1944, 1945, 1946, + 1947, 1773, 1943, 1943, 1004, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1948, 1773, 1773, 1773, 1949, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1950, 1950, 1950, 1950, + 1950, 1950, 1950, 1950, 1950, 1773, 1773, 1950, 1950, 1950, + 1950, 1950, 1773, 1950, 1773, 1950, 1773, 1773, 1773, 1950, + 1950, 1950, 1773, 1950, 1065, 1950, 1773, 1773, 1773, 1950, + 1950, 1773, 1773, 1950, 1947, 1947, 1947, 1947, 1947, 1773, + 1947, 1947, 1951, 1773, 1952, 1953, 1953, 1953, 1773, 1773, + + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1954, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1955, + 1773, 1773, 1773, 1773, 1773, 1956, 1773, 1773, 1773, 1952, + 1957, 1958, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1959, + 1959, 1773, 1773, 1773, 1773, 1773, 1130, 1773, 1130, 1957, + 1773, 1951, 1130, 1960, 1960, 1961, 1960, 1773, 1773, 1773, + 1962, 1957, 1960, 1960, 1963, 1964, 1773, 1773, 1773, 1965, + 1966, 1966, 1773, 1773, 1773, 1967, 1773, 1968, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1969, 1773, 1970, 1971, 1971, 1971, 1773, 1773, 1773, 1773, + + 1773, 1773, 1773, 1773, 1773, 1972, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1973, 1773, 1773, + 1773, 1773, 1773, 1974, 1773, 1773, 1773, 1970, 1975, 1976, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1977, 1977, 1773, + 1773, 1773, 1773, 1773, 1228, 1773, 1228, 1975, 1773, 1969, + 1228, 1978, 1978, 1979, 1978, 1773, 1773, 1773, 1980, 1975, + 1978, 1978, 1981, 1982, 1773, 1773, 1773, 1983, 1984, 1984, + 1773, 1773, 1773, 1985, 1773, 1986, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1987, 1773, + 1773, 1988, 1989, 1990, 1990, 1773, 1773, 1773, 1773, 1991, + + 1773, 1992, 1773, 1773, 1773, 1773, 1773, 1993, 1773, 1773, + 1773, 1773, 1994, 1773, 1773, 1995, 1773, 1996, 1996, 1996, + 1319, 1773, 1319, 1773, 1319, 1773, 1773, 1773, 1319, 1773, + 1319, 1324, 1773, 1773, 1773, 1773, 1773, 1319, 1319, 1319, + 1319, 1773, 1319, 1324, 1773, 1773, 1773, 1319, 1319, 1773, + 1773, 1319, 1773, 1319, 1324, 1773, 1773, 1773, 1319, 1319, + 1773, 1319, 1324, 1773, 1773, 1773, 1319, 1773, 1990, 1990, + 1997, 1998, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1997, 1998, 1998, 1387, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1998, 1387, 1387, + + 1999, 2000, 2000, 1773, 1773, 1773, 1773, 1773, 2001, 2002, + 2002, 1773, 1773, 1773, 1998, 2003, 2004, 2004, 1773, 1773, + 1773, 1773, 1773, 2005, 2005, 2005, 1773, 1773, 1773, 1773, + 1773, 2006, 2006, 2007, 1773, 1773, 1773, 2008, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 2009, 2010, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 2009, 2010, 2010, 1463, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 2010, 1463, 1463, 2011, 2012, 2012, 1773, + 1773, 1773, 1773, 1773, 2013, 2014, 2014, 1773, 1773, 1773, + 2010, 2015, 2016, 2016, 1773, 1773, 1773, 1773, 1773, 2017, + + 2017, 2017, 1773, 1773, 1773, 1773, 1773, 2018, 2018, 2019, + 1773, 1773, 1773, 2020, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 2021, 1773, 2022, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 2023, 1773, 2024, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 2024, 1544, 1773, 1773, 1773, 2024, 2024, 2024, 1773, 1773, + 2024, 1773, 1773, 2024, 1773, 1773, 2024, 2024, 2024, 2024, + 1773, 2024, 1544, 1773, 1773, 1773, 2025, 1773, 1773, 1773, + 1773, 2026, 1773, 1773, 2026, 2027, 2027, 2027, 1773, 1773, + 1773, 1773, 1773, 1773, 2028, 2028, 2028, 1773, 1773, 1773, + + 1773, 1773, 2029, 2029, 2029, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 2030, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 2031, 1773, 1773, + 2031, 2032, 2032, 2032, 1773, 1773, 1773, 1773, 1773, 1773, + 2033, 2033, 2033, 1773, 1773, 1773, 1773, 1773, 2034, 2034, + 2034, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 2019, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 2035, 1773, 2036, 1773, 2037, 1773, 2038, 2039, 1773, 1773, + 2024, 1544, 1773, 1773, 1773, 2024, 1773, 2024, 1544, 1773, + 1773, 1773, 2024, 1773, 2024, 1544, 1773, 1773, 1773, 2024, + + 1773, 2024, 1544, 1773, 1773, 1773, 1773, 2024, 1544, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 2040, 1773, 2041, 1773, 2024, 1544, 1773, + 1773, 1773, 1773, 1773, 1773, 2024, 1544, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 2042, + 2043, 1773, 0, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773 } ; -static const flex_int16_t yy_nxt[13418] = +static const flex_int16_t yy_nxt[14485] = { 0, - 1764, 1764, 35, 36, 37, 35, 36, 37, 105, 106, - 105, 106, 177, 183, 330, 177, 183, 330, 178, 184, - 1764, 1764, 233, 179, 179, 185, 38, 1764, 185, 42, - 268, 268, 268, 268, 178, 184, 1764, 186, 224, 186, - 187, 224, 188, 188, 188, 188, 222, 1764, 223, 223, - 223, 223, 420, 331, 420, 225, 225, 225, 225, 359, - 359, 359, 226, 372, 372, 372, 372, 235, 287, 380, - 381, 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, 43, - - 55, 43, 43, 56, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 58, 59, 50, 43, - 60, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 1773, 1773, 35, 36, 37, 35, 36, 37, 105, 106, + 105, 106, 177, 183, 383, 177, 183, 383, 178, 184, + 1773, 1773, 233, 179, 179, 185, 330, 38, 185, 330, + 42, 359, 359, 359, 178, 184, 1773, 186, 224, 186, + 187, 224, 188, 188, 188, 188, 222, 1773, 223, 223, + 223, 223, 235, 287, 1773, 225, 225, 225, 225, 268, + 268, 268, 268, 226, 235, 287, 249, 331, 247, 247, + 247, 247, 711, 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, 43, 55, 43, 43, 43, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 61, 62, 43, 63, 63, 64, 65, - 66, 43, 67, 45, 46, 67, 68, 47, 69, 68, - 70, 58, 43, 68, 71, 72, 71, 73, 53, 74, - 74, 74, 74, 75, 55, 68, 68, 76, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 58, 77, 43, 70, 60, 68, 68, 68, 68, 68, - + 58, 59, 50, 43, 60, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 61, 62, 43, + 63, 63, 64, 65, 66, 43, 67, 45, 46, 67, + 68, 47, 69, 68, 70, 58, 43, 68, 71, 72, + 71, 73, 53, 74, 74, 74, 74, 75, 55, 68, + 68, 68, 76, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 58, 77, 43, 70, + + 60, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 43, 78, 68, - 63, 63, 79, 80, 81, 43, 82, 45, 46, 82, - 83, 47, 84, 83, 70, 58, 50, 83, 85, 72, - 85, 86, 83, 87, 87, 87, 87, 88, 55, 83, - 83, 89, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 58, 90, 50, 70, 60, 83, + 68, 68, 68, 43, 78, 68, 63, 63, 79, 80, + 81, 43, 82, 45, 46, 82, 83, 47, 84, 83, + 70, 58, 50, 83, 85, 72, 85, 86, 83, 87, + 87, 87, 87, 88, 55, 83, 83, 83, 89, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 58, 90, 50, 70, 60, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 43, 62, 83, 63, 63, 91, 92, 93, 95, - - 96, 97, 95, 172, 173, 174, 98, 729, 98, 98, - 98, 98, 730, 98, 98, 99, 180, 707, 172, 173, - 174, 711, 181, 98, 172, 173, 174, 182, 712, 172, - 173, 174, 224, 382, 713, 224, 382, 98, 100, 98, - 385, 345, 224, 385, 345, 224, 108, 109, 110, 108, - 422, 111, 108, 109, 110, 108, 226, 111, 139, 140, - 141, 139, 368, 111, 706, 368, 98, 101, 101, 102, - 103, 104, 95, 96, 97, 95, 413, 369, 707, 98, - 346, 98, 98, 98, 98, 112, 98, 98, 99, 243, - 1087, 112, 243, 405, 406, 377, 98, 142, 377, 478, - - 1569, 244, 478, 244, 245, 785, 246, 246, 246, 246, - 98, 100, 98, 414, 113, 113, 114, 115, 116, 722, - 113, 113, 114, 115, 116, 793, 113, 113, 114, 115, - 116, 373, 723, 374, 378, 375, 375, 375, 375, 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, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 117, 117, 117, 117, 117, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - - 120, 120, 121, 120, 120, 120, 120, 120, 120, 122, - 120, 117, 117, 117, 123, 123, 124, 125, 126, 108, - 127, 128, 108, 380, 381, 172, 173, 174, 139, 140, - 141, 139, 1099, 111, 165, 166, 334, 661, 167, 165, - 166, 1016, 487, 167, 129, 487, 227, 348, 228, 1017, - 229, 229, 229, 229, 1570, 1764, 291, 233, 130, 291, - 662, 131, 231, 662, 801, 235, 287, 142, 292, 807, - 292, 293, 168, 294, 294, 294, 294, 168, 814, 249, - 231, 247, 247, 247, 247, 349, 667, 113, 113, 114, - 115, 116, 108, 127, 128, 108, 113, 113, 114, 115, - - 116, 113, 113, 114, 115, 116, 113, 113, 114, 115, - 116, 387, 387, 387, 387, 380, 682, 129, 190, 388, - 389, 389, 389, 248, 191, 487, 235, 390, 487, 192, - 224, 130, 249, 224, 131, 172, 173, 174, 250, 405, - 406, 391, 251, 200, 676, 307, 676, 308, 308, 308, - 308, 1111, 193, 668, 226, 194, 668, 195, 252, 391, - 113, 113, 114, 115, 116, 132, 1571, 407, 132, 196, - 407, 133, 683, 70, 58, 683, 197, 134, 72, 134, - 135, 43, 136, 136, 136, 136, 654, 253, 254, 255, - 137, 408, 423, 424, 425, 269, 823, 270, 655, 271, - - 271, 271, 271, 274, 138, 656, 70, 139, 140, 141, - 139, 272, 249, 180, 190, 172, 173, 174, 275, 693, - 191, 1117, 251, 487, 235, 192, 487, 330, 281, 272, - 330, 390, 129, 1572, 282, 296, 282, 693, 276, 283, - 283, 283, 283, 257, 297, 391, 143, 1123, 193, 131, - 298, 194, 1574, 195, 299, 309, 708, 310, 709, 311, - 311, 311, 311, 391, 830, 370, 331, 277, 278, 279, - 300, 312, 371, 694, 406, 113, 113, 114, 115, 116, - 139, 140, 141, 139, 181, 838, 172, 173, 174, 312, - 417, 417, 284, 285, 286, 561, 562, 563, 314, 301, - - 302, 303, 643, 644, 645, 129, 182, 297, 172, 173, - 174, 382, 321, 315, 382, 1131, 200, 299, 322, 143, - 322, 1575, 131, 323, 323, 323, 323, 304, 235, 287, - 1011, 1012, 180, 316, 172, 173, 174, 403, 454, 172, - 173, 174, 297, 842, 295, 295, 295, 295, 113, 113, - 114, 115, 116, 145, 146, 147, 145, 470, 470, 470, - 470, 148, 317, 318, 319, 423, 424, 425, 987, 987, - 149, 149, 149, 149, 987, 987, 324, 325, 326, 149, - 149, 149, 149, 1392, 177, 662, 334, 177, 662, 222, - 178, 188, 188, 188, 188, 179, 149, 149, 149, 149, - - 149, 149, 145, 146, 147, 145, 178, 1583, 1584, 390, - 148, 392, 392, 392, 392, 225, 225, 225, 225, 149, - 149, 149, 149, 391, 400, 359, 359, 359, 149, 149, - 149, 149, 990, 183, 990, 400, 183, 345, 699, 184, - 345, 391, 700, 700, 179, 149, 149, 149, 149, 149, - 149, 151, 152, 153, 151, 184, 154, 155, 400, 1145, - 156, 156, 156, 400, 156, 157, 1585, 400, 158, 159, - 159, 159, 156, 160, 400, 1400, 346, 400, 415, 400, - 401, 1592, 416, 185, 416, 1593, 185, 417, 417, 156, - 407, 156, 156, 407, 1407, 186, 1600, 186, 187, 161, - - 188, 188, 188, 188, 1601, 200, 162, 225, 225, 225, - 225, 163, 668, 349, 408, 668, 156, 156, 164, 151, - 152, 153, 151, 377, 154, 155, 377, 1154, 156, 156, - 156, 449, 156, 157, 1602, 1415, 158, 159, 159, 159, - 156, 160, 409, 1603, 410, 1604, 411, 411, 411, 411, - 486, 486, 486, 486, 423, 424, 425, 156, 412, 156, - 156, 385, 378, 418, 385, 418, 1161, 161, 419, 419, - 419, 1605, 683, 380, 162, 683, 412, 1423, 200, 163, - 504, 504, 504, 504, 156, 156, 164, 198, 1610, 407, - 198, 199, 407, 180, 199, 172, 173, 174, 199, 199, - - 456, 199, 1611, 199, 199, 199, 199, 199, 200, 725, - 199, 199, 726, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 1429, 199, 423, 424, 425, - 201, 202, 203, 204, 205, 206, 207, 199, 208, 199, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 199, - 199, 199, 478, 487, 199, 478, 487, 218, 219, 220, - 235, 236, 237, 227, 1612, 471, 1613, 472, 472, 472, - 472, 527, 527, 527, 527, 1167, 238, 238, 238, 412, - 662, 200, 473, 662, 474, 1614, 475, 475, 475, 475, - 368, 856, 200, 368, 674, 200, 674, 412, 477, 675, - - 675, 675, 237, 237, 227, 369, 237, 237, 479, 479, - 479, 479, 865, 443, 237, 444, 477, 237, 874, 237, - 200, 237, 239, 190, 445, 453, 200, 1185, 1615, 191, - 423, 424, 425, 889, 192, 256, 256, 256, 256, 257, - 258, 423, 424, 425, 423, 424, 425, 455, 446, 259, - 260, 261, 262, 263, 264, 447, 200, 193, 897, 1197, - 194, 448, 195, 200, 1616, 268, 268, 268, 268, 423, - 424, 425, 408, 200, 196, 423, 424, 425, 200, 905, - 911, 197, 248, 200, 668, 457, 200, 668, 450, 451, - 452, 265, 918, 266, 266, 266, 266, 250, 458, 1209, - - 683, 251, 200, 683, 1617, 423, 424, 425, 459, 463, - 927, 1215, 423, 424, 425, 460, 1020, 252, 461, 1021, - 200, 1618, 423, 424, 425, 200, 462, 423, 424, 425, - 1221, 1620, 423, 424, 425, 423, 424, 425, 227, 466, - 228, 934, 229, 229, 229, 229, 253, 254, 255, 296, - 464, 423, 424, 425, 231, 465, 942, 1229, 305, 467, - 306, 306, 306, 306, 298, 419, 419, 419, 299, 423, - 424, 425, 231, 702, 423, 424, 425, 703, 703, 703, - 484, 1764, 484, 233, 300, 485, 485, 485, 485, 488, - 488, 488, 243, 1621, 489, 243, 492, 946, 246, 246, - - 246, 246, 662, 334, 244, 662, 244, 245, 1468, 246, - 246, 246, 246, 301, 302, 303, 333, 333, 334, 335, - 336, 333, 333, 333, 337, 333, 337, 337, 337, 337, - 333, 337, 337, 337, 338, 338, 338, 333, 333, 333, - 333, 337, 333, 333, 333, 339, 333, 333, 333, 333, - 333, 333, 339, 333, 339, 337, 336, 337, 333, 333, - 336, 336, 333, 339, 336, 336, 333, 333, 333, 333, - 333, 333, 336, 333, 333, 336, 339, 336, 333, 336, - 340, 333, 333, 333, 337, 333, 333, 333, 333, 333, - 349, 350, 351, 1629, 351, 512, 493, 351, 494, 1630, - - 495, 495, 495, 495, 498, 1243, 352, 352, 352, 1631, - 513, 269, 496, 249, 1476, 541, 541, 541, 541, 499, - 1638, 1639, 576, 251, 294, 294, 294, 294, 351, 519, - 496, 351, 351, 351, 1483, 758, 351, 351, 758, 500, - 256, 256, 256, 256, 351, 759, 520, 351, 1646, 351, - 1647, 351, 353, 360, 360, 360, 360, 1252, 1648, 514, - 515, 516, 360, 360, 360, 360, 304, 1491, 501, 502, - 503, 588, 588, 588, 588, 609, 609, 609, 609, 360, - 360, 360, 360, 360, 360, 362, 1649, 363, 363, 654, - 596, 364, 363, 364, 248, 1650, 365, 365, 365, 365, - - 1259, 655, 1651, 249, 363, 597, 506, 1499, 656, 250, - 715, 716, 717, 251, 1656, 249, 291, 363, 1657, 291, - 363, 275, 663, 663, 663, 251, 1505, 664, 292, 252, - 292, 293, 1658, 294, 294, 294, 294, 669, 669, 669, - 1659, 507, 670, 1265, 363, 349, 350, 351, 1660, 351, - 668, 349, 351, 668, 598, 599, 600, 960, 253, 254, - 255, 352, 352, 352, 683, 380, 248, 683, 969, 367, - 508, 509, 510, 309, 978, 249, 1661, 623, 623, 623, - 623, 250, 1662, 351, 1663, 251, 351, 351, 351, 1664, - 1665, 351, 351, 673, 673, 673, 673, 1666, 1667, 351, - - 1668, 252, 351, 1669, 351, 522, 351, 353, 232, 1670, - 986, 232, 986, 232, 249, 987, 987, 232, 232, 232, - 275, 232, 422, 706, 251, 365, 365, 365, 365, 232, - 253, 254, 255, 681, 681, 681, 681, 488, 488, 488, - 523, 707, 489, 422, 407, 706, 232, 407, 232, 232, - 551, 1764, 551, 249, 707, 552, 552, 552, 552, 307, - 422, 308, 308, 308, 308, 706, 707, 497, 408, 524, - 525, 526, 1087, 232, 232, 232, 426, 427, 428, 429, - 430, 431, 432, 1099, 433, 497, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 480, 480, 480, 480, 480, - - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 1111, 480, 481, 481, 481, 481, 480, 480, 480, - 480, 480, 482, 482, 482, 483, 482, 482, 482, 482, - 482, 482, 482, 482, 480, 480, 480, 480, 480, 482, - 482, 482, 482, 483, 482, 482, 482, 482, 482, 482, - 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, - 482, 480, 480, 480, 480, 480, 480, 480, 480, 498, - 686, 686, 686, 686, 1117, 1123, 269, 1131, 270, 200, - 528, 528, 528, 528, 499, 808, 809, 810, 251, 1577, - 1706, 200, 529, 577, 1707, 578, 554, 579, 579, 579, - - 579, 1392, 1708, 274, 500, 249, 1145, 200, 1586, 580, - 529, 555, 249, 1709, 200, 251, 734, 1710, 275, 373, - 1400, 678, 251, 679, 679, 679, 679, 580, 423, 424, - 425, 556, 1711, 501, 502, 503, 531, 1594, 276, 733, - 423, 424, 425, 532, 1712, 533, 1713, 534, 534, 534, - 534, 535, 736, 737, 1407, 536, 423, 424, 425, 537, - 557, 558, 559, 423, 424, 425, 373, 277, 278, 279, - 680, 680, 680, 680, 373, 684, 374, 537, 375, 375, - 375, 375, 470, 470, 470, 470, 387, 387, 387, 387, - 699, 687, 685, 687, 1004, 1004, 688, 688, 688, 688, - - 538, 539, 540, 480, 480, 480, 480, 480, 542, 480, - 543, 542, 480, 480, 480, 542, 542, 480, 542, 1714, - 480, 544, 544, 544, 544, 545, 480, 542, 542, 546, - 542, 542, 542, 547, 542, 542, 542, 542, 542, 542, - 542, 542, 480, 542, 480, 480, 480, 542, 542, 542, - 542, 547, 542, 542, 542, 542, 542, 542, 542, 542, - 542, 542, 542, 542, 542, 542, 542, 542, 542, 480, - 480, 542, 480, 480, 548, 549, 550, 274, 1154, 390, - 567, 392, 392, 392, 392, 248, 249, 1415, 582, 249, - 1715, 1161, 275, 391, 249, 250, 251, 297, 1606, 251, - - 250, 699, 1716, 583, 251, 700, 700, 299, 839, 840, - 841, 391, 276, 296, 1717, 568, 839, 840, 841, 484, - 252, 484, 297, 584, 698, 698, 698, 698, 298, 409, - 1423, 1718, 299, 695, 695, 695, 695, 775, 775, 775, - 775, 277, 278, 279, 569, 570, 571, 567, 300, 253, - 254, 255, 585, 586, 587, 590, 249, 1429, 572, 572, - 572, 572, 250, 1719, 297, 1167, 251, 200, 1185, 1197, - 315, 1209, 296, 1764, 299, 1764, 474, 301, 302, 303, - 604, 297, 568, 698, 698, 698, 698, 298, 699, 297, - 591, 299, 700, 700, 740, 315, 866, 867, 868, 299, - - 390, 1215, 392, 392, 392, 392, 1221, 300, 561, 562, - 563, 569, 570, 571, 391, 605, 423, 424, 425, 592, - 593, 594, 633, 1764, 633, 297, 1229, 634, 634, 634, - 634, 758, 391, 636, 758, 200, 301, 302, 303, 581, - 1623, 759, 297, 1720, 606, 607, 608, 582, 637, 912, - 913, 914, 299, 1721, 309, 1468, 310, 581, 610, 610, - 610, 610, 583, 943, 944, 945, 299, 739, 638, 200, - 611, 943, 944, 945, 314, 696, 696, 696, 696, 1722, - 1243, 314, 584, 297, 423, 424, 425, 697, 611, 315, - 297, 1632, 200, 299, 1723, 1724, 315, 639, 640, 641, - - 299, 200, 1476, 1725, 735, 697, 1640, 1034, 200, 316, - 1034, 585, 586, 587, 613, 200, 316, 1035, 423, 424, - 425, 614, 741, 615, 200, 616, 616, 616, 616, 617, - 742, 1726, 1764, 618, 1764, 474, 738, 619, 317, 318, - 319, 423, 424, 425, 743, 317, 318, 319, 1727, 744, - 423, 424, 425, 1483, 747, 619, 473, 423, 424, 425, - 769, 769, 769, 769, 423, 424, 425, 777, 1728, 778, - 778, 778, 778, 423, 424, 425, 1252, 1491, 620, 621, - 622, 480, 480, 480, 480, 480, 624, 480, 625, 624, - 480, 480, 480, 624, 624, 480, 624, 1729, 624, 626, - - 626, 626, 626, 627, 480, 624, 624, 628, 624, 624, - 624, 629, 624, 624, 624, 624, 624, 624, 624, 624, - 480, 624, 480, 480, 480, 624, 624, 624, 624, 629, - 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, - 624, 624, 624, 624, 624, 624, 624, 480, 480, 624, - 480, 480, 630, 631, 632, 649, 1259, 200, 1036, 1652, - 296, 1036, 200, 1730, 297, 1731, 200, 1499, 1037, 297, - 298, 970, 971, 972, 299, 298, 409, 1732, 410, 299, - 411, 411, 411, 411, 486, 486, 486, 486, 1505, 200, - 650, 745, 412, 200, 746, 300, 1733, 1265, 200, 1734, - - 754, 1735, 200, 643, 644, 645, 423, 424, 425, 755, - 412, 423, 424, 425, 756, 423, 424, 425, 1736, 651, - 652, 653, 649, 1737, 301, 302, 303, 757, 200, 422, - 706, 297, 763, 657, 657, 657, 657, 298, 423, 424, - 425, 299, 423, 424, 425, 765, 200, 423, 424, 425, - 707, 423, 424, 425, 422, 706, 770, 650, 770, 707, - 200, 771, 771, 771, 771, 422, 706, 760, 268, 268, - 268, 268, 1764, 758, 1764, 474, 758, 423, 424, 425, - 663, 663, 663, 759, 761, 664, 651, 652, 653, 360, - 360, 360, 360, 764, 200, 423, 424, 425, 360, 360, - - 360, 360, 200, 504, 504, 504, 504, 200, 707, 423, - 424, 425, 675, 675, 675, 360, 360, 360, 360, 360, - 360, 232, 824, 702, 232, 422, 232, 994, 994, 994, - 232, 232, 232, 706, 232, 531, 707, 422, 762, 1000, - 1000, 1000, 232, 423, 424, 425, 766, 1100, 1101, 1102, - 535, 423, 424, 425, 536, 706, 423, 424, 425, 232, - 707, 232, 232, 227, 1577, 471, 1752, 472, 472, 472, - 472, 825, 826, 827, 1047, 1392, 473, 1047, 474, 412, - 475, 475, 475, 475, 1048, 1586, 232, 232, 232, 704, - 1753, 1400, 477, 705, 705, 705, 705, 412, 1594, 538, - - 539, 540, 705, 705, 705, 705, 484, 1754, 484, 1407, - 477, 776, 776, 776, 776, 802, 808, 809, 810, 705, - 705, 705, 705, 705, 705, 748, 748, 748, 748, 748, - 803, 748, 749, 1415, 748, 748, 748, 824, 227, 748, - 772, 748, 773, 773, 773, 773, 1606, 750, 748, 1755, - 802, 748, 493, 1423, 774, 1429, 780, 780, 780, 780, - 308, 308, 308, 308, 748, 1623, 748, 749, 748, 783, - 1756, 783, 774, 1468, 784, 784, 784, 784, 532, 804, - 805, 806, 829, 829, 829, 829, 825, 826, 827, 1632, - 1757, 748, 748, 1476, 748, 748, 751, 752, 753, 480, - - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 1640, 480, 768, 768, 768, - 768, 480, 480, 480, 480, 480, 482, 482, 482, 483, - 482, 482, 482, 482, 482, 482, 482, 482, 480, 480, - 480, 480, 480, 482, 482, 482, 482, 483, 482, 482, - 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, - 482, 482, 482, 482, 482, 480, 480, 480, 480, 480, - 480, 480, 480, 531, 493, 1758, 494, 928, 495, 495, - 495, 495, 498, 1483, 781, 781, 781, 781, 535, 1491, - 496, 249, 536, 988, 498, 988, 782, 499, 989, 989, - - 989, 251, 1652, 249, 1759, 928, 786, 1499, 496, 499, - 1112, 1113, 1114, 251, 782, 249, 1505, 500, 669, 669, - 669, 275, 1760, 670, 422, 251, 929, 930, 931, 500, - 531, 1118, 1119, 1120, 498, 706, 707, 538, 539, 540, - 1760, 787, 794, 249, 422, 828, 501, 502, 503, 499, - 531, 249, 706, 251, 929, 930, 931, 555, 501, 502, - 503, 251, 1124, 1125, 1126, 828, 506, 707, 1577, 500, - 788, 789, 790, 1586, 506, 249, 1594, 795, 839, 840, - 841, 275, 702, 249, 824, 251, 1005, 1005, 1005, 275, - 866, 867, 868, 251, 843, 844, 845, 1606, 501, 502, - - 503, 507, 815, 1198, 1199, 1200, 796, 797, 798, 507, - 522, 249, 1623, 1632, 843, 844, 845, 555, 702, 249, - 1640, 251, 703, 703, 703, 275, 1652, 522, 706, 251, - 508, 509, 510, 825, 826, 827, 249, 816, 508, 509, - 510, 1073, 275, 422, 1073, 523, 251, 551, 1764, 551, - 249, 1074, 552, 552, 552, 552, 588, 588, 588, 588, - 707, 824, 523, 706, 497, 577, 817, 818, 819, 884, - 884, 884, 884, 490, 524, 525, 526, 422, 846, 490, - 846, 707, 497, 847, 847, 847, 847, 824, 706, 422, - 833, 524, 525, 526, 531, 673, 673, 673, 673, 707, - - 613, 532, 706, 533, 422, 822, 822, 822, 822, 535, - 825, 826, 827, 536, 269, 932, 850, 537, 851, 851, - 851, 851, 486, 486, 486, 486, 887, 906, 887, 1532, - 852, 888, 888, 888, 888, 537, 825, 826, 827, 825, - 826, 827, 907, 1531, 1530, 854, 1529, 854, 852, 928, - 855, 855, 855, 855, 824, 912, 913, 914, 538, 539, - 540, 498, 906, 665, 947, 948, 949, 1528, 269, 665, - 270, 1527, 528, 528, 528, 528, 499, 1210, 1211, 1212, - 251, 1764, 1526, 249, 529, 552, 552, 552, 552, 1525, - 1524, 908, 909, 910, 1523, 928, 500, 497, 929, 930, - - 931, 554, 529, 825, 826, 827, 688, 688, 688, 688, - 249, 1216, 1217, 1218, 554, 497, 555, 1522, 671, 613, - 251, 1521, 1520, 249, 671, 501, 502, 503, 831, 555, - 1222, 1223, 1224, 251, 617, 532, 556, 533, 618, 832, - 832, 832, 832, 833, 929, 930, 931, 536, 1519, 556, - 1034, 834, 577, 1034, 578, 554, 579, 579, 579, 579, - 1035, 1518, 875, 823, 249, 557, 558, 559, 580, 834, - 555, 249, 1036, 1517, 251, 1036, 648, 499, 557, 558, - 559, 251, 1037, 620, 621, 622, 580, 943, 944, 945, - 556, 1513, 835, 836, 837, 831, 937, 876, 970, 971, - - 972, 613, 532, 978, 533, 642, 853, 853, 853, 853, - 833, 989, 989, 989, 536, 635, 932, 1512, 834, 557, - 558, 559, 567, 989, 989, 989, 877, 878, 879, 567, - 823, 249, 1047, 692, 582, 1047, 834, 250, 249, 692, - 969, 251, 1048, 297, 250, 929, 930, 931, 251, 583, - 702, 1511, 421, 299, 994, 994, 994, 568, 421, 835, - 836, 837, 857, 960, 568, 947, 948, 949, 1510, 584, - 582, 858, 1509, 859, 859, 859, 859, 860, 702, 297, - 1265, 861, 703, 703, 703, 583, 569, 570, 571, 299, - 1100, 1101, 1102, 569, 570, 571, 200, 500, 585, 586, - - 587, 1267, 890, 614, 1498, 584, 1497, 933, 933, 933, - 933, 297, 688, 688, 688, 688, 1259, 315, 373, 1490, - 678, 299, 679, 679, 679, 679, 862, 863, 864, 875, - 1078, 1078, 1078, 1078, 585, 586, 587, 891, 249, 1329, - 882, 882, 882, 882, 499, 423, 424, 425, 251, 1112, - 1113, 1114, 633, 1764, 633, 297, 582, 634, 634, 634, - 634, 1489, 1252, 898, 876, 297, 892, 893, 894, 581, - 590, 583, 297, 1073, 1327, 299, 1073, 1327, 637, 297, - 1475, 1474, 299, 1074, 1328, 315, 490, 581, 490, 299, - 1243, 584, 490, 877, 878, 879, 613, 309, 899, 954, - - 677, 955, 955, 955, 955, 591, 677, 885, 885, 885, - 885, 617, 612, 956, 1464, 618, 1118, 1119, 1120, 886, - 585, 586, 587, 590, 1124, 1125, 1126, 900, 901, 902, - 919, 956, 297, 946, 592, 593, 594, 886, 315, 297, - 1463, 1462, 299, 1229, 604, 637, 1430, 1431, 1432, 299, - 1198, 1199, 1200, 297, 1461, 604, 942, 1460, 591, 315, - 620, 621, 622, 299, 297, 920, 775, 775, 775, 775, - 315, 373, 934, 678, 299, 996, 996, 996, 996, 605, - 1000, 686, 686, 686, 686, 1001, 1000, 592, 593, 594, - 605, 1001, 1459, 391, 921, 922, 923, 950, 1006, 950, - - 1458, 1006, 951, 951, 951, 951, 928, 1006, 606, 607, - 608, 391, 991, 1076, 1076, 1076, 1076, 1221, 991, 606, - 607, 608, 613, 200, 1283, 1077, 1210, 1211, 1212, 614, - 1283, 615, 1453, 926, 926, 926, 926, 617, 1216, 1217, - 1218, 618, 1764, 1077, 297, 619, 634, 634, 634, 634, - 784, 784, 784, 784, 1309, 929, 930, 931, 581, 958, - 1452, 958, 636, 619, 959, 959, 959, 959, 928, 1215, - 1451, 297, 423, 424, 425, 636, 581, 637, 1222, 1223, - 1224, 299, 927, 1450, 297, 1449, 620, 621, 622, 582, - 637, 1506, 1507, 1508, 299, 1209, 309, 638, 310, 603, - - 610, 610, 610, 610, 583, 1607, 1608, 1609, 299, 1448, - 638, 200, 611, 1430, 1431, 1432, 636, 929, 930, 931, - 1653, 1654, 1655, 979, 584, 297, 639, 640, 641, 802, - 611, 637, 297, 918, 595, 299, 1447, 1332, 583, 639, - 640, 641, 299, 409, 803, 1002, 1284, 1003, 1003, 1003, - 1003, 638, 1284, 585, 586, 587, 935, 911, 980, 774, - 423, 424, 425, 614, 802, 615, 1446, 936, 936, 936, - 936, 937, 1506, 1507, 1508, 618, 905, 774, 200, 938, - 639, 640, 641, 649, 1607, 1608, 1609, 981, 982, 983, - 649, 927, 297, 804, 805, 806, 1445, 938, 298, 297, - - 1444, 1341, 299, 1034, 1341, 298, 1034, 1311, 1197, 299, - 473, 1342, 474, 1035, 475, 475, 475, 475, 650, 589, - 939, 940, 941, 935, 200, 650, 477, 423, 424, 425, - 614, 1443, 615, 897, 957, 957, 957, 957, 937, 1653, - 1654, 1655, 618, 581, 477, 1442, 938, 651, 652, 653, - 832, 832, 832, 832, 651, 652, 653, 889, 927, 1441, - 484, 1764, 484, 1764, 938, 776, 776, 776, 776, 888, - 888, 888, 888, 423, 424, 425, 1036, 1440, 473, 1036, - 474, 1185, 475, 475, 475, 475, 1037, 939, 940, 941, - 961, 566, 1515, 1437, 477, 874, 421, 200, 1515, 962, - - 421, 963, 963, 963, 963, 964, 421, 1764, 560, 965, - 1764, 1764, 477, 553, 1764, 1436, 1764, 1764, 865, 1764, - 1435, 1764, 856, 1516, 1764, 584, 1764, 1764, 200, 1516, - 1047, 677, 200, 1047, 1764, 677, 1434, 200, 1762, 1764, - 1048, 677, 1764, 1433, 1762, 200, 423, 424, 425, 1764, - 1167, 200, 1038, 1763, 966, 967, 968, 979, 1039, 1763, - 200, 1040, 1169, 1422, 1764, 1421, 297, 1764, 992, 992, - 992, 992, 583, 1161, 1764, 1414, 299, 423, 424, 425, - 1041, 423, 424, 425, 1413, 200, 423, 424, 425, 991, - 1043, 1154, 980, 991, 423, 424, 425, 1399, 1398, 991, - - 423, 424, 425, 1764, 1764, 1764, 1764, 1764, 1764, 423, - 424, 425, 1145, 1764, 1764, 1764, 1764, 1042, 530, 1764, - 1388, 981, 982, 983, 704, 200, 1764, 842, 995, 995, - 995, 995, 1387, 1386, 423, 424, 425, 995, 995, 995, - 995, 1764, 1131, 474, 1385, 771, 771, 771, 771, 838, - 1547, 1384, 1044, 830, 995, 995, 995, 995, 995, 995, - 705, 705, 705, 705, 936, 936, 936, 936, 1383, 705, - 705, 705, 705, 1382, 423, 424, 425, 1082, 1082, 1082, - 1082, 1123, 1764, 1377, 1376, 1764, 705, 705, 705, 705, - 705, 705, 1764, 1168, 665, 1764, 665, 1117, 1764, 1764, - - 665, 1375, 1764, 200, 1764, 1764, 823, 1764, 1169, 1764, - 1374, 671, 1764, 671, 1764, 1764, 200, 671, 1764, 1373, - 200, 1764, 1764, 1111, 521, 200, 1372, 814, 1764, 1045, - 227, 511, 772, 200, 773, 773, 773, 773, 1371, 200, - 1764, 1764, 1049, 1764, 1764, 807, 774, 1370, 801, 1369, - 1764, 1764, 423, 424, 425, 1046, 1368, 1170, 1171, 1172, - 1099, 200, 1051, 1050, 774, 423, 424, 425, 505, 423, - 424, 425, 1367, 793, 423, 424, 425, 1764, 497, 1366, - 1764, 785, 423, 424, 425, 1365, 1548, 1764, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 200, 433, - - 1052, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 423, 424, 425, 1327, 1364, 1764, 1327, 1087, 1764, 707, - 706, 1053, 422, 1328, 1764, 1764, 777, 1764, 778, 778, - 778, 778, 707, 1081, 1764, 1081, 200, 706, 1082, 1082, - 1082, 1082, 422, 802, 1308, 200, 1307, 423, 424, 425, - 1054, 1054, 1054, 1054, 1054, 1306, 1054, 1055, 803, 1054, - 1054, 1054, 1061, 1764, 1054, 1764, 1054, 1305, 1083, 1083, - 1083, 1083, 1056, 1054, 1550, 1304, 1054, 1550, 802, 1303, - 1764, 1062, 1302, 1764, 1551, 423, 424, 425, 1301, 1054, - 1764, 1054, 1055, 1054, 423, 424, 425, 1083, 1083, 1083, - - 1083, 200, 1300, 1299, 1057, 1298, 1297, 804, 805, 806, - 1143, 1143, 1143, 1143, 1296, 1073, 1054, 1054, 1073, 1054, - 1054, 1058, 1059, 1060, 1266, 1074, 1295, 1142, 1764, 1142, - 1063, 1764, 1143, 1143, 1143, 1143, 200, 1764, 1764, 1267, - 1764, 1241, 1241, 1241, 1241, 1294, 1132, 1764, 1293, 200, - 423, 424, 425, 1064, 1064, 1064, 1064, 1064, 200, 1064, - 1065, 824, 1064, 1064, 1064, 1292, 200, 1064, 906, 1064, - 1764, 1291, 1290, 1764, 1289, 1066, 1064, 1071, 200, 1064, - 1764, 1132, 1288, 907, 1072, 423, 424, 425, 1268, 1269, - 1270, 200, 1064, 1287, 1064, 1065, 1064, 422, 423, 424, - - 425, 1067, 1280, 906, 1310, 320, 1279, 423, 424, 425, - 1133, 1134, 1135, 648, 1278, 423, 424, 425, 1277, 1064, - 1064, 1075, 1064, 1064, 1068, 1069, 1070, 423, 424, 425, - 978, 313, 908, 909, 910, 1568, 1568, 1568, 1568, 1276, - 423, 424, 425, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 642, - 480, 1079, 1079, 1079, 1079, 480, 480, 480, 480, 480, - 482, 482, 482, 1080, 482, 482, 482, 482, 482, 482, - 482, 482, 480, 480, 480, 480, 480, 482, 482, 482, - 482, 1080, 482, 482, 482, 482, 482, 482, 482, 482, - - 482, 482, 482, 482, 482, 482, 482, 482, 482, 480, - 480, 480, 480, 480, 480, 480, 480, 493, 1275, 1084, - 635, 1085, 1085, 1085, 1085, 847, 847, 847, 847, 824, - 854, 531, 854, 852, 1274, 855, 855, 855, 855, 824, - 533, 1273, 1086, 1086, 1086, 1086, 535, 969, 1272, 1271, - 536, 852, 831, 474, 960, 771, 771, 771, 771, 532, - 1237, 533, 612, 832, 832, 832, 832, 833, 1235, 1234, - 946, 536, 1228, 1764, 1553, 834, 1764, 1553, 825, 826, - 827, 1227, 942, 1764, 1554, 1088, 1226, 823, 825, 826, - 827, 1225, 786, 834, 249, 538, 539, 540, 934, 1764, - - 555, 249, 1764, 1214, 251, 1213, 786, 275, 927, 1764, - 1208, 251, 200, 794, 603, 249, 835, 836, 837, 1207, - 1089, 275, 249, 1206, 794, 251, 1552, 787, 555, 918, - 295, 1764, 251, 249, 1205, 1138, 1138, 1138, 1138, 555, - 595, 787, 1204, 251, 200, 794, 1320, 830, 795, 1090, - 1091, 1092, 1203, 911, 249, 1202, 788, 789, 790, 795, - 555, 423, 424, 425, 251, 830, 815, 1201, 905, 1196, - 788, 789, 790, 589, 1195, 249, 1194, 796, 797, 798, - 795, 555, 1312, 815, 897, 251, 1193, 581, 796, 797, - 798, 1192, 249, 423, 424, 425, 1191, 889, 555, 906, - - 280, 816, 251, 1181, 815, 1285, 1285, 1285, 1285, 796, - 797, 798, 566, 249, 907, 1180, 1179, 1286, 816, 555, - 269, 874, 850, 251, 851, 851, 851, 851, 273, 1178, - 817, 818, 819, 560, 906, 1286, 852, 1177, 200, 816, - 553, 1176, 855, 855, 855, 855, 824, 817, 818, 819, - 846, 1175, 846, 865, 852, 847, 847, 847, 847, 824, - 1174, 1173, 856, 908, 909, 910, 1139, 530, 817, 818, - 819, 831, 1137, 1136, 842, 1130, 1129, 1331, 532, 838, - 533, 1128, 853, 853, 853, 853, 833, 423, 424, 425, - 536, 1127, 830, 1116, 834, 825, 826, 827, 1764, 1115, - - 823, 1110, 1144, 1144, 1144, 1144, 823, 1146, 825, 826, - 827, 521, 834, 1109, 830, 1108, 249, 814, 200, 1230, - 247, 1107, 1147, 511, 498, 1106, 251, 951, 951, 951, - 951, 928, 830, 249, 928, 835, 836, 837, 531, 1152, - 1105, 807, 1148, 251, 1339, 532, 1104, 533, 1103, 1121, - 1121, 1121, 1121, 535, 1230, 801, 1098, 536, 1764, 500, - 1764, 1122, 1153, 1153, 1153, 1153, 505, 423, 424, 425, - 1097, 1149, 1150, 1151, 530, 1096, 793, 1095, 497, 1122, - 929, 930, 931, 1231, 1232, 1233, 1094, 1093, 501, 502, - 503, 1240, 530, 1240, 785, 233, 1241, 1241, 1241, 1241, - - 199, 707, 538, 539, 540, 480, 480, 480, 480, 480, - 542, 480, 543, 542, 480, 480, 480, 542, 542, 480, - 542, 706, 480, 1140, 1140, 1140, 1140, 545, 480, 542, - 542, 546, 542, 542, 542, 1141, 542, 542, 542, 542, - 542, 542, 542, 542, 480, 542, 480, 480, 480, 542, - 542, 542, 542, 1141, 542, 542, 542, 542, 542, 542, - 542, 542, 542, 542, 542, 542, 542, 542, 542, 542, - 542, 480, 480, 542, 480, 480, 548, 549, 550, 1155, - 474, 422, 1361, 1361, 1361, 1361, 1162, 1033, 858, 1032, - 1156, 1156, 1156, 1156, 1157, 249, 1031, 875, 861, 1030, - - 875, 275, 1029, 1028, 200, 251, 249, 200, 1027, 249, - 1026, 875, 499, 1025, 1148, 499, 251, 1024, 1023, 251, - 249, 1163, 1022, 1019, 1018, 1015, 499, 1014, 1013, 1340, - 251, 1010, 876, 1009, 373, 876, 678, 1008, 996, 996, - 996, 996, 1007, 1158, 1159, 1160, 876, 422, 704, 200, - 1164, 1165, 1166, 423, 424, 425, 423, 424, 425, 1764, - 999, 877, 878, 879, 877, 878, 879, 577, 998, 1182, - 997, 1183, 1183, 1183, 1183, 877, 878, 879, 875, 354, - 670, 1330, 341, 956, 200, 1764, 664, 249, 1764, 882, - 882, 882, 882, 499, 327, 1764, 993, 251, 423, 424, - - 425, 956, 320, 958, 1556, 958, 613, 1556, 959, 959, - 959, 959, 928, 876, 1557, 615, 985, 1184, 1184, 1184, - 1184, 617, 984, 648, 1343, 618, 200, 1764, 977, 313, - 1764, 1186, 1549, 423, 424, 425, 976, 1764, 975, 642, - 297, 974, 877, 878, 879, 935, 637, 973, 1350, 635, - 299, 953, 614, 952, 615, 612, 936, 936, 936, 936, - 937, 929, 930, 931, 618, 932, 1187, 953, 938, 890, - 620, 621, 622, 952, 612, 423, 424, 425, 297, 1764, - 927, 932, 1764, 890, 315, 1555, 938, 925, 299, 1764, - 1341, 1764, 297, 1341, 1764, 1188, 1189, 1190, 315, 924, - - 1342, 1764, 299, 1764, 891, 898, 1764, 603, 898, 939, - 940, 941, 917, 1764, 297, 295, 1764, 297, 891, 1764, - 637, 916, 898, 637, 299, 915, 1764, 299, 595, 597, - 904, 297, 903, 892, 893, 894, 1764, 637, 1558, 1764, - 899, 299, 1764, 899, 919, 1764, 1764, 892, 893, 894, - 589, 1559, 1764, 297, 896, 1539, 895, 899, 1539, 637, - 581, 288, 200, 299, 883, 1540, 919, 280, 881, 900, - 901, 902, 900, 901, 902, 297, 1560, 880, 566, 920, - 919, 637, 873, 1561, 273, 299, 900, 901, 902, 297, - 872, 871, 200, 560, 1351, 637, 870, 869, 1359, 299, - - 1359, 920, 200, 1360, 1360, 1360, 1360, 553, 921, 922, - 923, 423, 424, 425, 950, 920, 950, 849, 848, 951, - 951, 951, 951, 928, 959, 959, 959, 959, 928, 530, - 921, 922, 923, 1764, 1358, 828, 849, 1236, 1236, 1236, - 1236, 423, 424, 425, 921, 922, 923, 935, 848, 934, - 530, 423, 424, 425, 614, 828, 615, 821, 957, 957, - 957, 957, 937, 820, 521, 1550, 618, 934, 1550, 813, - 938, 247, 929, 930, 931, 1551, 812, 929, 930, 931, - 1132, 200, 927, 1132, 811, 309, 511, 954, 938, 955, - 955, 955, 955, 1553, 513, 824, 1553, 800, 824, 1556, - - 1764, 956, 1556, 1554, 1242, 1242, 1242, 1242, 799, 1557, - 505, 939, 940, 941, 613, 1132, 934, 792, 1132, 956, - 791, 614, 497, 615, 240, 1219, 1219, 1219, 1219, 617, - 423, 424, 425, 618, 934, 489, 1764, 1220, 1764, 767, - 1251, 1251, 1251, 1251, 1133, 1134, 1135, 1133, 1134, 1135, - 199, 1081, 612, 1081, 732, 1220, 1361, 1361, 1361, 1361, - 1081, 1764, 1081, 1764, 731, 1361, 1361, 1361, 1361, 1764, - 612, 474, 728, 1360, 1360, 1360, 1360, 727, 620, 621, - 622, 480, 480, 480, 480, 480, 624, 480, 625, 624, - 480, 480, 480, 624, 624, 480, 624, 724, 624, 1238, - - 1238, 1238, 1238, 627, 480, 624, 624, 628, 624, 624, - 624, 1239, 624, 624, 624, 624, 624, 624, 624, 624, - 480, 624, 480, 480, 480, 624, 624, 624, 624, 1239, - 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, - 624, 624, 624, 624, 624, 624, 624, 480, 480, 624, - 480, 480, 630, 631, 632, 1244, 721, 720, 582, 1539, - 719, 718, 1539, 1260, 297, 200, 979, 297, 714, 1540, - 1245, 710, 297, 1250, 299, 297, 1550, 299, 315, 1550, - 707, 583, 299, 706, 1553, 299, 1551, 1553, 422, 1556, - 1246, 979, 1556, 584, 1554, 691, 200, 690, 1261, 1557, - - 297, 980, 1704, 689, 1677, 1704, 583, 654, 1704, 672, - 299, 1704, 1705, 354, 423, 424, 425, 666, 1705, 1247, - 1248, 1249, 585, 586, 587, 1253, 980, 1262, 1263, 1264, - 981, 982, 983, 979, 962, 200, 1254, 1254, 1254, 1254, - 1255, 341, 297, 660, 965, 423, 424, 425, 583, 327, - 659, 658, 299, 320, 647, 981, 982, 983, 646, 409, - 1246, 1002, 313, 1003, 1003, 1003, 1003, 1327, 980, 1744, - 1327, 1341, 1744, 1744, 1341, 774, 1744, 1328, 1684, 1745, - 602, 1342, 601, 1745, 423, 424, 425, 295, 200, 1256, - 1257, 1258, 200, 774, 575, 200, 288, 981, 982, 983, - - 979, 1406, 1406, 1406, 1406, 824, 574, 573, 280, 297, - 257, 992, 992, 992, 992, 583, 473, 565, 474, 299, - 1076, 1076, 1076, 1076, 493, 564, 1084, 273, 1085, 1085, - 1085, 1085, 1077, 518, 1691, 980, 517, 423, 424, 425, - 852, 423, 424, 425, 423, 424, 425, 247, 491, 240, - 1077, 469, 468, 1424, 825, 826, 827, 199, 852, 176, - 200, 1230, 398, 397, 981, 982, 983, 704, 1425, 396, - 1088, 995, 995, 995, 995, 395, 928, 394, 386, 249, - 995, 995, 995, 995, 383, 555, 379, 376, 1424, 251, - 474, 361, 1360, 1360, 1360, 1360, 1230, 995, 995, 995, - - 995, 995, 995, 1281, 1281, 1089, 1281, 356, 1281, 423, - 424, 425, 1281, 1281, 1281, 355, 1281, 1426, 1427, 1428, - 354, 357, 356, 1088, 1281, 1231, 1232, 1233, 200, 355, - 1088, 354, 249, 347, 1090, 1091, 1092, 344, 555, 249, - 343, 1281, 251, 1281, 1281, 555, 1380, 342, 1380, 251, - 200, 1381, 1381, 1381, 1381, 824, 341, 1764, 1089, 332, - 329, 1138, 1138, 1138, 1138, 1089, 328, 327, 1281, 1281, - 1281, 1282, 1282, 830, 1282, 304, 1282, 423, 424, 425, - 1282, 1282, 1282, 200, 1282, 290, 289, 1090, 1091, 1092, - 288, 830, 1282, 267, 1090, 1091, 1092, 242, 241, 423, - - 424, 425, 240, 221, 825, 826, 827, 189, 176, 1282, - 1764, 1282, 1282, 175, 1144, 1144, 1144, 1144, 1764, 170, - 170, 1764, 1764, 1764, 1764, 1764, 830, 1764, 1764, 1764, - 1764, 1764, 423, 424, 425, 1764, 1282, 1282, 1282, 705, - 705, 705, 705, 531, 830, 1764, 1764, 1764, 705, 705, - 705, 705, 533, 200, 1391, 1391, 1391, 1391, 535, 1764, - 1764, 1230, 536, 1764, 1500, 705, 705, 705, 705, 705, - 705, 1313, 1313, 1313, 1313, 1313, 928, 1313, 1314, 1501, - 1313, 1313, 1313, 200, 577, 1313, 1182, 1313, 1183, 1183, - 1183, 1183, 1764, 1315, 1313, 1764, 1230, 1313, 1764, 1500, - - 956, 1764, 423, 424, 425, 1764, 1764, 538, 539, 540, - 1313, 1764, 1313, 1314, 1313, 1389, 1764, 1389, 956, 1316, - 1390, 1390, 1390, 1390, 824, 1231, 1232, 1233, 1502, 1503, - 1504, 1764, 423, 424, 425, 1424, 1764, 1313, 1313, 1764, - 1313, 1313, 1317, 1318, 1319, 1321, 1321, 1321, 1321, 1321, - 1425, 1321, 1322, 1764, 1321, 1321, 1321, 1764, 1764, 1321, - 1764, 1321, 1764, 1764, 1764, 1764, 1764, 1323, 1321, 1764, - 1424, 1321, 1764, 825, 826, 827, 1764, 1764, 1764, 1764, - 1236, 1236, 1236, 1236, 1321, 1764, 1321, 1322, 1321, 1146, - 1764, 1764, 934, 1764, 1764, 1764, 1764, 1764, 249, 1426, - - 1427, 1428, 1764, 1764, 1147, 1764, 1764, 1764, 251, 1764, - 934, 1321, 1321, 1764, 1321, 1321, 1324, 1325, 1326, 1333, - 1333, 1333, 1333, 1333, 1148, 1333, 1334, 200, 1333, 1333, - 1333, 1764, 1764, 1333, 1764, 1333, 1242, 1242, 1242, 1242, - 1764, 1335, 1333, 1764, 1764, 1333, 1764, 1764, 934, 1761, - 1761, 1761, 1764, 1149, 1150, 1151, 1764, 1764, 1333, 1764, - 1333, 1334, 1333, 1764, 1764, 1146, 934, 1761, 1761, 1761, - 1761, 1764, 1764, 1764, 249, 1764, 423, 424, 425, 1764, - 1147, 1764, 1764, 1764, 251, 1333, 1333, 1764, 1333, 1333, - 1336, 1337, 1338, 426, 427, 428, 429, 430, 431, 432, - - 1148, 433, 1424, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 1344, 1344, 1344, 1344, 1344, 1425, 1344, 1345, - 1764, 1344, 1344, 1344, 1764, 1764, 1344, 1764, 1344, 1149, - 1150, 1151, 1764, 1764, 1346, 1344, 1764, 1424, 1344, 1764, - 1764, 1393, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 249, 1344, 1764, 1344, 1345, 1344, 275, 473, 1764, 474, - 251, 1076, 1076, 1076, 1076, 1764, 1426, 1427, 1428, 1764, - 1764, 1764, 1764, 1077, 1764, 1764, 1394, 1764, 1344, 1344, - 1764, 1344, 1344, 1347, 1348, 1349, 1352, 1352, 1352, 1352, - 1352, 1077, 1352, 1353, 1764, 1352, 1352, 1352, 1764, 1764, - - 1352, 1146, 1352, 1764, 1401, 1395, 1396, 1397, 1354, 1352, - 249, 1764, 1352, 249, 1764, 1764, 1147, 1764, 1764, 275, - 251, 1764, 1764, 251, 1764, 1352, 1146, 1352, 1353, 1352, - 1764, 1764, 1764, 1764, 1764, 249, 1148, 1764, 1764, 1402, - 1764, 1147, 1764, 1764, 1764, 251, 1764, 1500, 1764, 1764, - 1764, 1764, 1352, 1352, 1764, 1352, 1352, 1355, 1356, 1357, - 531, 1148, 1501, 1764, 1764, 1149, 1150, 1151, 1403, 1404, - 1405, 1362, 1362, 1362, 1362, 535, 1764, 1764, 1764, 536, - 1764, 1764, 1500, 1363, 1146, 1764, 1764, 1408, 1764, 1764, - 1149, 1150, 1151, 249, 1764, 1416, 249, 1764, 1764, 1157, - - 1500, 1363, 275, 251, 249, 1764, 251, 1764, 1764, 1764, - 555, 1502, 1503, 1504, 251, 1501, 1764, 1764, 1764, 1148, - 1764, 1764, 1409, 1764, 538, 539, 540, 831, 1764, 1764, - 1417, 1764, 1764, 1764, 1764, 1500, 533, 1764, 1144, 1144, - 1144, 1144, 833, 1764, 1764, 1764, 536, 1764, 1149, 1150, - 1151, 1410, 1411, 1412, 1162, 1764, 1764, 1764, 1764, 1418, - 1419, 1420, 823, 249, 1502, 1503, 1504, 1162, 1764, 275, - 1764, 1764, 1764, 251, 1764, 1764, 249, 1764, 1764, 1764, - 1764, 1186, 275, 1764, 1764, 1764, 251, 1764, 1764, 1163, - 297, 835, 836, 837, 831, 1764, 637, 1764, 1764, 1764, - - 299, 532, 1163, 533, 1764, 1378, 1378, 1378, 1378, 833, - 1764, 1764, 1764, 536, 1764, 1764, 1187, 1379, 1164, 1165, - 1166, 1186, 1764, 1764, 1482, 1482, 1482, 1482, 928, 823, - 297, 1164, 1165, 1166, 1186, 1379, 637, 1764, 1764, 1764, - 299, 1764, 1764, 297, 1764, 1188, 1189, 1190, 1764, 637, - 1764, 1764, 1764, 299, 1764, 1764, 1187, 1764, 835, 836, - 837, 1155, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1187, - 858, 1764, 1156, 1156, 1156, 1156, 1157, 929, 930, 931, - 861, 1764, 1764, 1764, 1764, 1188, 1189, 1190, 1764, 1764, - 1764, 1381, 1381, 1381, 1381, 824, 1148, 1764, 1188, 1189, - - 1190, 1456, 1764, 1456, 1764, 1764, 1457, 1457, 1457, 1457, - 928, 1764, 1465, 1764, 1465, 1764, 1764, 1466, 1466, 1466, - 1466, 928, 1764, 1764, 1764, 1158, 1159, 1160, 613, 1389, - 1764, 1389, 1764, 1764, 1390, 1390, 1390, 1390, 824, 1438, - 1438, 1438, 1438, 617, 825, 826, 827, 618, 1764, 1764, - 1764, 1439, 1764, 1573, 1573, 1573, 1573, 1764, 1764, 929, - 930, 931, 1764, 1764, 1764, 830, 1764, 613, 1764, 1439, - 929, 930, 931, 1764, 1764, 1764, 615, 1764, 1467, 1467, - 1467, 1467, 617, 830, 1764, 1764, 618, 825, 826, 827, - 1764, 1764, 620, 621, 622, 935, 1390, 1390, 1390, 1390, - - 824, 1764, 1244, 1764, 615, 1764, 1242, 1242, 1242, 1242, - 937, 297, 1764, 1764, 618, 1764, 1764, 1245, 1764, 1764, - 1764, 299, 1576, 1576, 1576, 1576, 1764, 1764, 1764, 1244, - 927, 620, 621, 622, 830, 1764, 1764, 1246, 297, 1764, - 1764, 1764, 1764, 1764, 1245, 1764, 1764, 1764, 299, 825, - 826, 827, 830, 1406, 1406, 1406, 1406, 824, 1764, 939, - 940, 941, 935, 1764, 1246, 1764, 1247, 1248, 1249, 614, - 1764, 615, 1764, 1454, 1454, 1454, 1454, 937, 1764, 1764, - 1764, 618, 1764, 1469, 1764, 1455, 1764, 1764, 1764, 1764, - 1244, 1764, 297, 1247, 1248, 1249, 1764, 927, 315, 297, - - 1764, 1477, 299, 1455, 1244, 1245, 825, 826, 827, 299, - 297, 1764, 1764, 297, 1764, 1244, 315, 1764, 1470, 1245, - 299, 1764, 1484, 299, 297, 1246, 939, 940, 941, 1764, - 1255, 297, 1764, 1764, 299, 1764, 1478, 315, 1764, 1246, - 1764, 299, 1764, 1492, 1764, 1764, 1764, 1471, 1472, 1473, - 1246, 1764, 297, 1764, 1247, 1248, 1249, 1485, 637, 1764, - 1764, 1764, 299, 1764, 1764, 1479, 1480, 1481, 1247, 1248, - 1249, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1493, 1247, - 1248, 1249, 1253, 1764, 1764, 1764, 1486, 1487, 1488, 1764, - 1764, 962, 1764, 1254, 1254, 1254, 1254, 1255, 1764, 1764, - - 1764, 965, 1764, 1260, 1764, 1764, 1260, 1494, 1495, 1496, - 1764, 1764, 297, 1764, 1764, 297, 1764, 1246, 315, 1764, - 1764, 315, 299, 1764, 1764, 299, 1764, 1764, 1764, 1764, - 1576, 1576, 1576, 1576, 1764, 1764, 1764, 1764, 1261, 1764, - 1764, 1261, 830, 1764, 1764, 1764, 1256, 1257, 1258, 1380, - 1764, 1380, 1764, 1764, 1381, 1381, 1381, 1381, 824, 1764, - 830, 1764, 1764, 1764, 1764, 1764, 1578, 1262, 1263, 1264, - 1262, 1263, 1264, 1514, 1514, 249, 1514, 1764, 1514, 1764, - 1764, 555, 1514, 1514, 1514, 251, 1514, 1764, 1764, 1704, - 1764, 1764, 1704, 1764, 1514, 1764, 1764, 1764, 1764, 1705, - - 1764, 1579, 1764, 1764, 1764, 1764, 1764, 825, 826, 827, - 200, 1514, 1764, 1514, 1514, 1465, 1764, 1465, 1764, 1764, - 1466, 1466, 1466, 1466, 928, 1764, 1764, 1764, 1764, 1764, - 1580, 1581, 1582, 1764, 1764, 1764, 1764, 1764, 1514, 1514, - 1514, 1533, 1533, 1533, 1533, 1533, 1764, 1533, 1534, 1764, - 1533, 1533, 1533, 1764, 1764, 1533, 1764, 1533, 1764, 423, - 424, 425, 1764, 1535, 1533, 1764, 1764, 1533, 1764, 1764, - 1393, 1764, 1764, 929, 930, 931, 1764, 1764, 1764, 249, - 1533, 1764, 1533, 1534, 1533, 275, 1456, 1393, 1456, 251, - 1764, 1457, 1457, 1457, 1457, 928, 249, 1764, 1764, 1764, - - 1764, 1764, 275, 1764, 1764, 1394, 251, 1533, 1533, 1764, - 1533, 1533, 1536, 1537, 1538, 1764, 1539, 1764, 1764, 1539, - 1764, 1764, 1394, 1764, 1764, 1764, 1540, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1395, 1396, 1397, 200, 1764, 1764, - 1764, 1764, 1764, 1764, 929, 930, 931, 1764, 1764, 1764, - 1764, 1395, 1396, 1397, 1764, 1764, 1764, 1764, 1764, 1587, - 1764, 1764, 1764, 1457, 1457, 1457, 1457, 928, 249, 1764, - 1764, 1764, 1764, 1764, 555, 1764, 1764, 1764, 251, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 423, 424, 425, 1541, - 1541, 1541, 1541, 1541, 1588, 1541, 1542, 1764, 1541, 1541, - - 1541, 1764, 1764, 1541, 1764, 1541, 1764, 1764, 1764, 1764, - 1764, 1543, 1541, 1764, 1764, 1541, 929, 930, 931, 1764, - 1764, 1764, 1764, 1589, 1590, 1591, 1764, 1764, 1541, 1764, - 1541, 1542, 1541, 1764, 1764, 1401, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 249, 1764, 1764, 1764, 1764, 1764, - 275, 1764, 1764, 1764, 251, 1541, 1541, 1764, 1541, 1541, - 1544, 1545, 1546, 426, 427, 428, 429, 430, 431, 432, - 1402, 433, 1764, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 1562, 1562, 1562, 1562, 1562, 1764, 1562, 1563, - 1764, 1562, 1562, 1562, 1401, 1764, 1562, 1764, 1562, 1403, - - 1404, 1405, 1764, 249, 1564, 1562, 1764, 1764, 1562, 275, - 1764, 1764, 1764, 251, 1619, 1619, 1619, 1619, 1764, 1764, - 1764, 1562, 1595, 1562, 1563, 1562, 934, 1764, 1764, 1402, - 1764, 249, 1764, 1764, 1764, 1764, 1764, 555, 1764, 1764, - 1744, 251, 1764, 1744, 934, 1764, 1764, 1764, 1562, 1562, - 1745, 1562, 1562, 1565, 1566, 1567, 831, 1596, 1403, 1404, - 1405, 200, 1764, 532, 1764, 533, 1764, 1378, 1378, 1378, - 1378, 833, 1764, 1764, 1764, 536, 1764, 1764, 1764, 1379, - 1764, 1764, 1764, 1408, 1764, 1764, 1597, 1598, 1599, 1764, - 1408, 823, 249, 1764, 1764, 1764, 1764, 1379, 275, 249, - - 1764, 1764, 251, 1764, 1764, 275, 1764, 1764, 1764, 251, - 423, 424, 425, 1764, 1764, 1764, 1764, 1764, 1409, 1764, - 835, 836, 837, 831, 1764, 1409, 1764, 1764, 1764, 1764, - 532, 1764, 533, 1764, 1378, 1378, 1378, 1378, 833, 1764, - 1764, 1764, 536, 1764, 1416, 1764, 1379, 1410, 1411, 1412, - 1764, 1416, 1764, 249, 1410, 1411, 1412, 1764, 823, 555, - 249, 1764, 1416, 251, 1379, 1764, 555, 1764, 1764, 1764, - 251, 249, 1622, 1622, 1622, 1622, 1764, 555, 1764, 1417, - 1764, 251, 1764, 1764, 934, 1764, 1417, 835, 836, 837, - 1764, 1764, 1466, 1466, 1466, 1466, 928, 1417, 1764, 1764, - - 1764, 1764, 934, 1764, 1764, 1764, 1764, 1764, 1418, 1419, - 1420, 1764, 1764, 1764, 1764, 1418, 1419, 1420, 1764, 1764, - 1482, 1482, 1482, 1482, 928, 1764, 1418, 1419, 1420, 935, - 1764, 1764, 1764, 1764, 1764, 1764, 614, 1764, 615, 1764, - 1454, 1454, 1454, 1454, 937, 929, 930, 931, 618, 1764, - 1764, 1764, 1455, 1622, 1622, 1622, 1622, 1624, 1764, 1764, - 1764, 1764, 1469, 1764, 927, 934, 297, 1764, 1764, 1469, - 1455, 297, 637, 929, 930, 931, 299, 315, 297, 1764, - 1764, 299, 1764, 934, 315, 1764, 1764, 1764, 299, 1764, - 1764, 1764, 1625, 939, 940, 941, 935, 1470, 1764, 1764, - - 1764, 1764, 1764, 614, 1470, 615, 1764, 1454, 1454, 1454, - 1454, 937, 1764, 1764, 1764, 618, 1764, 1764, 1764, 1455, - 1764, 1626, 1627, 1628, 1764, 1764, 1471, 1472, 1473, 1633, - 1764, 927, 1477, 1471, 1472, 1473, 1764, 1455, 297, 1764, - 1477, 297, 1764, 1764, 637, 1764, 1764, 315, 299, 297, - 1764, 299, 1764, 1764, 1641, 315, 1764, 1484, 1764, 299, - 939, 940, 941, 297, 1634, 1484, 297, 1478, 1492, 637, - 1764, 1764, 315, 299, 297, 1478, 299, 297, 1764, 1764, - 315, 1764, 1764, 637, 299, 1764, 1764, 299, 1764, 1642, - 1764, 1764, 1485, 1635, 1636, 1637, 1479, 1480, 1481, 1764, - - 1485, 1764, 1764, 1493, 1479, 1480, 1481, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1643, 1644, - 1645, 1486, 1487, 1488, 1764, 1764, 1492, 1764, 1764, 1486, - 1487, 1488, 1494, 1495, 1496, 297, 1764, 1492, 1764, 1764, - 1764, 637, 1764, 1764, 1764, 299, 297, 1764, 1764, 1764, - 1764, 1764, 637, 1764, 1764, 1764, 299, 1764, 1764, 1764, - 1764, 1493, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1493, 1764, 1764, 1764, 1764, 1764, 1578, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 249, 1764, 1764, - 1494, 1495, 1496, 555, 1764, 1764, 1764, 251, 1764, 1764, - - 1764, 1494, 1495, 1496, 426, 427, 428, 429, 430, 431, - 432, 1764, 433, 1579, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 1671, 1671, 1671, 1671, 1671, 1764, 1671, - 1672, 1764, 1671, 1671, 1671, 1764, 1764, 1671, 1764, 1671, - 1764, 1764, 1580, 1581, 1582, 1673, 1671, 1764, 1764, 1671, - 1764, 1764, 1578, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 249, 1671, 1764, 1671, 1672, 1671, 555, 1764, 1764, - 1764, 251, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1579, 1764, 1671, - 1671, 1764, 1671, 1671, 1674, 1675, 1676, 1678, 1678, 1678, - - 1678, 1678, 1764, 1678, 1679, 1764, 1678, 1678, 1678, 1764, - 1764, 1678, 1764, 1678, 1764, 1764, 1580, 1581, 1582, 1680, - 1678, 1764, 1764, 1678, 1764, 1764, 1578, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 249, 1678, 1764, 1678, 1679, - 1678, 555, 1764, 1764, 1764, 251, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1579, 1764, 1678, 1678, 1764, 1678, 1678, 1681, 1682, - 1683, 1685, 1685, 1685, 1685, 1685, 1764, 1685, 1686, 1764, - 1685, 1685, 1685, 1764, 1764, 1685, 1764, 1685, 1764, 1764, - 1580, 1581, 1582, 1687, 1685, 1764, 1764, 1685, 1764, 1764, - - 1587, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 249, - 1685, 1764, 1685, 1686, 1685, 555, 1764, 1764, 1764, 251, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1588, 1764, 1685, 1685, 1764, - 1685, 1685, 1688, 1689, 1690, 1692, 1692, 1692, 1692, 1692, - 1764, 1692, 1693, 1764, 1692, 1692, 1692, 1764, 1764, 1692, - 1764, 1692, 1764, 1764, 1589, 1590, 1591, 1694, 1692, 1764, - 1764, 1692, 1764, 1764, 1587, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 249, 1692, 1764, 1692, 1693, 1692, 555, - 1764, 1764, 1764, 251, 1764, 1764, 1764, 1764, 1764, 1764, - - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1588, - 1764, 1692, 1692, 1764, 1692, 1692, 1695, 1696, 1697, 1698, - 1698, 1698, 1698, 1698, 1764, 1698, 1699, 1764, 1698, 1698, - 1698, 1764, 1764, 1698, 1587, 1698, 1764, 1764, 1589, 1590, - 1591, 1700, 1698, 249, 1764, 1698, 1764, 1764, 1764, 555, - 1764, 1764, 1764, 251, 1764, 1764, 1764, 1764, 1698, 1595, - 1698, 1699, 1698, 1764, 1764, 1764, 1764, 1764, 249, 1588, - 1764, 1764, 1764, 1764, 555, 1764, 1764, 1764, 251, 1764, - 1764, 1764, 1764, 1764, 1764, 1698, 1698, 1764, 1698, 1698, - 1701, 1702, 1703, 831, 1596, 1764, 1764, 1764, 1589, 1590, - - 1591, 1595, 533, 1764, 1573, 1573, 1573, 1573, 833, 1764, - 249, 1764, 536, 1764, 1764, 1764, 555, 1764, 1595, 1764, - 251, 1764, 1764, 1597, 1598, 1599, 1624, 249, 823, 1764, - 1764, 1764, 1764, 555, 1764, 297, 1596, 251, 1764, 1764, - 1764, 637, 1764, 1764, 1764, 299, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1596, 1764, 1764, 1764, 835, 836, 837, - 831, 1625, 1764, 1764, 1764, 1597, 1598, 1599, 1764, 533, - 1764, 1576, 1576, 1576, 1576, 833, 1764, 1764, 1764, 536, - 1764, 1764, 1597, 1598, 1599, 1624, 1764, 1764, 1624, 1764, - 1626, 1627, 1628, 1633, 297, 823, 1764, 297, 1764, 1764, - - 637, 1764, 297, 637, 299, 1764, 1764, 299, 637, 1764, - 1764, 1764, 299, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1625, 1764, 1764, 1625, 835, 836, 837, 935, 1634, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 615, 1764, 1619, 1619, - 1619, 1619, 937, 1764, 1764, 1764, 618, 1764, 1764, 1626, - 1627, 1628, 1626, 1627, 1628, 1633, 1764, 1635, 1636, 1637, - 1633, 1764, 927, 1764, 297, 1764, 1764, 1641, 1764, 297, - 637, 1764, 1764, 1764, 299, 637, 297, 1764, 1764, 299, - 1764, 1764, 637, 1764, 1764, 1764, 299, 1764, 1764, 1764, - 1634, 939, 940, 941, 935, 1634, 1764, 1764, 1764, 1764, - - 1764, 1764, 1642, 615, 1764, 1622, 1622, 1622, 1622, 937, - 1764, 1764, 1764, 618, 1764, 1764, 1764, 1764, 1764, 1635, - 1636, 1637, 1764, 1764, 1635, 1636, 1637, 1641, 1764, 927, - 1641, 1643, 1644, 1645, 1764, 1764, 297, 1764, 1764, 297, - 1764, 1764, 637, 1764, 1764, 637, 299, 1764, 1764, 299, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 939, 940, - 941, 1764, 1642, 1764, 1764, 1642, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1643, 1644, 1645, 1643, 1644, 1645, 1738, 1738, 1738, - - 1738, 1738, 1764, 1738, 1739, 1764, 1738, 1738, 1738, 1764, - 1764, 1738, 1764, 1738, 1764, 1764, 1764, 1764, 1764, 1740, - 1738, 1764, 1764, 1738, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1738, 1764, 1738, 1739, - 1738, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1738, 1738, 1764, 1738, 1738, 1741, 1742, - 1743, 1746, 1746, 1746, 1746, 1746, 1764, 1746, 1747, 1764, - 1746, 1746, 1746, 1764, 1764, 1746, 1764, 1746, 1764, 1764, - 1764, 1764, 1764, 1748, 1746, 1764, 1764, 1746, 1764, 1764, - - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1746, 1764, 1746, 1747, 1746, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1746, 1746, 1764, - 1746, 1746, 1749, 1750, 1751, 34, 34, 34, 34, 34, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 43, + + 62, 83, 63, 63, 91, 92, 93, 95, 96, 97, + 95, 172, 173, 174, 98, 734, 98, 98, 98, 98, + 735, 98, 98, 99, 180, 712, 172, 173, 174, 381, + 382, 181, 98, 172, 173, 174, 182, 423, 172, 173, + 174, 369, 386, 224, 369, 386, 224, 98, 100, 98, + 373, 373, 373, 373, 345, 711, 370, 345, 108, 109, + 110, 108, 712, 111, 108, 109, 110, 108, 226, 111, + 139, 140, 141, 139, 414, 111, 98, 101, 101, 102, + 103, 104, 95, 96, 97, 95, 172, 173, 174, 98, + 1096, 98, 98, 98, 98, 346, 98, 98, 99, 112, + + 381, 382, 172, 173, 174, 112, 378, 98, 1578, 378, + 227, 142, 228, 415, 229, 229, 229, 229, 388, 388, + 388, 388, 98, 100, 98, 348, 698, 231, 113, 113, + 114, 115, 116, 790, 113, 113, 114, 115, 116, 798, + 113, 113, 114, 115, 116, 698, 231, 379, 406, 407, + 1108, 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, 117, 120, 120, 120, 120, 120, + 120, 120, 120, 120, 120, 120, 120, 120, 117, 117, + + 117, 117, 117, 120, 120, 120, 120, 120, 120, 120, + 120, 120, 120, 120, 120, 120, 121, 120, 120, 120, + 120, 120, 120, 122, 120, 117, 117, 117, 123, 123, + 124, 125, 126, 108, 127, 128, 108, 389, 390, 390, + 390, 1579, 139, 140, 141, 139, 806, 111, 165, 166, + 812, 391, 167, 165, 166, 716, 421, 167, 421, 129, + 224, 243, 717, 224, 243, 269, 392, 270, 718, 271, + 271, 271, 271, 244, 130, 244, 245, 131, 246, 246, + 246, 246, 272, 142, 479, 392, 488, 479, 168, 488, + 819, 190, 180, 168, 172, 173, 174, 191, 1773, 1120, + + 233, 272, 192, 113, 113, 114, 115, 116, 108, 127, + 128, 108, 113, 113, 114, 115, 116, 113, 113, 114, + 115, 116, 113, 113, 114, 115, 116, 193, 488, 235, + 194, 488, 195, 663, 129, 374, 663, 375, 248, 376, + 376, 376, 376, 1580, 196, 334, 662, 249, 274, 130, + 828, 197, 131, 250, 1126, 235, 287, 249, 251, 562, + 563, 564, 181, 275, 172, 173, 174, 669, 251, 297, + 669, 295, 295, 295, 295, 252, 349, 668, 113, 113, + 114, 115, 116, 132, 416, 276, 132, 1581, 417, 133, + 417, 70, 58, 418, 418, 134, 72, 134, 135, 43, + + 136, 136, 136, 136, 253, 254, 255, 1132, 391, 137, + 393, 393, 393, 393, 277, 278, 279, 182, 1583, 172, + 173, 174, 655, 392, 138, 281, 70, 139, 140, 141, + 139, 282, 291, 282, 656, 291, 283, 283, 283, 283, + 257, 657, 392, 835, 292, 296, 292, 293, 727, 294, + 294, 294, 294, 129, 297, 224, 177, 843, 224, 177, + 298, 728, 178, 488, 235, 299, 488, 179, 143, 1140, + 307, 131, 308, 308, 308, 308, 381, 687, 178, 309, + 226, 310, 300, 311, 311, 311, 311, 471, 471, 471, + 471, 284, 285, 286, 406, 407, 312, 113, 113, 114, + + 115, 116, 139, 140, 141, 139, 180, 1584, 172, 173, + 174, 301, 302, 303, 847, 312, 314, 404, 200, 172, + 173, 174, 681, 183, 681, 297, 183, 369, 129, 184, + 369, 315, 699, 407, 179, 222, 299, 188, 188, 188, + 188, 1025, 370, 143, 321, 184, 131, 200, 185, 1026, + 322, 185, 322, 316, 1401, 323, 323, 323, 323, 304, + 186, 688, 186, 187, 688, 188, 188, 188, 188, 424, + 425, 426, 113, 113, 114, 115, 116, 145, 146, 147, + 145, 446, 317, 318, 319, 148, 419, 713, 419, 714, + 200, 420, 420, 420, 149, 149, 149, 149, 424, 425, + + 426, 644, 645, 646, 149, 149, 149, 149, 401, 1592, + 324, 325, 326, 1593, 455, 408, 200, 383, 408, 401, + 383, 1154, 149, 149, 149, 149, 149, 149, 145, 146, + 147, 145, 225, 225, 225, 225, 148, 359, 359, 359, + 409, 424, 425, 426, 401, 149, 149, 149, 149, 401, + 444, 386, 445, 401, 386, 149, 149, 149, 149, 408, + 401, 330, 408, 401, 330, 401, 402, 424, 425, 426, + 418, 418, 200, 149, 149, 149, 149, 149, 149, 151, + 152, 153, 151, 1594, 154, 155, 200, 1409, 156, 156, + 156, 345, 156, 157, 345, 1601, 158, 159, 159, 159, + + 156, 160, 331, 995, 190, 995, 451, 452, 453, 1602, + 191, 489, 489, 489, 450, 192, 490, 663, 334, 156, + 663, 156, 156, 424, 425, 426, 664, 664, 664, 161, + 704, 665, 346, 200, 705, 705, 162, 424, 425, 426, + 193, 163, 1416, 194, 200, 195, 156, 156, 164, 151, + 152, 153, 151, 378, 154, 155, 378, 371, 156, 156, + 156, 1609, 156, 157, 372, 454, 158, 159, 159, 159, + 156, 160, 1610, 410, 1163, 411, 200, 412, 412, 412, + 412, 460, 1611, 704, 424, 425, 426, 1013, 1013, 156, + 413, 156, 156, 1424, 379, 424, 425, 426, 1612, 161, + + 447, 225, 225, 225, 225, 730, 162, 448, 731, 413, + 200, 163, 479, 449, 1613, 479, 156, 156, 164, 198, + 1170, 488, 198, 199, 488, 1614, 199, 424, 425, 426, + 199, 199, 1432, 199, 457, 199, 199, 199, 199, 199, + 200, 1619, 199, 199, 199, 1620, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 1438, + 199, 424, 425, 426, 201, 202, 203, 204, 205, 206, + 207, 199, 208, 199, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 199, 199, 199, 669, 349, 199, 669, + 1621, 218, 219, 220, 235, 236, 237, 688, 381, 227, + + 688, 472, 391, 473, 473, 473, 473, 1020, 1021, 200, + 238, 238, 238, 992, 992, 200, 413, 392, 663, 334, + 474, 663, 475, 1622, 476, 476, 476, 476, 487, 487, + 487, 487, 1176, 458, 1623, 413, 392, 478, 237, 237, + 861, 200, 237, 237, 456, 870, 459, 670, 670, 670, + 237, 200, 671, 237, 200, 237, 478, 237, 239, 190, + 424, 425, 426, 200, 879, 191, 424, 425, 426, 1194, + 192, 256, 256, 256, 256, 257, 258, 1624, 663, 464, + 461, 663, 894, 462, 902, 200, 259, 260, 261, 262, + 263, 264, 424, 425, 426, 193, 463, 1206, 194, 468, + + 195, 1625, 424, 425, 426, 424, 425, 426, 200, 420, + 420, 420, 196, 910, 424, 425, 426, 465, 916, 197, + 248, 227, 466, 992, 992, 480, 480, 480, 480, 265, + 923, 266, 266, 266, 266, 250, 424, 425, 426, 227, + 251, 228, 1218, 229, 229, 229, 229, 467, 493, 1626, + 246, 246, 246, 246, 932, 669, 231, 252, 669, 424, + 425, 426, 485, 1773, 485, 233, 513, 486, 486, 486, + 486, 268, 268, 268, 268, 231, 1224, 1627, 494, 409, + 495, 514, 496, 496, 496, 496, 253, 254, 255, 296, + 720, 721, 722, 243, 688, 497, 243, 688, 305, 1230, + + 306, 306, 306, 306, 298, 244, 1629, 244, 245, 299, + 246, 246, 246, 246, 497, 505, 505, 505, 505, 528, + 528, 528, 528, 269, 520, 939, 300, 542, 542, 542, + 542, 947, 515, 516, 517, 256, 256, 256, 256, 1238, + 1630, 577, 521, 294, 294, 294, 294, 589, 589, 589, + 589, 610, 610, 610, 610, 301, 302, 303, 333, 333, + 334, 335, 336, 333, 333, 333, 337, 333, 337, 337, + 337, 337, 333, 337, 337, 337, 338, 338, 338, 333, + 333, 333, 333, 333, 337, 333, 333, 333, 339, 333, + 333, 333, 333, 333, 333, 339, 333, 339, 333, 337, + + 336, 337, 333, 333, 336, 336, 333, 339, 336, 336, + 333, 333, 333, 333, 333, 333, 336, 333, 333, 336, + 339, 336, 333, 336, 340, 333, 333, 333, 337, 333, + 333, 333, 333, 333, 349, 350, 351, 1029, 351, 499, + 1030, 351, 674, 674, 674, 674, 408, 248, 249, 408, + 352, 352, 352, 951, 500, 507, 249, 1477, 597, 251, + 1638, 1639, 250, 991, 249, 991, 1252, 251, 992, 992, + 275, 409, 1640, 598, 351, 251, 501, 351, 351, 351, + 1773, 309, 351, 351, 252, 624, 624, 624, 624, 1773, + 351, 1773, 508, 351, 1001, 351, 1485, 351, 353, 360, + + 360, 360, 360, 1647, 1648, 502, 503, 504, 1492, 360, + 360, 360, 360, 253, 254, 255, 365, 365, 365, 365, + 1655, 509, 510, 511, 599, 600, 601, 360, 360, 360, + 360, 360, 360, 362, 1656, 363, 363, 1261, 1657, 364, + 363, 364, 248, 1500, 365, 365, 365, 365, 813, 814, + 815, 249, 1658, 363, 1659, 1268, 408, 250, 1660, 408, + 707, 1508, 251, 523, 708, 708, 708, 363, 304, 1665, + 363, 307, 249, 308, 308, 308, 308, 1666, 275, 252, + 1514, 409, 1667, 251, 552, 1773, 552, 249, 1668, 553, + 553, 553, 553, 655, 363, 1274, 367, 349, 350, 351, + + 524, 351, 498, 1669, 351, 656, 965, 974, 253, 254, + 255, 983, 657, 352, 352, 352, 1670, 1671, 555, 374, + 1672, 498, 368, 685, 685, 685, 685, 249, 1673, 525, + 526, 527, 180, 556, 172, 173, 174, 351, 251, 704, + 351, 351, 351, 705, 705, 351, 351, 686, 686, 686, + 686, 1674, 1675, 351, 274, 557, 351, 1676, 351, 200, + 351, 353, 232, 249, 1677, 232, 1678, 232, 1679, 275, + 423, 232, 232, 232, 251, 232, 669, 349, 291, 669, + 711, 291, 712, 232, 558, 559, 560, 844, 845, 846, + 292, 276, 292, 293, 423, 294, 294, 294, 294, 711, + + 712, 679, 232, 679, 232, 232, 680, 680, 680, 675, + 424, 425, 426, 676, 676, 676, 676, 423, 711, 677, + 277, 278, 279, 691, 691, 691, 691, 712, 1096, 232, + 232, 232, 427, 428, 429, 430, 431, 432, 433, 677, + 434, 1108, 435, 436, 437, 438, 439, 440, 441, 442, + 443, 481, 481, 481, 481, 481, 481, 481, 481, 481, + 481, 481, 481, 481, 481, 481, 481, 1120, 481, 482, + 482, 482, 482, 481, 481, 481, 481, 481, 481, 483, + 483, 483, 484, 483, 483, 483, 483, 483, 483, 483, + 483, 483, 481, 481, 481, 481, 481, 483, 483, 483, + + 483, 484, 483, 483, 483, 483, 483, 483, 483, 483, + 483, 483, 483, 483, 483, 483, 483, 483, 483, 481, + 481, 481, 481, 481, 481, 481, 481, 499, 391, 1126, + 393, 393, 393, 393, 269, 1132, 270, 1140, 529, 529, + 529, 529, 500, 392, 1586, 704, 274, 251, 200, 705, + 705, 530, 374, 1715, 683, 249, 684, 684, 684, 684, + 568, 275, 392, 1716, 501, 1401, 251, 248, 1717, 249, + 530, 471, 471, 471, 471, 250, 249, 844, 845, 846, + 251, 1154, 250, 276, 374, 740, 375, 251, 376, 376, + 376, 376, 1595, 502, 503, 504, 532, 569, 1718, 424, + + 425, 426, 1719, 533, 252, 534, 200, 535, 535, 535, + 535, 536, 277, 278, 279, 1409, 537, 692, 689, 692, + 538, 1720, 693, 693, 693, 693, 570, 571, 572, 388, + 388, 388, 388, 253, 254, 255, 690, 410, 1603, 538, + 738, 700, 700, 700, 700, 485, 1721, 485, 1722, 1416, + 703, 703, 703, 703, 871, 872, 873, 424, 425, 426, + 1723, 1163, 539, 540, 541, 481, 481, 481, 481, 481, + 543, 481, 544, 543, 481, 481, 481, 543, 543, 481, + 543, 1424, 481, 545, 545, 545, 545, 546, 481, 543, + 543, 543, 547, 543, 543, 543, 548, 543, 543, 543, + + 543, 543, 543, 543, 543, 543, 481, 543, 481, 481, + 481, 543, 543, 543, 543, 548, 543, 543, 543, 543, + 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, + 543, 543, 543, 481, 481, 543, 481, 481, 549, 550, + 551, 568, 474, 562, 563, 564, 774, 774, 774, 774, + 249, 1724, 573, 573, 573, 573, 250, 1170, 578, 583, + 579, 251, 580, 580, 580, 580, 1615, 296, 297, 1725, + 701, 701, 701, 701, 584, 581, 297, 591, 569, 299, + 296, 1726, 298, 702, 1432, 1727, 297, 299, 1438, 297, + 688, 381, 315, 688, 581, 298, 585, 299, 1728, 1176, + + 299, 605, 702, 1194, 300, 1206, 1218, 570, 571, 572, + 297, 1224, 1230, 200, 592, 1238, 315, 300, 489, 489, + 489, 299, 200, 490, 1632, 586, 587, 588, 703, 703, + 703, 703, 1729, 301, 302, 303, 1730, 391, 606, 393, + 393, 393, 393, 593, 594, 595, 301, 302, 303, 739, + 743, 1477, 392, 1731, 634, 1773, 634, 297, 1252, 635, + 635, 635, 635, 1641, 424, 425, 426, 607, 608, 609, + 583, 392, 582, 424, 425, 426, 200, 309, 1732, 310, + 200, 611, 611, 611, 611, 584, 917, 918, 919, 637, + 299, 582, 200, 1733, 612, 1485, 1734, 782, 297, 783, + + 783, 783, 783, 314, 638, 763, 1649, 585, 763, 299, + 314, 1735, 297, 612, 744, 764, 741, 742, 315, 297, + 1736, 745, 1492, 299, 1737, 315, 639, 424, 425, 426, + 299, 424, 425, 426, 200, 1261, 586, 587, 588, 614, + 316, 200, 1500, 424, 425, 426, 615, 316, 616, 200, + 617, 617, 617, 617, 618, 640, 641, 642, 1738, 619, + 948, 949, 950, 620, 1268, 763, 746, 1661, 763, 317, + 318, 319, 1739, 1740, 747, 764, 317, 318, 319, 748, + 1508, 1043, 620, 1741, 1043, 424, 425, 426, 1514, 1742, + 752, 1044, 424, 425, 426, 487, 487, 487, 487, 1274, + + 424, 425, 426, 1743, 1744, 621, 622, 623, 481, 481, + 481, 481, 481, 625, 481, 626, 625, 481, 481, 481, + 625, 625, 481, 625, 1745, 625, 627, 627, 627, 627, + 628, 481, 625, 625, 625, 629, 625, 625, 625, 630, + 625, 625, 625, 625, 625, 625, 625, 625, 625, 481, + 625, 481, 481, 481, 625, 625, 625, 625, 630, 625, + 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, + 625, 625, 625, 625, 625, 625, 481, 481, 625, 481, + 481, 631, 632, 633, 650, 1746, 200, 423, 296, 711, + 712, 200, 423, 297, 200, 711, 712, 297, 423, 298, + + 948, 949, 950, 298, 299, 410, 200, 411, 299, 412, + 412, 412, 412, 749, 268, 268, 268, 268, 200, 711, + 712, 651, 413, 423, 200, 300, 711, 750, 712, 423, + 751, 200, 711, 761, 759, 712, 200, 424, 425, 426, + 200, 413, 424, 425, 426, 424, 425, 426, 1586, 200, + 652, 653, 654, 650, 301, 302, 303, 424, 425, 426, + 762, 200, 297, 760, 658, 658, 658, 658, 298, 424, + 425, 426, 765, 299, 767, 424, 425, 426, 1761, 1401, + 766, 1595, 424, 425, 426, 768, 200, 424, 425, 426, + 651, 424, 425, 426, 1762, 200, 769, 975, 976, 977, + + 424, 425, 426, 644, 645, 646, 763, 1045, 1409, 763, + 1045, 829, 424, 425, 426, 532, 764, 1046, 1603, 652, + 653, 654, 360, 360, 360, 360, 1763, 200, 1416, 1424, + 833, 770, 360, 360, 360, 360, 771, 424, 425, 426, + 505, 505, 505, 505, 1615, 1764, 424, 425, 426, 1432, + 360, 360, 360, 360, 360, 360, 232, 1438, 1632, 232, + 1765, 232, 830, 831, 832, 232, 232, 232, 227, 232, + 472, 1477, 473, 473, 473, 473, 1641, 232, 424, 425, + 426, 848, 849, 850, 474, 413, 475, 1766, 476, 476, + 476, 476, 308, 308, 308, 308, 232, 1485, 232, 232, + + 775, 478, 775, 1649, 413, 776, 776, 776, 776, 1767, + 227, 1492, 777, 1500, 778, 778, 778, 778, 1056, 1082, + 478, 1056, 1082, 232, 232, 232, 709, 779, 1057, 1083, + 710, 710, 710, 710, 532, 1661, 1768, 829, 1508, 1514, + 710, 710, 710, 710, 423, 485, 779, 485, 711, 536, + 781, 781, 781, 781, 537, 680, 680, 680, 710, 710, + 710, 710, 710, 710, 753, 753, 753, 753, 753, 933, + 753, 754, 712, 753, 753, 753, 1769, 474, 753, 475, + 753, 780, 780, 780, 780, 423, 755, 753, 830, 831, + 832, 753, 494, 711, 478, 1769, 785, 785, 785, 785, + + 539, 540, 541, 712, 1586, 753, 1595, 753, 754, 753, + 788, 1603, 788, 478, 1615, 789, 789, 789, 789, 533, + 934, 935, 936, 834, 834, 834, 834, 589, 589, 589, + 589, 1632, 753, 753, 1641, 753, 753, 756, 757, 758, + 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, + 481, 481, 481, 481, 481, 481, 1649, 481, 773, 773, + 773, 773, 481, 481, 481, 481, 481, 481, 483, 483, + 483, 484, 483, 483, 483, 483, 483, 483, 483, 483, + 483, 481, 481, 481, 481, 481, 483, 483, 483, 483, + 484, 483, 483, 483, 483, 483, 483, 483, 483, 483, + + 483, 483, 483, 483, 483, 483, 483, 483, 481, 481, + 481, 481, 481, 481, 481, 481, 532, 494, 1661, 495, + 423, 496, 496, 496, 496, 933, 499, 786, 786, 786, + 786, 536, 712, 707, 497, 249, 537, 1003, 1003, 1003, + 787, 500, 499, 664, 664, 664, 251, 711, 665, 791, + 423, 249, 499, 497, 1009, 1009, 1009, 500, 249, 787, + 712, 249, 251, 501, 275, 799, 711, 500, 423, 251, + 712, 711, 251, 423, 249, 807, 934, 935, 936, 501, + 556, 1541, 539, 540, 541, 251, 792, 1540, 1539, 501, + 808, 507, 502, 503, 504, 1109, 1110, 1111, 532, 707, + + 249, 1538, 800, 1014, 1014, 1014, 275, 1537, 502, 503, + 504, 251, 807, 833, 507, 793, 794, 795, 502, 503, + 504, 1536, 1535, 249, 674, 674, 674, 674, 508, 275, + 820, 801, 802, 803, 251, 487, 487, 487, 487, 249, + 523, 809, 810, 811, 1534, 556, 813, 814, 815, 249, + 251, 508, 1533, 523, 1532, 275, 1531, 509, 510, 511, + 251, 1530, 249, 1529, 848, 849, 850, 821, 275, 993, + 1528, 993, 1527, 251, 994, 994, 994, 524, 1526, 707, + 509, 510, 511, 708, 708, 708, 552, 1773, 552, 249, + 524, 553, 553, 553, 553, 578, 822, 823, 824, 889, + + 889, 889, 889, 649, 498, 1522, 525, 526, 527, 851, + 983, 851, 643, 636, 852, 852, 852, 852, 829, 525, + 526, 527, 532, 498, 1521, 974, 911, 1520, 965, 533, + 1519, 534, 1518, 827, 827, 827, 827, 536, 1121, 1122, + 1123, 912, 537, 269, 829, 855, 538, 856, 856, 856, + 856, 1773, 1274, 249, 1276, 553, 553, 553, 553, 1507, + 857, 1506, 1268, 911, 1499, 538, 1498, 1261, 498, 830, + 831, 832, 1127, 1128, 1129, 859, 1484, 859, 1483, 857, + 860, 860, 860, 860, 829, 1252, 613, 498, 539, 540, + 541, 499, 913, 914, 915, 830, 831, 832, 269, 1473, + + 270, 951, 529, 529, 529, 529, 500, 670, 670, 670, + 555, 251, 671, 1472, 1471, 530, 615, 1238, 1470, 249, + 938, 938, 938, 938, 555, 556, 947, 1469, 501, 939, + 251, 1468, 1467, 249, 530, 830, 831, 832, 1230, 556, + 693, 693, 693, 693, 251, 1462, 578, 557, 579, 1461, + 580, 580, 580, 580, 1133, 1134, 1135, 502, 503, 504, + 836, 557, 1224, 581, 1460, 932, 614, 533, 1459, 534, + 1458, 837, 837, 837, 837, 838, 558, 559, 560, 555, + 537, 618, 581, 1218, 839, 604, 619, 1457, 249, 923, + 558, 559, 560, 880, 556, 1043, 596, 828, 1043, 251, + + 1456, 916, 249, 839, 892, 1044, 892, 1455, 500, 893, + 893, 893, 893, 251, 910, 1454, 557, 634, 1773, 634, + 297, 1453, 635, 635, 635, 635, 840, 841, 842, 836, + 881, 1206, 621, 622, 623, 582, 533, 614, 534, 590, + 858, 858, 858, 858, 838, 558, 559, 560, 568, 537, + 1452, 902, 937, 839, 582, 568, 582, 249, 1451, 882, + 883, 884, 583, 250, 249, 894, 828, 1450, 251, 1449, + 250, 297, 839, 1194, 567, 251, 1446, 584, 844, 845, + 846, 955, 299, 955, 879, 569, 956, 956, 956, 956, + 933, 561, 569, 554, 1445, 840, 841, 842, 862, 585, + + 871, 872, 873, 952, 953, 954, 870, 863, 1444, 864, + 864, 864, 864, 865, 570, 571, 572, 583, 866, 861, + 1443, 570, 571, 572, 895, 1442, 297, 1176, 586, 587, + 588, 583, 584, 297, 1178, 501, 1431, 299, 1430, 315, + 297, 934, 935, 936, 299, 1170, 584, 693, 693, 693, + 693, 299, 1423, 309, 585, 959, 1422, 960, 960, 960, + 960, 896, 614, 1163, 867, 868, 869, 880, 585, 1408, + 961, 1087, 1087, 1087, 1087, 1407, 249, 937, 887, 887, + 887, 887, 500, 586, 587, 588, 903, 251, 1154, 961, + 897, 898, 899, 1045, 531, 297, 1045, 586, 587, 588, + + 591, 638, 1397, 1046, 881, 847, 299, 591, 1396, 297, + 1395, 691, 691, 691, 691, 315, 297, 1207, 1208, 1209, + 299, 1140, 315, 904, 392, 1394, 843, 299, 952, 953, + 954, 1393, 835, 882, 883, 884, 614, 592, 789, 789, + 789, 789, 1392, 392, 592, 1391, 1132, 890, 890, 890, + 890, 618, 905, 906, 907, 1386, 619, 1090, 1385, 1090, + 891, 924, 1091, 1091, 1091, 1091, 593, 594, 595, 605, + 297, 1126, 1384, 593, 594, 595, 638, 605, 297, 891, + 1056, 299, 828, 1056, 315, 1082, 297, 829, 1082, 299, + 1057, 1043, 315, 1383, 1043, 1083, 1382, 299, 925, 1120, + + 522, 1044, 621, 622, 623, 782, 606, 783, 783, 783, + 783, 963, 200, 963, 606, 1381, 964, 964, 964, 964, + 933, 1045, 819, 512, 1045, 491, 1380, 926, 927, 928, + 491, 1046, 637, 838, 491, 607, 608, 609, 830, 831, + 832, 297, 200, 607, 608, 609, 614, 638, 837, 837, + 837, 837, 299, 615, 812, 616, 1379, 931, 931, 931, + 931, 618, 806, 424, 425, 426, 619, 1378, 1377, 639, + 620, 934, 935, 936, 1773, 1108, 297, 506, 635, 635, + 635, 635, 1376, 798, 830, 831, 832, 498, 637, 620, + 1375, 582, 790, 424, 425, 426, 637, 297, 640, 641, + + 642, 1374, 1373, 638, 1096, 297, 712, 711, 299, 423, + 582, 638, 621, 622, 623, 583, 299, 893, 893, 893, + 893, 712, 309, 711, 310, 639, 611, 611, 611, 611, + 584, 999, 423, 639, 1177, 299, 917, 918, 919, 612, + 999, 1336, 999, 1317, 1336, 1000, 1001, 1001, 1001, 1178, + 984, 1337, 585, 1316, 640, 641, 642, 650, 612, 297, + 1315, 1314, 640, 641, 642, 584, 297, 1313, 1312, 374, + 299, 683, 298, 684, 684, 684, 684, 299, 933, 1311, + 1310, 586, 587, 588, 940, 1309, 1308, 985, 1219, 1220, + 1221, 615, 1307, 616, 651, 941, 941, 941, 941, 942, + + 1179, 1180, 1181, 1306, 619, 374, 933, 683, 943, 1005, + 1005, 1005, 1005, 1225, 1226, 1227, 986, 987, 988, 650, + 1305, 932, 1304, 652, 653, 654, 1773, 943, 297, 934, + 935, 936, 1303, 1302, 298, 1773, 675, 1773, 1301, 299, + 676, 676, 676, 676, 941, 941, 941, 941, 1300, 1299, + 944, 945, 946, 940, 1298, 1297, 651, 934, 935, 936, + 615, 1296, 616, 423, 962, 962, 962, 962, 942, 1231, + 1232, 1233, 1289, 619, 410, 320, 1011, 943, 1012, 1012, + 1012, 1012, 948, 949, 950, 652, 653, 654, 942, 1288, + 932, 779, 485, 1773, 485, 1773, 943, 781, 781, 781, + + 781, 975, 976, 977, 649, 1773, 1287, 474, 1773, 475, + 779, 476, 476, 476, 476, 1773, 994, 994, 994, 944, + 945, 946, 966, 1773, 478, 475, 200, 781, 781, 781, + 781, 967, 1286, 968, 968, 968, 968, 969, 983, 934, + 935, 936, 970, 478, 1773, 313, 1285, 1773, 1773, 643, + 1284, 1773, 1047, 1773, 1773, 636, 1773, 1283, 1773, 585, + 1282, 1773, 974, 1773, 1773, 200, 994, 994, 994, 200, + 1281, 1773, 1280, 1773, 200, 965, 1773, 424, 425, 426, + 707, 1246, 200, 1773, 1003, 1003, 1003, 613, 971, 972, + 973, 984, 707, 1048, 200, 1049, 708, 708, 708, 1244, + + 297, 1243, 997, 997, 997, 997, 584, 1151, 1051, 1151, + 951, 299, 1152, 1152, 1152, 1152, 424, 425, 426, 1050, + 424, 425, 426, 1053, 1237, 424, 425, 426, 985, 1091, + 1091, 1091, 1091, 424, 425, 426, 1773, 1236, 475, 947, + 776, 776, 776, 776, 1235, 424, 425, 426, 1109, 1110, + 1111, 1773, 1350, 1773, 1773, 1350, 1773, 986, 987, 988, + 709, 1773, 1351, 1773, 1004, 1004, 1004, 1004, 1773, 1234, + 939, 1773, 200, 1223, 1004, 1004, 1004, 1004, 1773, 1222, + 1249, 1773, 1249, 932, 1773, 1250, 1250, 1250, 1250, 200, + 1217, 1773, 1004, 1004, 1004, 1004, 1004, 1004, 710, 710, + + 710, 710, 200, 604, 1052, 1121, 1122, 1123, 710, 710, + 710, 710, 1056, 1216, 1773, 1056, 475, 1054, 781, 781, + 781, 781, 1057, 424, 425, 426, 710, 710, 710, 710, + 710, 710, 1215, 200, 1773, 1773, 923, 1773, 1773, 200, + 424, 425, 426, 1055, 1773, 1773, 1127, 1128, 1129, 1773, + 807, 295, 1773, 424, 425, 426, 200, 1773, 1275, 1773, + 1773, 1773, 1214, 596, 1773, 808, 1213, 1773, 1212, 916, + 200, 1773, 1318, 1276, 1092, 1092, 1092, 1092, 200, 1211, + 1058, 1210, 200, 1556, 424, 425, 426, 807, 910, 666, + 424, 425, 426, 1773, 666, 1773, 1773, 1773, 666, 1092, + + 1092, 1092, 1092, 1773, 1133, 1134, 1135, 424, 425, 426, + 1059, 1205, 590, 1060, 200, 1204, 809, 810, 811, 1203, + 902, 424, 425, 426, 1277, 1278, 1279, 363, 363, 424, + 425, 426, 363, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 1202, 434, 363, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 1061, 582, 1201, 1773, 363, + 422, 1773, 363, 1200, 422, 424, 425, 426, 1773, 422, + 474, 894, 475, 422, 476, 476, 476, 476, 1773, 200, + 475, 1773, 776, 776, 776, 776, 363, 478, 1773, 280, + 1773, 1190, 567, 1773, 1189, 1773, 1188, 879, 1773, 200, + + 1773, 1439, 1440, 1441, 1062, 1773, 478, 1773, 273, 999, + 1773, 200, 1152, 1152, 1152, 1152, 200, 1773, 999, 1773, + 999, 1187, 1773, 1000, 1001, 1001, 1001, 1070, 200, 1773, + 424, 425, 426, 1063, 1063, 1063, 1063, 1063, 561, 1063, + 1064, 1080, 1063, 1063, 1063, 1186, 554, 1063, 672, 1063, + 424, 425, 426, 672, 1071, 1065, 1063, 672, 1185, 1072, + 1063, 1184, 424, 425, 426, 870, 1557, 424, 425, 426, + 1183, 1182, 1773, 861, 1063, 1773, 1063, 1064, 1063, 424, + 425, 426, 1773, 999, 1207, 1208, 1209, 1148, 531, 1066, + 1146, 1145, 999, 200, 999, 847, 1139, 1000, 1001, 1001, + + 1001, 1063, 1063, 1138, 1063, 1063, 1067, 1068, 1069, 1073, + 1073, 1073, 1073, 1073, 1082, 1073, 1074, 1082, 1073, 1073, + 1073, 1081, 843, 1073, 1083, 1073, 807, 1219, 1220, 1221, + 1137, 1075, 1073, 1141, 1136, 200, 1073, 1773, 835, 1773, + 1773, 808, 1773, 1125, 424, 425, 426, 1773, 829, 1773, + 1073, 697, 1073, 1074, 1073, 200, 697, 1124, 200, 1076, + 697, 828, 474, 807, 475, 1119, 1085, 1085, 1085, 1085, + 1141, 522, 1294, 1294, 1294, 1294, 1118, 1073, 1073, 1086, + 1073, 1073, 1077, 1078, 1079, 1295, 424, 425, 426, 1117, + 1084, 819, 809, 810, 811, 1319, 247, 1116, 1086, 1142, + + 1143, 1144, 512, 1115, 1295, 1114, 424, 425, 426, 424, + 425, 426, 481, 481, 481, 481, 481, 481, 481, 481, + 481, 481, 481, 481, 481, 481, 481, 481, 812, 481, + 1088, 1088, 1088, 1088, 481, 481, 481, 481, 481, 481, + 483, 483, 483, 1089, 483, 483, 483, 483, 483, 483, + 483, 483, 483, 481, 481, 481, 481, 481, 483, 483, + 483, 483, 1089, 483, 483, 483, 483, 483, 483, 483, + 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, + 481, 481, 481, 481, 481, 481, 481, 481, 227, 1113, + 777, 200, 778, 778, 778, 778, 474, 1112, 475, 806, + + 780, 780, 780, 780, 494, 779, 1093, 200, 1094, 1094, + 1094, 1094, 374, 478, 683, 1107, 1005, 1005, 1005, 1005, + 859, 857, 859, 506, 779, 860, 860, 860, 860, 829, + 422, 1321, 478, 1106, 200, 422, 911, 1105, 1320, 422, + 857, 836, 424, 425, 426, 1225, 1226, 1227, 533, 798, + 534, 912, 837, 837, 837, 837, 838, 532, 424, 425, + 426, 537, 1104, 200, 911, 839, 534, 200, 1095, 1095, + 1095, 1095, 536, 911, 1097, 1340, 498, 537, 828, 912, + 830, 831, 832, 249, 839, 424, 425, 426, 1103, 556, + 791, 1341, 1102, 790, 251, 1348, 233, 791, 199, 249, + + 712, 911, 913, 914, 915, 275, 249, 840, 841, 842, + 251, 1098, 275, 799, 424, 425, 426, 251, 424, 425, + 426, 711, 249, 539, 540, 541, 423, 792, 556, 799, + 913, 914, 915, 251, 792, 1042, 1239, 1041, 249, 799, + 1099, 1100, 1101, 1040, 556, 1231, 1232, 1233, 249, 251, + 800, 933, 820, 1039, 556, 1038, 793, 794, 795, 251, + 1037, 249, 820, 793, 794, 795, 800, 556, 1515, 1516, + 1517, 249, 251, 1239, 1036, 1035, 800, 556, 820, 801, + 802, 803, 251, 1250, 1250, 1250, 1250, 249, 1034, 821, + 200, 1336, 1033, 556, 1336, 801, 802, 803, 251, 821, + + 1032, 1337, 1240, 1241, 1242, 801, 802, 803, 852, 852, + 852, 852, 829, 1031, 1028, 821, 1027, 1773, 822, 823, + 824, 1147, 1147, 1147, 1147, 1024, 1329, 1023, 822, 823, + 824, 851, 1022, 851, 835, 1019, 852, 852, 852, 852, + 829, 424, 425, 426, 822, 823, 824, 836, 1577, 1577, + 1577, 1577, 1018, 835, 533, 1017, 534, 1016, 858, 858, + 858, 858, 838, 830, 831, 832, 1559, 537, 269, 1559, + 855, 839, 856, 856, 856, 856, 1560, 860, 860, 860, + 860, 829, 1773, 423, 828, 857, 1153, 1153, 1153, 1153, + 839, 830, 831, 832, 956, 956, 956, 956, 933, 835, + + 709, 963, 1155, 963, 857, 1773, 964, 964, 964, 964, + 933, 249, 1008, 840, 841, 842, 532, 1156, 835, 1007, + 200, 1006, 251, 533, 1002, 534, 354, 1130, 1130, 1130, + 1130, 536, 830, 831, 832, 671, 537, 341, 665, 1157, + 1131, 1773, 327, 1773, 998, 1162, 1162, 1162, 1162, 934, + 935, 936, 475, 320, 1370, 1370, 1370, 1370, 531, 1131, + 990, 934, 935, 936, 1562, 1338, 989, 1562, 1158, 1159, + 1160, 424, 425, 426, 1563, 649, 982, 531, 1616, 1617, + 1618, 313, 539, 540, 541, 481, 481, 481, 481, 481, + 543, 481, 544, 543, 481, 481, 481, 543, 543, 481, + + 543, 981, 481, 1149, 1149, 1149, 1149, 546, 481, 543, + 543, 543, 547, 543, 543, 543, 1150, 543, 543, 543, + 543, 543, 543, 543, 543, 543, 481, 543, 481, 481, + 481, 543, 543, 543, 543, 1150, 543, 543, 543, 543, + 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, + 543, 543, 543, 481, 481, 543, 481, 481, 549, 550, + 551, 499, 491, 1773, 491, 1171, 1773, 491, 880, 200, + 249, 491, 1773, 1773, 249, 1773, 1161, 249, 980, 643, + 275, 251, 1773, 500, 979, 251, 880, 1773, 251, 1565, + 1773, 666, 1565, 666, 978, 249, 666, 1773, 501, 1566, + + 666, 500, 1172, 1339, 614, 881, 251, 1439, 1440, 1441, + 636, 958, 1558, 616, 957, 1193, 1193, 1193, 1193, 618, + 424, 425, 426, 881, 619, 613, 937, 502, 503, 504, + 1164, 1173, 1174, 1175, 882, 883, 884, 958, 957, 863, + 880, 1165, 1165, 1165, 1165, 1166, 613, 1564, 1350, 249, + 866, 1350, 882, 883, 884, 500, 937, 578, 1351, 1191, + 251, 1192, 1192, 1192, 1192, 930, 1195, 1157, 929, 604, + 621, 622, 623, 922, 961, 297, 295, 881, 1773, 921, + 920, 638, 1245, 1245, 1245, 1245, 299, 200, 596, 598, + 895, 909, 908, 961, 590, 939, 1167, 1168, 1169, 297, + + 901, 1773, 900, 1196, 1773, 315, 882, 883, 884, 880, + 299, 1773, 582, 288, 939, 888, 895, 280, 249, 886, + 887, 887, 887, 887, 500, 297, 885, 896, 903, 251, + 567, 315, 1197, 1198, 1199, 878, 299, 297, 424, 425, + 426, 273, 1773, 638, 1773, 1773, 881, 1773, 299, 877, + 682, 903, 1773, 896, 1773, 682, 897, 898, 899, 682, + 297, 876, 1567, 1773, 561, 904, 638, 1251, 1251, 1251, + 1251, 299, 1662, 1663, 1664, 882, 883, 884, 940, 875, + 939, 874, 897, 898, 899, 615, 554, 616, 904, 941, + 941, 941, 941, 942, 905, 906, 907, 1561, 619, 939, + + 854, 955, 943, 955, 853, 903, 956, 956, 956, 956, + 933, 531, 833, 924, 297, 932, 854, 905, 906, 907, + 638, 943, 297, 924, 853, 299, 531, 833, 638, 1368, + 826, 1368, 297, 299, 1369, 1369, 1369, 1369, 638, 924, + 825, 522, 904, 299, 944, 945, 946, 818, 297, 247, + 925, 309, 817, 959, 638, 960, 960, 960, 960, 299, + 925, 934, 935, 936, 1773, 816, 512, 1773, 961, 514, + 805, 905, 906, 907, 1773, 804, 925, 506, 797, 926, + 927, 928, 964, 964, 964, 964, 933, 961, 796, 926, + 927, 928, 498, 1773, 1253, 1773, 240, 1260, 1260, 1260, + + 1260, 1773, 200, 297, 1773, 926, 927, 928, 940, 1254, + 613, 1773, 490, 1570, 299, 615, 200, 616, 772, 962, + 962, 962, 962, 942, 199, 737, 1349, 583, 619, 613, + 200, 1255, 943, 1515, 1516, 1517, 297, 934, 935, 936, + 736, 733, 1259, 1269, 732, 932, 1773, 299, 729, 1773, + 984, 943, 297, 424, 425, 426, 1773, 726, 315, 297, + 1256, 1257, 1258, 299, 585, 584, 725, 424, 425, 426, + 299, 724, 1352, 200, 944, 945, 946, 614, 200, 723, + 1270, 424, 425, 426, 615, 719, 616, 985, 1228, 1228, + 1228, 1228, 618, 586, 587, 588, 1548, 619, 410, 1548, + + 1011, 1229, 1012, 1012, 1012, 1012, 1549, 1360, 1568, 1271, + 1272, 1273, 1367, 715, 712, 779, 986, 987, 988, 711, + 1229, 1616, 1617, 1618, 424, 425, 426, 1009, 423, 424, + 425, 426, 1009, 1090, 779, 1090, 1009, 696, 1370, 1370, + 1370, 1370, 695, 621, 622, 623, 481, 481, 481, 481, + 481, 625, 481, 626, 625, 481, 481, 481, 625, 625, + 481, 625, 694, 625, 1247, 1247, 1247, 1247, 628, 481, + 625, 625, 625, 629, 625, 625, 625, 1248, 625, 625, + 625, 625, 625, 625, 625, 625, 625, 481, 625, 481, + 481, 481, 625, 625, 625, 625, 1248, 625, 625, 625, + + 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, + 625, 625, 625, 625, 481, 481, 625, 481, 481, 631, + 632, 633, 1262, 655, 673, 1141, 354, 200, 667, 984, + 341, 967, 984, 1263, 1263, 1263, 1263, 1264, 297, 661, + 829, 297, 970, 327, 584, 1773, 660, 584, 1773, 299, + 1336, 1359, 299, 1336, 1350, 1773, 659, 1350, 1559, 1255, + 1337, 1559, 1141, 320, 1351, 648, 985, 1562, 1560, 985, + 1562, 200, 647, 1565, 313, 200, 1565, 1563, 424, 425, + 426, 603, 602, 1566, 1548, 295, 576, 1548, 1265, 1266, + 1267, 1142, 1143, 1144, 1549, 986, 987, 988, 986, 987, + + 988, 984, 1415, 1415, 1415, 1415, 829, 1569, 1559, 288, + 297, 1559, 997, 997, 997, 997, 584, 575, 1560, 574, + 280, 299, 424, 425, 426, 257, 424, 425, 426, 474, + 566, 475, 565, 1085, 1085, 1085, 1085, 474, 985, 475, + 273, 1085, 1085, 1085, 1085, 494, 1086, 1093, 519, 1094, + 1094, 1094, 1094, 518, 1086, 1010, 1141, 830, 831, 832, + 1010, 247, 857, 492, 1010, 1086, 240, 986, 987, 988, + 709, 829, 470, 1086, 1004, 1004, 1004, 1004, 469, 1097, + 1562, 857, 199, 1562, 1004, 1004, 1004, 1004, 249, 176, + 1563, 399, 398, 1141, 556, 1662, 1663, 1664, 397, 251, + + 1433, 396, 1004, 1004, 1004, 1004, 1004, 1004, 1290, 1290, + 395, 1290, 387, 1290, 384, 1434, 1098, 1290, 1290, 1290, + 380, 1290, 1142, 1143, 1144, 377, 361, 996, 356, 1290, + 355, 354, 996, 1389, 1097, 1389, 996, 1433, 1390, 1390, + 1390, 1390, 829, 249, 357, 1099, 1100, 1101, 1290, 556, + 1290, 1290, 356, 355, 251, 1565, 1773, 354, 1565, 347, + 1147, 1147, 1147, 1147, 344, 1566, 1435, 1436, 1437, 343, + 342, 1098, 341, 835, 332, 1290, 1290, 1290, 1291, 1291, + 329, 1291, 328, 1291, 327, 304, 290, 1291, 1291, 1291, + 289, 1291, 835, 830, 831, 832, 1097, 288, 267, 1291, + + 1099, 1100, 1101, 200, 242, 249, 241, 1713, 1773, 240, + 1713, 556, 1153, 1153, 1153, 1153, 251, 1714, 1291, 221, + 1291, 1291, 1773, 189, 475, 835, 1369, 1369, 1369, 1369, + 176, 175, 1773, 1098, 170, 578, 170, 1191, 1773, 1192, + 1192, 1192, 1192, 1773, 835, 1291, 1291, 1291, 710, 710, + 710, 710, 961, 1239, 424, 425, 426, 1773, 710, 710, + 710, 710, 1099, 1100, 1101, 1773, 1773, 1773, 933, 1773, + 475, 961, 1369, 1369, 1369, 1369, 710, 710, 710, 710, + 710, 710, 1322, 1322, 1322, 1322, 1322, 1773, 1322, 1323, + 1239, 1322, 1322, 1322, 200, 1773, 1322, 1773, 1322, 1245, + + 1245, 1245, 1245, 1773, 1324, 1322, 1773, 1773, 1773, 1322, + 1773, 1773, 939, 475, 1773, 1370, 1370, 1370, 1370, 1240, + 1241, 1242, 1773, 1322, 200, 1322, 1323, 1322, 1398, 532, + 1398, 939, 1325, 1399, 1399, 1399, 1399, 829, 534, 1773, + 1400, 1400, 1400, 1400, 536, 424, 425, 426, 1773, 537, + 1322, 1322, 1773, 1322, 1322, 1326, 1327, 1328, 1330, 1330, + 1330, 1330, 1330, 1713, 1330, 1331, 1713, 1330, 1330, 1330, + 1773, 1773, 1330, 1714, 1330, 424, 425, 426, 1773, 1773, + 1332, 1330, 1773, 1753, 1753, 1330, 1753, 1753, 830, 831, + 832, 1773, 1773, 1754, 1754, 539, 540, 541, 1773, 1330, + + 1773, 1330, 1331, 1330, 1465, 1155, 1465, 200, 1773, 1466, + 1466, 1466, 1466, 933, 249, 1773, 1090, 1773, 1090, 1773, + 1156, 1370, 1370, 1370, 1370, 251, 1330, 1330, 1773, 1330, + 1330, 1333, 1334, 1335, 1342, 1342, 1342, 1342, 1342, 200, + 1342, 1343, 1157, 1342, 1342, 1342, 200, 1773, 1342, 1773, + 1342, 1773, 1693, 1773, 1773, 1773, 1344, 1342, 424, 425, + 426, 1342, 1773, 1773, 934, 935, 936, 1773, 1773, 1773, + 1773, 1158, 1159, 1160, 1773, 1342, 1292, 1342, 1343, 1342, + 1155, 1292, 1773, 1773, 1773, 1292, 1773, 1686, 1773, 249, + 424, 425, 426, 1773, 1773, 1156, 1773, 424, 425, 426, + + 251, 1773, 1342, 1342, 1773, 1342, 1342, 1345, 1346, 1347, + 427, 428, 429, 430, 431, 432, 433, 1157, 434, 1773, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 1353, + 1353, 1353, 1353, 1353, 1773, 1353, 1354, 1773, 1353, 1353, + 1353, 1773, 200, 1353, 1773, 1353, 1158, 1159, 1160, 1773, + 1773, 1355, 1353, 682, 1773, 1773, 1353, 682, 1251, 1251, + 1251, 1251, 682, 1773, 1773, 1773, 682, 1773, 1773, 1773, + 1353, 939, 1353, 1354, 1353, 1773, 1402, 1773, 1773, 1773, + 1773, 1773, 474, 1700, 475, 249, 1085, 1085, 1085, 1085, + 939, 275, 1773, 424, 425, 426, 251, 1353, 1353, 1086, + + 1353, 1353, 1356, 1357, 1358, 1361, 1361, 1361, 1361, 1361, + 1773, 1361, 1362, 1403, 1361, 1361, 1361, 1773, 1086, 1361, + 1155, 1361, 1015, 1773, 1773, 1015, 1773, 1363, 1361, 249, + 1015, 1773, 1361, 1773, 1015, 1156, 1773, 1773, 1773, 1773, + 251, 1773, 1404, 1405, 1406, 1410, 1361, 200, 1361, 1362, + 1361, 200, 1155, 1293, 249, 996, 1773, 1157, 1293, 996, + 275, 249, 1293, 1773, 996, 251, 1524, 1156, 996, 1773, + 1239, 1524, 251, 1361, 1361, 1524, 1361, 1361, 1364, 1365, + 1366, 532, 1411, 1773, 1773, 933, 1158, 1159, 1160, 1157, + 1773, 1773, 1371, 1371, 1371, 1371, 536, 1773, 424, 425, + + 426, 537, 424, 425, 426, 1372, 1155, 1239, 1773, 1773, + 1773, 1412, 1413, 1414, 1417, 249, 1773, 1773, 1158, 1159, + 1160, 1166, 1525, 249, 1372, 1773, 251, 1525, 1773, 275, + 672, 1525, 672, 1773, 251, 672, 1240, 1241, 1242, 672, + 1773, 1773, 200, 1157, 1773, 1773, 1773, 539, 540, 541, + 836, 1418, 1491, 1491, 1491, 1491, 933, 1773, 1773, 534, + 200, 1153, 1153, 1153, 1153, 838, 1773, 1773, 1773, 1425, + 537, 200, 1158, 1159, 1160, 1773, 1773, 1773, 249, 1773, + 1419, 1420, 1421, 1171, 556, 1773, 1773, 828, 1773, 251, + 1773, 1771, 249, 424, 425, 426, 1771, 1773, 275, 1773, + + 1771, 1773, 1773, 251, 1773, 1772, 1426, 934, 935, 936, + 1772, 424, 425, 426, 1772, 1773, 840, 841, 842, 836, + 1172, 1773, 424, 425, 426, 1773, 533, 1509, 534, 1773, + 1387, 1387, 1387, 1387, 838, 1427, 1428, 1429, 1171, 537, + 1773, 1773, 1510, 1388, 1773, 1195, 1773, 249, 1773, 1173, + 1174, 1175, 1195, 275, 297, 1773, 828, 1773, 251, 1773, + 638, 297, 1388, 1773, 1509, 299, 1773, 638, 1773, 1773, + 1773, 1474, 299, 1474, 1773, 1172, 1475, 1475, 1475, 1475, + 933, 1773, 1196, 1773, 1773, 840, 841, 842, 1164, 1196, + 1773, 1773, 1773, 1511, 1512, 1513, 1773, 863, 1773, 1165, + + 1165, 1165, 1165, 1166, 1173, 1174, 1175, 1195, 866, 200, + 1773, 1197, 1198, 1199, 1773, 1773, 297, 1773, 1197, 1198, + 1199, 1773, 638, 1773, 1773, 1157, 614, 299, 1773, 1773, + 1773, 934, 935, 936, 1773, 616, 1773, 1476, 1476, 1476, + 1476, 618, 1773, 1253, 1196, 1773, 619, 1390, 1390, 1390, + 1390, 829, 297, 1773, 1167, 1168, 1169, 614, 1254, 1773, + 424, 425, 426, 299, 1773, 1773, 1773, 1773, 1447, 1447, + 1447, 1447, 618, 1197, 1198, 1199, 1253, 619, 1773, 1773, + 1255, 1448, 1773, 1773, 1773, 297, 1773, 1773, 1773, 1773, + 1773, 1254, 621, 622, 623, 1773, 299, 1773, 1773, 1478, + + 1448, 1773, 830, 831, 832, 1773, 1773, 1773, 297, 1256, + 1257, 1258, 1253, 1255, 315, 1773, 1773, 1773, 1433, 299, + 1773, 297, 1773, 621, 622, 623, 940, 1254, 1773, 1773, + 1773, 1773, 299, 1434, 1773, 616, 1479, 1251, 1251, 1251, + 1251, 942, 1256, 1257, 1258, 1773, 619, 1773, 1773, 1255, + 1773, 1773, 1770, 1770, 1770, 1433, 1773, 1773, 1773, 1773, + 1773, 1486, 1773, 932, 1773, 1480, 1481, 1482, 1253, 1773, + 297, 1770, 1770, 1770, 1770, 1773, 315, 297, 1256, 1257, + 1258, 299, 1773, 1254, 1435, 1436, 1437, 1773, 299, 1773, + 1773, 1773, 944, 945, 946, 940, 1773, 1773, 1487, 1773, + + 1773, 1773, 615, 1253, 616, 1255, 1463, 1463, 1463, 1463, + 942, 1493, 297, 1773, 1773, 619, 1773, 1773, 1264, 1464, + 297, 1773, 1773, 299, 1773, 1773, 315, 1488, 1489, 1490, + 1501, 299, 932, 1773, 1256, 1257, 1258, 1269, 1464, 297, + 1255, 1773, 1773, 1773, 1773, 638, 297, 1773, 1494, 1773, + 299, 1773, 315, 1773, 1773, 1773, 1773, 299, 1773, 1773, + 1773, 944, 945, 946, 1773, 1773, 1773, 1502, 1773, 1256, + 1257, 1258, 1262, 1773, 1270, 1773, 1773, 1495, 1496, 1497, + 1269, 967, 1773, 1263, 1263, 1263, 1263, 1264, 1773, 297, + 1773, 1773, 970, 1773, 1773, 315, 1503, 1504, 1505, 1773, + + 299, 1773, 1773, 1271, 1272, 1273, 1398, 1773, 1398, 1255, + 1773, 1399, 1399, 1399, 1399, 829, 1389, 1270, 1389, 1773, + 1433, 1390, 1390, 1390, 1390, 829, 1773, 1773, 1773, 1773, + 1773, 1582, 1582, 1582, 1582, 1434, 1773, 1773, 1265, 1266, + 1267, 1773, 1773, 1773, 835, 1773, 1271, 1272, 1273, 1523, + 1523, 1773, 1523, 1773, 1523, 1773, 1773, 1433, 1523, 1523, + 1523, 1773, 1523, 835, 1773, 1773, 830, 831, 832, 1773, + 1523, 1773, 1773, 1773, 1773, 1773, 830, 831, 832, 1773, + 1773, 1399, 1399, 1399, 1399, 829, 1435, 1436, 1437, 1523, + 1509, 1523, 1523, 1773, 1773, 1773, 1773, 1773, 1773, 1585, + + 1585, 1585, 1585, 1773, 1773, 1510, 1773, 1773, 1773, 1773, + 1773, 1773, 835, 1773, 1773, 1773, 1523, 1523, 1523, 1542, + 1542, 1542, 1542, 1542, 1773, 1542, 1543, 1509, 1542, 1542, + 1542, 835, 1773, 1542, 1773, 1542, 830, 831, 832, 1773, + 1773, 1544, 1542, 1773, 1773, 1773, 1542, 1773, 1585, 1585, + 1585, 1585, 1773, 1773, 1773, 1773, 1511, 1512, 1513, 1773, + 1542, 835, 1542, 1543, 1542, 1773, 1587, 1773, 1415, 1415, + 1415, 1415, 829, 1773, 1773, 249, 1773, 1773, 1773, 1773, + 835, 556, 1773, 1773, 1773, 1773, 251, 1542, 1542, 1773, + 1542, 1542, 1545, 1546, 1547, 1773, 1548, 1773, 1773, 1548, + + 1773, 1773, 1773, 1588, 1773, 1773, 1549, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 200, 1773, 1773, + 1773, 1773, 1773, 830, 831, 832, 1773, 1773, 1773, 1773, + 1773, 1773, 1589, 1590, 1591, 1773, 1773, 1773, 1773, 1402, + 1773, 1773, 1402, 1773, 1773, 1773, 1773, 1773, 249, 1773, + 1773, 249, 1773, 1773, 275, 1773, 1773, 275, 1773, 251, + 1773, 1773, 251, 1773, 1773, 1773, 1773, 1773, 424, 425, + 426, 1550, 1550, 1550, 1550, 1550, 1403, 1550, 1551, 1403, + 1550, 1550, 1550, 1773, 1773, 1550, 1773, 1550, 1628, 1628, + 1628, 1628, 1773, 1552, 1550, 1773, 1773, 1773, 1550, 1773, + + 1773, 939, 1773, 1773, 1773, 1404, 1405, 1406, 1404, 1405, + 1406, 1773, 1550, 1773, 1550, 1551, 1550, 1596, 1773, 1773, + 939, 1773, 1773, 1773, 1773, 1773, 249, 1773, 1773, 1773, + 1773, 1773, 556, 1773, 1773, 1773, 1773, 251, 1773, 1550, + 1550, 1773, 1550, 1550, 1553, 1554, 1555, 427, 428, 429, + 430, 431, 432, 433, 1597, 434, 1773, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 1571, 1571, 1571, 1571, + 1571, 1773, 1571, 1572, 1773, 1571, 1571, 1571, 1773, 1773, + 1571, 1773, 1571, 1598, 1599, 1600, 1773, 1773, 1573, 1571, + 1773, 1773, 1773, 1571, 1773, 1631, 1631, 1631, 1631, 1773, + + 1773, 1773, 1773, 1773, 1773, 1773, 1410, 1571, 939, 1571, + 1572, 1571, 1773, 1773, 1773, 249, 1773, 1773, 1773, 1773, + 1773, 275, 1773, 1773, 1773, 1773, 251, 939, 1773, 1773, + 1773, 1773, 1773, 1773, 1571, 1571, 1773, 1571, 1571, 1574, + 1575, 1576, 836, 1411, 1466, 1466, 1466, 1466, 933, 533, + 1773, 534, 1773, 1387, 1387, 1387, 1387, 838, 1773, 1773, + 1773, 1410, 537, 1773, 1773, 1773, 1388, 1773, 1773, 1773, + 249, 1773, 1412, 1413, 1414, 1604, 275, 1773, 1773, 828, + 1773, 251, 1773, 1773, 249, 1388, 1773, 1773, 1773, 1773, + 556, 1773, 1773, 1773, 1773, 251, 1773, 1773, 1411, 934, + + 935, 936, 1773, 1773, 1773, 1773, 1773, 1773, 840, 841, + 842, 836, 1605, 1475, 1475, 1475, 1475, 933, 533, 1773, + 534, 1773, 1387, 1387, 1387, 1387, 838, 1412, 1413, 1414, + 1417, 537, 1773, 1773, 1773, 1388, 1773, 1417, 1773, 249, + 1773, 1606, 1607, 1608, 1425, 275, 249, 1509, 828, 1773, + 251, 1425, 275, 249, 1388, 1773, 1773, 251, 1773, 556, + 249, 1773, 1510, 1773, 251, 1773, 556, 1418, 934, 935, + 936, 251, 1773, 1773, 1418, 1773, 1773, 840, 841, 842, + 1773, 1426, 1773, 1773, 1509, 1474, 1425, 1474, 1426, 1773, + 1475, 1475, 1475, 1475, 933, 249, 1419, 1420, 1421, 1773, + + 1773, 556, 1773, 1419, 1420, 1421, 251, 1773, 1773, 1773, + 1427, 1428, 1429, 1511, 1512, 1513, 1773, 1427, 1428, 1429, + 1465, 1713, 1465, 1426, 1713, 1466, 1466, 1466, 1466, 933, + 1753, 1714, 1773, 1753, 1773, 1773, 1773, 1773, 1773, 1773, + 1754, 1633, 200, 1773, 1773, 934, 935, 936, 1773, 1773, + 297, 200, 1427, 1428, 1429, 940, 638, 1773, 1773, 1773, + 1773, 299, 615, 1773, 616, 1773, 1463, 1463, 1463, 1463, + 942, 1773, 1773, 1773, 1773, 619, 1773, 1773, 1634, 1464, + 934, 935, 936, 1773, 1773, 1773, 1773, 1631, 1631, 1631, + 1631, 1773, 932, 424, 425, 426, 1773, 1478, 1464, 1773, + + 939, 1773, 424, 425, 426, 1478, 297, 1635, 1636, 1637, + 1773, 1773, 315, 1773, 297, 1773, 1773, 299, 1773, 939, + 315, 944, 945, 946, 940, 299, 1491, 1491, 1491, 1491, + 933, 615, 1642, 616, 1479, 1463, 1463, 1463, 1463, 942, + 1486, 297, 1479, 1773, 619, 1773, 1773, 638, 1464, 297, + 1773, 1773, 299, 1773, 1773, 315, 1773, 1773, 1773, 1486, + 299, 932, 1773, 1480, 1481, 1482, 1773, 1464, 297, 1643, + 1773, 1480, 1481, 1482, 315, 1773, 1773, 1487, 1773, 299, + 1773, 934, 935, 936, 1773, 1773, 1773, 1773, 1773, 1773, + 944, 945, 946, 1773, 1650, 1773, 1487, 1773, 1644, 1645, + + 1646, 1493, 1773, 297, 1493, 1773, 1488, 1489, 1490, 638, + 297, 1773, 1773, 297, 299, 1773, 315, 1773, 1773, 315, + 1501, 299, 1773, 1773, 299, 1488, 1489, 1490, 1501, 297, + 1773, 1651, 1773, 1773, 1773, 638, 1501, 297, 1494, 1773, + 299, 1494, 1773, 638, 1773, 297, 1773, 1773, 299, 1773, + 1773, 638, 1773, 1773, 1773, 1773, 299, 1502, 1773, 1773, + 1652, 1653, 1654, 1773, 1773, 1502, 1773, 1495, 1496, 1497, + 1495, 1496, 1497, 1502, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1503, 1504, 1505, 1773, + 1773, 1773, 1773, 1773, 1503, 1504, 1505, 1773, 1773, 1773, + + 1773, 1773, 1503, 1504, 1505, 427, 428, 429, 430, 431, + 432, 433, 1773, 434, 1773, 435, 436, 437, 438, 439, + 440, 441, 442, 443, 1680, 1680, 1680, 1680, 1680, 1773, + 1680, 1681, 1773, 1680, 1680, 1680, 1773, 1773, 1680, 1773, + 1680, 1773, 1773, 1773, 1773, 1773, 1682, 1680, 1773, 1773, + 1773, 1680, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1680, 1773, 1680, 1681, 1680, + 1773, 1587, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 249, 1773, 1773, 1773, 1773, 1773, 556, 1773, 1773, 1773, + 1773, 251, 1680, 1680, 1773, 1680, 1680, 1683, 1684, 1685, + + 1687, 1687, 1687, 1687, 1687, 1773, 1687, 1688, 1588, 1687, + 1687, 1687, 1773, 1773, 1687, 1773, 1687, 1773, 1773, 1773, + 1773, 1773, 1689, 1687, 1773, 1773, 1773, 1687, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1589, 1590, 1591, + 1773, 1687, 1773, 1687, 1688, 1687, 1773, 1587, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 249, 1773, 1773, 1773, + 1773, 1773, 556, 1773, 1773, 1773, 1773, 251, 1687, 1687, + 1773, 1687, 1687, 1690, 1691, 1692, 1694, 1694, 1694, 1694, + 1694, 1773, 1694, 1695, 1588, 1694, 1694, 1694, 1773, 1773, + 1694, 1773, 1694, 1773, 1773, 1773, 1773, 1773, 1696, 1694, + + 1773, 1773, 1773, 1694, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1589, 1590, 1591, 1773, 1694, 1773, 1694, + 1695, 1694, 1773, 1587, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 249, 1773, 1773, 1773, 1773, 1773, 556, 1773, + 1773, 1773, 1773, 251, 1694, 1694, 1773, 1694, 1694, 1697, + 1698, 1699, 1701, 1701, 1701, 1701, 1701, 1773, 1701, 1702, + 1588, 1701, 1701, 1701, 1773, 1773, 1701, 1773, 1701, 1773, + 1773, 1773, 1773, 1773, 1703, 1701, 1773, 1773, 1773, 1701, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1589, + 1590, 1591, 1773, 1701, 1773, 1701, 1702, 1701, 1773, 1596, + + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 249, 1773, + 1773, 1773, 1773, 1773, 556, 1773, 1773, 1773, 1773, 251, + 1701, 1701, 1773, 1701, 1701, 1704, 1705, 1706, 1707, 1707, + 1707, 1707, 1707, 1773, 1707, 1708, 1597, 1707, 1707, 1707, + 1773, 1773, 1707, 1596, 1707, 1773, 1773, 1773, 1773, 1773, + 1709, 1707, 249, 1773, 1773, 1707, 1773, 1773, 556, 1773, + 1773, 1596, 1773, 251, 1773, 1598, 1599, 1600, 1604, 1707, + 249, 1707, 1708, 1707, 1773, 1773, 556, 249, 1773, 1773, + 1597, 251, 1773, 556, 1773, 1773, 1773, 1773, 251, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1707, 1707, 1597, 1707, + + 1707, 1710, 1711, 1712, 836, 1605, 1773, 1773, 1773, 1598, + 1599, 1600, 1773, 534, 1773, 1582, 1582, 1582, 1582, 838, + 1773, 1773, 1773, 1604, 537, 1773, 1773, 1598, 1599, 1600, + 1604, 1773, 249, 1773, 1606, 1607, 1608, 1633, 556, 249, + 1773, 828, 1773, 251, 1773, 556, 297, 1773, 1773, 1773, + 251, 1773, 638, 1773, 1773, 1773, 1773, 299, 1773, 1773, + 1605, 1773, 1773, 1773, 1773, 1773, 1773, 1605, 1773, 1773, + 840, 841, 842, 836, 1634, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 534, 1773, 1585, 1585, 1585, 1585, 838, 1606, + 1607, 1608, 1633, 537, 1773, 1773, 1606, 1607, 1608, 1633, + + 1773, 297, 1773, 1635, 1636, 1637, 1642, 638, 297, 1773, + 828, 1773, 299, 1773, 638, 297, 1773, 1773, 1773, 299, + 1773, 638, 1773, 1773, 1773, 1773, 299, 1773, 1773, 1634, + 1773, 1773, 1773, 1773, 1773, 1773, 1634, 1773, 1773, 840, + 841, 842, 940, 1643, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 616, 1773, 1628, 1628, 1628, 1628, 942, 1635, 1636, + 1637, 1642, 619, 1773, 1773, 1635, 1636, 1637, 1642, 1773, + 297, 1773, 1644, 1645, 1646, 1650, 638, 297, 1773, 932, + 1773, 299, 1773, 638, 297, 1773, 1773, 1773, 299, 1773, + 638, 1773, 1773, 1773, 1773, 299, 1773, 1773, 1643, 1773, + + 1773, 1773, 1773, 1773, 1773, 1643, 1773, 1773, 944, 945, + 946, 940, 1651, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 616, 1773, 1631, 1631, 1631, 1631, 942, 1644, 1645, 1646, + 1650, 619, 1773, 1773, 1644, 1645, 1646, 1650, 1773, 297, + 1773, 1652, 1653, 1654, 1773, 638, 297, 1773, 932, 1773, + 299, 1773, 638, 1773, 1773, 1773, 1773, 299, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1651, 1773, 1773, + 1773, 1773, 1773, 1773, 1651, 1773, 1773, 944, 945, 946, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1652, 1653, 1654, 1773, + + 1773, 1773, 1773, 1652, 1653, 1654, 1747, 1747, 1747, 1747, + 1747, 1773, 1747, 1748, 1773, 1747, 1747, 1747, 1773, 1773, + 1747, 1773, 1747, 1773, 1773, 1773, 1773, 1773, 1749, 1747, + 1773, 1773, 1773, 1747, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1747, 1773, 1747, + 1748, 1747, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1747, 1747, 1773, 1747, 1747, 1750, + 1751, 1752, 1755, 1755, 1755, 1755, 1755, 1773, 1755, 1756, + 1773, 1755, 1755, 1755, 1773, 1773, 1755, 1773, 1755, 1773, + + 1773, 1773, 1773, 1773, 1757, 1755, 1773, 1773, 1773, 1755, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1755, 1773, 1755, 1756, 1755, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1755, 1755, 1773, 1755, 1755, 1758, 1759, 1760, 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, + 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, 107, 107, 107, 107, 107, 107, 107, + 94, 94, 94, 94, 94, 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, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 144, 144, 144, + 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, 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, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 171, - 171, 1764, 1764, 1764, 171, 171, 171, 171, 171, 171, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 169, 169, - 171, 171, 171, 171, 171, 171, 171, 1764, 171, 171, - 171, 171, 171, 230, 230, 1764, 230, 1764, 1764, 1764, - 230, 1764, 230, 230, 232, 232, 1764, 1764, 232, 232, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 171, 171, 1773, 1773, + 1773, 171, 171, 171, 171, 171, 171, 171, 171, 171, + 171, 171, 171, 171, 171, 1773, 171, 171, 171, 171, + 171, 171, 171, 171, 230, 230, 1773, 230, 1773, 1773, + 1773, 1773, 230, 230, 230, 1773, 230, 230, 232, 232, + 1773, 1773, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 234, 234, + 232, 232, 232, 232, 232, 232, 234, 234, 234, 234, + 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 234, 234, 247, 1764, 247, 1764, 1764, 247, 247, 1764, - 247, 1764, 247, 247, 1764, 247, 247, 247, 247, 247, - 247, 273, 1764, 273, 1764, 1764, 273, 273, 1764, 273, - - 1764, 273, 273, 1764, 273, 273, 273, 273, 273, 273, - 280, 1764, 280, 1764, 1764, 280, 280, 1764, 1764, 1764, - 280, 280, 1764, 1764, 280, 1764, 280, 280, 280, 295, - 1764, 295, 1764, 1764, 295, 295, 1764, 295, 295, 295, - 295, 1764, 295, 295, 295, 295, 295, 295, 313, 1764, - 313, 1764, 1764, 313, 313, 1764, 313, 313, 313, 313, - 1764, 313, 313, 313, 313, 313, 313, 320, 1764, 320, - 1764, 1764, 320, 320, 1764, 1764, 320, 320, 320, 1764, - 1764, 320, 1764, 320, 320, 320, 348, 348, 348, 348, + 234, 234, 234, 234, 247, 1773, 247, 1773, 1773, 247, + 247, 1773, 247, 1773, 247, 247, 1773, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 273, 1773, 273, + 1773, 1773, 273, 273, 1773, 273, 1773, 273, 273, 1773, + 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, + 280, 1773, 280, 1773, 1773, 280, 280, 1773, 1773, 1773, + 280, 280, 1773, 280, 1773, 280, 280, 280, 1773, 280, + 280, 280, 280, 295, 1773, 295, 1773, 1773, 295, 295, + + 1773, 295, 295, 295, 295, 1773, 295, 295, 295, 295, + 295, 295, 295, 295, 295, 295, 313, 1773, 313, 1773, + 1773, 313, 313, 1773, 313, 313, 313, 313, 1773, 313, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 320, + 1773, 320, 1773, 1773, 320, 320, 1773, 1773, 320, 320, + 320, 1773, 320, 1773, 320, 320, 320, 1773, 320, 320, + 320, 320, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, - 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, - 358, 1764, 1764, 1764, 358, 1764, 358, 358, 366, 366, - 366, 1764, 366, 366, 1764, 1764, 366, 1764, 1764, 366, - 366, 366, 366, 366, 384, 1764, 1764, 1764, 1764, 384, - 1764, 384, 384, 1764, 1764, 384, 1764, 384, 384, 384, - 1764, 384, 384, 384, 1764, 384, 384, 384, 393, 393, - 1764, 1764, 393, 393, 393, 393, 393, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, - 393, 393, 399, 399, 1764, 399, 399, 399, 399, 399, - 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, - - 399, 399, 399, 399, 399, 399, 402, 402, 1764, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, - 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, - 404, 404, 404, 404, 422, 1764, 422, 1764, 1764, 422, - 422, 1764, 1764, 422, 422, 422, 1764, 1764, 422, 422, - 422, 422, 422, 476, 476, 1764, 476, 1764, 1764, 1764, - 476, 1764, 476, 476, 232, 232, 1764, 1764, 232, 232, + 358, 1773, 1773, 1773, 1773, 358, 358, 358, 1773, 358, + + 358, 366, 366, 366, 1773, 366, 366, 1773, 1773, 366, + 1773, 1773, 1773, 366, 366, 366, 366, 366, 366, 366, + 366, 385, 1773, 1773, 1773, 1773, 385, 1773, 385, 385, + 1773, 1773, 385, 1773, 385, 385, 385, 1773, 385, 385, + 385, 385, 385, 385, 1773, 385, 385, 1773, 385, 394, + 394, 1773, 1773, 394, 394, 394, 394, 394, 394, 394, + 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, + 394, 394, 394, 394, 394, 394, 394, 400, 400, 1773, + 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, + 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, + + 400, 400, 400, 400, 400, 403, 403, 1773, 403, 403, + 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, + 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, + 403, 403, 403, 405, 405, 405, 405, 405, 405, 405, + 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, + 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, + 405, 423, 1773, 423, 1773, 1773, 423, 423, 1773, 1773, + 423, 423, 423, 1773, 423, 1773, 423, 423, 423, 423, + 423, 423, 423, 423, 477, 477, 1773, 477, 1773, 1773, + 1773, 1773, 477, 477, 477, 1773, 477, 477, 232, 232, + + 1773, 1773, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - - 232, 232, 232, 232, 232, 232, 232, 232, 497, 1764, - 497, 1764, 1764, 497, 497, 1764, 497, 1764, 497, 497, - 1764, 497, 497, 497, 497, 497, 497, 247, 1764, 247, - 1764, 1764, 247, 247, 1764, 247, 1764, 247, 247, 1764, - 247, 247, 247, 247, 247, 247, 505, 1764, 505, 1764, - 1764, 505, 505, 1764, 505, 1764, 505, 505, 1764, 505, - 505, 505, 505, 505, 505, 511, 1764, 511, 1764, 1764, - 511, 511, 1764, 1764, 1764, 511, 511, 1764, 1764, 511, - 1764, 511, 511, 511, 521, 1764, 521, 1764, 1764, 521, - 521, 1764, 521, 1764, 521, 521, 1764, 521, 521, 521, - - 521, 521, 521, 530, 1764, 530, 1764, 1764, 530, 530, - 530, 530, 1764, 530, 530, 1764, 530, 530, 1764, 530, - 530, 530, 553, 1764, 553, 1764, 1764, 553, 553, 1764, - 553, 1764, 553, 553, 1764, 553, 553, 553, 553, 553, - 553, 273, 1764, 273, 1764, 1764, 273, 273, 1764, 273, - 1764, 273, 273, 1764, 273, 273, 273, 273, 273, 273, - 560, 1764, 560, 1764, 1764, 560, 560, 1764, 1764, 1764, - 560, 1764, 1764, 1764, 560, 560, 560, 560, 560, 566, - 1764, 566, 1764, 1764, 566, 566, 1764, 566, 1764, 566, - 566, 1764, 566, 566, 566, 566, 566, 566, 581, 1764, - - 581, 1764, 1764, 581, 581, 1764, 581, 581, 581, 581, - 1764, 581, 581, 581, 581, 581, 581, 295, 1764, 295, - 1764, 1764, 295, 295, 1764, 295, 295, 295, 295, 1764, - 295, 295, 295, 295, 295, 295, 589, 1764, 589, 1764, - 1764, 589, 589, 1764, 589, 589, 589, 589, 1764, 589, - 589, 589, 589, 589, 589, 595, 1764, 595, 1764, 1764, - 595, 595, 1764, 1764, 595, 595, 595, 1764, 1764, 595, - 1764, 595, 595, 595, 603, 1764, 603, 1764, 1764, 603, - 603, 1764, 603, 603, 603, 603, 1764, 603, 603, 603, - 603, 603, 603, 612, 1764, 612, 1764, 1764, 612, 612, - - 612, 612, 612, 612, 612, 1764, 612, 612, 1764, 612, - 612, 612, 635, 1764, 635, 1764, 1764, 635, 635, 1764, - 635, 635, 635, 635, 1764, 635, 635, 635, 635, 635, - 635, 313, 1764, 313, 1764, 1764, 313, 313, 1764, 313, - 313, 313, 313, 1764, 313, 313, 313, 313, 313, 313, - 642, 1764, 642, 1764, 1764, 642, 642, 1764, 1764, 642, - 642, 1764, 1764, 1764, 642, 642, 642, 642, 642, 648, - 1764, 648, 1764, 1764, 648, 648, 1764, 648, 648, 648, - 648, 1764, 648, 648, 648, 648, 648, 648, 358, 1764, - 1764, 1764, 358, 1764, 358, 358, 366, 1764, 1764, 1764, - - 366, 1764, 366, 366, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 1764, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 230, 230, - 1764, 230, 1764, 1764, 1764, 230, 1764, 230, 230, 384, - 1764, 1764, 1764, 1764, 384, 1764, 384, 384, 1764, 1764, - 384, 1764, 384, 384, 384, 1764, 384, 384, 384, 1764, - 384, 384, 384, 393, 393, 1764, 1764, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 402, 402, 1764, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 171, 171, 1764, 1764, 1764, 171, 171, 171, 171, - 171, 171, 171, 171, 171, 171, 171, 171, 171, 1764, - 171, 171, 171, 171, 171, 404, 404, 404, 404, 404, - 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, - 404, 404, 404, 404, 404, 404, 404, 404, 404, 476, - 1764, 1764, 1764, 476, 1764, 476, 476, 701, 1764, 1764, - 701, 1764, 1764, 1764, 701, 1764, 701, 701, 422, 1764, - 422, 1764, 1764, 422, 422, 1764, 1764, 422, 422, 422, - 1764, 1764, 422, 422, 422, 422, 422, 779, 1764, 779, - - 1764, 1764, 1764, 779, 1764, 779, 779, 530, 1764, 530, - 1764, 1764, 530, 530, 1764, 1764, 1764, 530, 530, 1764, - 530, 530, 1764, 530, 530, 530, 497, 1764, 497, 1764, - 1764, 497, 497, 1764, 497, 1764, 497, 497, 1764, 497, - 497, 497, 497, 497, 497, 785, 1764, 785, 1764, 1764, - 785, 785, 1764, 785, 1764, 785, 785, 1764, 785, 785, - 785, 785, 785, 785, 793, 1764, 793, 1764, 1764, 793, - 793, 1764, 793, 1764, 793, 793, 1764, 793, 793, 793, - 793, 793, 793, 505, 1764, 505, 1764, 1764, 505, 505, - 1764, 505, 1764, 505, 505, 1764, 505, 505, 505, 505, - - 505, 505, 801, 1764, 801, 1764, 1764, 801, 801, 1764, - 1764, 1764, 801, 801, 1764, 1764, 801, 801, 801, 801, - 801, 807, 1764, 807, 1764, 1764, 807, 807, 1764, 1764, - 1764, 807, 1764, 1764, 1764, 807, 807, 807, 807, 807, - 814, 1764, 814, 1764, 1764, 814, 814, 1764, 814, 1764, - 814, 814, 1764, 814, 814, 814, 814, 814, 814, 521, - 1764, 521, 1764, 1764, 521, 521, 1764, 521, 1764, 521, - 521, 1764, 521, 521, 521, 521, 521, 521, 823, 1764, - 823, 1764, 1764, 823, 823, 1764, 1764, 1764, 823, 823, - 1764, 1764, 823, 823, 823, 823, 823, 830, 1764, 830, - - 1764, 1764, 830, 830, 830, 830, 1764, 830, 830, 1764, - 830, 830, 830, 830, 830, 830, 838, 1764, 838, 1764, - 1764, 838, 838, 1764, 1764, 1764, 838, 1764, 1764, 1764, - 838, 838, 838, 838, 838, 842, 1764, 842, 1764, 1764, - 842, 842, 1764, 1764, 1764, 842, 842, 1764, 1764, 842, - 1764, 842, 842, 842, 856, 1764, 856, 1764, 1764, 856, - 856, 1764, 856, 1764, 856, 856, 1764, 856, 856, 856, - 856, 856, 856, 553, 1764, 553, 1764, 1764, 553, 553, - 1764, 553, 1764, 553, 553, 1764, 553, 553, 553, 553, - 553, 553, 865, 1764, 865, 1764, 1764, 865, 865, 1764, - - 1764, 1764, 865, 1764, 1764, 1764, 865, 865, 865, 865, - 865, 560, 1764, 560, 1764, 1764, 560, 560, 1764, 1764, - 1764, 560, 1764, 1764, 1764, 560, 560, 560, 560, 560, - 874, 1764, 874, 1764, 1764, 874, 874, 1764, 874, 1764, - 874, 874, 1764, 874, 874, 874, 874, 874, 874, 566, - 1764, 566, 1764, 1764, 566, 566, 1764, 566, 1764, 566, - 566, 1764, 566, 566, 566, 566, 566, 566, 612, 1764, - 612, 1764, 1764, 612, 612, 1764, 1764, 612, 612, 612, - 1764, 612, 612, 1764, 612, 612, 612, 581, 1764, 581, - 1764, 1764, 581, 581, 1764, 581, 581, 581, 581, 1764, - - 581, 581, 581, 581, 581, 581, 889, 1764, 889, 1764, - 1764, 889, 889, 1764, 889, 889, 889, 889, 1764, 889, - 889, 889, 889, 889, 889, 897, 1764, 897, 1764, 1764, - 897, 897, 1764, 897, 897, 897, 897, 1764, 897, 897, - 897, 897, 897, 897, 589, 1764, 589, 1764, 1764, 589, - 589, 1764, 589, 589, 589, 589, 1764, 589, 589, 589, - 589, 589, 589, 905, 1764, 905, 1764, 1764, 905, 905, - 1764, 1764, 905, 905, 905, 1764, 1764, 905, 905, 905, - 905, 905, 911, 1764, 911, 1764, 1764, 911, 911, 1764, - 1764, 911, 911, 1764, 1764, 1764, 911, 911, 911, 911, - - 911, 918, 1764, 918, 1764, 1764, 918, 918, 1764, 918, - 918, 918, 918, 1764, 918, 918, 918, 918, 918, 918, - 603, 1764, 603, 1764, 1764, 603, 603, 1764, 603, 603, - 603, 603, 1764, 603, 603, 603, 603, 603, 603, 927, - 1764, 927, 1764, 1764, 927, 927, 1764, 1764, 927, 927, - 927, 1764, 1764, 927, 927, 927, 927, 927, 934, 1764, - 934, 1764, 1764, 934, 934, 934, 934, 934, 934, 934, - 1764, 934, 934, 934, 934, 934, 934, 942, 1764, 942, - 1764, 1764, 942, 942, 1764, 1764, 942, 942, 1764, 1764, - 1764, 942, 942, 942, 942, 942, 946, 1764, 946, 1764, - - 1764, 946, 946, 1764, 1764, 946, 946, 946, 1764, 1764, - 946, 1764, 946, 946, 946, 960, 1764, 960, 1764, 1764, - 960, 960, 1764, 960, 960, 960, 960, 1764, 960, 960, - 960, 960, 960, 960, 635, 1764, 635, 1764, 1764, 635, - 635, 1764, 635, 635, 635, 635, 1764, 635, 635, 635, - 635, 635, 635, 969, 1764, 969, 1764, 1764, 969, 969, - 1764, 1764, 969, 969, 1764, 1764, 1764, 969, 969, 969, - 969, 969, 642, 1764, 642, 1764, 1764, 642, 642, 1764, - 1764, 642, 642, 1764, 1764, 1764, 642, 642, 642, 642, - 642, 978, 1764, 978, 1764, 1764, 978, 978, 1764, 978, - - 978, 978, 978, 1764, 978, 978, 978, 978, 978, 978, - 648, 1764, 648, 1764, 1764, 648, 648, 1764, 648, 648, - 648, 648, 1764, 648, 648, 648, 648, 648, 648, 701, - 1764, 1764, 701, 1764, 1764, 1764, 701, 1764, 701, 701, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 1764, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 384, 1764, 1764, 1764, 1764, 384, - 1764, 384, 384, 1764, 1764, 384, 1764, 384, 384, 384, - 1764, 384, 384, 384, 1764, 384, 384, 384, 476, 476, - 1764, 476, 1764, 1764, 1764, 476, 1764, 476, 476, 748, - - 748, 748, 748, 748, 1764, 748, 748, 748, 748, 1764, - 1764, 748, 748, 1764, 1764, 748, 748, 748, 1764, 748, - 1764, 1764, 748, 422, 1764, 1764, 422, 422, 1764, 422, - 1764, 1764, 422, 422, 1764, 1764, 422, 422, 422, 1764, - 1764, 422, 422, 422, 422, 422, 779, 1764, 779, 1764, - 1764, 1764, 779, 1764, 779, 779, 830, 1764, 830, 1764, - 1764, 830, 830, 830, 830, 1764, 830, 830, 1764, 830, - 830, 830, 830, 830, 830, 823, 1764, 823, 1764, 1764, - 823, 823, 1764, 1764, 1764, 823, 823, 1764, 1764, 823, - 823, 823, 823, 823, 530, 1764, 530, 1764, 1764, 530, - - 530, 1764, 530, 1764, 530, 530, 1764, 530, 530, 1764, - 530, 530, 530, 1087, 1764, 1087, 1764, 1764, 1087, 1087, - 1764, 1087, 1764, 1087, 1087, 1764, 1087, 1087, 1087, 1087, - 1087, 1087, 785, 1764, 785, 1764, 1764, 785, 785, 1764, - 785, 1764, 785, 785, 1764, 785, 785, 785, 785, 785, - 785, 793, 1764, 793, 1764, 1764, 793, 793, 1764, 793, - 1764, 793, 793, 1764, 793, 793, 793, 793, 793, 793, - 801, 1764, 801, 1764, 1764, 801, 801, 1764, 1764, 1764, - 801, 801, 1764, 1764, 801, 801, 801, 801, 801, 1099, - 1764, 1099, 1764, 1764, 1099, 1099, 1764, 1764, 1764, 1099, - - 1764, 1764, 1764, 1099, 1099, 1099, 1099, 1099, 807, 1764, - 807, 1764, 1764, 807, 807, 1764, 1764, 1764, 807, 1764, - 1764, 1764, 807, 807, 807, 807, 807, 814, 1764, 814, - 1764, 1764, 814, 814, 1764, 814, 1764, 814, 814, 1764, - 814, 814, 814, 814, 814, 814, 1111, 1764, 1111, 1764, - 1764, 1111, 1111, 1764, 1764, 1764, 1111, 1764, 1764, 1764, - 1111, 1111, 1111, 1111, 1111, 1117, 1764, 1117, 1764, 1764, - 1117, 1117, 1764, 1764, 1764, 1117, 1764, 1764, 1764, 1117, - 1117, 1117, 1117, 1117, 1123, 1764, 1123, 1764, 1764, 1123, - 1123, 1764, 1764, 1764, 1123, 1764, 1764, 1764, 1123, 1123, - - 1123, 1123, 1123, 838, 1764, 838, 1764, 1764, 838, 838, - 1764, 1764, 1764, 838, 1764, 1764, 1764, 838, 838, 838, - 838, 838, 1131, 1764, 1131, 1764, 1764, 1131, 1131, 1764, - 1764, 1764, 1131, 1131, 1764, 1764, 1131, 1131, 1131, 1131, - 1131, 1145, 1764, 1145, 1764, 1764, 1145, 1145, 1764, 1145, - 1764, 1145, 1145, 1764, 1145, 1145, 1145, 1145, 1145, 1145, - 497, 1764, 497, 1764, 1764, 497, 497, 1764, 497, 1764, - 497, 497, 1764, 497, 497, 497, 497, 497, 497, 1154, - 1764, 1154, 1764, 1764, 1154, 1154, 1764, 1154, 1764, 1154, - 1154, 1764, 1154, 1154, 1154, 1154, 1154, 1154, 1161, 1764, - - 1161, 1764, 1764, 1161, 1161, 1764, 1161, 1764, 1161, 1161, - 1764, 1161, 1161, 1161, 1161, 1161, 1161, 1167, 1764, 1167, - 1764, 1764, 1167, 1167, 1764, 1764, 1764, 1167, 1167, 1764, - 1764, 1167, 1764, 1167, 1167, 1167, 865, 1764, 865, 1764, - 1764, 865, 865, 1764, 1764, 1764, 865, 1764, 1764, 1764, - 865, 865, 865, 865, 865, 874, 1764, 874, 1764, 1764, - 874, 874, 1764, 874, 1764, 874, 874, 1764, 874, 874, - 874, 874, 874, 874, 934, 1764, 934, 1764, 1764, 934, - 934, 934, 934, 934, 934, 934, 1764, 934, 934, 934, - 934, 934, 934, 927, 1764, 927, 1764, 1764, 927, 927, - - 1764, 1764, 927, 927, 927, 1764, 1764, 927, 927, 927, - 927, 927, 612, 1764, 612, 1764, 1764, 612, 612, 1764, - 612, 612, 612, 612, 1764, 612, 612, 1764, 612, 612, - 612, 1185, 1764, 1185, 1764, 1764, 1185, 1185, 1764, 1185, - 1185, 1185, 1185, 1764, 1185, 1185, 1185, 1185, 1185, 1185, - 889, 1764, 889, 1764, 1764, 889, 889, 1764, 889, 889, - 889, 889, 1764, 889, 889, 889, 889, 889, 889, 897, - 1764, 897, 1764, 1764, 897, 897, 1764, 897, 897, 897, - 897, 1764, 897, 897, 897, 897, 897, 897, 905, 1764, - 905, 1764, 1764, 905, 905, 1764, 1764, 905, 905, 905, - - 1764, 1764, 905, 905, 905, 905, 905, 1197, 1764, 1197, - 1764, 1764, 1197, 1197, 1764, 1764, 1197, 1197, 1764, 1764, - 1764, 1197, 1197, 1197, 1197, 1197, 911, 1764, 911, 1764, - 1764, 911, 911, 1764, 1764, 911, 911, 1764, 1764, 1764, - 911, 911, 911, 911, 911, 918, 1764, 918, 1764, 1764, - 918, 918, 1764, 918, 918, 918, 918, 1764, 918, 918, - 918, 918, 918, 918, 1209, 1764, 1209, 1764, 1764, 1209, - 1209, 1764, 1764, 1209, 1209, 1764, 1764, 1764, 1209, 1209, - 1209, 1209, 1209, 1215, 1764, 1215, 1764, 1764, 1215, 1215, - 1764, 1764, 1215, 1215, 1764, 1764, 1764, 1215, 1215, 1215, - - 1215, 1215, 1221, 1764, 1221, 1764, 1764, 1221, 1221, 1764, - 1764, 1221, 1221, 1764, 1764, 1764, 1221, 1221, 1221, 1221, - 1221, 942, 1764, 942, 1764, 1764, 942, 942, 1764, 1764, - 942, 942, 1764, 1764, 1764, 942, 942, 942, 942, 942, - 1229, 1764, 1229, 1764, 1764, 1229, 1229, 1764, 1764, 1229, - 1229, 1229, 1764, 1764, 1229, 1229, 1229, 1229, 1229, 1243, - 1764, 1243, 1764, 1764, 1243, 1243, 1764, 1243, 1243, 1243, - 1243, 1764, 1243, 1243, 1243, 1243, 1243, 1243, 581, 1764, - 581, 1764, 1764, 581, 581, 1764, 581, 581, 581, 581, - 1764, 581, 581, 581, 581, 581, 581, 1252, 1764, 1252, - - 1764, 1764, 1252, 1252, 1764, 1252, 1252, 1252, 1252, 1764, - 1252, 1252, 1252, 1252, 1252, 1252, 1259, 1764, 1259, 1764, - 1764, 1259, 1259, 1764, 1259, 1259, 1259, 1259, 1764, 1259, - 1259, 1259, 1259, 1259, 1259, 1265, 1764, 1265, 1764, 1764, - 1265, 1265, 1764, 1764, 1265, 1265, 1265, 1764, 1764, 1265, - 1764, 1265, 1265, 1265, 969, 1764, 969, 1764, 1764, 969, - 969, 1764, 1764, 969, 969, 1764, 1764, 1764, 969, 969, - 969, 969, 969, 978, 1764, 978, 1764, 1764, 978, 978, - 1764, 978, 978, 978, 978, 1764, 978, 978, 978, 978, - 978, 978, 701, 1764, 1764, 701, 1764, 1764, 1764, 701, - - 1764, 701, 701, 384, 1764, 1764, 1764, 1764, 384, 1764, - 384, 384, 1764, 1764, 384, 1764, 384, 384, 384, 1764, - 384, 384, 384, 1764, 384, 384, 384, 476, 1764, 1764, - 1764, 476, 1764, 476, 476, 1054, 1054, 1054, 1054, 1054, - 1764, 1054, 1054, 1054, 1054, 1764, 1764, 1054, 1054, 1764, - 1764, 1054, 1054, 1054, 1764, 1054, 1764, 1054, 1054, 1064, - 1064, 1064, 1064, 1064, 1764, 1064, 1064, 1064, 1064, 1764, - 1764, 1064, 1064, 1764, 1764, 1064, 1064, 1064, 1764, 1064, - 1064, 1764, 1064, 422, 1764, 422, 1764, 1764, 422, 422, - 1764, 1764, 422, 422, 422, 1764, 1764, 422, 422, 422, - - 422, 422, 530, 1764, 530, 1764, 1764, 530, 530, 1764, - 1764, 1764, 530, 530, 1764, 530, 530, 1764, 530, 530, - 530, 830, 1764, 830, 1764, 1764, 830, 830, 1764, 830, - 1764, 830, 830, 1764, 830, 830, 830, 830, 830, 830, - 1087, 1764, 1087, 1764, 1764, 1087, 1087, 1764, 1087, 1764, - 1087, 1087, 1764, 1087, 1087, 1087, 1087, 1087, 1087, 1099, - 1764, 1099, 1764, 1764, 1099, 1099, 1764, 1764, 1764, 1099, - 1764, 1764, 1764, 1099, 1099, 1099, 1099, 1099, 1111, 1764, - 1111, 1764, 1764, 1111, 1111, 1764, 1764, 1764, 1111, 1764, - 1764, 1764, 1111, 1111, 1111, 1111, 1111, 1117, 1764, 1117, - - 1764, 1764, 1117, 1117, 1764, 1764, 1764, 1117, 1764, 1764, - 1764, 1117, 1117, 1117, 1117, 1117, 823, 1764, 823, 1764, - 1764, 823, 823, 1764, 1764, 1764, 823, 823, 1764, 1764, - 823, 823, 823, 823, 823, 1123, 1764, 1123, 1764, 1764, - 1123, 1123, 1764, 1764, 1764, 1123, 1764, 1764, 1764, 1123, - 1123, 1123, 1123, 1123, 1131, 1764, 1131, 1764, 1764, 1131, - 1131, 1764, 1764, 1764, 1131, 1131, 1764, 1764, 1131, 1131, - 1131, 1131, 1131, 1145, 1764, 1145, 1764, 1764, 1145, 1145, - 1764, 1145, 1764, 1145, 1145, 1764, 1145, 1145, 1145, 1145, - 1145, 1145, 1392, 1764, 1392, 1764, 1764, 1392, 1392, 1764, - - 1392, 1764, 1392, 1392, 1764, 1392, 1392, 1392, 1392, 1392, - 1392, 1400, 1764, 1400, 1764, 1764, 1400, 1400, 1764, 1400, - 1764, 1400, 1400, 1764, 1400, 1400, 1400, 1400, 1400, 1400, - 1154, 1764, 1154, 1764, 1764, 1154, 1154, 1764, 1154, 1764, - 1154, 1154, 1764, 1154, 1154, 1154, 1154, 1154, 1154, 1407, - 1764, 1407, 1764, 1764, 1407, 1407, 1764, 1407, 1764, 1407, - 1407, 1764, 1407, 1407, 1407, 1407, 1407, 1407, 1415, 1764, - 1415, 1764, 1764, 1415, 1415, 1764, 1415, 1764, 1415, 1415, - 1764, 1415, 1415, 1415, 1415, 1415, 1415, 1161, 1764, 1161, - 1764, 1764, 1161, 1161, 1764, 1161, 1764, 1161, 1161, 1764, - - 1161, 1161, 1161, 1161, 1161, 1161, 1423, 1764, 1423, 1764, - 1764, 1423, 1423, 1764, 1764, 1764, 1423, 1423, 1764, 1764, - 1423, 1423, 1423, 1423, 1423, 1429, 1764, 1429, 1764, 1764, - 1429, 1429, 1764, 1764, 1764, 1429, 1764, 1764, 1764, 1429, - 1429, 1429, 1429, 1429, 612, 1764, 612, 1764, 1764, 612, - 612, 1764, 1764, 612, 612, 612, 1764, 612, 612, 1764, - 612, 612, 612, 934, 1764, 934, 1764, 1764, 934, 934, - 1764, 934, 934, 934, 934, 1764, 934, 934, 934, 934, - 934, 934, 1185, 1764, 1185, 1764, 1764, 1185, 1185, 1764, - 1185, 1185, 1185, 1185, 1764, 1185, 1185, 1185, 1185, 1185, - - 1185, 1197, 1764, 1197, 1764, 1764, 1197, 1197, 1764, 1764, - 1197, 1197, 1764, 1764, 1764, 1197, 1197, 1197, 1197, 1197, - 1209, 1764, 1209, 1764, 1764, 1209, 1209, 1764, 1764, 1209, - 1209, 1764, 1764, 1764, 1209, 1209, 1209, 1209, 1209, 1215, - 1764, 1215, 1764, 1764, 1215, 1215, 1764, 1764, 1215, 1215, - 1764, 1764, 1764, 1215, 1215, 1215, 1215, 1215, 927, 1764, - 927, 1764, 1764, 927, 927, 1764, 1764, 927, 927, 927, - 1764, 1764, 927, 927, 927, 927, 927, 1221, 1764, 1221, - 1764, 1764, 1221, 1221, 1764, 1764, 1221, 1221, 1764, 1764, - 1764, 1221, 1221, 1221, 1221, 1221, 1229, 1764, 1229, 1764, - - 1764, 1229, 1229, 1764, 1764, 1229, 1229, 1229, 1764, 1764, - 1229, 1229, 1229, 1229, 1229, 1243, 1764, 1243, 1764, 1764, - 1243, 1243, 1764, 1243, 1243, 1243, 1243, 1764, 1243, 1243, - 1243, 1243, 1243, 1243, 1468, 1764, 1468, 1764, 1764, 1468, - 1468, 1764, 1468, 1468, 1468, 1468, 1764, 1468, 1468, 1468, - 1468, 1468, 1468, 1476, 1764, 1476, 1764, 1764, 1476, 1476, - 1764, 1476, 1476, 1476, 1476, 1764, 1476, 1476, 1476, 1476, - 1476, 1476, 1252, 1764, 1252, 1764, 1764, 1252, 1252, 1764, - 1252, 1252, 1252, 1252, 1764, 1252, 1252, 1252, 1252, 1252, - 1252, 1483, 1764, 1483, 1764, 1764, 1483, 1483, 1764, 1483, - - 1483, 1483, 1483, 1764, 1483, 1483, 1483, 1483, 1483, 1483, - 1491, 1764, 1491, 1764, 1764, 1491, 1491, 1764, 1491, 1491, - 1491, 1491, 1764, 1491, 1491, 1491, 1491, 1491, 1491, 1259, - 1764, 1259, 1764, 1764, 1259, 1259, 1764, 1259, 1259, 1259, - 1259, 1764, 1259, 1259, 1259, 1259, 1259, 1259, 1499, 1764, - 1499, 1764, 1764, 1499, 1499, 1764, 1764, 1499, 1499, 1499, - 1764, 1764, 1499, 1499, 1499, 1499, 1499, 1505, 1764, 1505, - 1764, 1764, 1505, 1505, 1764, 1764, 1505, 1505, 1764, 1764, - 1764, 1505, 1505, 1505, 1505, 1505, 384, 384, 384, 1764, - 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, - - 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, - 476, 476, 1764, 476, 1764, 1764, 1764, 476, 1764, 476, - 476, 1313, 1313, 1313, 1313, 1313, 1764, 1313, 1313, 1313, - 1313, 1764, 1764, 1313, 1313, 1764, 1764, 1313, 1313, 1313, - 1764, 1313, 1313, 1764, 1313, 1321, 1321, 1321, 1321, 1321, - 1764, 1321, 1321, 1321, 1321, 1764, 1764, 1321, 1321, 1764, - 1764, 1321, 1321, 1321, 1764, 1321, 1764, 1764, 1321, 1333, - 1333, 1333, 1333, 1333, 1764, 1333, 1333, 1333, 1333, 1764, - 1764, 1333, 1333, 1764, 1764, 1333, 1333, 1333, 1764, 1333, - 1764, 1764, 1333, 1344, 1344, 1344, 1344, 1344, 1764, 1344, - - 1344, 1344, 1344, 1764, 1764, 1344, 1344, 1764, 1764, 1344, - 1344, 1344, 1764, 1344, 1764, 1764, 1344, 1352, 1352, 1352, - 1352, 1352, 1764, 1352, 1352, 1352, 1352, 1764, 1764, 1352, - 1352, 1764, 1764, 1352, 1352, 1352, 1764, 1352, 1764, 1764, - 1352, 422, 422, 422, 422, 422, 422, 422, 422, 422, - 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, - 422, 422, 422, 422, 422, 830, 1764, 830, 1764, 1764, - 830, 830, 830, 830, 1764, 830, 830, 1764, 830, 830, - 830, 830, 830, 830, 823, 1764, 823, 1764, 1764, 823, - 823, 1764, 1764, 1764, 823, 823, 1764, 1764, 823, 823, - - 823, 823, 823, 1577, 1764, 1577, 1764, 1764, 1577, 1577, - 1764, 1577, 1764, 1577, 1577, 1764, 1577, 1577, 1577, 1577, - 1577, 1577, 1392, 1764, 1392, 1764, 1764, 1392, 1392, 1764, - 1392, 1764, 1392, 1392, 1764, 1392, 1392, 1392, 1392, 1392, - 1392, 1586, 1764, 1586, 1764, 1764, 1586, 1586, 1764, 1586, - 1764, 1586, 1586, 1764, 1586, 1586, 1586, 1586, 1586, 1586, - 1400, 1764, 1400, 1764, 1764, 1400, 1400, 1764, 1400, 1764, - 1400, 1400, 1764, 1400, 1400, 1400, 1400, 1400, 1400, 1594, - 1764, 1594, 1764, 1764, 1594, 1594, 1764, 1594, 1764, 1594, - 1594, 1764, 1594, 1594, 1594, 1594, 1594, 1594, 1407, 1764, - - 1407, 1764, 1764, 1407, 1407, 1764, 1407, 1764, 1407, 1407, - 1764, 1407, 1407, 1407, 1407, 1407, 1407, 1415, 1764, 1415, - 1764, 1764, 1415, 1415, 1764, 1415, 1764, 1415, 1415, 1764, - 1415, 1415, 1415, 1415, 1415, 1415, 1423, 1764, 1423, 1764, - 1764, 1423, 1423, 1764, 1764, 1764, 1423, 1423, 1764, 1764, - 1423, 1423, 1423, 1423, 1423, 1606, 1764, 1606, 1764, 1764, - 1606, 1606, 1764, 1764, 1764, 1606, 1764, 1764, 1764, 1606, - 1606, 1606, 1606, 1606, 1429, 1764, 1429, 1764, 1764, 1429, - 1429, 1764, 1764, 1764, 1429, 1764, 1764, 1764, 1429, 1429, - 1429, 1429, 1429, 934, 1764, 934, 1764, 1764, 934, 934, - - 934, 934, 934, 934, 934, 1764, 934, 934, 934, 934, - 934, 934, 927, 1764, 927, 1764, 1764, 927, 927, 1764, - 1764, 927, 927, 927, 1764, 1764, 927, 927, 927, 927, - 927, 1623, 1764, 1623, 1764, 1764, 1623, 1623, 1764, 1623, - 1623, 1623, 1623, 1764, 1623, 1623, 1623, 1623, 1623, 1623, - 1468, 1764, 1468, 1764, 1764, 1468, 1468, 1764, 1468, 1468, - 1468, 1468, 1764, 1468, 1468, 1468, 1468, 1468, 1468, 1632, - 1764, 1632, 1764, 1764, 1632, 1632, 1764, 1632, 1632, 1632, - 1632, 1764, 1632, 1632, 1632, 1632, 1632, 1632, 1476, 1764, - 1476, 1764, 1764, 1476, 1476, 1764, 1476, 1476, 1476, 1476, - - 1764, 1476, 1476, 1476, 1476, 1476, 1476, 1640, 1764, 1640, - 1764, 1764, 1640, 1640, 1764, 1640, 1640, 1640, 1640, 1764, - 1640, 1640, 1640, 1640, 1640, 1640, 1483, 1764, 1483, 1764, - 1764, 1483, 1483, 1764, 1483, 1483, 1483, 1483, 1764, 1483, - 1483, 1483, 1483, 1483, 1483, 1491, 1764, 1491, 1764, 1764, - 1491, 1491, 1764, 1491, 1491, 1491, 1491, 1764, 1491, 1491, - 1491, 1491, 1491, 1491, 1499, 1764, 1499, 1764, 1764, 1499, - 1499, 1764, 1764, 1499, 1499, 1499, 1764, 1764, 1499, 1499, - 1499, 1499, 1499, 1652, 1764, 1652, 1764, 1764, 1652, 1652, - 1764, 1764, 1652, 1652, 1764, 1764, 1764, 1652, 1652, 1652, - - 1652, 1652, 1505, 1764, 1505, 1764, 1764, 1505, 1505, 1764, - 1764, 1505, 1505, 1764, 1764, 1764, 1505, 1505, 1505, 1505, - 1505, 1533, 1533, 1533, 1533, 1533, 1764, 1533, 1533, 1533, - 1533, 1764, 1764, 1533, 1533, 1764, 1764, 1533, 1533, 1533, - 1764, 1533, 1764, 1764, 1533, 1541, 1541, 1541, 1541, 1541, - 1764, 1541, 1541, 1541, 1541, 1764, 1764, 1541, 1541, 1764, - 1764, 1541, 1541, 1541, 1764, 1541, 1764, 1764, 1541, 1562, - 1562, 1562, 1562, 1562, 1764, 1562, 1562, 1562, 1562, 1764, - 1764, 1562, 1562, 1764, 1764, 1562, 1562, 1562, 1764, 1562, - 1764, 1764, 1562, 422, 1764, 422, 1764, 1764, 422, 422, - - 1764, 1764, 422, 422, 422, 1764, 1764, 422, 422, 422, - 422, 422, 476, 1764, 476, 1764, 1764, 1764, 476, 1764, - 476, 476, 830, 1764, 830, 1764, 1764, 830, 830, 1764, - 830, 1764, 830, 830, 1764, 830, 830, 830, 830, 830, - 830, 1577, 1764, 1577, 1764, 1764, 1577, 1577, 1764, 1577, - 1764, 1577, 1577, 1764, 1577, 1577, 1577, 1577, 1577, 1577, - 1586, 1764, 1586, 1764, 1764, 1586, 1586, 1764, 1586, 1764, - 1586, 1586, 1764, 1586, 1586, 1586, 1586, 1586, 1586, 1594, - 1764, 1594, 1764, 1764, 1594, 1594, 1764, 1594, 1764, 1594, - 1594, 1764, 1594, 1594, 1594, 1594, 1594, 1594, 1606, 1764, - - 1606, 1764, 1764, 1606, 1606, 1764, 1764, 1764, 1606, 1764, - 1764, 1764, 1606, 1606, 1606, 1606, 1606, 934, 1764, 934, - 1764, 1764, 934, 934, 1764, 934, 934, 934, 934, 1764, - 934, 934, 934, 934, 934, 934, 1623, 1764, 1623, 1764, - 1764, 1623, 1623, 1764, 1623, 1623, 1623, 1623, 1764, 1623, - 1623, 1623, 1623, 1623, 1623, 1632, 1764, 1632, 1764, 1764, - 1632, 1632, 1764, 1632, 1632, 1632, 1632, 1764, 1632, 1632, - 1632, 1632, 1632, 1632, 1671, 1671, 1671, 1671, 1671, 1764, - 1671, 1671, 1671, 1671, 1764, 1764, 1671, 1671, 1764, 1764, - 1671, 1671, 1671, 1764, 1671, 1764, 1764, 1671, 1678, 1678, - - 1678, 1678, 1678, 1764, 1678, 1678, 1678, 1678, 1764, 1764, - 1678, 1678, 1764, 1764, 1678, 1678, 1678, 1764, 1678, 1764, - 1764, 1678, 1685, 1685, 1685, 1685, 1685, 1764, 1685, 1685, - 1685, 1685, 1764, 1764, 1685, 1685, 1764, 1764, 1685, 1685, - 1685, 1764, 1685, 1764, 1764, 1685, 1692, 1692, 1692, 1692, - 1692, 1764, 1692, 1692, 1692, 1692, 1764, 1764, 1692, 1692, - 1764, 1764, 1692, 1692, 1692, 1764, 1692, 1764, 1764, 1692, - 1698, 1698, 1698, 1698, 1698, 1764, 1698, 1698, 1698, 1698, - 1764, 1764, 1698, 1698, 1764, 1764, 1698, 1698, 1698, 1764, - 1698, 1764, 1764, 1698, 1738, 1738, 1738, 1738, 1738, 1764, - - 1738, 1738, 1738, 1738, 1764, 1764, 1738, 1738, 1764, 1764, - 1738, 1738, 1738, 1764, 1738, 1764, 1764, 1738, 1746, 1746, - 1746, 1746, 1746, 1764, 1746, 1746, 1746, 1746, 1764, 1764, - 1746, 1746, 1764, 1764, 1746, 1746, 1746, 1764, 1746, 1764, - 1764, 1746, 33, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764 + 232, 232, 232, 232, 232, 232, 498, 1773, 498, 1773, + 1773, 498, 498, 1773, 498, 1773, 498, 498, 1773, 498, + 498, 498, 498, 498, 498, 498, 498, 498, 498, 247, + 1773, 247, 1773, 1773, 247, 247, 1773, 247, 1773, 247, + 247, 1773, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 506, 1773, 506, 1773, 1773, 506, 506, 1773, + 506, 1773, 506, 506, 1773, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 512, 1773, 512, 1773, 1773, + + 512, 512, 1773, 1773, 1773, 512, 512, 1773, 512, 1773, + 512, 512, 512, 1773, 512, 512, 512, 512, 522, 1773, + 522, 1773, 1773, 522, 522, 1773, 522, 1773, 522, 522, + 1773, 522, 522, 522, 522, 522, 522, 522, 522, 522, + 522, 531, 1773, 531, 1773, 1773, 531, 531, 531, 531, + 1773, 531, 531, 1773, 531, 531, 531, 531, 531, 1773, + 531, 531, 531, 531, 554, 1773, 554, 1773, 1773, 554, + 554, 1773, 554, 1773, 554, 554, 1773, 554, 554, 554, + 554, 554, 554, 554, 554, 554, 554, 273, 1773, 273, + 1773, 1773, 273, 273, 1773, 273, 1773, 273, 273, 1773, + + 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, + 561, 1773, 561, 1773, 1773, 561, 561, 1773, 1773, 1773, + 561, 1773, 1773, 561, 1773, 561, 561, 561, 561, 561, + 561, 561, 561, 567, 1773, 567, 1773, 1773, 567, 567, + 1773, 567, 1773, 567, 567, 1773, 567, 567, 567, 567, + 567, 567, 567, 567, 567, 567, 582, 1773, 582, 1773, + 1773, 582, 582, 1773, 582, 582, 582, 582, 1773, 582, + 582, 582, 582, 582, 582, 582, 582, 582, 582, 295, + 1773, 295, 1773, 1773, 295, 295, 1773, 295, 295, 295, + 295, 1773, 295, 295, 295, 295, 295, 295, 295, 295, + + 295, 295, 590, 1773, 590, 1773, 1773, 590, 590, 1773, + 590, 590, 590, 590, 1773, 590, 590, 590, 590, 590, + 590, 590, 590, 590, 590, 596, 1773, 596, 1773, 1773, + 596, 596, 1773, 1773, 596, 596, 596, 1773, 596, 1773, + 596, 596, 596, 1773, 596, 596, 596, 596, 604, 1773, + 604, 1773, 1773, 604, 604, 1773, 604, 604, 604, 604, + 1773, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 613, 1773, 613, 1773, 1773, 613, 613, 613, 613, + 613, 613, 613, 1773, 613, 613, 613, 613, 613, 1773, + 613, 613, 613, 613, 636, 1773, 636, 1773, 1773, 636, + + 636, 1773, 636, 636, 636, 636, 1773, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 313, 1773, 313, + 1773, 1773, 313, 313, 1773, 313, 313, 313, 313, 1773, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 643, 1773, 643, 1773, 1773, 643, 643, 1773, 1773, 643, + 643, 1773, 1773, 643, 1773, 643, 643, 643, 643, 643, + 643, 643, 643, 649, 1773, 649, 1773, 1773, 649, 649, + 1773, 649, 649, 649, 649, 1773, 649, 649, 649, 649, + 649, 649, 649, 649, 649, 649, 358, 1773, 1773, 1773, + 1773, 358, 358, 358, 1773, 358, 358, 366, 1773, 1773, + + 1773, 1773, 366, 366, 366, 1773, 366, 366, 678, 1773, + 1773, 678, 1773, 1773, 678, 1773, 1773, 1773, 678, 678, + 678, 481, 481, 481, 481, 481, 481, 481, 481, 481, + 481, 481, 481, 481, 1773, 481, 481, 481, 481, 481, + 481, 481, 481, 481, 481, 481, 481, 481, 481, 230, + 230, 1773, 230, 1773, 1773, 1773, 1773, 230, 230, 230, + 1773, 230, 230, 385, 1773, 1773, 1773, 1773, 385, 1773, + 385, 385, 1773, 1773, 385, 1773, 385, 385, 385, 1773, + 385, 385, 385, 385, 385, 385, 1773, 385, 385, 1773, + 385, 394, 394, 1773, 1773, 394, 394, 394, 394, 394, + + 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, + 394, 394, 394, 394, 394, 394, 394, 394, 394, 403, + 403, 1773, 403, 403, 403, 403, 403, 403, 403, 403, + 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, + 403, 403, 403, 403, 403, 403, 403, 171, 171, 1773, + 1773, 1773, 171, 171, 171, 171, 171, 171, 171, 171, + 171, 171, 171, 171, 171, 171, 1773, 171, 171, 171, + 171, 171, 171, 171, 171, 405, 405, 405, 405, 405, + 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, + 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, + + 405, 405, 405, 477, 1773, 1773, 1773, 1773, 477, 477, + 477, 1773, 477, 477, 706, 1773, 1773, 706, 1773, 1773, + 1773, 1773, 706, 706, 706, 1773, 706, 706, 423, 1773, + 423, 1773, 1773, 423, 423, 1773, 1773, 423, 423, 423, + 1773, 423, 1773, 423, 423, 423, 423, 423, 423, 423, + 423, 784, 1773, 784, 1773, 1773, 1773, 1773, 784, 784, + 784, 1773, 784, 784, 531, 1773, 531, 1773, 1773, 531, + 531, 1773, 1773, 1773, 531, 531, 1773, 531, 531, 531, + 531, 531, 1773, 531, 531, 531, 531, 498, 1773, 498, + 1773, 1773, 498, 498, 1773, 498, 1773, 498, 498, 1773, + + 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, + 790, 1773, 790, 1773, 1773, 790, 790, 1773, 790, 1773, + 790, 790, 1773, 790, 790, 790, 790, 790, 790, 790, + 790, 790, 790, 798, 1773, 798, 1773, 1773, 798, 798, + 1773, 798, 1773, 798, 798, 1773, 798, 798, 798, 798, + 798, 798, 798, 798, 798, 798, 506, 1773, 506, 1773, + 1773, 506, 506, 1773, 506, 1773, 506, 506, 1773, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 806, + 1773, 806, 1773, 1773, 806, 806, 1773, 1773, 1773, 806, + 806, 1773, 806, 1773, 806, 806, 806, 806, 806, 806, + + 806, 806, 812, 1773, 812, 1773, 1773, 812, 812, 1773, + 1773, 1773, 812, 1773, 1773, 812, 1773, 812, 812, 812, + 812, 812, 812, 812, 812, 819, 1773, 819, 1773, 1773, + 819, 819, 1773, 819, 1773, 819, 819, 1773, 819, 819, + 819, 819, 819, 819, 819, 819, 819, 819, 522, 1773, + 522, 1773, 1773, 522, 522, 1773, 522, 1773, 522, 522, + 1773, 522, 522, 522, 522, 522, 522, 522, 522, 522, + 522, 828, 1773, 828, 1773, 1773, 828, 828, 1773, 1773, + 1773, 828, 828, 1773, 828, 1773, 828, 828, 828, 828, + 828, 828, 828, 828, 835, 1773, 835, 1773, 1773, 835, + + 835, 835, 835, 1773, 835, 835, 1773, 835, 835, 835, + 835, 835, 835, 835, 835, 835, 835, 843, 1773, 843, + 1773, 1773, 843, 843, 1773, 1773, 1773, 843, 1773, 1773, + 843, 1773, 843, 843, 843, 843, 843, 843, 843, 843, + 847, 1773, 847, 1773, 1773, 847, 847, 1773, 1773, 1773, + 847, 847, 1773, 847, 1773, 847, 847, 847, 1773, 847, + 847, 847, 847, 861, 1773, 861, 1773, 1773, 861, 861, + 1773, 861, 1773, 861, 861, 1773, 861, 861, 861, 861, + 861, 861, 861, 861, 861, 861, 554, 1773, 554, 1773, + 1773, 554, 554, 1773, 554, 1773, 554, 554, 1773, 554, + + 554, 554, 554, 554, 554, 554, 554, 554, 554, 870, + 1773, 870, 1773, 1773, 870, 870, 1773, 1773, 1773, 870, + 1773, 1773, 870, 1773, 870, 870, 870, 870, 870, 870, + 870, 870, 561, 1773, 561, 1773, 1773, 561, 561, 1773, + 1773, 1773, 561, 1773, 1773, 561, 1773, 561, 561, 561, + 561, 561, 561, 561, 561, 879, 1773, 879, 1773, 1773, + 879, 879, 1773, 879, 1773, 879, 879, 1773, 879, 879, + 879, 879, 879, 879, 879, 879, 879, 879, 567, 1773, + 567, 1773, 1773, 567, 567, 1773, 567, 1773, 567, 567, + 1773, 567, 567, 567, 567, 567, 567, 567, 567, 567, + + 567, 613, 1773, 613, 1773, 1773, 613, 613, 1773, 1773, + 613, 613, 613, 1773, 613, 613, 613, 613, 613, 1773, + 613, 613, 613, 613, 582, 1773, 582, 1773, 1773, 582, + 582, 1773, 582, 582, 582, 582, 1773, 582, 582, 582, + 582, 582, 582, 582, 582, 582, 582, 894, 1773, 894, + 1773, 1773, 894, 894, 1773, 894, 894, 894, 894, 1773, + 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, + 902, 1773, 902, 1773, 1773, 902, 902, 1773, 902, 902, + 902, 902, 1773, 902, 902, 902, 902, 902, 902, 902, + 902, 902, 902, 590, 1773, 590, 1773, 1773, 590, 590, + + 1773, 590, 590, 590, 590, 1773, 590, 590, 590, 590, + 590, 590, 590, 590, 590, 590, 910, 1773, 910, 1773, + 1773, 910, 910, 1773, 1773, 910, 910, 910, 1773, 910, + 1773, 910, 910, 910, 910, 910, 910, 910, 910, 916, + 1773, 916, 1773, 1773, 916, 916, 1773, 1773, 916, 916, + 1773, 1773, 916, 1773, 916, 916, 916, 916, 916, 916, + 916, 916, 923, 1773, 923, 1773, 1773, 923, 923, 1773, + 923, 923, 923, 923, 1773, 923, 923, 923, 923, 923, + 923, 923, 923, 923, 923, 604, 1773, 604, 1773, 1773, + 604, 604, 1773, 604, 604, 604, 604, 1773, 604, 604, + + 604, 604, 604, 604, 604, 604, 604, 604, 932, 1773, + 932, 1773, 1773, 932, 932, 1773, 1773, 932, 932, 932, + 1773, 932, 1773, 932, 932, 932, 932, 932, 932, 932, + 932, 939, 1773, 939, 1773, 1773, 939, 939, 939, 939, + 939, 939, 939, 1773, 939, 939, 939, 939, 939, 939, + 939, 939, 939, 939, 947, 1773, 947, 1773, 1773, 947, + 947, 1773, 1773, 947, 947, 1773, 1773, 947, 1773, 947, + 947, 947, 947, 947, 947, 947, 947, 951, 1773, 951, + 1773, 1773, 951, 951, 1773, 1773, 951, 951, 951, 1773, + 951, 1773, 951, 951, 951, 1773, 951, 951, 951, 951, + + 965, 1773, 965, 1773, 1773, 965, 965, 1773, 965, 965, + 965, 965, 1773, 965, 965, 965, 965, 965, 965, 965, + 965, 965, 965, 636, 1773, 636, 1773, 1773, 636, 636, + 1773, 636, 636, 636, 636, 1773, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 974, 1773, 974, 1773, + 1773, 974, 974, 1773, 1773, 974, 974, 1773, 1773, 974, + 1773, 974, 974, 974, 974, 974, 974, 974, 974, 643, + 1773, 643, 1773, 1773, 643, 643, 1773, 1773, 643, 643, + 1773, 1773, 643, 1773, 643, 643, 643, 643, 643, 643, + 643, 643, 983, 1773, 983, 1773, 1773, 983, 983, 1773, + + 983, 983, 983, 983, 1773, 983, 983, 983, 983, 983, + 983, 983, 983, 983, 983, 649, 1773, 649, 1773, 1773, + 649, 649, 1773, 649, 649, 649, 649, 1773, 649, 649, + 649, 649, 649, 649, 649, 649, 649, 649, 678, 1773, + 1773, 1773, 1773, 1773, 1773, 678, 1773, 1773, 1773, 678, + 1773, 1773, 1773, 1773, 1773, 1773, 678, 1773, 678, 706, + 1773, 1773, 706, 1773, 1773, 1773, 1773, 706, 706, 706, + 1773, 706, 706, 481, 481, 481, 481, 481, 481, 481, + 481, 481, 481, 481, 481, 481, 1773, 481, 481, 481, + 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, + + 481, 385, 1773, 1773, 1773, 1773, 385, 1773, 385, 385, + 1773, 1773, 385, 1773, 385, 385, 385, 1773, 385, 385, + 385, 385, 385, 385, 1773, 385, 385, 1773, 385, 477, + 477, 1773, 477, 1773, 1773, 1773, 1773, 477, 477, 477, + 1773, 477, 477, 753, 753, 753, 753, 753, 1773, 753, + 753, 753, 753, 1773, 1773, 753, 753, 1773, 1773, 753, + 753, 1773, 753, 1773, 1773, 1773, 753, 1773, 1773, 1773, + 753, 423, 1773, 1773, 423, 423, 1773, 423, 1773, 1773, + 423, 423, 1773, 1773, 423, 423, 423, 1773, 423, 1773, + 423, 423, 423, 423, 423, 423, 423, 423, 784, 1773, + + 784, 1773, 1773, 1773, 1773, 784, 784, 784, 1773, 784, + 784, 835, 1773, 835, 1773, 1773, 835, 835, 835, 835, + 1773, 835, 835, 1773, 835, 835, 835, 835, 835, 835, + 835, 835, 835, 835, 828, 1773, 828, 1773, 1773, 828, + 828, 1773, 1773, 1773, 828, 828, 1773, 828, 1773, 828, + 828, 828, 828, 828, 828, 828, 828, 531, 1773, 531, + 1773, 1773, 531, 531, 1773, 531, 1773, 531, 531, 1773, + 531, 531, 531, 531, 531, 1773, 531, 531, 531, 531, + 1096, 1773, 1096, 1773, 1773, 1096, 1096, 1773, 1096, 1773, + 1096, 1096, 1773, 1096, 1096, 1096, 1096, 1096, 1096, 1096, + + 1096, 1096, 1096, 790, 1773, 790, 1773, 1773, 790, 790, + 1773, 790, 1773, 790, 790, 1773, 790, 790, 790, 790, + 790, 790, 790, 790, 790, 790, 798, 1773, 798, 1773, + 1773, 798, 798, 1773, 798, 1773, 798, 798, 1773, 798, + 798, 798, 798, 798, 798, 798, 798, 798, 798, 806, + 1773, 806, 1773, 1773, 806, 806, 1773, 1773, 1773, 806, + 806, 1773, 806, 1773, 806, 806, 806, 806, 806, 806, + 806, 806, 1108, 1773, 1108, 1773, 1773, 1108, 1108, 1773, + 1773, 1773, 1108, 1773, 1773, 1108, 1773, 1108, 1108, 1108, + 1108, 1108, 1108, 1108, 1108, 812, 1773, 812, 1773, 1773, + + 812, 812, 1773, 1773, 1773, 812, 1773, 1773, 812, 1773, + 812, 812, 812, 812, 812, 812, 812, 812, 819, 1773, + 819, 1773, 1773, 819, 819, 1773, 819, 1773, 819, 819, + 1773, 819, 819, 819, 819, 819, 819, 819, 819, 819, + 819, 1120, 1773, 1120, 1773, 1773, 1120, 1120, 1773, 1773, + 1773, 1120, 1773, 1773, 1120, 1773, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1126, 1773, 1126, 1773, 1773, 1126, + 1126, 1773, 1773, 1773, 1126, 1773, 1773, 1126, 1773, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1132, 1773, 1132, + 1773, 1773, 1132, 1132, 1773, 1773, 1773, 1132, 1773, 1773, + + 1132, 1773, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, + 843, 1773, 843, 1773, 1773, 843, 843, 1773, 1773, 1773, + 843, 1773, 1773, 843, 1773, 843, 843, 843, 843, 843, + 843, 843, 843, 1140, 1773, 1140, 1773, 1773, 1140, 1140, + 1773, 1773, 1773, 1140, 1140, 1773, 1140, 1773, 1140, 1140, + 1140, 1140, 1140, 1140, 1140, 1140, 1154, 1773, 1154, 1773, + 1773, 1154, 1154, 1773, 1154, 1773, 1154, 1154, 1773, 1154, + 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 498, + 1773, 498, 1773, 1773, 498, 498, 1773, 498, 1773, 498, + 498, 1773, 498, 498, 498, 498, 498, 498, 498, 498, + + 498, 498, 1163, 1773, 1163, 1773, 1773, 1163, 1163, 1773, + 1163, 1773, 1163, 1163, 1773, 1163, 1163, 1163, 1163, 1163, + 1163, 1163, 1163, 1163, 1163, 1170, 1773, 1170, 1773, 1773, + 1170, 1170, 1773, 1170, 1773, 1170, 1170, 1773, 1170, 1170, + 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1176, 1773, + 1176, 1773, 1773, 1176, 1176, 1773, 1773, 1773, 1176, 1176, + 1773, 1176, 1773, 1176, 1176, 1176, 1773, 1176, 1176, 1176, + 1176, 870, 1773, 870, 1773, 1773, 870, 870, 1773, 1773, + 1773, 870, 1773, 1773, 870, 1773, 870, 870, 870, 870, + 870, 870, 870, 870, 879, 1773, 879, 1773, 1773, 879, + + 879, 1773, 879, 1773, 879, 879, 1773, 879, 879, 879, + 879, 879, 879, 879, 879, 879, 879, 939, 1773, 939, + 1773, 1773, 939, 939, 939, 939, 939, 939, 939, 1773, + 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, + 932, 1773, 932, 1773, 1773, 932, 932, 1773, 1773, 932, + 932, 932, 1773, 932, 1773, 932, 932, 932, 932, 932, + 932, 932, 932, 613, 1773, 613, 1773, 1773, 613, 613, + 1773, 613, 613, 613, 613, 1773, 613, 613, 613, 613, + 613, 1773, 613, 613, 613, 613, 1194, 1773, 1194, 1773, + 1773, 1194, 1194, 1773, 1194, 1194, 1194, 1194, 1773, 1194, + + 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 894, + 1773, 894, 1773, 1773, 894, 894, 1773, 894, 894, 894, + 894, 1773, 894, 894, 894, 894, 894, 894, 894, 894, + 894, 894, 902, 1773, 902, 1773, 1773, 902, 902, 1773, + 902, 902, 902, 902, 1773, 902, 902, 902, 902, 902, + 902, 902, 902, 902, 902, 910, 1773, 910, 1773, 1773, + 910, 910, 1773, 1773, 910, 910, 910, 1773, 910, 1773, + 910, 910, 910, 910, 910, 910, 910, 910, 1206, 1773, + 1206, 1773, 1773, 1206, 1206, 1773, 1773, 1206, 1206, 1773, + 1773, 1206, 1773, 1206, 1206, 1206, 1206, 1206, 1206, 1206, + + 1206, 916, 1773, 916, 1773, 1773, 916, 916, 1773, 1773, + 916, 916, 1773, 1773, 916, 1773, 916, 916, 916, 916, + 916, 916, 916, 916, 923, 1773, 923, 1773, 1773, 923, + 923, 1773, 923, 923, 923, 923, 1773, 923, 923, 923, + 923, 923, 923, 923, 923, 923, 923, 1218, 1773, 1218, + 1773, 1773, 1218, 1218, 1773, 1773, 1218, 1218, 1773, 1773, + 1218, 1773, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, + 1224, 1773, 1224, 1773, 1773, 1224, 1224, 1773, 1773, 1224, + 1224, 1773, 1773, 1224, 1773, 1224, 1224, 1224, 1224, 1224, + 1224, 1224, 1224, 1230, 1773, 1230, 1773, 1773, 1230, 1230, + + 1773, 1773, 1230, 1230, 1773, 1773, 1230, 1773, 1230, 1230, + 1230, 1230, 1230, 1230, 1230, 1230, 947, 1773, 947, 1773, + 1773, 947, 947, 1773, 1773, 947, 947, 1773, 1773, 947, + 1773, 947, 947, 947, 947, 947, 947, 947, 947, 1238, + 1773, 1238, 1773, 1773, 1238, 1238, 1773, 1773, 1238, 1238, + 1238, 1773, 1238, 1773, 1238, 1238, 1238, 1238, 1238, 1238, + 1238, 1238, 1252, 1773, 1252, 1773, 1773, 1252, 1252, 1773, + 1252, 1252, 1252, 1252, 1773, 1252, 1252, 1252, 1252, 1252, + 1252, 1252, 1252, 1252, 1252, 582, 1773, 582, 1773, 1773, + 582, 582, 1773, 582, 582, 582, 582, 1773, 582, 582, + + 582, 582, 582, 582, 582, 582, 582, 582, 1261, 1773, + 1261, 1773, 1773, 1261, 1261, 1773, 1261, 1261, 1261, 1261, + 1773, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, + 1261, 1268, 1773, 1268, 1773, 1773, 1268, 1268, 1773, 1268, + 1268, 1268, 1268, 1773, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1274, 1773, 1274, 1773, 1773, 1274, + 1274, 1773, 1773, 1274, 1274, 1274, 1773, 1274, 1773, 1274, + 1274, 1274, 1773, 1274, 1274, 1274, 1274, 974, 1773, 974, + 1773, 1773, 974, 974, 1773, 1773, 974, 974, 1773, 1773, + 974, 1773, 974, 974, 974, 974, 974, 974, 974, 974, + + 983, 1773, 983, 1773, 1773, 983, 983, 1773, 983, 983, + 983, 983, 1773, 983, 983, 983, 983, 983, 983, 983, + 983, 983, 983, 678, 1773, 1773, 1773, 1773, 1773, 1773, + 678, 1773, 1773, 1773, 678, 1773, 1773, 1773, 1773, 1773, + 1773, 678, 1773, 678, 366, 366, 1773, 1773, 366, 1773, + 1773, 366, 1773, 1773, 1773, 366, 366, 366, 366, 366, + 366, 366, 706, 1773, 1773, 706, 1773, 1773, 1773, 1773, + 706, 706, 706, 1773, 706, 706, 385, 1773, 1773, 1773, + 1773, 385, 1773, 385, 385, 1773, 1773, 385, 1773, 385, + 385, 385, 1773, 385, 385, 385, 385, 385, 385, 1773, + + 385, 385, 1773, 385, 477, 1773, 1773, 1773, 1773, 477, + 477, 477, 1773, 477, 477, 1063, 1063, 1063, 1063, 1063, + 1773, 1063, 1063, 1063, 1063, 1773, 1773, 1063, 1063, 1773, + 1773, 1063, 1063, 1773, 1063, 1773, 1773, 1773, 1063, 1773, + 1063, 1773, 1063, 1073, 1073, 1073, 1073, 1073, 1773, 1073, + 1073, 1073, 1073, 1773, 1773, 1073, 1073, 1773, 1773, 1073, + 1073, 1773, 1073, 1773, 1773, 1773, 1073, 1073, 1773, 1773, + 1073, 423, 1773, 423, 1773, 1773, 423, 423, 1773, 1773, + 423, 423, 423, 1773, 423, 1773, 423, 423, 423, 423, + 423, 423, 423, 423, 531, 1773, 531, 1773, 1773, 531, + + 531, 1773, 1773, 1773, 531, 531, 1773, 531, 531, 531, + 531, 531, 1773, 531, 531, 531, 531, 835, 1773, 835, + 1773, 1773, 835, 835, 1773, 835, 1773, 835, 835, 1773, + 835, 835, 835, 835, 835, 835, 835, 835, 835, 835, + 1096, 1773, 1096, 1773, 1773, 1096, 1096, 1773, 1096, 1773, + 1096, 1096, 1773, 1096, 1096, 1096, 1096, 1096, 1096, 1096, + 1096, 1096, 1096, 1108, 1773, 1108, 1773, 1773, 1108, 1108, + 1773, 1773, 1773, 1108, 1773, 1773, 1108, 1773, 1108, 1108, + 1108, 1108, 1108, 1108, 1108, 1108, 1120, 1773, 1120, 1773, + 1773, 1120, 1120, 1773, 1773, 1773, 1120, 1773, 1773, 1120, + + 1773, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1126, + 1773, 1126, 1773, 1773, 1126, 1126, 1773, 1773, 1773, 1126, + 1773, 1773, 1126, 1773, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 828, 1773, 828, 1773, 1773, 828, 828, 1773, + 1773, 1773, 828, 828, 1773, 828, 1773, 828, 828, 828, + 828, 828, 828, 828, 828, 1132, 1773, 1132, 1773, 1773, + 1132, 1132, 1773, 1773, 1773, 1132, 1773, 1773, 1132, 1773, + 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1140, 1773, + 1140, 1773, 1773, 1140, 1140, 1773, 1773, 1773, 1140, 1140, + 1773, 1140, 1773, 1140, 1140, 1140, 1140, 1140, 1140, 1140, + + 1140, 1154, 1773, 1154, 1773, 1773, 1154, 1154, 1773, 1154, + 1773, 1154, 1154, 1773, 1154, 1154, 1154, 1154, 1154, 1154, + 1154, 1154, 1154, 1154, 1401, 1773, 1401, 1773, 1773, 1401, + 1401, 1773, 1401, 1773, 1401, 1401, 1773, 1401, 1401, 1401, + 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1409, 1773, 1409, + 1773, 1773, 1409, 1409, 1773, 1409, 1773, 1409, 1409, 1773, + 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, + 1163, 1773, 1163, 1773, 1773, 1163, 1163, 1773, 1163, 1773, + 1163, 1163, 1773, 1163, 1163, 1163, 1163, 1163, 1163, 1163, + 1163, 1163, 1163, 1416, 1773, 1416, 1773, 1773, 1416, 1416, + + 1773, 1416, 1773, 1416, 1416, 1773, 1416, 1416, 1416, 1416, + 1416, 1416, 1416, 1416, 1416, 1416, 1424, 1773, 1424, 1773, + 1773, 1424, 1424, 1773, 1424, 1773, 1424, 1424, 1773, 1424, + 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1170, + 1773, 1170, 1773, 1773, 1170, 1170, 1773, 1170, 1773, 1170, + 1170, 1773, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, + 1170, 1170, 1432, 1773, 1432, 1773, 1773, 1432, 1432, 1773, + 1773, 1773, 1432, 1432, 1773, 1432, 1773, 1432, 1432, 1432, + 1432, 1432, 1432, 1432, 1432, 1438, 1773, 1438, 1773, 1773, + 1438, 1438, 1773, 1773, 1773, 1438, 1773, 1773, 1438, 1773, + + 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 613, 1773, + 613, 1773, 1773, 613, 613, 1773, 1773, 613, 613, 613, + 1773, 613, 613, 613, 613, 613, 1773, 613, 613, 613, + 613, 939, 1773, 939, 1773, 1773, 939, 939, 1773, 939, + 939, 939, 939, 1773, 939, 939, 939, 939, 939, 939, + 939, 939, 939, 939, 1194, 1773, 1194, 1773, 1773, 1194, + 1194, 1773, 1194, 1194, 1194, 1194, 1773, 1194, 1194, 1194, + 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1206, 1773, 1206, + 1773, 1773, 1206, 1206, 1773, 1773, 1206, 1206, 1773, 1773, + 1206, 1773, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, + + 1218, 1773, 1218, 1773, 1773, 1218, 1218, 1773, 1773, 1218, + 1218, 1773, 1773, 1218, 1773, 1218, 1218, 1218, 1218, 1218, + 1218, 1218, 1218, 1224, 1773, 1224, 1773, 1773, 1224, 1224, + 1773, 1773, 1224, 1224, 1773, 1773, 1224, 1773, 1224, 1224, + 1224, 1224, 1224, 1224, 1224, 1224, 932, 1773, 932, 1773, + 1773, 932, 932, 1773, 1773, 932, 932, 932, 1773, 932, + 1773, 932, 932, 932, 932, 932, 932, 932, 932, 1230, + 1773, 1230, 1773, 1773, 1230, 1230, 1773, 1773, 1230, 1230, + 1773, 1773, 1230, 1773, 1230, 1230, 1230, 1230, 1230, 1230, + 1230, 1230, 1238, 1773, 1238, 1773, 1773, 1238, 1238, 1773, + + 1773, 1238, 1238, 1238, 1773, 1238, 1773, 1238, 1238, 1238, + 1238, 1238, 1238, 1238, 1238, 1252, 1773, 1252, 1773, 1773, + 1252, 1252, 1773, 1252, 1252, 1252, 1252, 1773, 1252, 1252, + 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1477, 1773, + 1477, 1773, 1773, 1477, 1477, 1773, 1477, 1477, 1477, 1477, + 1773, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, + 1477, 1485, 1773, 1485, 1773, 1773, 1485, 1485, 1773, 1485, + 1485, 1485, 1485, 1773, 1485, 1485, 1485, 1485, 1485, 1485, + 1485, 1485, 1485, 1485, 1261, 1773, 1261, 1773, 1773, 1261, + 1261, 1773, 1261, 1261, 1261, 1261, 1773, 1261, 1261, 1261, + + 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1492, 1773, 1492, + 1773, 1773, 1492, 1492, 1773, 1492, 1492, 1492, 1492, 1773, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1500, 1773, 1500, 1773, 1773, 1500, 1500, 1773, 1500, 1500, + 1500, 1500, 1773, 1500, 1500, 1500, 1500, 1500, 1500, 1500, + 1500, 1500, 1500, 1268, 1773, 1268, 1773, 1773, 1268, 1268, + 1773, 1268, 1268, 1268, 1268, 1773, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1508, 1773, 1508, 1773, + 1773, 1508, 1508, 1773, 1773, 1508, 1508, 1508, 1773, 1508, + 1773, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1514, + + 1773, 1514, 1773, 1773, 1514, 1514, 1773, 1773, 1514, 1514, + 1773, 1773, 1514, 1773, 1514, 1514, 1514, 1514, 1514, 1514, + 1514, 1514, 385, 385, 385, 1773, 385, 385, 385, 385, + 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, + 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, + 477, 477, 1773, 477, 1773, 1773, 1773, 1773, 477, 477, + 477, 1773, 477, 477, 1322, 1322, 1322, 1322, 1322, 1773, + 1322, 1322, 1322, 1322, 1773, 1773, 1322, 1322, 1773, 1773, + 1322, 1322, 1773, 1322, 1773, 1773, 1773, 1322, 1322, 1773, + 1773, 1322, 1330, 1330, 1330, 1330, 1330, 1773, 1330, 1330, + + 1330, 1330, 1773, 1773, 1330, 1330, 1773, 1773, 1330, 1330, + 1773, 1330, 1773, 1773, 1773, 1330, 1773, 1773, 1773, 1330, + 1342, 1342, 1342, 1342, 1342, 1773, 1342, 1342, 1342, 1342, + 1773, 1773, 1342, 1342, 1773, 1773, 1342, 1342, 1773, 1342, + 1773, 1773, 1773, 1342, 1773, 1773, 1773, 1342, 1353, 1353, + 1353, 1353, 1353, 1773, 1353, 1353, 1353, 1353, 1773, 1773, + 1353, 1353, 1773, 1773, 1353, 1353, 1773, 1353, 1773, 1773, + 1773, 1353, 1773, 1773, 1773, 1353, 1361, 1361, 1361, 1361, + 1361, 1773, 1361, 1361, 1361, 1361, 1773, 1773, 1361, 1361, + 1773, 1773, 1361, 1361, 1773, 1361, 1773, 1773, 1773, 1361, + + 1773, 1773, 1773, 1361, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 835, 1773, 835, 1773, 1773, 835, 835, 835, + 835, 1773, 835, 835, 1773, 835, 835, 835, 835, 835, + 835, 835, 835, 835, 835, 828, 1773, 828, 1773, 1773, + 828, 828, 1773, 1773, 1773, 828, 828, 1773, 828, 1773, + 828, 828, 828, 828, 828, 828, 828, 828, 1586, 1773, + 1586, 1773, 1773, 1586, 1586, 1773, 1586, 1773, 1586, 1586, + 1773, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, + + 1586, 1401, 1773, 1401, 1773, 1773, 1401, 1401, 1773, 1401, + 1773, 1401, 1401, 1773, 1401, 1401, 1401, 1401, 1401, 1401, + 1401, 1401, 1401, 1401, 1595, 1773, 1595, 1773, 1773, 1595, + 1595, 1773, 1595, 1773, 1595, 1595, 1773, 1595, 1595, 1595, + 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1409, 1773, 1409, + 1773, 1773, 1409, 1409, 1773, 1409, 1773, 1409, 1409, 1773, + 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, + 1603, 1773, 1603, 1773, 1773, 1603, 1603, 1773, 1603, 1773, + 1603, 1603, 1773, 1603, 1603, 1603, 1603, 1603, 1603, 1603, + 1603, 1603, 1603, 1416, 1773, 1416, 1773, 1773, 1416, 1416, + + 1773, 1416, 1773, 1416, 1416, 1773, 1416, 1416, 1416, 1416, + 1416, 1416, 1416, 1416, 1416, 1416, 1424, 1773, 1424, 1773, + 1773, 1424, 1424, 1773, 1424, 1773, 1424, 1424, 1773, 1424, + 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1432, + 1773, 1432, 1773, 1773, 1432, 1432, 1773, 1773, 1773, 1432, + 1432, 1773, 1432, 1773, 1432, 1432, 1432, 1432, 1432, 1432, + 1432, 1432, 1615, 1773, 1615, 1773, 1773, 1615, 1615, 1773, + 1773, 1773, 1615, 1773, 1773, 1615, 1773, 1615, 1615, 1615, + 1615, 1615, 1615, 1615, 1615, 1438, 1773, 1438, 1773, 1773, + 1438, 1438, 1773, 1773, 1773, 1438, 1773, 1773, 1438, 1773, + + 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 939, 1773, + 939, 1773, 1773, 939, 939, 939, 939, 939, 939, 939, + 1773, 939, 939, 939, 939, 939, 939, 939, 939, 939, + 939, 932, 1773, 932, 1773, 1773, 932, 932, 1773, 1773, + 932, 932, 932, 1773, 932, 1773, 932, 932, 932, 932, + 932, 932, 932, 932, 1632, 1773, 1632, 1773, 1773, 1632, + 1632, 1773, 1632, 1632, 1632, 1632, 1773, 1632, 1632, 1632, + 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1477, 1773, 1477, + 1773, 1773, 1477, 1477, 1773, 1477, 1477, 1477, 1477, 1773, + 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, + + 1641, 1773, 1641, 1773, 1773, 1641, 1641, 1773, 1641, 1641, + 1641, 1641, 1773, 1641, 1641, 1641, 1641, 1641, 1641, 1641, + 1641, 1641, 1641, 1485, 1773, 1485, 1773, 1773, 1485, 1485, + 1773, 1485, 1485, 1485, 1485, 1773, 1485, 1485, 1485, 1485, + 1485, 1485, 1485, 1485, 1485, 1485, 1649, 1773, 1649, 1773, + 1773, 1649, 1649, 1773, 1649, 1649, 1649, 1649, 1773, 1649, + 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1492, + 1773, 1492, 1773, 1773, 1492, 1492, 1773, 1492, 1492, 1492, + 1492, 1773, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1500, 1773, 1500, 1773, 1773, 1500, 1500, 1773, + + 1500, 1500, 1500, 1500, 1773, 1500, 1500, 1500, 1500, 1500, + 1500, 1500, 1500, 1500, 1500, 1508, 1773, 1508, 1773, 1773, + 1508, 1508, 1773, 1773, 1508, 1508, 1508, 1773, 1508, 1773, + 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1661, 1773, + 1661, 1773, 1773, 1661, 1661, 1773, 1773, 1661, 1661, 1773, + 1773, 1661, 1773, 1661, 1661, 1661, 1661, 1661, 1661, 1661, + 1661, 1514, 1773, 1514, 1773, 1773, 1514, 1514, 1773, 1773, + 1514, 1514, 1773, 1773, 1514, 1773, 1514, 1514, 1514, 1514, + 1514, 1514, 1514, 1514, 1542, 1542, 1542, 1542, 1542, 1773, + 1542, 1542, 1542, 1542, 1773, 1773, 1542, 1542, 1773, 1773, + + 1542, 1542, 1773, 1542, 1773, 1773, 1773, 1542, 1773, 1773, + 1773, 1542, 1550, 1550, 1550, 1550, 1550, 1773, 1550, 1550, + 1550, 1550, 1773, 1773, 1550, 1550, 1773, 1773, 1550, 1550, + 1773, 1550, 1773, 1773, 1773, 1550, 1773, 1773, 1773, 1550, + 1571, 1571, 1571, 1571, 1571, 1773, 1571, 1571, 1571, 1571, + 1773, 1773, 1571, 1571, 1773, 1773, 1571, 1571, 1773, 1571, + 1773, 1773, 1773, 1571, 1773, 1773, 1773, 1571, 423, 1773, + 423, 1773, 1773, 423, 423, 1773, 1773, 423, 423, 423, + 1773, 423, 1773, 423, 423, 423, 423, 423, 423, 423, + 423, 477, 1773, 477, 1773, 1773, 1773, 1773, 477, 477, + + 477, 1773, 477, 477, 835, 1773, 835, 1773, 1773, 835, + 835, 1773, 835, 1773, 835, 835, 1773, 835, 835, 835, + 835, 835, 835, 835, 835, 835, 835, 1586, 1773, 1586, + 1773, 1773, 1586, 1586, 1773, 1586, 1773, 1586, 1586, 1773, + 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, + 1595, 1773, 1595, 1773, 1773, 1595, 1595, 1773, 1595, 1773, + 1595, 1595, 1773, 1595, 1595, 1595, 1595, 1595, 1595, 1595, + 1595, 1595, 1595, 1603, 1773, 1603, 1773, 1773, 1603, 1603, + 1773, 1603, 1773, 1603, 1603, 1773, 1603, 1603, 1603, 1603, + 1603, 1603, 1603, 1603, 1603, 1603, 1615, 1773, 1615, 1773, + + 1773, 1615, 1615, 1773, 1773, 1773, 1615, 1773, 1773, 1615, + 1773, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 939, + 1773, 939, 1773, 1773, 939, 939, 1773, 939, 939, 939, + 939, 1773, 939, 939, 939, 939, 939, 939, 939, 939, + 939, 939, 1632, 1773, 1632, 1773, 1773, 1632, 1632, 1773, + 1632, 1632, 1632, 1632, 1773, 1632, 1632, 1632, 1632, 1632, + 1632, 1632, 1632, 1632, 1632, 1641, 1773, 1641, 1773, 1773, + 1641, 1641, 1773, 1641, 1641, 1641, 1641, 1773, 1641, 1641, + 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1649, 1773, + 1649, 1773, 1773, 1649, 1649, 1773, 1649, 1649, 1649, 1649, + + 1773, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, + 1649, 1680, 1680, 1680, 1680, 1680, 1773, 1680, 1680, 1680, + 1680, 1773, 1773, 1680, 1680, 1773, 1773, 1680, 1680, 1773, + 1680, 1773, 1773, 1773, 1680, 1773, 1773, 1773, 1680, 1687, + 1687, 1687, 1687, 1687, 1773, 1687, 1687, 1687, 1687, 1773, + 1773, 1687, 1687, 1773, 1773, 1687, 1687, 1773, 1687, 1773, + 1773, 1773, 1687, 1773, 1773, 1773, 1687, 1694, 1694, 1694, + 1694, 1694, 1773, 1694, 1694, 1694, 1694, 1773, 1773, 1694, + 1694, 1773, 1773, 1694, 1694, 1773, 1694, 1773, 1773, 1773, + 1694, 1773, 1773, 1773, 1694, 1701, 1701, 1701, 1701, 1701, + + 1773, 1701, 1701, 1701, 1701, 1773, 1773, 1701, 1701, 1773, + 1773, 1701, 1701, 1773, 1701, 1773, 1773, 1773, 1701, 1773, + 1773, 1773, 1701, 1707, 1707, 1707, 1707, 1707, 1773, 1707, + 1707, 1707, 1707, 1773, 1773, 1707, 1707, 1773, 1773, 1707, + 1707, 1773, 1707, 1773, 1773, 1773, 1707, 1773, 1773, 1773, + 1707, 1747, 1747, 1747, 1747, 1747, 1773, 1747, 1747, 1747, + 1747, 1773, 1773, 1747, 1747, 1773, 1773, 1747, 1747, 1773, + 1747, 1773, 1773, 1773, 1747, 1773, 1773, 1773, 1747, 1755, + 1755, 1755, 1755, 1755, 1773, 1755, 1755, 1755, 1755, 1773, + 1773, 1755, 1755, 1773, 1773, 1755, 1755, 1773, 1755, 1773, + + 1773, 1773, 1755, 1773, 1773, 1773, 1755, 33, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773 } ; -static const flex_int16_t yy_chk[13418] = +static const flex_int16_t yy_chk[14485] = { 0, 0, 0, 1, 1, 1, 2, 2, 2, 11, 11, - 12, 12, 38, 42, 95, 38, 42, 95, 38, 42, - 57, 0, 57, 38, 42, 44, 1, 0, 44, 2, - 73, 73, 73, 73, 38, 42, 0, 44, 52, 44, + 12, 12, 38, 42, 145, 38, 42, 145, 38, 42, + 57, 0, 57, 38, 42, 44, 95, 1, 44, 95, + 2, 121, 121, 121, 38, 42, 0, 44, 52, 44, 44, 52, 44, 44, 44, 44, 51, 0, 51, 51, - 51, 51, 197, 95, 197, 52, 52, 52, 52, 121, - 121, 121, 52, 134, 134, 134, 134, 138, 138, 143, - 143, 1, 1, 1, 2, 2, 2, 3, 3, 3, + 51, 51, 77, 77, 0, 52, 52, 52, 52, 73, + 73, 73, 73, 52, 138, 138, 77, 95, 77, 77, + 77, 77, 1357, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -2750,7 +2872,7 @@ static const flex_int16_t yy_chk[13418] = 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -2758,1458 +2880,1575 @@ static const flex_int16_t yy_chk[13418] = 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, - - 9, 9, 9, 34, 34, 34, 9, 440, 9, 9, - 9, 9, 440, 9, 9, 9, 39, 1349, 39, 39, - 39, 428, 40, 9, 40, 40, 40, 41, 428, 41, - 41, 41, 135, 145, 428, 135, 145, 9, 9, 9, - 151, 108, 224, 151, 108, 224, 13, 13, 13, 13, - 1355, 13, 14, 14, 14, 14, 135, 14, 21, 21, - 21, 21, 132, 21, 1356, 132, 9, 9, 9, 9, - 9, 9, 10, 10, 10, 10, 191, 132, 1357, 10, - 108, 10, 10, 10, 10, 13, 10, 10, 10, 67, - 1364, 14, 67, 184, 184, 139, 10, 21, 139, 226, - - 1365, 67, 226, 67, 67, 1366, 67, 67, 67, 67, - 10, 10, 10, 191, 13, 13, 13, 13, 13, 435, - 14, 14, 14, 14, 14, 1367, 21, 21, 21, 21, - 21, 136, 435, 136, 139, 136, 136, 136, 136, 10, - 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + + 7, 7, 7, 7, 7, 7, 7, 9, 9, 9, + 9, 34, 34, 34, 9, 441, 9, 9, 9, 9, + 441, 9, 9, 9, 39, 1358, 39, 39, 39, 143, + 143, 40, 9, 40, 40, 40, 41, 1364, 41, 41, + 41, 132, 151, 135, 132, 151, 135, 9, 9, 9, + 134, 134, 134, 134, 108, 1365, 132, 108, 13, 13, + 13, 13, 1366, 13, 14, 14, 14, 14, 135, 14, + 21, 21, 21, 21, 191, 21, 9, 9, 9, 9, + 9, 9, 10, 10, 10, 10, 171, 171, 171, 10, + 1373, 10, 10, 10, 10, 108, 10, 10, 10, 13, + + 142, 142, 180, 180, 180, 14, 139, 10, 1374, 139, + 54, 21, 54, 191, 54, 54, 54, 54, 155, 155, + 155, 155, 10, 10, 10, 142, 402, 54, 13, 13, + 13, 13, 13, 1375, 14, 14, 14, 14, 14, 1376, + 21, 21, 21, 21, 21, 402, 54, 139, 184, 184, + 1377, 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, 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, 15, 15, 15, 15, 17, - 17, 17, 17, 142, 142, 171, 171, 171, 22, 22, - 22, 22, 1368, 22, 29, 29, 331, 331, 29, 30, - 30, 715, 235, 30, 17, 235, 54, 142, 54, 715, - 54, 54, 54, 54, 1369, 230, 82, 230, 17, 82, - 334, 17, 54, 334, 1370, 77, 77, 22, 82, 1371, - 82, 82, 29, 82, 82, 82, 82, 30, 1372, 77, - 54, 77, 77, 77, 77, 346, 346, 17, 17, 17, - 17, 17, 18, 18, 18, 18, 22, 22, 22, 22, - - 22, 29, 29, 29, 29, 29, 30, 30, 30, 30, - 30, 155, 155, 155, 155, 378, 378, 18, 48, 157, - 157, 157, 157, 68, 48, 236, 236, 158, 236, 48, - 86, 18, 68, 86, 18, 180, 180, 180, 68, 404, - 404, 158, 68, 199, 371, 86, 371, 86, 86, 86, - 86, 1373, 48, 349, 86, 48, 349, 48, 68, 158, - 18, 18, 18, 18, 18, 19, 1374, 369, 19, 48, - 369, 19, 380, 19, 19, 380, 48, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 362, 68, 68, 68, - 19, 369, 199, 199, 199, 74, 1375, 74, 362, 74, - - 74, 74, 74, 75, 19, 362, 19, 23, 23, 23, - 23, 74, 75, 172, 133, 172, 172, 172, 75, 401, - 133, 1376, 75, 287, 287, 133, 287, 330, 76, 74, - 330, 388, 23, 1377, 76, 83, 76, 401, 75, 76, - 76, 76, 76, 76, 83, 388, 23, 1382, 133, 23, - 83, 133, 1383, 133, 83, 87, 426, 87, 426, 87, - 87, 87, 87, 388, 1384, 133, 330, 75, 75, 75, - 83, 87, 133, 406, 406, 23, 23, 23, 23, 23, - 24, 24, 24, 24, 173, 1385, 173, 173, 173, 87, - 416, 416, 76, 76, 76, 275, 275, 275, 88, 83, - - 83, 83, 315, 315, 315, 24, 174, 88, 174, 174, - 174, 382, 89, 88, 382, 1386, 207, 88, 89, 24, - 89, 1387, 24, 89, 89, 89, 89, 89, 90, 90, - 711, 711, 181, 88, 181, 181, 181, 182, 207, 182, - 182, 182, 90, 1388, 90, 90, 90, 90, 24, 24, - 24, 24, 24, 25, 25, 25, 25, 221, 221, 221, - 221, 25, 88, 88, 88, 207, 207, 207, 986, 986, - 25, 25, 25, 25, 987, 987, 89, 89, 89, 25, - 25, 25, 25, 1395, 177, 335, 335, 177, 335, 186, - 177, 186, 186, 186, 186, 177, 25, 25, 25, 25, - - 25, 25, 26, 26, 26, 26, 177, 1396, 1397, 159, - 26, 159, 159, 159, 159, 222, 222, 222, 222, 26, - 26, 26, 26, 159, 168, 359, 359, 359, 26, 26, - 26, 26, 656, 183, 656, 168, 183, 345, 417, 183, - 345, 159, 417, 417, 183, 26, 26, 26, 26, 26, - 26, 27, 27, 27, 27, 183, 27, 27, 168, 1398, - 27, 27, 27, 168, 27, 27, 1399, 168, 27, 27, - 27, 27, 27, 27, 168, 1403, 345, 168, 195, 168, - 168, 1404, 195, 185, 195, 1405, 185, 195, 195, 27, - 187, 27, 27, 187, 1410, 185, 1411, 185, 185, 27, - - 185, 185, 185, 185, 1412, 204, 27, 187, 187, 187, - 187, 27, 350, 350, 187, 350, 27, 27, 27, 28, - 28, 28, 28, 377, 28, 28, 377, 1413, 28, 28, - 28, 204, 28, 28, 1414, 1418, 28, 28, 28, 28, - 28, 28, 188, 1419, 188, 1420, 188, 188, 188, 188, - 233, 233, 233, 233, 204, 204, 204, 28, 188, 28, - 28, 385, 377, 196, 385, 196, 1421, 28, 196, 196, - 196, 1422, 381, 381, 28, 381, 188, 1426, 209, 28, - 249, 249, 249, 249, 28, 28, 28, 49, 1427, 407, - 49, 49, 407, 403, 49, 403, 403, 403, 49, 49, - - 209, 49, 1428, 49, 49, 49, 49, 49, 49, 437, - 49, 49, 437, 49, 49, 49, 49, 49, 49, 49, - 49, 49, 49, 49, 49, 1430, 49, 209, 209, 209, - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, + 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, 157, 157, 157, + 157, 1378, 22, 22, 22, 22, 1379, 22, 29, 29, + 1380, 158, 29, 30, 30, 429, 197, 30, 197, 17, + 224, 67, 429, 224, 67, 74, 158, 74, 429, 74, + 74, 74, 74, 67, 17, 67, 67, 17, 67, 67, + 67, 67, 74, 22, 226, 158, 235, 226, 29, 235, + 1381, 48, 172, 30, 172, 172, 172, 48, 230, 1382, + + 230, 74, 48, 17, 17, 17, 17, 17, 18, 18, + 18, 18, 22, 22, 22, 22, 22, 29, 29, 29, + 29, 29, 30, 30, 30, 30, 30, 48, 236, 236, + 48, 236, 48, 334, 18, 136, 334, 136, 68, 136, + 136, 136, 136, 1383, 48, 331, 331, 68, 75, 18, + 1384, 48, 18, 68, 1385, 90, 90, 75, 68, 275, + 275, 275, 173, 75, 173, 173, 173, 349, 75, 90, + 349, 90, 90, 90, 90, 68, 346, 346, 18, 18, + 18, 18, 18, 19, 195, 75, 19, 1386, 195, 19, + 195, 19, 19, 195, 195, 19, 19, 19, 19, 19, + + 19, 19, 19, 19, 68, 68, 68, 1391, 159, 19, + 159, 159, 159, 159, 75, 75, 75, 174, 1392, 174, + 174, 174, 362, 159, 19, 76, 19, 23, 23, 23, + 23, 76, 82, 76, 362, 82, 76, 76, 76, 76, + 76, 362, 159, 1393, 82, 83, 82, 82, 436, 82, + 82, 82, 82, 23, 83, 86, 177, 1394, 86, 177, + 83, 436, 177, 287, 287, 83, 287, 177, 23, 1395, + 86, 23, 86, 86, 86, 86, 379, 379, 177, 87, + 86, 87, 83, 87, 87, 87, 87, 221, 221, 221, + 221, 76, 76, 76, 405, 405, 87, 23, 23, 23, + + 23, 23, 24, 24, 24, 24, 181, 1396, 181, 181, + 181, 83, 83, 83, 1397, 87, 88, 182, 199, 182, + 182, 182, 372, 183, 372, 88, 183, 369, 24, 183, + 369, 88, 407, 407, 183, 186, 88, 186, 186, 186, + 186, 720, 369, 24, 89, 183, 24, 202, 185, 720, + 89, 185, 89, 88, 1404, 89, 89, 89, 89, 89, + 185, 381, 185, 185, 381, 185, 185, 185, 185, 199, + 199, 199, 24, 24, 24, 24, 24, 25, 25, 25, + 25, 202, 88, 88, 88, 25, 196, 427, 196, 427, + 207, 196, 196, 196, 25, 25, 25, 25, 202, 202, + + 202, 315, 315, 315, 25, 25, 25, 25, 168, 1405, + 89, 89, 89, 1406, 207, 187, 201, 383, 187, 168, + 383, 1407, 25, 25, 25, 25, 25, 25, 26, 26, + 26, 26, 187, 187, 187, 187, 26, 359, 359, 359, + 187, 207, 207, 207, 168, 26, 26, 26, 26, 168, + 201, 386, 201, 168, 386, 26, 26, 26, 26, 408, + 168, 330, 408, 168, 330, 168, 168, 201, 201, 201, + 417, 417, 205, 26, 26, 26, 26, 26, 26, 27, + 27, 27, 27, 1408, 27, 27, 204, 1412, 27, 27, + 27, 345, 27, 27, 345, 1413, 27, 27, 27, 27, + + 27, 27, 330, 657, 133, 657, 205, 205, 205, 1414, + 133, 238, 238, 238, 204, 133, 238, 335, 335, 27, + 335, 27, 27, 205, 205, 205, 338, 338, 338, 27, + 418, 338, 345, 206, 418, 418, 27, 204, 204, 204, + 133, 27, 1419, 133, 211, 133, 27, 27, 27, 28, + 28, 28, 28, 378, 28, 28, 378, 133, 28, 28, + 28, 1420, 28, 28, 133, 206, 28, 28, 28, 28, + 28, 28, 1421, 188, 1422, 188, 203, 188, 188, 188, + 188, 211, 1423, 704, 206, 206, 206, 704, 704, 28, + 188, 28, 28, 1427, 378, 211, 211, 211, 1428, 28, + + 203, 222, 222, 222, 222, 438, 28, 203, 438, 188, + 209, 28, 479, 203, 1429, 479, 28, 28, 28, 49, + 1430, 488, 49, 49, 488, 1431, 49, 203, 203, 203, + 49, 49, 1435, 49, 209, 49, 49, 49, 49, 49, + 49, 1436, 49, 49, 49, 1437, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, 49, 1439, + 49, 209, 209, 209, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 49, 49, 478, 487, 49, 478, 487, 49, 49, 49, - 59, 59, 59, 223, 1431, 223, 1432, 223, 223, 223, - 223, 265, 265, 265, 265, 1433, 59, 59, 59, 223, - 662, 201, 225, 662, 225, 1434, 225, 225, 225, 225, - 368, 1435, 202, 368, 370, 206, 370, 223, 225, 370, - - 370, 370, 59, 59, 227, 368, 59, 59, 227, 227, - 227, 227, 1436, 201, 59, 201, 225, 59, 1437, 59, - 208, 59, 59, 69, 202, 206, 203, 1440, 1441, 69, - 201, 201, 201, 1442, 69, 69, 69, 69, 69, 69, - 69, 202, 202, 202, 206, 206, 206, 208, 203, 69, - 69, 69, 69, 69, 69, 203, 205, 69, 1443, 1444, - 69, 203, 69, 210, 1445, 245, 245, 245, 245, 208, - 208, 208, 245, 211, 69, 203, 203, 203, 212, 1446, - 1447, 69, 71, 214, 668, 210, 213, 668, 205, 205, - 205, 71, 1448, 71, 71, 71, 71, 71, 210, 1449, - - 683, 71, 216, 683, 1450, 205, 205, 205, 211, 214, - 1451, 1452, 210, 210, 210, 212, 718, 71, 212, 718, - 215, 1453, 211, 211, 211, 217, 213, 212, 212, 212, - 1458, 1459, 214, 214, 214, 213, 213, 213, 229, 216, - 229, 1460, 229, 229, 229, 229, 71, 71, 71, 85, - 215, 216, 216, 216, 229, 215, 1461, 1462, 85, 217, - 85, 85, 85, 85, 85, 418, 418, 418, 85, 215, - 215, 215, 229, 419, 217, 217, 217, 419, 419, 419, - 231, 231, 231, 231, 85, 231, 231, 231, 231, 238, - 238, 238, 243, 1463, 238, 243, 244, 1464, 244, 244, - - 244, 244, 661, 661, 243, 661, 243, 243, 1471, 243, - 243, 243, 243, 85, 85, 85, 100, 100, 100, 100, + 49, 49, 49, 49, 49, 49, 350, 350, 49, 350, + 1440, 49, 49, 49, 59, 59, 59, 382, 382, 223, + + 382, 223, 389, 223, 223, 223, 223, 716, 716, 210, + 59, 59, 59, 991, 991, 208, 223, 389, 662, 662, + 225, 662, 225, 1441, 225, 225, 225, 225, 233, 233, + 233, 233, 1442, 210, 1443, 223, 389, 225, 59, 59, + 1444, 212, 59, 59, 208, 1445, 210, 352, 352, 352, + 59, 214, 352, 59, 213, 59, 225, 59, 59, 69, + 210, 210, 210, 217, 1446, 69, 208, 208, 208, 1449, + 69, 69, 69, 69, 69, 69, 69, 1450, 663, 214, + 212, 663, 1451, 212, 1452, 215, 69, 69, 69, 69, + 69, 69, 212, 212, 212, 69, 213, 1453, 69, 217, + + 69, 1454, 214, 214, 214, 213, 213, 213, 216, 419, + 419, 419, 69, 1455, 217, 217, 217, 215, 1456, 69, + 71, 227, 215, 992, 992, 227, 227, 227, 227, 71, + 1457, 71, 71, 71, 71, 71, 215, 215, 215, 229, + 71, 229, 1458, 229, 229, 229, 229, 216, 244, 1459, + 244, 244, 244, 244, 1460, 669, 229, 71, 669, 216, + 216, 216, 231, 231, 231, 231, 251, 231, 231, 231, + 231, 245, 245, 245, 245, 229, 1461, 1462, 246, 245, + 246, 251, 246, 246, 246, 246, 71, 71, 71, 85, + 431, 431, 431, 243, 688, 246, 243, 688, 85, 1467, + + 85, 85, 85, 85, 85, 243, 1468, 243, 243, 85, + 243, 243, 243, 243, 246, 249, 249, 249, 249, 265, + 265, 265, 265, 269, 256, 1469, 85, 269, 269, 269, + 269, 1470, 251, 251, 251, 256, 256, 256, 256, 1471, + 1472, 292, 256, 292, 292, 292, 292, 297, 297, 297, + 297, 305, 305, 305, 305, 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, 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, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, - 112, 112, 112, 1472, 112, 251, 246, 112, 246, 1473, - - 246, 246, 246, 246, 247, 1474, 112, 112, 112, 1475, - 251, 269, 246, 247, 1479, 269, 269, 269, 269, 247, - 1480, 1481, 292, 247, 292, 292, 292, 292, 112, 256, - 246, 112, 112, 112, 1486, 725, 112, 112, 725, 247, - 256, 256, 256, 256, 112, 725, 256, 112, 1487, 112, - 1488, 112, 112, 122, 122, 122, 122, 1489, 1490, 251, - 251, 251, 122, 122, 122, 122, 321, 1494, 247, 247, - 247, 297, 297, 297, 297, 305, 305, 305, 305, 122, - 122, 122, 122, 122, 122, 129, 1495, 129, 129, 321, - 299, 129, 129, 129, 248, 1496, 129, 129, 129, 129, - - 1497, 321, 1498, 248, 129, 299, 250, 1502, 321, 248, - 430, 430, 430, 248, 1503, 250, 291, 129, 1504, 291, - 129, 250, 338, 338, 338, 250, 1506, 338, 291, 248, - 291, 291, 1507, 291, 291, 291, 291, 352, 352, 352, - 1508, 250, 352, 1509, 129, 130, 130, 130, 1510, 130, - 667, 667, 130, 667, 299, 299, 299, 1511, 248, 248, - 248, 130, 130, 130, 682, 682, 252, 682, 1512, 130, - 250, 250, 250, 309, 1513, 252, 1516, 309, 309, 309, - 309, 252, 1520, 130, 1521, 252, 130, 130, 130, 1522, - 1524, 130, 130, 364, 364, 364, 364, 1526, 1528, 130, - - 1529, 252, 130, 1530, 130, 257, 130, 130, 160, 1531, - 654, 160, 654, 160, 257, 654, 654, 160, 160, 160, - 257, 160, 1536, 1537, 257, 365, 365, 365, 365, 160, - 252, 252, 252, 374, 374, 374, 374, 488, 488, 488, - 257, 1538, 488, 1544, 293, 1545, 160, 293, 160, 160, - 272, 272, 272, 272, 1546, 272, 272, 272, 272, 293, - 1565, 293, 293, 293, 293, 1566, 1567, 272, 293, 257, - 257, 257, 1569, 160, 160, 160, 200, 200, 200, 200, - 200, 200, 200, 1570, 200, 272, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 228, 228, 228, 228, 228, - + 100, 100, 100, 100, 112, 112, 112, 723, 112, 247, + 723, 112, 364, 364, 364, 364, 370, 248, 247, 370, + 112, 112, 112, 1473, 247, 250, 248, 1480, 299, 247, + 1481, 1482, 248, 655, 250, 655, 1483, 248, 655, 655, + 250, 370, 1484, 299, 112, 250, 247, 112, 112, 112, + 1001, 309, 112, 112, 248, 309, 309, 309, 309, 1001, + 112, 1001, 250, 112, 1001, 112, 1488, 112, 112, 122, + + 122, 122, 122, 1489, 1490, 247, 247, 247, 1495, 122, + 122, 122, 122, 248, 248, 248, 365, 365, 365, 365, + 1496, 250, 250, 250, 299, 299, 299, 122, 122, 122, + 122, 122, 122, 129, 1497, 129, 129, 1498, 1499, 129, + 129, 129, 252, 1503, 129, 129, 129, 129, 514, 514, + 514, 252, 1504, 129, 1505, 1506, 293, 252, 1507, 293, + 420, 1511, 252, 257, 420, 420, 420, 129, 321, 1512, + 129, 293, 257, 293, 293, 293, 293, 1513, 257, 252, + 1515, 293, 1516, 257, 272, 272, 272, 272, 1517, 272, + 272, 272, 272, 321, 129, 1518, 129, 130, 130, 130, + + 257, 130, 272, 1519, 130, 321, 1520, 1521, 252, 252, + 252, 1522, 321, 130, 130, 130, 1525, 1529, 273, 374, + 1530, 272, 130, 374, 374, 374, 374, 273, 1531, 257, + 257, 257, 404, 273, 404, 404, 404, 130, 273, 705, + 130, 130, 130, 705, 705, 130, 130, 375, 375, 375, + 375, 1533, 1535, 130, 274, 273, 130, 1537, 130, 423, + 130, 130, 160, 274, 1538, 160, 1539, 160, 1540, 274, + 1545, 160, 160, 160, 274, 160, 668, 668, 291, 668, + 1546, 291, 1547, 160, 273, 273, 273, 536, 536, 536, + 291, 274, 291, 291, 1553, 291, 291, 291, 291, 1554, + + 1555, 371, 160, 371, 160, 160, 371, 371, 371, 367, + 423, 423, 423, 367, 367, 367, 367, 1574, 1575, 367, + 274, 274, 274, 391, 391, 391, 391, 1576, 1578, 160, + 160, 160, 200, 200, 200, 200, 200, 200, 200, 367, + 200, 1579, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 1580, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 1571, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 266, - 390, 390, 390, 390, 1572, 1574, 266, 1575, 266, 422, - 266, 266, 266, 266, 266, 513, 513, 513, 266, 1580, - 1581, 444, 266, 294, 1582, 294, 273, 294, 294, 294, - - 294, 1583, 1584, 274, 266, 273, 1585, 443, 1589, 294, - 266, 273, 274, 1590, 446, 273, 444, 1591, 274, 372, - 1592, 372, 274, 372, 372, 372, 372, 294, 422, 422, - 422, 273, 1593, 266, 266, 266, 268, 1597, 274, 443, - 444, 444, 444, 268, 1598, 268, 1599, 268, 268, 268, - 268, 268, 446, 446, 1600, 268, 443, 443, 443, 268, - 273, 273, 273, 446, 446, 446, 373, 274, 274, 274, - 373, 373, 373, 373, 375, 387, 375, 268, 375, 375, - 375, 375, 470, 470, 470, 470, 387, 387, 387, 387, - 699, 391, 387, 391, 699, 699, 391, 391, 391, 391, - - 268, 268, 268, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 1601, + 228, 228, 228, 228, 228, 228, 228, 266, 390, 1581, + 390, 390, 390, 390, 266, 1583, 266, 1584, 266, 266, + 266, 266, 266, 390, 1589, 1013, 276, 266, 446, 1013, + 1013, 266, 373, 1590, 373, 276, 373, 373, 373, 373, + 280, 276, 390, 1591, 266, 1592, 276, 288, 1593, 280, + 266, 471, 471, 471, 471, 280, 288, 546, 546, 546, + 280, 1594, 288, 276, 376, 446, 376, 288, 376, 376, + 376, 376, 1598, 266, 266, 266, 268, 280, 1599, 446, + + 446, 446, 1600, 268, 288, 268, 444, 268, 268, 268, + 268, 268, 276, 276, 276, 1601, 268, 392, 388, 392, + 268, 1602, 392, 392, 392, 392, 280, 280, 280, 388, + 388, 388, 388, 288, 288, 288, 388, 410, 1606, 268, + 444, 410, 410, 410, 410, 413, 1607, 413, 1608, 1609, + 413, 413, 413, 413, 556, 556, 556, 444, 444, 444, + 1610, 1611, 268, 268, 268, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 270, 1612, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 276, 1602, 389, - 280, 389, 389, 389, 389, 288, 276, 1603, 295, 280, - 1604, 1605, 276, 389, 288, 280, 276, 295, 1607, 280, - - 288, 700, 1608, 295, 288, 700, 700, 295, 535, 535, - 535, 389, 276, 296, 1609, 280, 545, 545, 545, 412, - 288, 412, 296, 295, 412, 412, 412, 412, 296, 409, - 1610, 1611, 296, 409, 409, 409, 409, 481, 481, 481, - 481, 276, 276, 276, 280, 280, 280, 282, 296, 288, - 288, 288, 295, 295, 295, 298, 282, 1612, 282, 282, - 282, 282, 282, 1613, 298, 1614, 282, 449, 1615, 1616, - 298, 1617, 300, 698, 298, 698, 698, 296, 296, 296, - 304, 300, 282, 484, 484, 484, 484, 300, 1004, 304, - 298, 300, 1004, 1004, 449, 304, 555, 555, 555, 304, - - 392, 1618, 392, 392, 392, 392, 1620, 300, 560, 560, - 560, 282, 282, 282, 392, 304, 449, 449, 449, 298, - 298, 298, 312, 312, 312, 312, 1621, 312, 312, 312, - 312, 758, 392, 313, 758, 448, 300, 300, 300, 312, - 1626, 758, 313, 1627, 304, 304, 304, 306, 313, 597, - 597, 597, 313, 1628, 306, 1629, 306, 312, 306, 306, - 306, 306, 306, 617, 617, 617, 306, 448, 313, 445, - 306, 627, 627, 627, 314, 410, 410, 410, 410, 1630, - 1631, 316, 306, 314, 448, 448, 448, 410, 306, 314, - 316, 1635, 450, 314, 1636, 1637, 316, 313, 313, 313, - - 316, 447, 1638, 1639, 445, 410, 1643, 1008, 451, 314, - 1008, 306, 306, 306, 308, 454, 316, 1008, 445, 445, - 445, 308, 450, 308, 452, 308, 308, 308, 308, 308, - 450, 1644, 776, 308, 776, 776, 447, 308, 314, 314, - 314, 450, 450, 450, 451, 316, 316, 316, 1645, 452, - 447, 447, 447, 1646, 454, 308, 473, 451, 451, 451, - 473, 473, 473, 473, 454, 454, 454, 485, 1647, 485, - 485, 485, 485, 452, 452, 452, 1648, 1649, 308, 308, - 308, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 1650, 310, 310, - + 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 270, 282, 474, 561, 561, 561, 474, 474, 474, 474, + 282, 1613, 282, 282, 282, 282, 282, 1614, 294, 295, + 294, 282, 294, 294, 294, 294, 1616, 296, 295, 1617, + 411, 411, 411, 411, 295, 294, 296, 298, 282, 295, + 300, 1618, 296, 411, 1619, 1620, 298, 296, 1621, 300, + 687, 687, 298, 687, 294, 300, 295, 298, 1622, 1623, + + 300, 304, 411, 1624, 296, 1625, 1626, 282, 282, 282, + 304, 1627, 1629, 448, 298, 1630, 304, 300, 489, 489, + 489, 304, 445, 489, 1635, 295, 295, 295, 485, 485, + 485, 485, 1636, 296, 296, 296, 1637, 393, 304, 393, + 393, 393, 393, 298, 298, 298, 300, 300, 300, 445, + 448, 1638, 393, 1639, 312, 312, 312, 312, 1640, 312, + 312, 312, 312, 1644, 448, 448, 448, 304, 304, 304, + 306, 393, 312, 445, 445, 445, 447, 306, 1645, 306, + 449, 306, 306, 306, 306, 306, 598, 598, 598, 313, + 306, 312, 450, 1646, 306, 1647, 1648, 486, 313, 486, + + 486, 486, 486, 314, 313, 730, 1652, 306, 730, 313, + 316, 1653, 314, 306, 449, 730, 447, 447, 314, 316, + 1654, 450, 1655, 314, 1656, 316, 313, 447, 447, 447, + 316, 449, 449, 449, 451, 1657, 306, 306, 306, 308, + 314, 452, 1658, 450, 450, 450, 308, 316, 308, 455, + 308, 308, 308, 308, 308, 313, 313, 313, 1659, 308, + 618, 618, 618, 308, 1660, 763, 451, 1662, 763, 314, + 314, 314, 1663, 1664, 451, 763, 316, 316, 316, 452, + 1665, 1017, 308, 1666, 1017, 451, 451, 451, 1667, 1668, + 455, 1017, 452, 452, 452, 487, 487, 487, 487, 1669, + + 455, 455, 455, 1670, 1672, 308, 308, 308, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 310, 310, 310, 310, 1674, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 320, 1651, 453, 1009, 1653, - 327, 1009, 456, 1654, 320, 1655, 457, 1656, 1009, 327, - 320, 637, 637, 637, 320, 327, 411, 1657, 411, 327, - 411, 411, 411, 411, 486, 486, 486, 486, 1658, 458, - 320, 453, 411, 459, 453, 327, 1659, 1660, 464, 1661, - - 456, 1663, 466, 642, 642, 642, 453, 453, 453, 457, - 411, 456, 456, 456, 458, 457, 457, 457, 1665, 320, - 320, 320, 322, 1667, 327, 327, 327, 459, 461, 1674, - 1675, 322, 464, 322, 322, 322, 322, 322, 458, 458, - 458, 322, 459, 459, 459, 466, 462, 464, 464, 464, - 1676, 466, 466, 466, 1681, 1682, 477, 322, 477, 1683, - 465, 477, 477, 477, 477, 1688, 1689, 461, 492, 492, - 492, 492, 1361, 460, 1361, 1361, 460, 461, 461, 461, - 663, 663, 663, 460, 462, 663, 322, 322, 322, 360, - 360, 360, 360, 465, 460, 462, 462, 462, 360, 360, - - 360, 360, 463, 504, 504, 504, 504, 467, 1690, 465, - 465, 465, 674, 674, 674, 360, 360, 360, 360, 360, - 360, 393, 530, 675, 393, 1695, 393, 675, 675, 675, - 393, 393, 393, 1696, 393, 533, 1697, 1701, 463, 693, - 693, 693, 393, 460, 460, 460, 467, 803, 803, 803, - 533, 463, 463, 463, 533, 1702, 467, 467, 467, 393, - 1703, 393, 393, 472, 1706, 472, 1707, 472, 472, 472, - 472, 530, 530, 530, 1019, 1708, 475, 1019, 475, 472, - 475, 475, 475, 475, 1019, 1709, 393, 393, 393, 421, - 1710, 1711, 475, 421, 421, 421, 421, 472, 1712, 533, - - 533, 533, 421, 421, 421, 421, 483, 1713, 483, 1714, - 475, 483, 483, 483, 483, 511, 807, 807, 807, 421, - 421, 421, 421, 421, 421, 455, 455, 455, 455, 455, - 511, 455, 455, 1715, 455, 455, 455, 542, 479, 455, - 479, 455, 479, 479, 479, 479, 1716, 455, 455, 1717, - 511, 455, 493, 1718, 479, 1719, 493, 493, 493, 493, - 576, 576, 576, 576, 455, 1720, 455, 455, 455, 496, - 1721, 496, 479, 1722, 496, 496, 496, 496, 532, 511, - 511, 511, 532, 532, 532, 532, 542, 542, 542, 1723, - 1724, 455, 455, 1725, 455, 455, 455, 455, 455, 471, - - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 1726, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 494, 495, 1727, 495, 612, 495, 495, - 495, 495, 497, 1728, 494, 494, 494, 494, 494, 1729, - 495, 497, 494, 655, 498, 655, 494, 497, 655, 655, - - 655, 497, 1730, 498, 1731, 624, 499, 1732, 495, 498, - 824, 824, 824, 498, 494, 499, 1733, 497, 669, 669, - 669, 499, 1734, 669, 1741, 499, 612, 612, 612, 498, - 536, 828, 828, 828, 500, 1742, 1743, 494, 494, 494, - 1734, 499, 505, 500, 1749, 536, 497, 497, 497, 500, - 546, 505, 1750, 500, 624, 624, 624, 505, 498, 498, - 498, 505, 833, 833, 833, 546, 506, 1751, 1752, 500, - 499, 499, 499, 1753, 507, 506, 1754, 505, 838, 838, - 838, 506, 702, 507, 823, 506, 702, 702, 702, 507, - 865, 865, 865, 507, 536, 536, 536, 1755, 500, 500, - - 500, 506, 521, 907, 907, 907, 505, 505, 505, 507, - 522, 521, 1756, 1757, 546, 546, 546, 521, 703, 522, - 1758, 521, 703, 703, 703, 522, 1759, 523, 1348, 522, - 506, 506, 506, 823, 823, 823, 523, 521, 507, 507, - 507, 1032, 523, 1347, 1032, 522, 523, 529, 529, 529, - 529, 1032, 529, 529, 529, 529, 588, 588, 588, 588, - 1338, 830, 523, 1337, 529, 577, 521, 521, 521, 577, - 577, 577, 577, 1793, 522, 522, 522, 1336, 537, 1793, - 537, 1326, 529, 537, 537, 537, 537, 537, 1325, 1324, - 831, 523, 523, 523, 527, 673, 673, 673, 673, 1319, - - 618, 527, 1318, 527, 1317, 527, 527, 527, 527, 527, - 830, 830, 830, 527, 541, 618, 541, 527, 541, 541, - 541, 541, 681, 681, 681, 681, 580, 595, 580, 1308, - 541, 580, 580, 580, 580, 527, 537, 537, 537, 831, - 831, 831, 595, 1306, 1305, 547, 1303, 547, 541, 927, - 547, 547, 547, 547, 547, 911, 911, 911, 527, 527, - 527, 528, 595, 1814, 618, 618, 618, 1301, 528, 1814, - 528, 1300, 528, 528, 528, 528, 528, 928, 928, 928, - 528, 551, 1298, 551, 528, 551, 551, 551, 551, 1297, - 1296, 595, 595, 595, 1295, 934, 528, 551, 927, 927, - - 927, 553, 528, 547, 547, 547, 687, 687, 687, 687, - 553, 932, 932, 932, 554, 551, 553, 1292, 1815, 615, - 553, 1291, 1290, 554, 1815, 528, 528, 528, 534, 554, - 937, 937, 937, 554, 615, 534, 553, 534, 615, 534, - 534, 534, 534, 534, 934, 934, 934, 534, 1289, 554, - 1034, 534, 579, 1034, 579, 556, 579, 579, 579, 579, - 1034, 1288, 566, 534, 556, 553, 553, 553, 579, 534, - 556, 566, 1036, 1287, 556, 1036, 1279, 566, 554, 554, - 554, 566, 1036, 615, 615, 615, 579, 942, 942, 942, - 556, 1278, 534, 534, 534, 544, 935, 566, 969, 969, - - 969, 628, 544, 1277, 544, 1276, 544, 544, 544, 544, - 544, 988, 988, 988, 544, 1275, 628, 1274, 544, 556, - 556, 556, 567, 989, 989, 989, 566, 566, 566, 568, - 544, 567, 1047, 1823, 581, 1047, 544, 567, 568, 1823, - 1273, 567, 1047, 581, 568, 935, 935, 935, 568, 581, - 994, 1272, 1829, 581, 994, 994, 994, 567, 1829, 544, - 544, 544, 552, 1271, 568, 628, 628, 628, 1270, 581, - 582, 552, 1269, 552, 552, 552, 552, 552, 1005, 582, - 1268, 552, 1005, 1005, 1005, 582, 567, 567, 567, 582, - 1099, 1099, 1099, 568, 568, 568, 1046, 552, 581, 581, - - 581, 1266, 583, 614, 1264, 582, 1263, 614, 614, 614, - 614, 583, 688, 688, 688, 688, 1262, 583, 679, 1258, - 679, 583, 679, 679, 679, 679, 552, 552, 552, 572, - 770, 770, 770, 770, 582, 582, 582, 583, 572, 1046, - 572, 572, 572, 572, 572, 1046, 1046, 1046, 572, 1111, - 1111, 1111, 611, 611, 611, 611, 584, 611, 611, 611, - 611, 1257, 1256, 589, 572, 584, 583, 583, 583, 611, - 590, 584, 589, 1073, 1294, 584, 1073, 1294, 589, 590, - 1249, 1248, 589, 1073, 1294, 590, 1832, 611, 1832, 590, - 1247, 584, 1832, 572, 572, 572, 578, 623, 589, 623, - - 1875, 623, 623, 623, 623, 590, 1875, 578, 578, 578, - 578, 578, 1237, 623, 1235, 578, 1117, 1117, 1117, 578, - 584, 584, 584, 591, 1123, 1123, 1123, 589, 589, 589, - 603, 623, 591, 1234, 590, 590, 590, 578, 591, 603, - 1233, 1232, 591, 1231, 604, 603, 1169, 1169, 1169, 603, - 1197, 1197, 1197, 604, 1228, 605, 1227, 1226, 591, 604, - 578, 578, 578, 604, 605, 603, 775, 775, 775, 775, - 605, 680, 1225, 680, 605, 680, 680, 680, 680, 604, - 1878, 686, 686, 686, 686, 1879, 1878, 591, 591, 591, - 605, 1879, 1224, 686, 603, 603, 603, 619, 1881, 619, - - 1223, 1881, 619, 619, 619, 619, 619, 1881, 604, 604, - 604, 686, 1929, 769, 769, 769, 769, 1222, 1929, 605, - 605, 605, 609, 1038, 1932, 769, 1209, 1209, 1209, 609, - 1932, 609, 1218, 609, 609, 609, 609, 609, 1215, 1215, - 1215, 609, 633, 769, 633, 609, 633, 633, 633, 633, - 783, 783, 783, 783, 1038, 619, 619, 619, 633, 629, - 1217, 629, 635, 609, 629, 629, 629, 629, 629, 1216, - 1214, 635, 1038, 1038, 1038, 636, 633, 635, 1221, 1221, - 1221, 635, 1213, 1212, 636, 1211, 609, 609, 609, 610, - 636, 1267, 1267, 1267, 636, 1210, 610, 635, 610, 1208, - - 610, 610, 610, 610, 610, 1425, 1425, 1425, 610, 1207, - 636, 1051, 610, 1429, 1429, 1429, 638, 629, 629, 629, - 1501, 1501, 1501, 648, 610, 638, 635, 635, 635, 801, - 610, 638, 648, 1206, 1205, 638, 1204, 1051, 648, 636, - 636, 636, 648, 695, 801, 695, 1933, 695, 695, 695, - 695, 638, 1933, 610, 610, 610, 616, 1203, 648, 695, - 1051, 1051, 1051, 616, 801, 616, 1202, 616, 616, 616, - 616, 616, 1505, 1505, 1505, 616, 1201, 695, 1040, 616, - 638, 638, 638, 649, 1606, 1606, 1606, 648, 648, 648, - 650, 616, 649, 801, 801, 801, 1200, 616, 649, 650, - - 1199, 1302, 649, 733, 1302, 650, 733, 1040, 1198, 650, - 696, 1302, 696, 733, 696, 696, 696, 696, 649, 1196, - 616, 616, 616, 626, 733, 650, 696, 1040, 1040, 1040, - 626, 1195, 626, 1194, 626, 626, 626, 626, 626, 1652, - 1652, 1652, 626, 1193, 696, 1192, 626, 649, 649, 649, - 832, 832, 832, 832, 650, 650, 650, 1191, 626, 1190, - 697, 697, 697, 697, 626, 697, 697, 697, 697, 887, - 887, 887, 887, 733, 733, 733, 734, 1189, 768, 734, - 768, 1188, 768, 768, 768, 768, 734, 626, 626, 626, - 634, 1181, 1975, 1180, 768, 1179, 1789, 734, 1975, 634, - - 1789, 634, 634, 634, 634, 634, 1789, 735, 1178, 634, - 735, 736, 768, 1177, 736, 1176, 737, 735, 1175, 737, - 1174, 736, 1173, 1976, 738, 634, 737, 738, 735, 1976, - 744, 1818, 736, 744, 738, 1818, 1172, 737, 2028, 740, - 744, 1818, 740, 1171, 2028, 738, 734, 734, 734, 740, - 1170, 744, 735, 2029, 634, 634, 634, 657, 736, 2029, - 740, 737, 1168, 1166, 739, 1165, 657, 739, 657, 657, - 657, 657, 657, 1164, 739, 1160, 657, 735, 735, 735, - 738, 736, 736, 736, 1159, 739, 737, 737, 737, 1871, - 740, 1158, 657, 1871, 738, 738, 738, 1151, 1150, 1871, - - 744, 744, 744, 1312, 741, 1314, 1312, 741, 1314, 740, - 740, 740, 1149, 1312, 741, 1314, 1322, 739, 1139, 1322, - 1137, 657, 657, 657, 677, 741, 1322, 1136, 677, 677, - 677, 677, 1135, 1134, 739, 739, 739, 677, 677, 677, - 677, 771, 1133, 771, 1130, 771, 771, 771, 771, 1129, - 1312, 1128, 741, 1127, 677, 677, 677, 677, 677, 677, - 705, 705, 705, 705, 936, 936, 936, 936, 1126, 705, - 705, 705, 705, 1125, 741, 741, 741, 1081, 1081, 1081, - 1081, 1124, 742, 1120, 1119, 742, 705, 705, 705, 705, - 705, 705, 742, 861, 1872, 743, 1872, 1118, 743, 745, - - 1872, 1116, 745, 742, 746, 743, 1115, 746, 861, 745, - 1114, 1873, 747, 1873, 746, 747, 743, 1873, 749, 1113, - 745, 749, 747, 1112, 1110, 746, 1109, 1108, 749, 742, - 773, 1107, 773, 747, 773, 773, 773, 773, 1106, 749, - 754, 1316, 745, 754, 1316, 1105, 773, 1104, 1103, 1102, - 754, 1316, 742, 742, 742, 743, 1101, 861, 861, 861, - 1100, 754, 747, 746, 773, 743, 743, 743, 1098, 745, - 745, 745, 1097, 1096, 746, 746, 746, 755, 1095, 1094, - 755, 1093, 747, 747, 747, 1092, 1316, 755, 749, 749, - 749, 750, 750, 750, 750, 750, 750, 750, 755, 750, - - 754, 750, 750, 750, 750, 750, 750, 750, 750, 750, - 754, 754, 754, 1327, 1091, 757, 1327, 1090, 757, 1070, - 1069, 755, 1068, 1327, 760, 757, 778, 760, 778, 778, - 778, 778, 1060, 774, 760, 774, 757, 1059, 774, 774, - 774, 774, 1058, 802, 1033, 760, 1031, 755, 755, 755, - 756, 756, 756, 756, 756, 1030, 756, 756, 802, 756, - 756, 756, 757, 777, 756, 777, 756, 1029, 777, 777, - 777, 777, 756, 756, 1329, 1028, 756, 1329, 802, 1027, - 761, 760, 1026, 761, 1329, 757, 757, 757, 1025, 756, - 761, 756, 756, 756, 760, 760, 760, 1083, 1083, 1083, - - 1083, 761, 1024, 1023, 756, 1022, 1021, 802, 802, 802, - 1142, 1142, 1142, 1142, 1020, 765, 756, 756, 765, 756, - 756, 756, 756, 756, 965, 765, 1018, 852, 763, 852, - 761, 763, 852, 852, 852, 852, 765, 764, 763, 965, - 764, 1240, 1240, 1240, 1240, 1017, 842, 764, 1016, 763, - 761, 761, 761, 762, 762, 762, 762, 762, 764, 762, - 762, 842, 762, 762, 762, 1015, 1039, 762, 905, 762, - 766, 1014, 1013, 766, 1012, 762, 762, 763, 1055, 762, - 766, 842, 1011, 905, 764, 765, 765, 765, 965, 965, - 965, 766, 762, 1010, 762, 762, 762, 1007, 763, 763, - - 763, 762, 997, 905, 1039, 993, 985, 764, 764, 764, - 842, 842, 842, 984, 983, 1039, 1039, 1039, 982, 762, - 762, 766, 762, 762, 762, 762, 762, 1055, 1055, 1055, - 981, 977, 905, 905, 905, 1359, 1359, 1359, 1359, 976, - 766, 766, 766, 772, 772, 772, 772, 772, 772, 772, - 772, 772, 772, 772, 772, 772, 772, 772, 772, 975, - 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, - 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, - 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, - 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, - - 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, - 772, 772, 772, 772, 772, 772, 772, 780, 974, 780, - 973, 780, 780, 780, 780, 846, 846, 846, 846, 846, - 782, 784, 782, 780, 972, 782, 782, 782, 782, 782, - 784, 971, 784, 784, 784, 784, 784, 970, 968, 967, - 784, 780, 781, 1078, 966, 1078, 1078, 1078, 1078, 781, - 953, 781, 952, 781, 781, 781, 781, 781, 949, 948, - 947, 781, 945, 1330, 1331, 781, 1330, 1331, 846, 846, - 846, 944, 943, 1330, 1331, 785, 941, 781, 782, 782, - 782, 940, 786, 781, 785, 784, 784, 784, 939, 1334, - - 785, 786, 1334, 931, 785, 930, 787, 786, 929, 1334, - 925, 786, 1043, 793, 924, 787, 781, 781, 781, 923, - 785, 787, 793, 922, 794, 787, 1330, 786, 793, 921, - 917, 847, 793, 794, 916, 847, 847, 847, 847, 794, - 915, 787, 914, 794, 1041, 795, 1043, 847, 793, 785, - 785, 785, 913, 912, 795, 910, 786, 786, 786, 794, - 795, 1043, 1043, 1043, 795, 847, 814, 909, 908, 904, - 787, 787, 787, 903, 902, 814, 901, 793, 793, 793, - 795, 814, 1041, 815, 900, 814, 896, 895, 794, 794, - 794, 894, 815, 1041, 1041, 1041, 893, 892, 815, 906, - - 883, 814, 815, 881, 816, 1002, 1002, 1002, 1002, 795, - 795, 795, 880, 816, 906, 879, 878, 1002, 815, 816, - 851, 877, 851, 816, 851, 851, 851, 851, 873, 872, - 814, 814, 814, 871, 906, 1002, 851, 870, 1050, 816, - 869, 868, 854, 854, 854, 854, 854, 815, 815, 815, - 834, 867, 834, 866, 851, 834, 834, 834, 834, 834, - 864, 863, 862, 906, 906, 906, 849, 848, 816, 816, - 816, 822, 845, 844, 843, 841, 840, 1050, 822, 839, - 822, 837, 822, 822, 822, 822, 822, 1050, 1050, 1050, - 822, 836, 835, 827, 822, 854, 854, 854, 855, 826, - - 825, 821, 855, 855, 855, 855, 822, 856, 834, 834, - 834, 820, 822, 819, 855, 818, 856, 817, 1053, 946, - 813, 812, 856, 811, 857, 810, 856, 950, 950, 950, - 950, 950, 855, 857, 946, 822, 822, 822, 829, 857, - 809, 808, 856, 857, 1053, 829, 806, 829, 805, 829, - 829, 829, 829, 829, 946, 804, 800, 829, 858, 857, - 858, 829, 858, 858, 858, 858, 799, 1053, 1053, 1053, - 798, 856, 856, 856, 858, 797, 796, 792, 791, 829, - 950, 950, 950, 946, 946, 946, 790, 789, 857, 857, - 857, 956, 858, 956, 788, 779, 956, 956, 956, 956, - - 767, 753, 829, 829, 829, 850, 850, 850, 850, 850, - 850, 850, 850, 850, 850, 850, 850, 850, 850, 850, - 850, 752, 850, 850, 850, 850, 850, 850, 850, 850, - 850, 850, 850, 850, 850, 850, 850, 850, 850, 850, - 850, 850, 850, 850, 850, 850, 850, 850, 850, 850, - 850, 850, 850, 850, 850, 850, 850, 850, 850, 850, - 850, 850, 850, 850, 850, 850, 850, 850, 850, 850, - 850, 850, 850, 850, 850, 850, 850, 850, 850, 859, - 1082, 751, 1082, 1082, 1082, 1082, 860, 732, 859, 731, - 859, 859, 859, 859, 859, 860, 730, 874, 859, 729, - - 875, 860, 728, 727, 1065, 860, 874, 1057, 726, 875, - 724, 876, 874, 723, 859, 875, 874, 722, 721, 875, - 876, 860, 719, 717, 716, 714, 876, 713, 712, 1057, - 876, 710, 874, 709, 996, 875, 996, 708, 996, 996, - 996, 996, 707, 859, 859, 859, 876, 706, 704, 1049, - 860, 860, 860, 1065, 1065, 1065, 1057, 1057, 1057, 701, - 691, 874, 874, 874, 875, 875, 875, 884, 690, 884, - 689, 884, 884, 884, 884, 876, 876, 876, 882, 672, - 671, 1049, 666, 884, 1062, 1320, 665, 882, 1320, 882, - 882, 882, 882, 882, 660, 1320, 659, 882, 1049, 1049, - - 1049, 884, 658, 886, 1339, 886, 888, 1339, 886, 886, - 886, 886, 886, 882, 1339, 888, 653, 888, 888, 888, - 888, 888, 652, 651, 1062, 888, 1067, 1332, 647, 646, - 1332, 889, 1320, 1062, 1062, 1062, 645, 1332, 644, 643, - 889, 641, 882, 882, 882, 885, 889, 640, 1067, 639, - 889, 632, 885, 631, 885, 630, 885, 885, 885, 885, - 885, 886, 886, 886, 885, 625, 889, 622, 885, 890, - 888, 888, 888, 621, 620, 1067, 1067, 1067, 890, 1340, - 885, 613, 1340, 891, 890, 1332, 885, 608, 890, 1340, - 1341, 1343, 891, 1341, 1343, 889, 889, 889, 891, 607, - - 1341, 1343, 891, 1345, 890, 897, 1345, 606, 898, 885, - 885, 885, 602, 1345, 897, 601, 1350, 898, 891, 1350, - 897, 600, 899, 898, 897, 599, 1350, 898, 598, 596, - 594, 899, 593, 890, 890, 890, 1351, 899, 1340, 1351, - 897, 899, 1353, 898, 918, 1353, 1351, 891, 891, 891, - 592, 1343, 1353, 918, 587, 1518, 586, 899, 1518, 918, - 585, 575, 1071, 918, 574, 1518, 919, 573, 571, 897, - 897, 897, 898, 898, 898, 919, 1350, 570, 569, 918, - 920, 919, 565, 1351, 564, 919, 899, 899, 899, 920, - 563, 562, 1534, 561, 1071, 920, 559, 558, 1077, 920, - - 1077, 919, 1075, 1077, 1077, 1077, 1077, 557, 918, 918, - 918, 1071, 1071, 1071, 938, 920, 938, 550, 549, 938, - 938, 938, 938, 938, 958, 958, 958, 958, 958, 548, - 919, 919, 919, 951, 1075, 543, 540, 951, 951, 951, - 951, 1534, 1534, 1534, 920, 920, 920, 926, 539, 951, - 538, 1075, 1075, 1075, 926, 531, 926, 526, 926, 926, - 926, 926, 926, 525, 524, 1523, 926, 951, 1523, 518, - 926, 517, 938, 938, 938, 1523, 516, 958, 958, 958, - 1131, 1542, 926, 1132, 515, 955, 514, 955, 926, 955, - 955, 955, 955, 1525, 512, 1131, 1525, 510, 1132, 1527, - - 959, 955, 1527, 1525, 959, 959, 959, 959, 509, 1527, - 508, 926, 926, 926, 933, 1131, 959, 503, 1132, 955, - 502, 933, 501, 933, 491, 933, 933, 933, 933, 933, - 1542, 1542, 1542, 933, 959, 490, 962, 933, 962, 469, - 962, 962, 962, 962, 1131, 1131, 1131, 1132, 1132, 1132, - 468, 1080, 962, 1080, 442, 933, 1080, 1080, 1080, 1080, - 1286, 1286, 1286, 1286, 441, 1286, 1286, 1286, 1286, 1360, - 962, 1360, 439, 1360, 1360, 1360, 1360, 438, 933, 933, - 933, 954, 954, 954, 954, 954, 954, 954, 954, 954, - 954, 954, 954, 954, 954, 954, 954, 436, 954, 954, - - 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, - 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, - 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, - 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, - 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, - 954, 954, 954, 954, 954, 960, 434, 433, 961, 1539, - 432, 431, 1539, 964, 960, 1548, 978, 961, 429, 1539, - 960, 427, 964, 961, 960, 978, 1550, 961, 964, 1550, - 425, 978, 964, 424, 1553, 978, 1550, 1553, 423, 1556, - 960, 979, 1556, 961, 1553, 396, 1563, 395, 964, 1556, - - 979, 978, 1670, 394, 1548, 1670, 979, 376, 1704, 356, - 979, 1704, 1670, 355, 1548, 1548, 1548, 343, 1704, 960, - 960, 960, 961, 961, 961, 963, 979, 964, 964, 964, - 978, 978, 978, 980, 963, 1552, 963, 963, 963, 963, - 963, 342, 980, 329, 963, 1563, 1563, 1563, 980, 328, - 326, 325, 980, 324, 319, 979, 979, 979, 318, 1003, - 963, 1003, 317, 1003, 1003, 1003, 1003, 1045, 980, 1736, - 1045, 1061, 1736, 1744, 1061, 1003, 1744, 1045, 1552, 1736, - 303, 1061, 302, 1744, 1552, 1552, 1552, 301, 1045, 963, - 963, 963, 1061, 1003, 290, 1558, 289, 980, 980, 980, - - 992, 1153, 1153, 1153, 1153, 1153, 286, 285, 284, 992, - 281, 992, 992, 992, 992, 992, 1076, 279, 1076, 992, - 1076, 1076, 1076, 1076, 1085, 278, 1085, 277, 1085, 1085, - 1085, 1085, 1076, 255, 1558, 992, 254, 1045, 1045, 1045, - 1085, 1061, 1061, 1061, 1558, 1558, 1558, 253, 242, 241, - 1076, 220, 219, 1167, 1153, 1153, 1153, 218, 1085, 176, - 1672, 1229, 166, 164, 992, 992, 992, 995, 1167, 163, - 1087, 995, 995, 995, 995, 162, 1229, 161, 153, 1087, - 995, 995, 995, 995, 147, 1087, 141, 137, 1167, 1087, - 1568, 128, 1568, 1568, 1568, 1568, 1229, 995, 995, 995, - - 995, 995, 995, 998, 998, 1087, 998, 126, 998, 1672, - 1672, 1672, 998, 998, 998, 125, 998, 1167, 1167, 1167, - 124, 119, 116, 1088, 998, 1229, 1229, 1229, 1679, 115, - 1089, 114, 1088, 110, 1087, 1087, 1087, 106, 1088, 1089, - 104, 998, 1088, 998, 998, 1089, 1122, 103, 1122, 1089, - 1686, 1122, 1122, 1122, 1122, 1122, 102, 1138, 1088, 97, - 93, 1138, 1138, 1138, 1138, 1089, 92, 91, 998, 998, - 998, 999, 999, 1138, 999, 84, 999, 1679, 1679, 1679, - 999, 999, 999, 1693, 999, 81, 80, 1088, 1088, 1088, - 79, 1138, 999, 72, 1089, 1089, 1089, 66, 65, 1686, - - 1686, 1686, 64, 50, 1122, 1122, 1122, 46, 37, 999, - 1144, 999, 999, 36, 1144, 1144, 1144, 1144, 33, 32, - 31, 0, 0, 0, 0, 0, 1144, 0, 0, 0, - 0, 0, 1693, 1693, 1693, 0, 999, 999, 999, 1006, - 1006, 1006, 1006, 1143, 1144, 0, 0, 0, 1006, 1006, - 1006, 1006, 1143, 1699, 1143, 1143, 1143, 1143, 1143, 0, - 0, 1230, 1143, 0, 1265, 1006, 1006, 1006, 1006, 1006, - 1006, 1042, 1042, 1042, 1042, 1042, 1230, 1042, 1042, 1265, - 1042, 1042, 1042, 1739, 1183, 1042, 1183, 1042, 1183, 1183, - 1183, 1183, 0, 1042, 1042, 0, 1230, 1042, 0, 1265, - - 1183, 0, 1699, 1699, 1699, 0, 0, 1143, 1143, 1143, - 1042, 0, 1042, 1042, 1042, 1141, 0, 1141, 1183, 1042, - 1141, 1141, 1141, 1141, 1141, 1230, 1230, 1230, 1265, 1265, - 1265, 0, 1739, 1739, 1739, 1423, 0, 1042, 1042, 0, - 1042, 1042, 1042, 1042, 1042, 1044, 1044, 1044, 1044, 1044, - 1423, 1044, 1044, 0, 1044, 1044, 1044, 0, 0, 1044, - 0, 1044, 0, 0, 0, 0, 0, 1044, 1044, 0, - 1423, 1044, 0, 1141, 1141, 1141, 1236, 0, 0, 0, - 1236, 1236, 1236, 1236, 1044, 0, 1044, 1044, 1044, 1145, - 0, 0, 1236, 0, 0, 0, 0, 0, 1145, 1423, - - 1423, 1423, 0, 0, 1145, 0, 0, 0, 1145, 0, - 1236, 1044, 1044, 0, 1044, 1044, 1044, 1044, 1044, 1052, - 1052, 1052, 1052, 1052, 1145, 1052, 1052, 1747, 1052, 1052, - 1052, 0, 1242, 1052, 0, 1052, 1242, 1242, 1242, 1242, - 0, 1052, 1052, 0, 0, 1052, 0, 0, 1242, 1760, - 1760, 1760, 0, 1145, 1145, 1145, 0, 0, 1052, 0, - 1052, 1052, 1052, 0, 0, 1146, 1242, 1760, 1760, 1760, - 1760, 0, 0, 0, 1146, 0, 1747, 1747, 1747, 0, - 1146, 0, 0, 0, 1146, 1052, 1052, 0, 1052, 1052, - 1052, 1052, 1052, 1056, 1056, 1056, 1056, 1056, 1056, 1056, - - 1146, 1056, 1424, 1056, 1056, 1056, 1056, 1056, 1056, 1056, - 1056, 1056, 1063, 1063, 1063, 1063, 1063, 1424, 1063, 1063, - 0, 1063, 1063, 1063, 0, 0, 1063, 0, 1063, 1146, - 1146, 1146, 0, 0, 1063, 1063, 0, 1424, 1063, 0, - 0, 1147, 0, 0, 0, 0, 0, 0, 0, 0, - 1147, 1063, 0, 1063, 1063, 1063, 1147, 1285, 0, 1285, - 1147, 1285, 1285, 1285, 1285, 0, 1424, 1424, 1424, 0, - 0, 0, 0, 1285, 0, 0, 1147, 0, 1063, 1063, - 0, 1063, 1063, 1063, 1063, 1063, 1072, 1072, 1072, 1072, - 1072, 1285, 1072, 1072, 0, 1072, 1072, 1072, 0, 0, - - 1072, 1148, 1072, 0, 1152, 1147, 1147, 1147, 1072, 1072, - 1148, 0, 1072, 1152, 0, 0, 1148, 0, 0, 1152, - 1148, 0, 0, 1152, 0, 1072, 1154, 1072, 1072, 1072, - 0, 0, 0, 0, 0, 1154, 1148, 0, 0, 1152, - 0, 1154, 0, 0, 0, 1154, 0, 1499, 0, 0, - 0, 0, 1072, 1072, 0, 1072, 1072, 1072, 1072, 1072, - 1084, 1154, 1499, 0, 0, 1148, 1148, 1148, 1152, 1152, - 1152, 1084, 1084, 1084, 1084, 1084, 0, 0, 0, 1084, - 0, 0, 1499, 1084, 1155, 0, 0, 1157, 0, 0, - 1154, 1154, 1154, 1155, 0, 1161, 1157, 0, 0, 1155, - - 1500, 1084, 1157, 1155, 1161, 0, 1157, 0, 0, 0, - 1161, 1499, 1499, 1499, 1161, 1500, 0, 0, 0, 1155, - 0, 0, 1157, 0, 1084, 1084, 1084, 1086, 0, 0, - 1161, 0, 0, 0, 0, 1500, 1086, 0, 1086, 1086, - 1086, 1086, 1086, 0, 0, 0, 1086, 0, 1155, 1155, - 1155, 1157, 1157, 1157, 1162, 0, 0, 0, 0, 1161, - 1161, 1161, 1086, 1162, 1500, 1500, 1500, 1163, 0, 1162, - 0, 0, 0, 1162, 0, 0, 1163, 0, 0, 0, - 0, 1185, 1163, 0, 0, 0, 1163, 0, 0, 1162, - 1185, 1086, 1086, 1086, 1121, 0, 1185, 0, 0, 0, - - 1185, 1121, 1163, 1121, 0, 1121, 1121, 1121, 1121, 1121, - 0, 0, 0, 1121, 0, 0, 1185, 1121, 1162, 1162, - 1162, 1186, 0, 0, 1251, 1251, 1251, 1251, 1251, 1121, - 1186, 1163, 1163, 1163, 1187, 1121, 1186, 0, 0, 0, - 1186, 0, 0, 1187, 0, 1185, 1185, 1185, 0, 1187, - 0, 0, 0, 1187, 0, 0, 1186, 0, 1121, 1121, - 1121, 1156, 0, 0, 0, 0, 0, 0, 0, 1187, - 1156, 0, 1156, 1156, 1156, 1156, 1156, 1251, 1251, 1251, - 1156, 0, 0, 0, 0, 1186, 1186, 1186, 0, 0, - 0, 1380, 1380, 1380, 1380, 1380, 1156, 0, 1187, 1187, - - 1187, 1220, 0, 1220, 0, 0, 1220, 1220, 1220, 1220, - 1220, 0, 1239, 0, 1239, 0, 0, 1239, 1239, 1239, - 1239, 1239, 0, 0, 0, 1156, 1156, 1156, 1182, 1363, - 0, 1363, 0, 0, 1363, 1363, 1363, 1363, 1363, 1182, - 1182, 1182, 1182, 1182, 1380, 1380, 1380, 1182, 0, 1381, - 0, 1182, 0, 1381, 1381, 1381, 1381, 0, 0, 1220, - 1220, 1220, 0, 0, 0, 1381, 0, 1241, 0, 1182, - 1239, 1239, 1239, 0, 0, 0, 1241, 0, 1241, 1241, - 1241, 1241, 1241, 1381, 0, 0, 1241, 1363, 1363, 1363, - 0, 0, 1182, 1182, 1182, 1184, 1389, 1389, 1389, 1389, - - 1389, 0, 1243, 0, 1184, 0, 1184, 1184, 1184, 1184, - 1184, 1243, 0, 0, 1184, 0, 0, 1243, 1390, 0, - 0, 1243, 1390, 1390, 1390, 1390, 0, 0, 0, 1244, - 1184, 1241, 1241, 1241, 1390, 0, 0, 1243, 1244, 0, - 0, 0, 0, 0, 1244, 0, 0, 0, 1244, 1389, - 1389, 1389, 1390, 1406, 1406, 1406, 1406, 1406, 0, 1184, - 1184, 1184, 1219, 0, 1244, 0, 1243, 1243, 1243, 1219, - 0, 1219, 0, 1219, 1219, 1219, 1219, 1219, 0, 0, - 0, 1219, 0, 1245, 0, 1219, 0, 0, 0, 0, - 1246, 0, 1245, 1244, 1244, 1244, 0, 1219, 1245, 1246, - - 0, 1250, 1245, 1219, 1252, 1246, 1406, 1406, 1406, 1246, - 1250, 0, 0, 1252, 0, 1253, 1250, 0, 1245, 1252, - 1250, 0, 1255, 1252, 1253, 1246, 1219, 1219, 1219, 0, - 1253, 1255, 0, 0, 1253, 0, 1250, 1255, 0, 1252, - 0, 1255, 0, 1259, 0, 0, 0, 1245, 1245, 1245, - 1253, 0, 1259, 0, 1246, 1246, 1246, 1255, 1259, 0, - 0, 0, 1259, 0, 0, 1250, 1250, 1250, 1252, 1252, - 1252, 0, 0, 0, 0, 0, 0, 0, 1259, 1253, - 1253, 1253, 1254, 0, 0, 0, 1255, 1255, 1255, 0, - 0, 1254, 0, 1254, 1254, 1254, 1254, 1254, 0, 0, - - 0, 1254, 0, 1260, 0, 0, 1261, 1259, 1259, 1259, - 0, 0, 1260, 0, 0, 1261, 0, 1254, 1260, 0, - 0, 1261, 1260, 0, 0, 1261, 1391, 0, 0, 0, - 1391, 1391, 1391, 1391, 0, 0, 0, 0, 1260, 0, - 0, 1261, 1391, 0, 0, 0, 1254, 1254, 1254, 1379, - 0, 1379, 0, 0, 1379, 1379, 1379, 1379, 1379, 0, - 1391, 0, 0, 0, 0, 0, 1392, 1260, 1260, 1260, - 1261, 1261, 1261, 1280, 1280, 1392, 1280, 0, 1280, 0, - 0, 1392, 1280, 1280, 1280, 1392, 1280, 0, 0, 1561, - 0, 0, 1561, 0, 1280, 0, 0, 0, 0, 1561, - - 0, 1392, 0, 0, 0, 0, 0, 1379, 1379, 1379, - 1561, 1280, 0, 1280, 1280, 1439, 0, 1439, 0, 0, - 1439, 1439, 1439, 1439, 1439, 0, 0, 0, 0, 0, - 1392, 1392, 1392, 0, 0, 0, 0, 0, 1280, 1280, - 1280, 1309, 1309, 1309, 1309, 1309, 0, 1309, 1309, 0, - 1309, 1309, 1309, 0, 0, 1309, 0, 1309, 0, 1561, - 1561, 1561, 0, 1309, 1309, 0, 0, 1309, 0, 0, - 1393, 0, 0, 1439, 1439, 1439, 0, 0, 0, 1393, - 1309, 0, 1309, 1309, 1309, 1393, 1455, 1394, 1455, 1393, - 0, 1455, 1455, 1455, 1455, 1455, 1394, 0, 0, 0, - - 0, 0, 1394, 0, 0, 1393, 1394, 1309, 1309, 0, - 1309, 1309, 1309, 1309, 1309, 1310, 1310, 1310, 1310, 1310, - 0, 1310, 1394, 0, 1310, 1310, 1310, 0, 0, 1310, - 0, 1310, 0, 0, 1393, 1393, 1393, 1310, 1310, 0, - 0, 1310, 0, 0, 1455, 1455, 1455, 0, 0, 0, - 0, 1394, 1394, 1394, 1310, 0, 1310, 0, 1310, 1400, - 0, 0, 0, 1456, 1456, 1456, 1456, 1456, 1400, 0, - 0, 0, 0, 0, 1400, 0, 0, 0, 1400, 0, - 0, 1310, 1310, 0, 1310, 1310, 1310, 1310, 1310, 1311, - 1311, 1311, 1311, 1311, 1400, 1311, 1311, 0, 1311, 1311, - - 1311, 0, 0, 1311, 0, 1311, 0, 0, 0, 0, - 0, 1311, 1311, 0, 0, 1311, 1456, 1456, 1456, 0, - 0, 0, 0, 1400, 1400, 1400, 0, 0, 1311, 0, - 1311, 1311, 1311, 0, 0, 1401, 0, 0, 0, 0, - 0, 0, 0, 0, 1401, 0, 0, 0, 0, 0, - 1401, 0, 0, 0, 1401, 1311, 1311, 0, 1311, 1311, - 1311, 1311, 1311, 1315, 1315, 1315, 1315, 1315, 1315, 1315, - 1401, 1315, 0, 1315, 1315, 1315, 1315, 1315, 1315, 1315, - 1315, 1315, 1358, 1358, 1358, 1358, 1358, 0, 1358, 1358, - 0, 1358, 1358, 1358, 1402, 0, 1358, 0, 1358, 1401, - - 1401, 1401, 0, 1402, 1358, 1358, 0, 0, 1358, 1402, - 1457, 0, 0, 1402, 1457, 1457, 1457, 1457, 0, 0, - 0, 1358, 1407, 1358, 1358, 1358, 1457, 0, 0, 1402, - 0, 1407, 0, 0, 0, 0, 0, 1407, 0, 0, - 1684, 1407, 0, 1684, 1457, 0, 0, 0, 1358, 1358, - 1684, 1358, 1358, 1358, 1358, 1358, 1362, 1407, 1402, 1402, - 1402, 1684, 0, 1362, 0, 1362, 0, 1362, 1362, 1362, - 1362, 1362, 0, 0, 0, 1362, 0, 0, 0, 1362, - 0, 0, 0, 1408, 0, 0, 1407, 1407, 1407, 0, - 1409, 1362, 1408, 0, 0, 0, 0, 1362, 1408, 1409, - - 0, 0, 1408, 0, 0, 1409, 0, 0, 0, 1409, - 1684, 1684, 1684, 0, 0, 0, 0, 0, 1408, 0, - 1362, 1362, 1362, 1378, 0, 1409, 0, 0, 0, 0, - 1378, 0, 1378, 0, 1378, 1378, 1378, 1378, 1378, 0, - 0, 0, 1378, 0, 1415, 0, 1378, 1408, 1408, 1408, - 0, 1416, 0, 1415, 1409, 1409, 1409, 0, 1378, 1415, - 1416, 0, 1417, 1415, 1378, 0, 1416, 0, 1466, 0, - 1416, 1417, 1466, 1466, 1466, 1466, 0, 1417, 0, 1415, - 0, 1417, 0, 0, 1466, 0, 1416, 1378, 1378, 1378, - 0, 0, 1465, 1465, 1465, 1465, 1465, 1417, 0, 0, - - 0, 0, 1466, 0, 0, 0, 0, 0, 1415, 1415, - 1415, 0, 0, 0, 0, 1416, 1416, 1416, 0, 0, - 1482, 1482, 1482, 1482, 1482, 0, 1417, 1417, 1417, 1438, - 0, 0, 0, 0, 0, 0, 1438, 0, 1438, 0, - 1438, 1438, 1438, 1438, 1438, 1465, 1465, 1465, 1438, 1467, - 0, 0, 1438, 1467, 1467, 1467, 1467, 1468, 0, 0, - 0, 0, 1469, 0, 1438, 1467, 1468, 0, 0, 1470, - 1438, 1469, 1468, 1482, 1482, 1482, 1468, 1469, 1470, 0, - 0, 1469, 0, 1467, 1470, 0, 0, 0, 1470, 0, - 0, 0, 1468, 1438, 1438, 1438, 1454, 1469, 0, 0, - - 0, 0, 0, 1454, 1470, 1454, 0, 1454, 1454, 1454, - 1454, 1454, 0, 0, 0, 1454, 0, 0, 0, 1454, - 0, 1468, 1468, 1468, 0, 0, 1469, 1469, 1469, 1476, - 0, 1454, 1477, 1470, 1470, 1470, 0, 1454, 1476, 0, - 1478, 1477, 0, 0, 1476, 0, 0, 1477, 1476, 1478, - 0, 1477, 0, 0, 1483, 1478, 0, 1484, 0, 1478, - 1454, 1454, 1454, 1483, 1476, 1485, 1484, 1477, 1491, 1483, - 0, 0, 1484, 1483, 1485, 1478, 1484, 1491, 0, 0, - 1485, 0, 0, 1491, 1485, 0, 0, 1491, 0, 1483, - 0, 0, 1484, 1476, 1476, 1476, 1477, 1477, 1477, 0, - - 1485, 0, 0, 1491, 1478, 1478, 1478, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1483, 1483, - 1483, 1484, 1484, 1484, 0, 0, 1492, 0, 0, 1485, - 1485, 1485, 1491, 1491, 1491, 1492, 0, 1493, 0, 0, - 0, 1492, 0, 0, 0, 1492, 1493, 0, 0, 0, - 0, 0, 1493, 0, 0, 0, 1493, 0, 0, 0, - 0, 1492, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1493, 0, 0, 0, 0, 0, 1577, 0, - 0, 0, 0, 0, 0, 0, 0, 1577, 0, 0, - 1492, 1492, 1492, 1577, 0, 0, 0, 1577, 0, 0, - - 0, 1493, 1493, 1493, 1535, 1535, 1535, 1535, 1535, 1535, - 1535, 0, 1535, 1577, 1535, 1535, 1535, 1535, 1535, 1535, - 1535, 1535, 1535, 1547, 1547, 1547, 1547, 1547, 0, 1547, - 1547, 0, 1547, 1547, 1547, 0, 0, 1547, 0, 1547, - 0, 0, 1577, 1577, 1577, 1547, 1547, 0, 0, 1547, - 0, 0, 1578, 0, 0, 0, 0, 0, 0, 0, - 0, 1578, 1547, 0, 1547, 1547, 1547, 1578, 0, 0, - 0, 1578, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1578, 0, 1547, - 1547, 0, 1547, 1547, 1547, 1547, 1547, 1549, 1549, 1549, - - 1549, 1549, 0, 1549, 1549, 0, 1549, 1549, 1549, 0, - 0, 1549, 0, 1549, 0, 0, 1578, 1578, 1578, 1549, - 1549, 0, 0, 1549, 0, 0, 1579, 0, 0, 0, - 0, 0, 0, 0, 0, 1579, 1549, 0, 1549, 1549, - 1549, 1579, 0, 0, 0, 1579, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1579, 0, 1549, 1549, 0, 1549, 1549, 1549, 1549, - 1549, 1555, 1555, 1555, 1555, 1555, 0, 1555, 1555, 0, - 1555, 1555, 1555, 0, 0, 1555, 0, 1555, 0, 0, - 1579, 1579, 1579, 1555, 1555, 0, 0, 1555, 0, 0, - - 1586, 0, 0, 0, 0, 0, 0, 0, 0, 1586, - 1555, 0, 1555, 1555, 1555, 1586, 0, 0, 0, 1586, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1586, 0, 1555, 1555, 0, - 1555, 1555, 1555, 1555, 1555, 1559, 1559, 1559, 1559, 1559, - 0, 1559, 1559, 0, 1559, 1559, 1559, 0, 0, 1559, - 0, 1559, 0, 0, 1586, 1586, 1586, 1559, 1559, 0, - 0, 1559, 0, 0, 1587, 0, 0, 0, 0, 0, - 0, 0, 0, 1587, 1559, 0, 1559, 1559, 1559, 1587, - 0, 0, 0, 1587, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1587, - 0, 1559, 1559, 0, 1559, 1559, 1559, 1559, 1559, 1560, - 1560, 1560, 1560, 1560, 0, 1560, 1560, 0, 1560, 1560, - 1560, 0, 0, 1560, 1588, 1560, 0, 0, 1587, 1587, - 1587, 1560, 1560, 1588, 0, 1560, 0, 0, 0, 1588, - 0, 0, 0, 1588, 0, 0, 0, 0, 1560, 1594, - 1560, 1560, 1560, 0, 0, 0, 0, 0, 1594, 1588, - 0, 0, 0, 0, 1594, 0, 0, 0, 1594, 0, - 0, 0, 0, 0, 0, 1560, 1560, 0, 1560, 1560, - 1560, 1560, 1560, 1573, 1594, 0, 0, 0, 1588, 1588, - - 1588, 1595, 1573, 0, 1573, 1573, 1573, 1573, 1573, 0, - 1595, 0, 1573, 0, 0, 0, 1595, 0, 1596, 0, - 1595, 0, 0, 1594, 1594, 1594, 1623, 1596, 1573, 0, - 0, 0, 0, 1596, 0, 1623, 1595, 1596, 0, 0, - 0, 1623, 0, 0, 0, 1623, 0, 0, 0, 0, - 0, 0, 0, 1596, 0, 0, 0, 1573, 1573, 1573, - 1576, 1623, 0, 0, 0, 1595, 1595, 1595, 0, 1576, - 0, 1576, 1576, 1576, 1576, 1576, 0, 0, 0, 1576, - 0, 0, 1596, 1596, 1596, 1624, 0, 0, 1625, 0, - 1623, 1623, 1623, 1632, 1624, 1576, 0, 1625, 0, 0, - - 1624, 0, 1632, 1625, 1624, 0, 0, 1625, 1632, 0, - 0, 0, 1632, 0, 0, 0, 0, 0, 0, 0, - 1624, 0, 0, 1625, 1576, 1576, 1576, 1619, 1632, 0, - 0, 0, 0, 0, 0, 0, 1619, 0, 1619, 1619, - 1619, 1619, 1619, 0, 0, 0, 1619, 0, 0, 1624, - 1624, 1624, 1625, 1625, 1625, 1633, 0, 1632, 1632, 1632, - 1634, 0, 1619, 0, 1633, 0, 0, 1640, 0, 1634, - 1633, 0, 0, 0, 1633, 1634, 1640, 0, 0, 1634, - 0, 0, 1640, 0, 0, 0, 1640, 0, 0, 0, - 1633, 1619, 1619, 1619, 1622, 1634, 0, 0, 0, 0, - - 0, 0, 1640, 1622, 0, 1622, 1622, 1622, 1622, 1622, - 0, 0, 0, 1622, 0, 0, 0, 0, 0, 1633, - 1633, 1633, 0, 0, 1634, 1634, 1634, 1641, 0, 1622, - 1642, 1640, 1640, 1640, 0, 0, 1641, 0, 0, 1642, - 0, 0, 1641, 0, 0, 1642, 1641, 0, 0, 1642, - 0, 0, 0, 0, 0, 0, 0, 0, 1622, 1622, - 1622, 0, 1641, 0, 0, 1642, 0, 0, 0, 0, + 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 310, 310, 310, 310, 320, 1676, 453, 1683, 327, 1684, + 1685, 454, 1690, 320, 457, 1691, 1692, 327, 1697, 320, + + 628, 628, 628, 327, 320, 412, 459, 412, 327, 412, + 412, 412, 412, 453, 493, 493, 493, 493, 458, 1698, + 1699, 320, 412, 1704, 460, 327, 1705, 454, 1706, 1710, + 454, 462, 1711, 459, 457, 1712, 464, 453, 453, 453, + 463, 412, 454, 454, 454, 457, 457, 457, 1715, 465, + 320, 320, 320, 322, 327, 327, 327, 459, 459, 459, + 460, 466, 322, 458, 322, 322, 322, 322, 322, 458, + 458, 458, 462, 322, 464, 460, 460, 460, 1716, 1717, + 463, 1718, 462, 462, 462, 465, 467, 464, 464, 464, + 322, 463, 463, 463, 1719, 468, 466, 638, 638, 638, + + 465, 465, 465, 643, 643, 643, 461, 1018, 1720, 461, + 1018, 531, 466, 466, 466, 537, 461, 1018, 1721, 322, + 322, 322, 360, 360, 360, 360, 1722, 461, 1723, 1724, + 537, 467, 360, 360, 360, 360, 468, 467, 467, 467, + 505, 505, 505, 505, 1725, 1726, 468, 468, 468, 1727, + 360, 360, 360, 360, 360, 360, 394, 1728, 1729, 394, + 1730, 394, 531, 531, 531, 394, 394, 394, 473, 394, + 473, 1731, 473, 473, 473, 473, 1732, 394, 461, 461, + 461, 537, 537, 537, 476, 473, 476, 1733, 476, 476, + 476, 476, 577, 577, 577, 577, 394, 1734, 394, 394, + + 478, 476, 478, 1735, 473, 478, 478, 478, 478, 1736, + 480, 1737, 480, 1738, 480, 480, 480, 480, 1028, 1041, + 476, 1028, 1041, 394, 394, 394, 422, 480, 1028, 1041, + 422, 422, 422, 422, 534, 1739, 1740, 543, 1741, 1742, + 422, 422, 422, 422, 1750, 484, 480, 484, 1751, 534, + 484, 484, 484, 484, 534, 679, 679, 679, 422, 422, + 422, 422, 422, 422, 456, 456, 456, 456, 456, 613, + 456, 456, 1752, 456, 456, 456, 1743, 482, 456, 482, + 456, 482, 482, 482, 482, 1758, 456, 456, 543, 543, + 543, 456, 494, 1759, 482, 1743, 494, 494, 494, 494, + + 534, 534, 534, 1760, 1761, 456, 1762, 456, 456, 456, + 497, 1763, 497, 482, 1764, 497, 497, 497, 497, 533, + 613, 613, 613, 533, 533, 533, 533, 589, 589, 589, + 589, 1765, 456, 456, 1766, 456, 456, 456, 456, 456, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 1767, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 495, 496, 1768, 496, + 1356, 496, 496, 496, 496, 625, 498, 495, 495, 495, + 495, 495, 1347, 680, 496, 498, 495, 680, 680, 680, + 495, 498, 499, 664, 664, 664, 498, 1346, 664, 500, + 1345, 499, 501, 496, 698, 698, 698, 499, 500, 495, + 1335, 501, 499, 498, 500, 506, 1334, 501, 1333, 500, + 1328, 1327, 501, 1326, 506, 512, 625, 625, 625, 499, + 506, 1317, 495, 495, 495, 506, 500, 1315, 1314, 501, + 512, 507, 498, 498, 498, 808, 808, 808, 547, 707, + + 507, 1312, 506, 707, 707, 707, 507, 1310, 499, 499, + 499, 507, 512, 547, 508, 500, 500, 500, 501, 501, + 501, 1309, 1307, 508, 674, 674, 674, 674, 507, 508, + 522, 506, 506, 506, 508, 686, 686, 686, 686, 522, + 523, 512, 512, 512, 1306, 522, 812, 812, 812, 523, + 522, 508, 1305, 524, 1304, 523, 1301, 507, 507, 507, + 523, 1300, 524, 1299, 547, 547, 547, 522, 524, 656, + 1298, 656, 1297, 524, 656, 656, 656, 523, 1296, 708, + 508, 508, 508, 708, 708, 708, 530, 530, 530, 530, + 524, 530, 530, 530, 530, 578, 522, 522, 522, 578, + + 578, 578, 578, 1288, 530, 1287, 523, 523, 523, 538, + 1286, 538, 1285, 1284, 538, 538, 538, 538, 538, 524, + 524, 524, 528, 530, 1283, 1282, 596, 1281, 1280, 528, + 1279, 528, 1278, 528, 528, 528, 528, 528, 829, 829, + 829, 596, 528, 542, 828, 542, 528, 542, 542, 542, + 542, 552, 1277, 552, 1275, 552, 552, 552, 552, 1273, + 542, 1272, 1271, 596, 1267, 528, 1266, 1265, 552, 538, + 538, 538, 833, 833, 833, 548, 1258, 548, 1257, 542, + 548, 548, 548, 548, 548, 1256, 1246, 552, 528, 528, + 528, 529, 596, 596, 596, 828, 828, 828, 529, 1244, + + 529, 1243, 529, 529, 529, 529, 529, 670, 670, 670, + 554, 529, 670, 1242, 1241, 529, 615, 1240, 1237, 554, + 615, 615, 615, 615, 555, 554, 1236, 1235, 529, 1234, + 554, 1233, 1232, 555, 529, 548, 548, 548, 1231, 555, + 692, 692, 692, 692, 555, 1227, 580, 554, 580, 1226, + 580, 580, 580, 580, 838, 838, 838, 529, 529, 529, + 535, 555, 1225, 580, 1223, 1222, 616, 535, 1221, 535, + 1220, 535, 535, 535, 535, 535, 554, 554, 554, 557, + 535, 616, 580, 1219, 535, 1217, 616, 1216, 557, 1215, + 555, 555, 555, 567, 557, 1043, 1214, 535, 1043, 557, + + 1213, 1212, 567, 535, 581, 1043, 581, 1211, 567, 581, + 581, 581, 581, 567, 1210, 1209, 557, 612, 612, 612, + 612, 1208, 612, 612, 612, 612, 535, 535, 535, 545, + 567, 1207, 616, 616, 616, 612, 545, 619, 545, 1205, + 545, 545, 545, 545, 545, 557, 557, 557, 568, 545, + 1204, 1203, 619, 545, 612, 569, 1202, 568, 1201, 567, + 567, 567, 582, 568, 569, 1200, 545, 1199, 568, 1198, + 569, 582, 545, 1197, 1190, 569, 1189, 582, 843, 843, + 843, 620, 582, 620, 1188, 568, 620, 620, 620, 620, + 620, 1187, 569, 1186, 1185, 545, 545, 545, 553, 582, + + 870, 870, 870, 619, 619, 619, 1184, 553, 1183, 553, + 553, 553, 553, 553, 568, 568, 568, 583, 553, 1182, + 1181, 569, 569, 569, 584, 1180, 583, 1179, 582, 582, + 582, 585, 583, 584, 1177, 553, 1175, 583, 1174, 584, + 585, 620, 620, 620, 584, 1173, 585, 693, 693, 693, + 693, 585, 1169, 624, 583, 624, 1168, 624, 624, 624, + 624, 584, 629, 1167, 553, 553, 553, 573, 585, 1160, + 624, 775, 775, 775, 775, 1159, 573, 629, 573, 573, + 573, 573, 573, 583, 583, 583, 590, 573, 1158, 624, + 584, 584, 584, 1045, 1148, 590, 1045, 585, 585, 585, + + 591, 590, 1146, 1045, 573, 1145, 590, 592, 1144, 591, + 1143, 691, 691, 691, 691, 591, 592, 912, 912, 912, + 591, 1142, 592, 590, 691, 1139, 1138, 592, 629, 629, + 629, 1137, 1136, 573, 573, 573, 579, 591, 788, 788, + 788, 788, 1135, 691, 592, 1134, 1133, 579, 579, 579, + 579, 579, 590, 590, 590, 1129, 579, 779, 1128, 779, + 579, 604, 779, 779, 779, 779, 591, 591, 591, 605, + 604, 1127, 1125, 592, 592, 592, 604, 606, 605, 579, + 1056, 604, 1124, 1056, 605, 1082, 606, 835, 1082, 605, + 1056, 738, 606, 1123, 738, 1082, 1122, 606, 604, 1121, + + 1119, 738, 579, 579, 579, 783, 605, 783, 783, 783, + 783, 630, 738, 630, 606, 1118, 630, 630, 630, 630, + 630, 739, 1117, 1116, 739, 1802, 1115, 604, 604, 604, + 1802, 739, 636, 836, 1802, 605, 605, 605, 835, 835, + 835, 636, 739, 606, 606, 606, 610, 636, 837, 837, + 837, 837, 636, 610, 1114, 610, 1113, 610, 610, 610, + 610, 610, 1112, 738, 738, 738, 610, 1111, 1110, 636, + 610, 630, 630, 630, 634, 1109, 634, 1107, 634, 634, + 634, 634, 1106, 1105, 836, 836, 836, 1104, 637, 610, + 1103, 634, 1102, 739, 739, 739, 639, 637, 636, 636, + + 636, 1101, 1100, 637, 1099, 639, 1079, 1078, 637, 1077, + 634, 639, 610, 610, 610, 611, 639, 892, 892, 892, + 892, 1069, 611, 1068, 611, 637, 611, 611, 611, 611, + 611, 675, 1067, 639, 866, 611, 916, 916, 916, 611, + 675, 1303, 675, 1042, 1303, 675, 675, 675, 675, 866, + 649, 1303, 611, 1040, 637, 637, 637, 650, 611, 649, + 1039, 1038, 639, 639, 639, 649, 650, 1037, 1036, 684, + 649, 684, 650, 684, 684, 684, 684, 650, 932, 1035, + 1034, 611, 611, 611, 617, 1033, 1032, 649, 933, 933, + 933, 617, 1031, 617, 650, 617, 617, 617, 617, 617, + + 866, 866, 866, 1030, 617, 685, 939, 685, 617, 685, + 685, 685, 685, 937, 937, 937, 649, 649, 649, 651, + 1029, 617, 1027, 650, 650, 650, 676, 617, 651, 932, + 932, 932, 1026, 1025, 651, 676, 676, 676, 1024, 651, + 676, 676, 676, 676, 941, 941, 941, 941, 1023, 1022, + 617, 617, 617, 627, 1021, 1020, 651, 939, 939, 939, + 627, 1019, 627, 1016, 627, 627, 627, 627, 627, 942, + 942, 942, 1006, 627, 700, 998, 700, 627, 700, 700, + 700, 700, 947, 947, 947, 651, 651, 651, 940, 990, + 627, 700, 702, 702, 702, 702, 627, 702, 702, 702, + + 702, 974, 974, 974, 989, 740, 988, 701, 740, 701, + 700, 701, 701, 701, 701, 740, 993, 993, 993, 627, + 627, 627, 635, 703, 701, 703, 740, 703, 703, 703, + 703, 635, 987, 635, 635, 635, 635, 635, 986, 940, + 940, 940, 635, 701, 741, 982, 981, 741, 742, 980, + 979, 742, 740, 744, 741, 978, 744, 977, 742, 635, + 976, 743, 975, 744, 743, 741, 994, 994, 994, 742, + 973, 743, 972, 746, 744, 971, 746, 740, 740, 740, + 1003, 958, 743, 746, 1003, 1003, 1003, 957, 635, 635, + 635, 658, 1014, 741, 746, 742, 1014, 1014, 1014, 954, + + 658, 953, 658, 658, 658, 658, 658, 857, 744, 857, + 952, 658, 857, 857, 857, 857, 741, 741, 741, 743, + 742, 742, 742, 746, 950, 744, 744, 744, 658, 1090, + 1090, 1090, 1090, 743, 743, 743, 776, 949, 776, 948, + 776, 776, 776, 776, 946, 746, 746, 746, 1108, 1108, + 1108, 745, 1311, 1323, 745, 1311, 1323, 658, 658, 658, + 682, 745, 1311, 1323, 682, 682, 682, 682, 747, 945, + 944, 747, 745, 936, 682, 682, 682, 682, 747, 935, + 961, 748, 961, 934, 748, 961, 961, 961, 961, 747, + 930, 748, 682, 682, 682, 682, 682, 682, 710, 710, + + 710, 710, 748, 929, 745, 1120, 1120, 1120, 710, 710, + 710, 710, 749, 928, 781, 749, 781, 747, 781, 781, + 781, 781, 749, 745, 745, 745, 710, 710, 710, 710, + 710, 710, 927, 749, 1321, 750, 926, 1321, 750, 1047, + 747, 747, 747, 748, 1321, 750, 1126, 1126, 1126, 751, + 806, 922, 751, 748, 748, 748, 750, 754, 970, 751, + 754, 752, 921, 920, 752, 806, 919, 754, 918, 917, + 751, 752, 1047, 970, 1092, 1092, 1092, 1092, 754, 915, + 750, 914, 752, 1321, 749, 749, 749, 806, 913, 1823, + 1047, 1047, 1047, 759, 1823, 782, 759, 782, 1823, 782, + + 782, 782, 782, 759, 1132, 1132, 1132, 750, 750, 750, + 751, 909, 908, 752, 759, 907, 806, 806, 806, 906, + 905, 751, 751, 751, 970, 970, 970, 1002, 1002, 754, + 754, 754, 1002, 752, 752, 752, 755, 755, 755, 755, + 755, 755, 755, 901, 755, 1002, 755, 755, 755, 755, + 755, 755, 755, 755, 755, 759, 900, 899, 760, 1002, + 1798, 760, 1002, 898, 1798, 759, 759, 759, 760, 1798, + 773, 897, 773, 1798, 773, 773, 773, 773, 762, 760, + 1087, 762, 1087, 1087, 1087, 1087, 1002, 773, 762, 888, + 768, 886, 885, 768, 884, 765, 883, 882, 765, 762, + + 768, 1178, 1178, 1178, 760, 765, 773, 766, 878, 999, + 766, 768, 1151, 1151, 1151, 1151, 765, 766, 999, 1325, + 999, 877, 1325, 999, 999, 999, 999, 762, 766, 1325, + 760, 760, 760, 761, 761, 761, 761, 761, 876, 761, + 761, 768, 761, 761, 761, 875, 874, 761, 1824, 761, + 762, 762, 762, 1824, 765, 761, 761, 1824, 873, 766, + 761, 872, 768, 768, 768, 871, 1325, 765, 765, 765, + 869, 868, 769, 867, 761, 769, 761, 761, 761, 766, + 766, 766, 769, 1000, 1206, 1206, 1206, 854, 853, 761, + 850, 849, 1000, 769, 1000, 848, 846, 1000, 1000, 1000, + + 1000, 761, 761, 845, 761, 761, 761, 761, 761, 767, + 767, 767, 767, 767, 770, 767, 767, 770, 767, 767, + 767, 769, 844, 767, 770, 767, 807, 1218, 1218, 1218, + 842, 767, 767, 847, 841, 770, 767, 771, 840, 1331, + 771, 807, 1331, 832, 769, 769, 769, 771, 847, 1331, + 767, 1833, 767, 767, 767, 1048, 1833, 831, 771, 767, + 1833, 830, 774, 807, 774, 826, 774, 774, 774, 774, + 847, 825, 1011, 1011, 1011, 1011, 824, 767, 767, 774, + 767, 767, 767, 767, 767, 1011, 770, 770, 770, 823, + 771, 822, 807, 807, 807, 1048, 818, 817, 774, 847, + + 847, 847, 816, 815, 1011, 814, 1048, 1048, 1048, 771, + 771, 771, 777, 777, 777, 777, 777, 777, 777, 777, + 777, 777, 777, 777, 777, 777, 777, 777, 813, 777, + 777, 777, 777, 777, 777, 777, 777, 777, 777, 777, + 777, 777, 777, 777, 777, 777, 777, 777, 777, 777, + 777, 777, 777, 777, 777, 777, 777, 777, 777, 777, + 777, 777, 777, 777, 777, 777, 777, 777, 777, 777, + 777, 777, 777, 777, 777, 777, 777, 777, 777, 777, + 777, 777, 777, 777, 777, 777, 777, 777, 778, 811, + 778, 1050, 778, 778, 778, 778, 780, 810, 780, 809, + + 780, 780, 780, 780, 785, 778, 785, 1049, 785, 785, + 785, 785, 1005, 780, 1005, 805, 1005, 1005, 1005, 1005, + 787, 785, 787, 804, 778, 787, 787, 787, 787, 787, + 1839, 1050, 780, 803, 1059, 1839, 910, 802, 1049, 1839, + 785, 786, 1050, 1050, 1050, 1224, 1224, 1224, 786, 801, + 786, 910, 786, 786, 786, 786, 786, 789, 1049, 1049, + 1049, 786, 797, 1060, 911, 786, 789, 1062, 789, 789, + 789, 789, 789, 910, 790, 1059, 796, 789, 786, 911, + 787, 787, 787, 790, 786, 1059, 1059, 1059, 795, 790, + 791, 1060, 794, 793, 790, 1062, 784, 792, 772, 791, + + 758, 911, 910, 910, 910, 791, 792, 786, 786, 786, + 791, 790, 792, 798, 1060, 1060, 1060, 792, 1062, 1062, + 1062, 757, 798, 789, 789, 789, 756, 791, 798, 799, + 911, 911, 911, 798, 792, 737, 951, 736, 799, 800, + 790, 790, 790, 735, 799, 1230, 1230, 1230, 800, 799, + 798, 951, 819, 734, 800, 733, 791, 791, 791, 800, + 732, 819, 820, 792, 792, 792, 799, 819, 1276, 1276, + 1276, 820, 819, 951, 731, 729, 800, 820, 821, 798, + 798, 798, 820, 1249, 1249, 1249, 1249, 821, 728, 819, + 1052, 1336, 727, 821, 1336, 799, 799, 799, 821, 820, + + 726, 1336, 951, 951, 951, 800, 800, 800, 851, 851, + 851, 851, 851, 724, 722, 821, 721, 852, 819, 819, + 819, 852, 852, 852, 852, 719, 1052, 718, 820, 820, + 820, 839, 717, 839, 852, 715, 839, 839, 839, 839, + 839, 1052, 1052, 1052, 821, 821, 821, 827, 1368, 1368, + 1368, 1368, 714, 852, 827, 713, 827, 712, 827, 827, + 827, 827, 827, 851, 851, 851, 1338, 827, 856, 1338, + 856, 827, 856, 856, 856, 856, 1338, 859, 859, 859, + 859, 859, 860, 711, 827, 856, 860, 860, 860, 860, + 827, 839, 839, 839, 955, 955, 955, 955, 955, 860, + + 709, 891, 861, 891, 856, 706, 891, 891, 891, 891, + 891, 861, 696, 827, 827, 827, 834, 861, 860, 695, + 1055, 694, 861, 834, 678, 834, 673, 834, 834, 834, + 834, 834, 859, 859, 859, 672, 834, 667, 666, 861, + 834, 863, 661, 863, 660, 863, 863, 863, 863, 955, + 955, 955, 1091, 659, 1091, 1091, 1091, 1091, 863, 834, + 654, 891, 891, 891, 1340, 1055, 653, 1340, 861, 861, + 861, 1055, 1055, 1055, 1340, 652, 648, 863, 1434, 1434, + 1434, 647, 834, 834, 834, 855, 855, 855, 855, 855, + 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, + + 855, 646, 855, 855, 855, 855, 855, 855, 855, 855, + 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, + 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, + 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, + 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, + 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, + 855, 862, 1842, 1329, 1842, 865, 1329, 1842, 879, 1058, + 862, 1842, 1343, 1329, 865, 1343, 862, 879, 645, 644, + 865, 862, 1343, 879, 642, 865, 880, 1341, 879, 1348, + 1341, 1882, 1348, 1882, 641, 880, 1882, 1341, 862, 1348, + + 1882, 880, 865, 1058, 893, 879, 880, 1438, 1438, 1438, + 640, 633, 1329, 893, 632, 893, 893, 893, 893, 893, + 1058, 1058, 1058, 880, 893, 631, 626, 862, 862, 862, + 864, 865, 865, 865, 879, 879, 879, 623, 622, 864, + 881, 864, 864, 864, 864, 864, 621, 1341, 1350, 881, + 864, 1350, 880, 880, 880, 881, 614, 889, 1350, 889, + 881, 889, 889, 889, 889, 609, 894, 864, 608, 607, + 893, 893, 893, 603, 889, 894, 602, 881, 956, 601, + 600, 894, 956, 956, 956, 956, 894, 1064, 599, 597, + 895, 595, 594, 889, 593, 956, 864, 864, 864, 895, + + 588, 1349, 587, 894, 1349, 895, 881, 881, 881, 887, + 895, 1349, 586, 576, 956, 575, 896, 574, 887, 572, + 887, 887, 887, 887, 887, 896, 571, 895, 902, 887, + 570, 896, 894, 894, 894, 566, 896, 902, 1064, 1064, + 1064, 565, 1339, 902, 1354, 1339, 887, 1354, 902, 564, + 1886, 903, 1339, 896, 1354, 1886, 895, 895, 895, 1886, + 903, 563, 1349, 964, 562, 902, 903, 964, 964, 964, + 964, 903, 1510, 1510, 1510, 887, 887, 887, 890, 560, + 964, 559, 896, 896, 896, 890, 558, 890, 903, 890, + 890, 890, 890, 890, 902, 902, 902, 1339, 890, 964, + + 551, 943, 890, 943, 550, 904, 943, 943, 943, 943, + 943, 549, 544, 923, 904, 890, 541, 903, 903, 903, + 904, 890, 923, 924, 540, 904, 539, 532, 923, 1086, + 527, 1086, 924, 923, 1086, 1086, 1086, 1086, 924, 925, + 526, 525, 904, 924, 890, 890, 890, 519, 925, 518, + 923, 960, 517, 960, 925, 960, 960, 960, 960, 925, + 924, 943, 943, 943, 1360, 516, 515, 1360, 960, 513, + 511, 904, 904, 904, 1360, 510, 925, 509, 504, 923, + 923, 923, 963, 963, 963, 963, 963, 960, 503, 924, + 924, 924, 502, 967, 965, 967, 492, 967, 967, 967, + + 967, 1362, 1066, 965, 1362, 925, 925, 925, 931, 965, + 967, 1362, 491, 1360, 965, 931, 1074, 931, 470, 931, + 931, 931, 931, 931, 469, 443, 1066, 966, 931, 967, + 1071, 965, 931, 1514, 1514, 1514, 966, 963, 963, 963, + 442, 440, 966, 969, 439, 931, 1352, 966, 437, 1352, + 983, 931, 969, 1066, 1066, 1066, 1352, 435, 969, 983, + 965, 965, 965, 969, 966, 983, 434, 1074, 1074, 1074, + 983, 433, 1071, 1080, 931, 931, 931, 938, 1084, 432, + 969, 1071, 1071, 1071, 938, 430, 938, 983, 938, 938, + 938, 938, 938, 966, 966, 966, 1527, 938, 1012, 1527, + + 1012, 938, 1012, 1012, 1012, 1012, 1527, 1080, 1352, 969, + 969, 969, 1084, 428, 426, 1012, 983, 983, 983, 425, + 938, 1615, 1615, 1615, 1080, 1080, 1080, 1889, 424, 1084, + 1084, 1084, 1889, 1089, 1012, 1089, 1889, 397, 1089, 1089, + 1089, 1089, 396, 938, 938, 938, 959, 959, 959, 959, + 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + 959, 959, 395, 959, 959, 959, 959, 959, 959, 959, + 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + + 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + 959, 959, 968, 377, 356, 1140, 355, 1076, 343, 984, + 342, 968, 985, 968, 968, 968, 968, 968, 984, 329, + 1140, 985, 968, 328, 984, 1359, 326, 985, 1359, 984, + 1054, 1076, 985, 1054, 1070, 1359, 325, 1070, 1532, 968, + 1054, 1532, 1140, 324, 1070, 319, 984, 1534, 1532, 985, + 1534, 1054, 318, 1536, 317, 1070, 1536, 1534, 1076, 1076, + 1076, 303, 302, 1536, 1548, 301, 290, 1548, 968, 968, + 968, 1140, 1140, 1140, 1548, 984, 984, 984, 985, 985, + + 985, 997, 1162, 1162, 1162, 1162, 1162, 1359, 1559, 289, + 997, 1559, 997, 997, 997, 997, 997, 286, 1559, 285, + 284, 997, 1054, 1054, 1054, 281, 1070, 1070, 1070, 1085, + 279, 1085, 278, 1085, 1085, 1085, 1085, 1088, 997, 1088, + 277, 1088, 1088, 1088, 1088, 1094, 1085, 1094, 255, 1094, + 1094, 1094, 1094, 254, 1088, 1890, 1141, 1162, 1162, 1162, + 1890, 253, 1094, 242, 1890, 1085, 241, 997, 997, 997, + 1004, 1141, 220, 1088, 1004, 1004, 1004, 1004, 219, 1096, + 1562, 1094, 218, 1562, 1004, 1004, 1004, 1004, 1096, 176, + 1562, 166, 164, 1141, 1096, 1661, 1661, 1661, 163, 1096, + + 1176, 162, 1004, 1004, 1004, 1004, 1004, 1004, 1007, 1007, + 161, 1007, 153, 1007, 147, 1176, 1096, 1007, 1007, 1007, + 141, 1007, 1141, 1141, 1141, 137, 128, 1940, 126, 1007, + 125, 124, 1940, 1131, 1097, 1131, 1940, 1176, 1131, 1131, + 1131, 1131, 1131, 1097, 119, 1096, 1096, 1096, 1007, 1097, + 1007, 1007, 116, 115, 1097, 1565, 1147, 114, 1565, 110, + 1147, 1147, 1147, 1147, 106, 1565, 1176, 1176, 1176, 104, + 103, 1097, 102, 1147, 97, 1007, 1007, 1007, 1008, 1008, + 93, 1008, 92, 1008, 91, 84, 81, 1008, 1008, 1008, + 80, 1008, 1147, 1131, 1131, 1131, 1098, 79, 72, 1008, + + 1097, 1097, 1097, 1543, 66, 1098, 65, 1679, 1153, 64, + 1679, 1098, 1153, 1153, 1153, 1153, 1098, 1679, 1008, 50, + 1008, 1008, 1369, 46, 1369, 1153, 1369, 1369, 1369, 1369, + 37, 36, 33, 1098, 32, 1192, 31, 1192, 0, 1192, + 1192, 1192, 1192, 0, 1153, 1008, 1008, 1008, 1015, 1015, + 1015, 1015, 1192, 1238, 1543, 1543, 1543, 0, 1015, 1015, + 1015, 1015, 1098, 1098, 1098, 0, 0, 0, 1238, 0, + 1577, 1192, 1577, 1577, 1577, 1577, 1015, 1015, 1015, 1015, + 1015, 1015, 1051, 1051, 1051, 1051, 1051, 0, 1051, 1051, + 1238, 1051, 1051, 1051, 1551, 1245, 1051, 0, 1051, 1245, + + 1245, 1245, 1245, 0, 1051, 1051, 0, 0, 0, 1051, + 0, 1370, 1245, 1370, 0, 1370, 1370, 1370, 1370, 1238, + 1238, 1238, 0, 1051, 1572, 1051, 1051, 1051, 1150, 1152, + 1150, 1245, 1051, 1150, 1150, 1150, 1150, 1150, 1152, 0, + 1152, 1152, 1152, 1152, 1152, 1551, 1551, 1551, 0, 1152, + 1051, 1051, 0, 1051, 1051, 1051, 1051, 1051, 1053, 1053, + 1053, 1053, 1053, 1713, 1053, 1053, 1713, 1053, 1053, 1053, + 0, 0, 1053, 1713, 1053, 1572, 1572, 1572, 0, 0, + 1053, 1053, 0, 1745, 1753, 1053, 1745, 1753, 1150, 1150, + 1150, 0, 0, 1745, 1753, 1152, 1152, 1152, 0, 1053, + + 0, 1053, 1053, 1053, 1229, 1154, 1229, 1561, 0, 1229, + 1229, 1229, 1229, 1229, 1154, 0, 1295, 1295, 1295, 1295, + 1154, 1295, 1295, 1295, 1295, 1154, 1053, 1053, 0, 1053, + 1053, 1053, 1053, 1053, 1061, 1061, 1061, 1061, 1061, 1681, + 1061, 1061, 1154, 1061, 1061, 1061, 1557, 0, 1061, 0, + 1061, 0, 1561, 0, 0, 0, 1061, 1061, 1561, 1561, + 1561, 1061, 0, 0, 1229, 1229, 1229, 0, 0, 0, + 0, 1154, 1154, 1154, 0, 1061, 1945, 1061, 1061, 1061, + 1155, 1945, 0, 0, 0, 1945, 0, 1557, 0, 1155, + 1681, 1681, 1681, 0, 0, 1155, 0, 1557, 1557, 1557, + + 1155, 0, 1061, 1061, 0, 1061, 1061, 1061, 1061, 1061, + 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1155, 1065, 0, + 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1072, + 1072, 1072, 1072, 1072, 0, 1072, 1072, 0, 1072, 1072, + 1072, 0, 1567, 1072, 0, 1072, 1155, 1155, 1155, 0, + 0, 1072, 1072, 1828, 1251, 0, 1072, 1828, 1251, 1251, + 1251, 1251, 1828, 0, 0, 0, 1828, 0, 0, 0, + 1072, 1251, 1072, 1072, 1072, 0, 1156, 0, 0, 0, + 0, 0, 1294, 1567, 1294, 1156, 1294, 1294, 1294, 1294, + 1251, 1156, 0, 1567, 1567, 1567, 1156, 1072, 1072, 1294, + + 1072, 1072, 1072, 1072, 1072, 1081, 1081, 1081, 1081, 1081, + 0, 1081, 1081, 1156, 1081, 1081, 1081, 0, 1294, 1081, + 1157, 1081, 1892, 0, 0, 1892, 0, 1081, 1081, 1157, + 1892, 0, 1081, 0, 1892, 1157, 0, 0, 0, 0, + 1157, 0, 1156, 1156, 1156, 1161, 1081, 1688, 1081, 1081, + 1081, 1695, 1163, 1946, 1161, 1881, 0, 1157, 1946, 1881, + 1161, 1163, 1946, 0, 1881, 1161, 1988, 1163, 1881, 0, + 1239, 1988, 1163, 1081, 1081, 1988, 1081, 1081, 1081, 1081, + 1081, 1093, 1161, 0, 0, 1239, 1157, 1157, 1157, 1163, + 0, 0, 1093, 1093, 1093, 1093, 1093, 0, 1688, 1688, + + 1688, 1093, 1695, 1695, 1695, 1093, 1164, 1239, 0, 0, + 0, 1161, 1161, 1161, 1166, 1164, 0, 0, 1163, 1163, + 1163, 1164, 1989, 1166, 1093, 0, 1164, 1989, 0, 1166, + 1883, 1989, 1883, 0, 1166, 1883, 1239, 1239, 1239, 1883, + 0, 0, 1702, 1164, 0, 0, 0, 1093, 1093, 1093, + 1095, 1166, 1260, 1260, 1260, 1260, 1260, 0, 0, 1095, + 1708, 1095, 1095, 1095, 1095, 1095, 0, 0, 0, 1170, + 1095, 1748, 1164, 1164, 1164, 0, 0, 0, 1170, 0, + 1166, 1166, 1166, 1171, 1170, 0, 0, 1095, 0, 1170, + 0, 2042, 1171, 1702, 1702, 1702, 2042, 0, 1171, 0, + + 2042, 0, 0, 1171, 0, 2043, 1170, 1260, 1260, 1260, + 2043, 1708, 1708, 1708, 2043, 0, 1095, 1095, 1095, 1130, + 1171, 0, 1748, 1748, 1748, 0, 1130, 1274, 1130, 0, + 1130, 1130, 1130, 1130, 1130, 1170, 1170, 1170, 1172, 1130, + 0, 0, 1274, 1130, 0, 1194, 0, 1172, 0, 1171, + 1171, 1171, 1195, 1172, 1194, 0, 1130, 0, 1172, 0, + 1194, 1195, 1130, 0, 1274, 1194, 0, 1195, 0, 0, + 0, 1248, 1195, 1248, 0, 1172, 1248, 1248, 1248, 1248, + 1248, 0, 1194, 0, 0, 1130, 1130, 1130, 1165, 1195, + 0, 0, 0, 1274, 1274, 1274, 0, 1165, 0, 1165, + + 1165, 1165, 1165, 1165, 1172, 1172, 1172, 1196, 1165, 1756, + 0, 1194, 1194, 1194, 0, 0, 1196, 0, 1195, 1195, + 1195, 0, 1196, 0, 0, 1165, 1250, 1196, 0, 0, + 0, 1248, 1248, 1248, 0, 1250, 0, 1250, 1250, 1250, + 1250, 1250, 0, 1252, 1196, 0, 1250, 1389, 1389, 1389, + 1389, 1389, 1252, 0, 1165, 1165, 1165, 1191, 1252, 0, + 1756, 1756, 1756, 1252, 0, 0, 0, 0, 1191, 1191, + 1191, 1191, 1191, 1196, 1196, 1196, 1253, 1191, 0, 0, + 1252, 1191, 0, 0, 0, 1253, 0, 0, 0, 0, + 0, 1253, 1250, 1250, 1250, 0, 1253, 0, 0, 1254, + + 1191, 0, 1389, 1389, 1389, 0, 0, 0, 1254, 1252, + 1252, 1252, 1255, 1253, 1254, 0, 0, 0, 1432, 1254, + 0, 1255, 0, 1191, 1191, 1191, 1193, 1255, 0, 0, + 0, 0, 1255, 1432, 0, 1193, 1254, 1193, 1193, 1193, + 1193, 1193, 1253, 1253, 1253, 0, 1193, 0, 0, 1255, + 0, 0, 1769, 1769, 1769, 1432, 0, 0, 0, 0, + 0, 1259, 0, 1193, 0, 1254, 1254, 1254, 1261, 0, + 1259, 1769, 1769, 1769, 1769, 0, 1259, 1261, 1255, 1255, + 1255, 1259, 0, 1261, 1432, 1432, 1432, 0, 1261, 0, + 0, 0, 1193, 1193, 1193, 1228, 0, 0, 1259, 0, + + 0, 0, 1228, 1262, 1228, 1261, 1228, 1228, 1228, 1228, + 1228, 1264, 1262, 0, 0, 1228, 0, 0, 1262, 1228, + 1264, 0, 0, 1262, 0, 0, 1264, 1259, 1259, 1259, + 1268, 1264, 1228, 0, 1261, 1261, 1261, 1269, 1228, 1268, + 1262, 0, 0, 0, 0, 1268, 1269, 0, 1264, 0, + 1268, 0, 1269, 0, 0, 0, 0, 1269, 0, 0, + 0, 1228, 1228, 1228, 0, 0, 0, 1268, 0, 1262, + 1262, 1262, 1263, 0, 1269, 0, 0, 1264, 1264, 1264, + 1270, 1263, 0, 1263, 1263, 1263, 1263, 1263, 0, 1270, + 0, 0, 1263, 0, 0, 1270, 1268, 1268, 1268, 0, + + 1270, 0, 0, 1269, 1269, 1269, 1372, 0, 1372, 1263, + 0, 1372, 1372, 1372, 1372, 1372, 1388, 1270, 1388, 0, + 1433, 1388, 1388, 1388, 1388, 1388, 0, 1390, 0, 0, + 0, 1390, 1390, 1390, 1390, 1433, 0, 0, 1263, 1263, + 1263, 0, 0, 0, 1390, 0, 1270, 1270, 1270, 1289, + 1289, 0, 1289, 0, 1289, 0, 0, 1433, 1289, 1289, + 1289, 0, 1289, 1390, 0, 0, 1372, 1372, 1372, 0, + 1289, 0, 0, 0, 0, 0, 1388, 1388, 1388, 0, + 0, 1398, 1398, 1398, 1398, 1398, 1433, 1433, 1433, 1289, + 1508, 1289, 1289, 0, 0, 1399, 0, 0, 0, 1399, + + 1399, 1399, 1399, 0, 0, 1508, 0, 0, 0, 0, + 0, 0, 1399, 0, 0, 0, 1289, 1289, 1289, 1318, + 1318, 1318, 1318, 1318, 0, 1318, 1318, 1508, 1318, 1318, + 1318, 1399, 0, 1318, 0, 1318, 1398, 1398, 1398, 0, + 0, 1318, 1318, 0, 1400, 0, 1318, 0, 1400, 1400, + 1400, 1400, 0, 0, 0, 0, 1508, 1508, 1508, 0, + 1318, 1400, 1318, 1318, 1318, 0, 1401, 0, 1415, 1415, + 1415, 1415, 1415, 0, 0, 1401, 0, 0, 0, 0, + 1400, 1401, 0, 0, 0, 0, 1401, 1318, 1318, 0, + 1318, 1318, 1318, 1318, 1318, 1319, 1319, 1319, 1319, 1319, + + 0, 1319, 0, 1401, 1319, 1319, 1319, 0, 0, 1319, + 0, 1319, 0, 0, 0, 0, 0, 1319, 1319, 0, + 0, 0, 1319, 1415, 1415, 1415, 0, 0, 0, 0, + 0, 0, 1401, 1401, 1401, 0, 1319, 0, 1319, 1402, + 1319, 0, 1403, 0, 0, 0, 0, 0, 1402, 0, + 0, 1403, 0, 0, 1402, 0, 0, 1403, 0, 1402, + 0, 0, 1403, 1319, 1319, 0, 1319, 1319, 1319, 1319, + 1319, 1320, 1320, 1320, 1320, 1320, 1402, 1320, 1320, 1403, + 1320, 1320, 1320, 0, 1466, 1320, 0, 1320, 1466, 1466, + 1466, 1466, 0, 1320, 1320, 0, 0, 0, 1320, 0, + + 0, 1466, 0, 0, 0, 1402, 1402, 1402, 1403, 1403, + 1403, 0, 1320, 0, 1320, 1320, 1320, 1409, 0, 0, + 1466, 0, 0, 0, 0, 0, 1409, 0, 0, 0, + 0, 0, 1409, 0, 0, 0, 0, 1409, 0, 1320, + 1320, 0, 1320, 1320, 1320, 1320, 1320, 1324, 1324, 1324, + 1324, 1324, 1324, 1324, 1409, 1324, 0, 1324, 1324, 1324, + 1324, 1324, 1324, 1324, 1324, 1324, 1367, 1367, 1367, 1367, + 1367, 0, 1367, 1367, 0, 1367, 1367, 1367, 0, 0, + 1367, 0, 1367, 1409, 1409, 1409, 0, 0, 1367, 1367, + 0, 1475, 0, 1367, 0, 1475, 1475, 1475, 1475, 0, + + 0, 0, 0, 0, 0, 0, 1410, 1367, 1475, 1367, + 1367, 1367, 0, 0, 0, 1410, 0, 0, 0, 0, + 0, 1410, 0, 0, 0, 0, 1410, 1475, 0, 0, + 0, 0, 0, 0, 1367, 1367, 0, 1367, 1367, 1367, + 1367, 1367, 1371, 1410, 1465, 1465, 1465, 1465, 1465, 1371, + 0, 1371, 0, 1371, 1371, 1371, 1371, 1371, 0, 0, + 0, 1411, 1371, 0, 0, 0, 1371, 0, 0, 0, + 1411, 0, 1410, 1410, 1410, 1416, 1411, 0, 0, 1371, + 0, 1411, 0, 0, 1416, 1371, 0, 0, 0, 0, + 1416, 0, 0, 0, 0, 1416, 0, 0, 1411, 1465, + + 1465, 1465, 0, 0, 0, 0, 0, 0, 1371, 1371, + 1371, 1387, 1416, 1474, 1474, 1474, 1474, 1474, 1387, 0, + 1387, 0, 1387, 1387, 1387, 1387, 1387, 1411, 1411, 1411, + 1417, 1387, 0, 0, 0, 1387, 0, 1418, 0, 1417, + 0, 1416, 1416, 1416, 1424, 1417, 1418, 1509, 1387, 0, + 1417, 1425, 1418, 1424, 1387, 0, 0, 1418, 0, 1424, + 1425, 0, 1509, 0, 1424, 0, 1425, 1417, 1474, 1474, + 1474, 1425, 0, 0, 1418, 0, 0, 1387, 1387, 1387, + 0, 1424, 0, 0, 1509, 1448, 1426, 1448, 1425, 0, + 1448, 1448, 1448, 1448, 1448, 1426, 1417, 1417, 1417, 0, + + 0, 1426, 0, 1418, 1418, 1418, 1426, 0, 0, 0, + 1424, 1424, 1424, 1509, 1509, 1509, 0, 1425, 1425, 1425, + 1464, 1570, 1464, 1426, 1570, 1464, 1464, 1464, 1464, 1464, + 1693, 1570, 0, 1693, 0, 0, 0, 0, 0, 0, + 1693, 1477, 1570, 0, 0, 1448, 1448, 1448, 0, 0, + 1477, 1693, 1426, 1426, 1426, 1447, 1477, 0, 0, 0, + 0, 1477, 1447, 0, 1447, 0, 1447, 1447, 1447, 1447, + 1447, 0, 0, 0, 0, 1447, 0, 0, 1477, 1447, + 1464, 1464, 1464, 1476, 0, 0, 0, 1476, 1476, 1476, + 1476, 0, 1447, 1570, 1570, 1570, 0, 1478, 1447, 0, + + 1476, 0, 1693, 1693, 1693, 1479, 1478, 1477, 1477, 1477, + 0, 0, 1478, 0, 1479, 0, 0, 1478, 0, 1476, + 1479, 1447, 1447, 1447, 1463, 1479, 1491, 1491, 1491, 1491, + 1491, 1463, 1485, 1463, 1478, 1463, 1463, 1463, 1463, 1463, + 1486, 1485, 1479, 0, 1463, 0, 0, 1485, 1463, 1486, + 0, 0, 1485, 0, 0, 1486, 0, 0, 0, 1487, + 1486, 1463, 0, 1478, 1478, 1478, 0, 1463, 1487, 1485, + 0, 1479, 1479, 1479, 1487, 0, 0, 1486, 0, 1487, + 0, 1491, 1491, 1491, 0, 0, 0, 0, 0, 0, + 1463, 1463, 1463, 0, 1492, 0, 1487, 0, 1485, 1485, + + 1485, 1493, 0, 1492, 1494, 0, 1486, 1486, 1486, 1492, + 1493, 0, 0, 1494, 1492, 0, 1493, 0, 0, 1494, + 1500, 1493, 0, 0, 1494, 1487, 1487, 1487, 1501, 1500, + 0, 1492, 0, 0, 0, 1500, 1502, 1501, 1493, 0, + 1500, 1494, 0, 1501, 0, 1502, 0, 0, 1501, 0, + 0, 1502, 0, 0, 0, 0, 1502, 1500, 0, 0, + 1492, 1492, 1492, 0, 0, 1501, 0, 1493, 1493, 1493, + 1494, 1494, 1494, 1502, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1500, 1500, 1500, 0, + 0, 0, 0, 0, 1501, 1501, 1501, 0, 0, 0, + + 0, 0, 1502, 1502, 1502, 1544, 1544, 1544, 1544, 1544, + 1544, 1544, 0, 1544, 0, 1544, 1544, 1544, 1544, 1544, + 1544, 1544, 1544, 1544, 1556, 1556, 1556, 1556, 1556, 0, + 1556, 1556, 0, 1556, 1556, 1556, 0, 0, 1556, 0, + 1556, 0, 0, 0, 0, 0, 1556, 1556, 0, 0, + 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1556, 0, 1556, 1556, 1556, + 0, 1586, 0, 0, 0, 0, 0, 0, 0, 0, + 1586, 0, 0, 0, 0, 0, 1586, 0, 0, 0, + 0, 1586, 1556, 1556, 0, 1556, 1556, 1556, 1556, 1556, + + 1558, 1558, 1558, 1558, 1558, 0, 1558, 1558, 1586, 1558, + 1558, 1558, 0, 0, 1558, 0, 1558, 0, 0, 0, + 0, 0, 1558, 1558, 0, 0, 0, 1558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1586, 1586, 1586, + 0, 1558, 0, 1558, 1558, 1558, 0, 1587, 0, 0, + 0, 0, 0, 0, 0, 0, 1587, 0, 0, 0, + 0, 0, 1587, 0, 0, 0, 0, 1587, 1558, 1558, + 0, 1558, 1558, 1558, 1558, 1558, 1564, 1564, 1564, 1564, + 1564, 0, 1564, 1564, 1587, 1564, 1564, 1564, 0, 0, + 1564, 0, 1564, 0, 0, 0, 0, 0, 1564, 1564, + + 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1587, 1587, 1587, 0, 1564, 0, 1564, + 1564, 1564, 0, 1588, 0, 0, 0, 0, 0, 0, + 0, 0, 1588, 0, 0, 0, 0, 0, 1588, 0, + 0, 0, 0, 1588, 1564, 1564, 0, 1564, 1564, 1564, + 1564, 1564, 1568, 1568, 1568, 1568, 1568, 0, 1568, 1568, + 1588, 1568, 1568, 1568, 0, 0, 1568, 0, 1568, 0, + 0, 0, 0, 0, 1568, 1568, 0, 0, 0, 1568, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1588, + 1588, 1588, 0, 1568, 0, 1568, 1568, 1568, 0, 1595, + + 0, 0, 0, 0, 0, 0, 0, 0, 1595, 0, + 0, 0, 0, 0, 1595, 0, 0, 0, 0, 1595, + 1568, 1568, 0, 1568, 1568, 1568, 1568, 1568, 1569, 1569, + 1569, 1569, 1569, 0, 1569, 1569, 1595, 1569, 1569, 1569, + 0, 0, 1569, 1596, 1569, 0, 0, 0, 0, 0, + 1569, 1569, 1596, 0, 0, 1569, 0, 0, 1596, 0, + 0, 1597, 0, 1596, 0, 1595, 1595, 1595, 1603, 1569, + 1597, 1569, 1569, 1569, 0, 0, 1597, 1603, 0, 0, + 1596, 1597, 0, 1603, 0, 0, 0, 0, 1603, 0, + 0, 0, 0, 0, 0, 0, 1569, 1569, 1597, 1569, + + 1569, 1569, 1569, 1569, 1582, 1603, 0, 0, 0, 1596, + 1596, 1596, 0, 1582, 0, 1582, 1582, 1582, 1582, 1582, + 0, 0, 0, 1604, 1582, 0, 0, 1597, 1597, 1597, + 1605, 0, 1604, 0, 1603, 1603, 1603, 1632, 1604, 1605, + 0, 1582, 0, 1604, 0, 1605, 1632, 0, 0, 0, + 1605, 0, 1632, 0, 0, 0, 0, 1632, 0, 0, + 1604, 0, 0, 0, 0, 0, 0, 1605, 0, 0, + 1582, 1582, 1582, 1585, 1632, 0, 0, 0, 0, 0, + 0, 0, 1585, 0, 1585, 1585, 1585, 1585, 1585, 1604, + 1604, 1604, 1633, 1585, 0, 0, 1605, 1605, 1605, 1634, + + 0, 1633, 0, 1632, 1632, 1632, 1641, 1633, 1634, 0, + 1585, 0, 1633, 0, 1634, 1641, 0, 0, 0, 1634, + 0, 1641, 0, 0, 0, 0, 1641, 0, 0, 1633, + 0, 0, 0, 0, 0, 0, 1634, 0, 0, 1585, + 1585, 1585, 1628, 1641, 0, 0, 0, 0, 0, 0, + 0, 1628, 0, 1628, 1628, 1628, 1628, 1628, 1633, 1633, + 1633, 1642, 1628, 0, 0, 1634, 1634, 1634, 1643, 0, + 1642, 0, 1641, 1641, 1641, 1649, 1642, 1643, 0, 1628, + 0, 1642, 0, 1643, 1649, 0, 0, 0, 1643, 0, + 1649, 0, 0, 0, 0, 1649, 0, 0, 1642, 0, + + 0, 0, 0, 0, 0, 1643, 0, 0, 1628, 1628, + 1628, 1631, 1649, 0, 0, 0, 0, 0, 0, 0, + 1631, 0, 1631, 1631, 1631, 1631, 1631, 1642, 1642, 1642, + 1650, 1631, 0, 0, 1643, 1643, 1643, 1651, 0, 1650, + 0, 1649, 1649, 1649, 0, 1650, 1651, 0, 1631, 0, + 1650, 0, 1651, 0, 0, 0, 0, 1651, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1650, 0, 0, + 0, 0, 0, 0, 1651, 0, 0, 1631, 1631, 1631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1650, 1650, 1650, 0, + + 0, 0, 0, 1651, 1651, 1651, 1686, 1686, 1686, 1686, + 1686, 0, 1686, 1686, 0, 1686, 1686, 1686, 0, 0, + 1686, 0, 1686, 0, 0, 0, 0, 0, 1686, 1686, + 0, 0, 0, 1686, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1686, 0, 1686, + 1686, 1686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1641, 1641, 1641, 1642, 1642, 1642, 1677, 1677, 1677, + 0, 0, 0, 0, 1686, 1686, 0, 1686, 1686, 1686, + 1686, 1686, 1700, 1700, 1700, 1700, 1700, 0, 1700, 1700, + 0, 1700, 1700, 1700, 0, 0, 1700, 0, 1700, 0, - 1677, 1677, 0, 1677, 1677, 0, 1677, 1677, 1677, 0, - 0, 1677, 0, 1677, 0, 0, 0, 0, 0, 1677, - 1677, 0, 0, 1677, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1677, 0, 1677, 1677, - 1677, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1700, 1700, 0, 0, 0, 1700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1677, 1677, 0, 1677, 1677, 1677, 1677, - 1677, 1691, 1691, 1691, 1691, 1691, 0, 1691, 1691, 0, - 1691, 1691, 1691, 0, 0, 1691, 0, 1691, 0, 0, - 0, 0, 0, 1691, 1691, 0, 0, 1691, 0, 0, - + 0, 0, 0, 1700, 0, 1700, 1700, 1700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1691, 0, 1691, 1691, 1691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1691, 1691, 0, - 1691, 1691, 1691, 1691, 1691, 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, 1768, - 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, - 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, - 1768, 1769, 1769, 1769, 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, - 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, - 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1771, - 1771, 0, 0, 0, 1771, 1771, 1771, 1771, 1771, 1771, - - 1771, 1771, 1771, 1771, 1771, 1771, 1771, 0, 1771, 1771, - 1771, 1771, 1771, 1772, 1772, 0, 1772, 0, 0, 0, - 1772, 0, 1772, 1772, 1773, 1773, 0, 0, 1773, 1773, - 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, - 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1774, 1774, + 1700, 1700, 0, 1700, 1700, 1700, 1700, 1700, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, - 1774, 1774, 1775, 0, 1775, 0, 0, 1775, 1775, 0, - 1775, 0, 1775, 1775, 0, 1775, 1775, 1775, 1775, 1775, - 1775, 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, 0, 0, - 1777, 1777, 0, 0, 1777, 0, 1777, 1777, 1777, 1778, - 0, 1778, 0, 0, 1778, 1778, 0, 1778, 1778, 1778, - 1778, 0, 1778, 1778, 1778, 1778, 1778, 1778, 1779, 0, - 1779, 0, 0, 1779, 1779, 0, 1779, 1779, 1779, 1779, - 0, 1779, 1779, 1779, 1779, 1779, 1779, 1780, 0, 1780, - 0, 0, 1780, 1780, 0, 0, 1780, 1780, 1780, 0, - 0, 1780, 0, 1780, 1780, 1780, 1781, 1781, 1781, 1781, - 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, - - 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, - 1782, 0, 0, 0, 1782, 0, 1782, 1782, 1783, 1783, - 1783, 0, 1783, 1783, 0, 0, 1783, 0, 0, 1783, - 1783, 1783, 1783, 1783, 1784, 0, 0, 0, 0, 1784, - 0, 1784, 1784, 0, 0, 1784, 0, 1784, 1784, 1784, - 0, 1784, 1784, 1784, 0, 1784, 1784, 1784, 1785, 1785, - 0, 0, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, + 1774, 1774, 1774, 1774, 1774, 1774, 1775, 1775, 1775, 1775, + 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, + + 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, + 1775, 1775, 1775, 1775, 1776, 1776, 1776, 1776, 1776, 1776, + 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, + 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, + 1776, 1776, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, + 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, + 1777, 1777, 1777, 1777, 1777, 1777, 1777, 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, 1778, 1778, 1778, 1778, 1779, 1779, + + 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, + 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, + 1779, 1779, 1779, 1779, 1779, 1779, 1780, 1780, 0, 0, + 0, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, + 1780, 1780, 1780, 1780, 1780, 0, 1780, 1780, 1780, 1780, + 1780, 1780, 1780, 1780, 1781, 1781, 0, 1781, 0, 0, + 0, 0, 1781, 1781, 1781, 0, 1781, 1781, 1782, 1782, + 0, 0, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, + 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, + 1782, 1782, 1782, 1782, 1782, 1782, 1783, 1783, 1783, 1783, + + 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, + 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, + 1783, 1783, 1783, 1783, 1784, 0, 1784, 0, 0, 1784, + 1784, 0, 1784, 0, 1784, 1784, 0, 1784, 1784, 1784, + 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1785, 0, 1785, + 0, 0, 1785, 1785, 0, 1785, 0, 1785, 1785, 0, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, - 1785, 1785, 1786, 1786, 0, 1786, 1786, 1786, 1786, 1786, - 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, - - 1786, 1786, 1786, 1786, 1786, 1786, 1787, 1787, 0, 1787, - 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, - 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, - 1788, 1788, 1788, 1788, 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, 0, 1790, 1790, 1790, 0, 0, 1790, 1790, - 1790, 1790, 1790, 1791, 1791, 0, 1791, 0, 0, 0, - 1791, 0, 1791, 1791, 1792, 1792, 0, 0, 1792, 1792, - 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, - - 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 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, 0, 1795, 0, 1795, 1795, 0, - 1795, 1795, 1795, 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, 0, 0, 1797, 1797, 0, 0, 1797, - 0, 1797, 1797, 1797, 1798, 0, 1798, 0, 0, 1798, - 1798, 0, 1798, 0, 1798, 1798, 0, 1798, 1798, 1798, - - 1798, 1798, 1798, 1799, 0, 1799, 0, 0, 1799, 1799, - 1799, 1799, 0, 1799, 1799, 0, 1799, 1799, 0, 1799, - 1799, 1799, 1800, 0, 1800, 0, 0, 1800, 1800, 0, - 1800, 0, 1800, 1800, 0, 1800, 1800, 1800, 1800, 1800, - 1800, 1801, 0, 1801, 0, 0, 1801, 1801, 0, 1801, - 0, 1801, 1801, 0, 1801, 1801, 1801, 1801, 1801, 1801, - 1802, 0, 1802, 0, 0, 1802, 1802, 0, 0, 0, - 1802, 0, 0, 0, 1802, 1802, 1802, 1802, 1802, 1803, - 0, 1803, 0, 0, 1803, 1803, 0, 1803, 0, 1803, - 1803, 0, 1803, 1803, 1803, 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, 0, 1805, 1805, 1805, 1805, 0, - 1805, 1805, 1805, 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, 0, 1807, 1807, 1807, 0, 0, 1807, - 0, 1807, 1807, 1807, 1808, 0, 1808, 0, 0, 1808, - 1808, 0, 1808, 1808, 1808, 1808, 0, 1808, 1808, 1808, - 1808, 1808, 1808, 1809, 0, 1809, 0, 0, 1809, 1809, - - 1809, 1809, 1809, 1809, 1809, 0, 1809, 1809, 0, 1809, - 1809, 1809, 1810, 0, 1810, 0, 0, 1810, 1810, 0, - 1810, 1810, 1810, 1810, 0, 1810, 1810, 1810, 1810, 1810, - 1810, 1811, 0, 1811, 0, 0, 1811, 1811, 0, 1811, - 1811, 1811, 1811, 0, 1811, 1811, 1811, 1811, 1811, 1811, - 1812, 0, 1812, 0, 0, 1812, 1812, 0, 0, 1812, - 1812, 0, 0, 0, 1812, 1812, 1812, 1812, 1812, 1813, - 0, 1813, 0, 0, 1813, 1813, 0, 1813, 1813, 1813, - 1813, 0, 1813, 1813, 1813, 1813, 1813, 1813, 1816, 0, - 0, 0, 1816, 0, 1816, 1816, 1817, 0, 0, 0, - - 1817, 0, 1817, 1817, 1819, 1819, 1819, 1819, 1819, 1819, - 1819, 1819, 1819, 1819, 1819, 1819, 1819, 0, 1819, 1819, - 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1820, 1820, - 0, 1820, 0, 0, 0, 1820, 0, 1820, 1820, 1821, - 0, 0, 0, 0, 1821, 0, 1821, 1821, 0, 0, - 1821, 0, 1821, 1821, 1821, 0, 1821, 1821, 1821, 0, - 1821, 1821, 1821, 1822, 1822, 0, 0, 1822, 1822, 1822, - 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, - 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1824, 1824, 0, - 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, - - 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, - 1824, 1825, 1825, 0, 0, 0, 1825, 1825, 1825, 1825, - 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 0, - 1825, 1825, 1825, 1825, 1825, 1826, 1826, 1826, 1826, 1826, - 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, - 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1827, - 0, 0, 0, 1827, 0, 1827, 1827, 1828, 0, 0, - 1828, 0, 0, 0, 1828, 0, 1828, 1828, 1830, 0, - 1830, 0, 0, 1830, 1830, 0, 0, 1830, 1830, 1830, - 0, 0, 1830, 1830, 1830, 1830, 1830, 1831, 0, 1831, - - 0, 0, 0, 1831, 0, 1831, 1831, 1833, 0, 1833, - 0, 0, 1833, 1833, 0, 0, 0, 1833, 1833, 0, - 1833, 1833, 0, 1833, 1833, 1833, 1834, 0, 1834, 0, - 0, 1834, 1834, 0, 1834, 0, 1834, 1834, 0, 1834, - 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, 1837, 0, 1837, 1837, 0, 1837, 1837, 1837, 1837, - - 1837, 1837, 1838, 0, 1838, 0, 0, 1838, 1838, 0, - 0, 0, 1838, 1838, 0, 0, 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, 1840, 0, - 1840, 1840, 0, 1840, 1840, 1840, 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, 0, 0, 1842, 1842, - 0, 0, 1842, 1842, 1842, 1842, 1842, 1843, 0, 1843, - - 0, 0, 1843, 1843, 1843, 1843, 0, 1843, 1843, 0, - 1843, 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, 0, 0, 1845, 1845, 0, 0, 1845, - 0, 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, 1847, 0, 1847, 1847, 0, 1847, 1847, 1847, 1847, - 1847, 1847, 1848, 0, 1848, 0, 0, 1848, 1848, 0, - - 0, 0, 1848, 0, 0, 0, 1848, 1848, 1848, 1848, - 1848, 1849, 0, 1849, 0, 0, 1849, 1849, 0, 0, - 0, 1849, 0, 0, 0, 1849, 1849, 1849, 1849, 1849, - 1850, 0, 1850, 0, 0, 1850, 1850, 0, 1850, 0, - 1850, 1850, 0, 1850, 1850, 1850, 1850, 1850, 1850, 1851, - 0, 1851, 0, 0, 1851, 1851, 0, 1851, 0, 1851, - 1851, 0, 1851, 1851, 1851, 1851, 1851, 1851, 1852, 0, - 1852, 0, 0, 1852, 1852, 0, 0, 1852, 1852, 1852, - 0, 1852, 1852, 0, 1852, 1852, 1852, 1853, 0, 1853, - 0, 0, 1853, 1853, 0, 1853, 1853, 1853, 1853, 0, - - 1853, 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, 1856, 1856, 1856, 1856, 0, 1856, 1856, 1856, - 1856, 1856, 1856, 1857, 0, 1857, 0, 0, 1857, 1857, - 0, 0, 1857, 1857, 1857, 0, 0, 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, 1859, - 1859, 1859, 1859, 0, 1859, 1859, 1859, 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, 0, 1861, 1861, - 1861, 0, 0, 1861, 1861, 1861, 1861, 1861, 1862, 0, - 1862, 0, 0, 1862, 1862, 1862, 1862, 1862, 1862, 1862, - 0, 1862, 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, 0, 1864, 1864, 1864, 0, 0, - 1864, 0, 1864, 1864, 1864, 1865, 0, 1865, 0, 0, - 1865, 1865, 0, 1865, 1865, 1865, 1865, 0, 1865, 1865, - 1865, 1865, 1865, 1865, 1866, 0, 1866, 0, 0, 1866, - 1866, 0, 1866, 1866, 1866, 1866, 0, 1866, 1866, 1866, - 1866, 1866, 1866, 1867, 0, 1867, 0, 0, 1867, 1867, - 0, 0, 1867, 1867, 0, 0, 0, 1867, 1867, 1867, - 1867, 1867, 1868, 0, 1868, 0, 0, 1868, 1868, 0, - 0, 1868, 1868, 0, 0, 0, 1868, 1868, 1868, 1868, - 1868, 1869, 0, 1869, 0, 0, 1869, 1869, 0, 1869, - - 1869, 1869, 1869, 0, 1869, 1869, 1869, 1869, 1869, 1869, - 1870, 0, 1870, 0, 0, 1870, 1870, 0, 1870, 1870, - 1870, 1870, 0, 1870, 1870, 1870, 1870, 1870, 1870, 1874, - 0, 0, 1874, 0, 0, 0, 1874, 0, 1874, 1874, - 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, - 1876, 1876, 1876, 0, 1876, 1876, 1876, 1876, 1876, 1876, - 1876, 1876, 1876, 1876, 1877, 0, 0, 0, 0, 1877, - 0, 1877, 1877, 0, 0, 1877, 0, 1877, 1877, 1877, - 0, 1877, 1877, 1877, 0, 1877, 1877, 1877, 1880, 1880, - 0, 1880, 0, 0, 0, 1880, 0, 1880, 1880, 1882, - - 1882, 1882, 1882, 1882, 0, 1882, 1882, 1882, 1882, 0, - 0, 1882, 1882, 0, 0, 1882, 1882, 1882, 0, 1882, - 0, 0, 1882, 1883, 0, 0, 1883, 1883, 0, 1883, - 0, 0, 1883, 1883, 0, 0, 1883, 1883, 1883, 0, - 0, 1883, 1883, 1883, 1883, 1883, 1884, 0, 1884, 0, - 0, 0, 1884, 0, 1884, 1884, 1885, 0, 1885, 0, - 0, 1885, 1885, 1885, 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, 1887, 0, 1887, 1887, 0, 1887, 1887, 0, - 1887, 1887, 1887, 1888, 0, 1888, 0, 0, 1888, 1888, - 0, 1888, 0, 1888, 1888, 0, 1888, 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, 1890, - 0, 1890, 1890, 0, 1890, 1890, 1890, 1890, 1890, 1890, - 1891, 0, 1891, 0, 0, 1891, 1891, 0, 0, 0, - 1891, 1891, 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, 1894, 0, 1894, 1894, 0, - 1894, 1894, 1894, 1894, 1894, 1894, 1895, 0, 1895, 0, - 0, 1895, 1895, 0, 0, 0, 1895, 0, 0, 0, - 1895, 1895, 1895, 1895, 1895, 1896, 0, 1896, 0, 0, - 1896, 1896, 0, 0, 0, 1896, 0, 0, 0, 1896, + 1786, 0, 1786, 0, 0, 1786, 1786, 0, 0, 0, + 1786, 1786, 0, 1786, 0, 1786, 1786, 1786, 0, 1786, + 1786, 1786, 1786, 1787, 0, 1787, 0, 0, 1787, 1787, + + 0, 1787, 1787, 1787, 1787, 0, 1787, 1787, 1787, 1787, + 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, 1788, 1788, 1788, 1788, 1789, + 0, 1789, 0, 0, 1789, 1789, 0, 0, 1789, 1789, + 1789, 0, 1789, 0, 1789, 1789, 1789, 0, 1789, 1789, + 1789, 1789, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, + 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, + 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, + 1791, 0, 0, 0, 0, 1791, 1791, 1791, 0, 1791, + + 1791, 1792, 1792, 1792, 0, 1792, 1792, 0, 0, 1792, + 0, 0, 0, 1792, 1792, 1792, 1792, 1792, 1792, 1792, + 1792, 1793, 0, 0, 0, 0, 1793, 0, 1793, 1793, + 0, 0, 1793, 0, 1793, 1793, 1793, 0, 1793, 1793, + 1793, 1793, 1793, 1793, 0, 1793, 1793, 0, 1793, 1794, + 1794, 0, 0, 1794, 1794, 1794, 1794, 1794, 1794, 1794, + 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, + 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1795, 1795, 0, + 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, + 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, + + 1795, 1795, 1795, 1795, 1795, 1796, 1796, 0, 1796, 1796, + 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, + 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, + 1796, 1796, 1796, 1797, 1797, 1797, 1797, 1797, 1797, 1797, + 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, + 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, + 1797, 1799, 0, 1799, 0, 0, 1799, 1799, 0, 0, + 1799, 1799, 1799, 0, 1799, 0, 1799, 1799, 1799, 1799, + 1799, 1799, 1799, 1799, 1800, 1800, 0, 1800, 0, 0, + 0, 0, 1800, 1800, 1800, 0, 1800, 1800, 1801, 1801, + + 0, 0, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, + 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, + 1801, 1801, 1801, 1801, 1801, 1801, 1803, 0, 1803, 0, + 0, 1803, 1803, 0, 1803, 0, 1803, 1803, 0, 1803, + 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1804, + 0, 1804, 0, 0, 1804, 1804, 0, 1804, 0, 1804, + 1804, 0, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, + 1804, 1804, 1805, 0, 1805, 0, 0, 1805, 1805, 0, + 1805, 0, 1805, 1805, 0, 1805, 1805, 1805, 1805, 1805, + 1805, 1805, 1805, 1805, 1805, 1806, 0, 1806, 0, 0, + + 1806, 1806, 0, 0, 0, 1806, 1806, 0, 1806, 0, + 1806, 1806, 1806, 0, 1806, 1806, 1806, 1806, 1807, 0, + 1807, 0, 0, 1807, 1807, 0, 1807, 0, 1807, 1807, + 0, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, + 1807, 1808, 0, 1808, 0, 0, 1808, 1808, 1808, 1808, + 0, 1808, 1808, 0, 1808, 1808, 1808, 1808, 1808, 0, + 1808, 1808, 1808, 1808, 1809, 0, 1809, 0, 0, 1809, + 1809, 0, 1809, 0, 1809, 1809, 0, 1809, 1809, 1809, + 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1810, 0, 1810, + 0, 0, 1810, 1810, 0, 1810, 0, 1810, 1810, 0, + + 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, + 1811, 0, 1811, 0, 0, 1811, 1811, 0, 0, 0, + 1811, 0, 0, 1811, 0, 1811, 1811, 1811, 1811, 1811, + 1811, 1811, 1811, 1812, 0, 1812, 0, 0, 1812, 1812, + 0, 1812, 0, 1812, 1812, 0, 1812, 1812, 1812, 1812, + 1812, 1812, 1812, 1812, 1812, 1812, 1813, 0, 1813, 0, + 0, 1813, 1813, 0, 1813, 1813, 1813, 1813, 0, 1813, + 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1814, + 0, 1814, 0, 0, 1814, 1814, 0, 1814, 1814, 1814, + 1814, 0, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, + + 1814, 1814, 1815, 0, 1815, 0, 0, 1815, 1815, 0, + 1815, 1815, 1815, 1815, 0, 1815, 1815, 1815, 1815, 1815, + 1815, 1815, 1815, 1815, 1815, 1816, 0, 1816, 0, 0, + 1816, 1816, 0, 0, 1816, 1816, 1816, 0, 1816, 0, + 1816, 1816, 1816, 0, 1816, 1816, 1816, 1816, 1817, 0, + 1817, 0, 0, 1817, 1817, 0, 1817, 1817, 1817, 1817, + 0, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, + 1817, 1818, 0, 1818, 0, 0, 1818, 1818, 1818, 1818, + 1818, 1818, 1818, 0, 1818, 1818, 1818, 1818, 1818, 0, + 1818, 1818, 1818, 1818, 1819, 0, 1819, 0, 0, 1819, + + 1819, 0, 1819, 1819, 1819, 1819, 0, 1819, 1819, 1819, + 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1820, 0, 1820, + 0, 0, 1820, 1820, 0, 1820, 1820, 1820, 1820, 0, + 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, + 1821, 0, 1821, 0, 0, 1821, 1821, 0, 0, 1821, + 1821, 0, 0, 1821, 0, 1821, 1821, 1821, 1821, 1821, + 1821, 1821, 1821, 1822, 0, 1822, 0, 0, 1822, 1822, + 0, 1822, 1822, 1822, 1822, 0, 1822, 1822, 1822, 1822, + 1822, 1822, 1822, 1822, 1822, 1822, 1825, 0, 0, 0, + 0, 1825, 1825, 1825, 0, 1825, 1825, 1826, 0, 0, + + 0, 0, 1826, 1826, 1826, 0, 1826, 1826, 1827, 0, + 0, 1827, 0, 0, 1827, 0, 0, 0, 1827, 1827, + 1827, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, + 1829, 1829, 1829, 1829, 0, 1829, 1829, 1829, 1829, 1829, + 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1830, + 1830, 0, 1830, 0, 0, 0, 0, 1830, 1830, 1830, + 0, 1830, 1830, 1831, 0, 0, 0, 0, 1831, 0, + 1831, 1831, 0, 0, 1831, 0, 1831, 1831, 1831, 0, + 1831, 1831, 1831, 1831, 1831, 1831, 0, 1831, 1831, 0, + 1831, 1832, 1832, 0, 0, 1832, 1832, 1832, 1832, 1832, + + 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, + 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1834, + 1834, 0, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, + 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, + 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1835, 1835, 0, + 0, 0, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 0, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + + 1836, 1836, 1836, 1837, 0, 0, 0, 0, 1837, 1837, + 1837, 0, 1837, 1837, 1838, 0, 0, 1838, 0, 0, + 0, 0, 1838, 1838, 1838, 0, 1838, 1838, 1840, 0, + 1840, 0, 0, 1840, 1840, 0, 0, 1840, 1840, 1840, + 0, 1840, 0, 1840, 1840, 1840, 1840, 1840, 1840, 1840, + 1840, 1841, 0, 1841, 0, 0, 0, 0, 1841, 1841, + 1841, 0, 1841, 1841, 1843, 0, 1843, 0, 0, 1843, + 1843, 0, 0, 0, 1843, 1843, 0, 1843, 1843, 1843, + 1843, 1843, 0, 1843, 1843, 1843, 1843, 1844, 0, 1844, + 0, 0, 1844, 1844, 0, 1844, 0, 1844, 1844, 0, + + 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, + 1845, 0, 1845, 0, 0, 1845, 1845, 0, 1845, 0, + 1845, 1845, 0, 1845, 1845, 1845, 1845, 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, 1846, 1846, 1846, 1846, 1847, 0, 1847, 0, + 0, 1847, 1847, 0, 1847, 0, 1847, 1847, 0, 1847, + 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1848, + 0, 1848, 0, 0, 1848, 1848, 0, 0, 0, 1848, + 1848, 0, 1848, 0, 1848, 1848, 1848, 1848, 1848, 1848, + + 1848, 1848, 1849, 0, 1849, 0, 0, 1849, 1849, 0, + 0, 0, 1849, 0, 0, 1849, 0, 1849, 1849, 1849, + 1849, 1849, 1849, 1849, 1849, 1850, 0, 1850, 0, 0, + 1850, 1850, 0, 1850, 0, 1850, 1850, 0, 1850, 1850, + 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1851, 0, + 1851, 0, 0, 1851, 1851, 0, 1851, 0, 1851, 1851, + 0, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, + 1851, 1852, 0, 1852, 0, 0, 1852, 1852, 0, 0, + 0, 1852, 1852, 0, 1852, 0, 1852, 1852, 1852, 1852, + 1852, 1852, 1852, 1852, 1853, 0, 1853, 0, 0, 1853, + + 1853, 1853, 1853, 0, 1853, 1853, 0, 1853, 1853, 1853, + 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1854, 0, 1854, + 0, 0, 1854, 1854, 0, 0, 0, 1854, 0, 0, + 1854, 0, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, + 1855, 0, 1855, 0, 0, 1855, 1855, 0, 0, 0, + 1855, 1855, 0, 1855, 0, 1855, 1855, 1855, 0, 1855, + 1855, 1855, 1855, 1856, 0, 1856, 0, 0, 1856, 1856, + 0, 1856, 0, 1856, 1856, 0, 1856, 1856, 1856, 1856, + 1856, 1856, 1856, 1856, 1856, 1856, 1857, 0, 1857, 0, + 0, 1857, 1857, 0, 1857, 0, 1857, 1857, 0, 1857, + + 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1858, + 0, 1858, 0, 0, 1858, 1858, 0, 0, 0, 1858, + 0, 0, 1858, 0, 1858, 1858, 1858, 1858, 1858, 1858, + 1858, 1858, 1859, 0, 1859, 0, 0, 1859, 1859, 0, + 0, 0, 1859, 0, 0, 1859, 0, 1859, 1859, 1859, + 1859, 1859, 1859, 1859, 1859, 1860, 0, 1860, 0, 0, + 1860, 1860, 0, 1860, 0, 1860, 1860, 0, 1860, 1860, + 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1861, 0, + 1861, 0, 0, 1861, 1861, 0, 1861, 0, 1861, 1861, + 0, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, + + 1861, 1862, 0, 1862, 0, 0, 1862, 1862, 0, 0, + 1862, 1862, 1862, 0, 1862, 1862, 1862, 1862, 1862, 0, + 1862, 1862, 1862, 1862, 1863, 0, 1863, 0, 0, 1863, + 1863, 0, 1863, 1863, 1863, 1863, 0, 1863, 1863, 1863, + 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1864, 0, 1864, + 0, 0, 1864, 1864, 0, 1864, 1864, 1864, 1864, 0, + 1864, 1864, 1864, 1864, 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, 1865, + 1865, 1865, 1865, 1866, 0, 1866, 0, 0, 1866, 1866, + + 0, 1866, 1866, 1866, 1866, 0, 1866, 1866, 1866, 1866, + 1866, 1866, 1866, 1866, 1866, 1866, 1867, 0, 1867, 0, + 0, 1867, 1867, 0, 0, 1867, 1867, 1867, 0, 1867, + 0, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1868, + 0, 1868, 0, 0, 1868, 1868, 0, 0, 1868, 1868, + 0, 0, 1868, 0, 1868, 1868, 1868, 1868, 1868, 1868, + 1868, 1868, 1869, 0, 1869, 0, 0, 1869, 1869, 0, + 1869, 1869, 1869, 1869, 0, 1869, 1869, 1869, 1869, 1869, + 1869, 1869, 1869, 1869, 1869, 1870, 0, 1870, 0, 0, + 1870, 1870, 0, 1870, 1870, 1870, 1870, 0, 1870, 1870, + + 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1871, 0, + 1871, 0, 0, 1871, 1871, 0, 0, 1871, 1871, 1871, + 0, 1871, 0, 1871, 1871, 1871, 1871, 1871, 1871, 1871, + 1871, 1872, 0, 1872, 0, 0, 1872, 1872, 1872, 1872, + 1872, 1872, 1872, 0, 1872, 1872, 1872, 1872, 1872, 1872, + 1872, 1872, 1872, 1872, 1873, 0, 1873, 0, 0, 1873, + 1873, 0, 0, 1873, 1873, 0, 0, 1873, 0, 1873, + 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1874, 0, 1874, + 0, 0, 1874, 1874, 0, 0, 1874, 1874, 1874, 0, + 1874, 0, 1874, 1874, 1874, 0, 1874, 1874, 1874, 1874, + + 1875, 0, 1875, 0, 0, 1875, 1875, 0, 1875, 1875, + 1875, 1875, 0, 1875, 1875, 1875, 1875, 1875, 1875, 1875, + 1875, 1875, 1875, 1876, 0, 1876, 0, 0, 1876, 1876, + 0, 1876, 1876, 1876, 1876, 0, 1876, 1876, 1876, 1876, + 1876, 1876, 1876, 1876, 1876, 1876, 1877, 0, 1877, 0, + 0, 1877, 1877, 0, 0, 1877, 1877, 0, 0, 1877, + 0, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1878, + 0, 1878, 0, 0, 1878, 1878, 0, 0, 1878, 1878, + 0, 0, 1878, 0, 1878, 1878, 1878, 1878, 1878, 1878, + 1878, 1878, 1879, 0, 1879, 0, 0, 1879, 1879, 0, + + 1879, 1879, 1879, 1879, 0, 1879, 1879, 1879, 1879, 1879, + 1879, 1879, 1879, 1879, 1879, 1880, 0, 1880, 0, 0, + 1880, 1880, 0, 1880, 1880, 1880, 1880, 0, 1880, 1880, + 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1884, 0, + 0, 0, 0, 0, 0, 1884, 0, 0, 0, 1884, + 0, 0, 0, 0, 0, 0, 1884, 0, 1884, 1885, + 0, 0, 1885, 0, 0, 0, 0, 1885, 1885, 1885, + 0, 1885, 1885, 1887, 1887, 1887, 1887, 1887, 1887, 1887, + 1887, 1887, 1887, 1887, 1887, 1887, 0, 1887, 1887, 1887, + 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, + + 1887, 1888, 0, 0, 0, 0, 1888, 0, 1888, 1888, + 0, 0, 1888, 0, 1888, 1888, 1888, 0, 1888, 1888, + 1888, 1888, 1888, 1888, 0, 1888, 1888, 0, 1888, 1891, + 1891, 0, 1891, 0, 0, 0, 0, 1891, 1891, 1891, + 0, 1891, 1891, 1893, 1893, 1893, 1893, 1893, 0, 1893, + 1893, 1893, 1893, 0, 0, 1893, 1893, 0, 0, 1893, + 1893, 0, 1893, 0, 0, 0, 1893, 0, 0, 0, + 1893, 1894, 0, 0, 1894, 1894, 0, 1894, 0, 0, + 1894, 1894, 0, 0, 1894, 1894, 1894, 0, 1894, 0, + 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1895, 0, + + 1895, 0, 0, 0, 0, 1895, 1895, 1895, 0, 1895, + 1895, 1896, 0, 1896, 0, 0, 1896, 1896, 1896, 1896, + 0, 1896, 1896, 0, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1897, 0, 1897, 0, 0, 1897, - 1897, 0, 0, 0, 1897, 0, 0, 0, 1897, 1897, - - 1897, 1897, 1897, 1898, 0, 1898, 0, 0, 1898, 1898, - 0, 0, 0, 1898, 0, 0, 0, 1898, 1898, 1898, - 1898, 1898, 1899, 0, 1899, 0, 0, 1899, 1899, 0, - 0, 0, 1899, 1899, 0, 0, 1899, 1899, 1899, 1899, - 1899, 1900, 0, 1900, 0, 0, 1900, 1900, 0, 1900, - 0, 1900, 1900, 0, 1900, 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, 0, 1902, 0, 1902, - 1902, 0, 1902, 1902, 1902, 1902, 1902, 1902, 1903, 0, - - 1903, 0, 0, 1903, 1903, 0, 1903, 0, 1903, 1903, - 0, 1903, 1903, 1903, 1903, 1903, 1903, 1904, 0, 1904, - 0, 0, 1904, 1904, 0, 0, 0, 1904, 1904, 0, - 0, 1904, 0, 1904, 1904, 1904, 1905, 0, 1905, 0, - 0, 1905, 1905, 0, 0, 0, 1905, 0, 0, 0, - 1905, 1905, 1905, 1905, 1905, 1906, 0, 1906, 0, 0, - 1906, 1906, 0, 1906, 0, 1906, 1906, 0, 1906, 1906, + 1897, 0, 0, 0, 1897, 1897, 0, 1897, 0, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1898, 0, 1898, + 0, 0, 1898, 1898, 0, 1898, 0, 1898, 1898, 0, + 1898, 1898, 1898, 1898, 1898, 0, 1898, 1898, 1898, 1898, + 1899, 0, 1899, 0, 0, 1899, 1899, 0, 1899, 0, + 1899, 1899, 0, 1899, 1899, 1899, 1899, 1899, 1899, 1899, + + 1899, 1899, 1899, 1900, 0, 1900, 0, 0, 1900, 1900, + 0, 1900, 0, 1900, 1900, 0, 1900, 1900, 1900, 1900, + 1900, 1900, 1900, 1900, 1900, 1900, 1901, 0, 1901, 0, + 0, 1901, 1901, 0, 1901, 0, 1901, 1901, 0, 1901, + 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1902, + 0, 1902, 0, 0, 1902, 1902, 0, 0, 0, 1902, + 1902, 0, 1902, 0, 1902, 1902, 1902, 1902, 1902, 1902, + 1902, 1902, 1903, 0, 1903, 0, 0, 1903, 1903, 0, + 0, 0, 1903, 0, 0, 1903, 0, 1903, 1903, 1903, + 1903, 1903, 1903, 1903, 1903, 1904, 0, 1904, 0, 0, + + 1904, 1904, 0, 0, 0, 1904, 0, 0, 1904, 0, + 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1905, 0, + 1905, 0, 0, 1905, 1905, 0, 1905, 0, 1905, 1905, + 0, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, + 1905, 1906, 0, 1906, 0, 0, 1906, 1906, 0, 0, + 0, 1906, 0, 0, 1906, 0, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1907, 0, 1907, 0, 0, 1907, - 1907, 1907, 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, - 1909, 1909, 1909, 1909, 0, 1909, 1909, 0, 1909, 1909, - 1909, 1910, 0, 1910, 0, 0, 1910, 1910, 0, 1910, - 1910, 1910, 1910, 0, 1910, 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, 1912, 1912, 1912, - 1912, 0, 1912, 1912, 1912, 1912, 1912, 1912, 1913, 0, - 1913, 0, 0, 1913, 1913, 0, 0, 1913, 1913, 1913, - - 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, 1916, 1916, 1916, 1916, 0, 1916, 1916, + 1907, 0, 0, 0, 1907, 0, 0, 1907, 0, 1907, + 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1908, 0, 1908, + 0, 0, 1908, 1908, 0, 0, 0, 1908, 0, 0, + + 1908, 0, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, + 1909, 0, 1909, 0, 0, 1909, 1909, 0, 0, 0, + 1909, 0, 0, 1909, 0, 1909, 1909, 1909, 1909, 1909, + 1909, 1909, 1909, 1910, 0, 1910, 0, 0, 1910, 1910, + 0, 0, 0, 1910, 1910, 0, 1910, 0, 1910, 1910, + 1910, 1910, 1910, 1910, 1910, 1910, 1911, 0, 1911, 0, + 0, 1911, 1911, 0, 1911, 0, 1911, 1911, 0, 1911, + 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1912, + 0, 1912, 0, 0, 1912, 1912, 0, 1912, 0, 1912, + 1912, 0, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, + + 1912, 1912, 1913, 0, 1913, 0, 0, 1913, 1913, 0, + 1913, 0, 1913, 1913, 0, 1913, 1913, 1913, 1913, 1913, + 1913, 1913, 1913, 1913, 1913, 1914, 0, 1914, 0, 0, + 1914, 1914, 0, 1914, 0, 1914, 1914, 0, 1914, 1914, + 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1915, 0, + 1915, 0, 0, 1915, 1915, 0, 0, 0, 1915, 1915, + 0, 1915, 0, 1915, 1915, 1915, 0, 1915, 1915, 1915, + 1915, 1916, 0, 1916, 0, 0, 1916, 1916, 0, 0, + 0, 1916, 0, 0, 1916, 0, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1917, 0, 1917, 0, 0, 1917, - 1917, 0, 0, 1917, 1917, 0, 0, 0, 1917, 1917, - 1917, 1917, 1917, 1918, 0, 1918, 0, 0, 1918, 1918, - 0, 0, 1918, 1918, 0, 0, 0, 1918, 1918, 1918, - - 1918, 1918, 1919, 0, 1919, 0, 0, 1919, 1919, 0, - 0, 1919, 1919, 0, 0, 0, 1919, 1919, 1919, 1919, - 1919, 1920, 0, 1920, 0, 0, 1920, 1920, 0, 0, - 1920, 1920, 0, 0, 0, 1920, 1920, 1920, 1920, 1920, - 1921, 0, 1921, 0, 0, 1921, 1921, 0, 0, 1921, - 1921, 1921, 0, 0, 1921, 1921, 1921, 1921, 1921, 1922, - 0, 1922, 0, 0, 1922, 1922, 0, 1922, 1922, 1922, - 1922, 0, 1922, 1922, 1922, 1922, 1922, 1922, 1923, 0, - 1923, 0, 0, 1923, 1923, 0, 1923, 1923, 1923, 1923, - 0, 1923, 1923, 1923, 1923, 1923, 1923, 1924, 0, 1924, - - 0, 0, 1924, 1924, 0, 1924, 1924, 1924, 1924, 0, - 1924, 1924, 1924, 1924, 1924, 1924, 1925, 0, 1925, 0, - 0, 1925, 1925, 0, 1925, 1925, 1925, 1925, 0, 1925, - 1925, 1925, 1925, 1925, 1925, 1926, 0, 1926, 0, 0, - 1926, 1926, 0, 0, 1926, 1926, 1926, 0, 0, 1926, - 0, 1926, 1926, 1926, 1927, 0, 1927, 0, 0, 1927, - 1927, 0, 0, 1927, 1927, 0, 0, 0, 1927, 1927, - 1927, 1927, 1927, 1928, 0, 1928, 0, 0, 1928, 1928, - 0, 1928, 1928, 1928, 1928, 0, 1928, 1928, 1928, 1928, - 1928, 1928, 1930, 0, 0, 1930, 0, 0, 0, 1930, - - 0, 1930, 1930, 1931, 0, 0, 0, 0, 1931, 0, - 1931, 1931, 0, 0, 1931, 0, 1931, 1931, 1931, 0, - 1931, 1931, 1931, 0, 1931, 1931, 1931, 1934, 0, 0, - 0, 1934, 0, 1934, 1934, 1935, 1935, 1935, 1935, 1935, - 0, 1935, 1935, 1935, 1935, 0, 0, 1935, 1935, 0, - 0, 1935, 1935, 1935, 0, 1935, 0, 1935, 1935, 1936, - 1936, 1936, 1936, 1936, 0, 1936, 1936, 1936, 1936, 0, - 0, 1936, 1936, 0, 0, 1936, 1936, 1936, 0, 1936, - 1936, 0, 1936, 1937, 0, 1937, 0, 0, 1937, 1937, - 0, 0, 1937, 1937, 1937, 0, 0, 1937, 1937, 1937, - - 1937, 1937, 1938, 0, 1938, 0, 0, 1938, 1938, 0, - 0, 0, 1938, 1938, 0, 1938, 1938, 0, 1938, 1938, - 1938, 1939, 0, 1939, 0, 0, 1939, 1939, 0, 1939, - 0, 1939, 1939, 0, 1939, 1939, 1939, 1939, 1939, 1939, - 1940, 0, 1940, 0, 0, 1940, 1940, 0, 1940, 0, - 1940, 1940, 0, 1940, 1940, 1940, 1940, 1940, 1940, 1941, - 0, 1941, 0, 0, 1941, 1941, 0, 0, 0, 1941, - 0, 0, 0, 1941, 1941, 1941, 1941, 1941, 1942, 0, - 1942, 0, 0, 1942, 1942, 0, 0, 0, 1942, 0, - 0, 0, 1942, 1942, 1942, 1942, 1942, 1943, 0, 1943, - - 0, 0, 1943, 1943, 0, 0, 0, 1943, 0, 0, - 0, 1943, 1943, 1943, 1943, 1943, 1944, 0, 1944, 0, - 0, 1944, 1944, 0, 0, 0, 1944, 1944, 0, 0, - 1944, 1944, 1944, 1944, 1944, 1945, 0, 1945, 0, 0, - 1945, 1945, 0, 0, 0, 1945, 0, 0, 0, 1945, - 1945, 1945, 1945, 1945, 1946, 0, 1946, 0, 0, 1946, - 1946, 0, 0, 0, 1946, 1946, 0, 0, 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, 1949, - 0, 1949, 1949, 0, 1949, 1949, 1949, 1949, 1949, 1949, - 1950, 0, 1950, 0, 0, 1950, 1950, 0, 1950, 0, - 1950, 1950, 0, 1950, 1950, 1950, 1950, 1950, 1950, 1951, - 0, 1951, 0, 0, 1951, 1951, 0, 1951, 0, 1951, - 1951, 0, 1951, 1951, 1951, 1951, 1951, 1951, 1952, 0, - 1952, 0, 0, 1952, 1952, 0, 1952, 0, 1952, 1952, - 0, 1952, 1952, 1952, 1952, 1952, 1952, 1953, 0, 1953, - 0, 0, 1953, 1953, 0, 1953, 0, 1953, 1953, 0, - - 1953, 1953, 1953, 1953, 1953, 1953, 1954, 0, 1954, 0, - 0, 1954, 1954, 0, 0, 0, 1954, 1954, 0, 0, - 1954, 1954, 1954, 1954, 1954, 1955, 0, 1955, 0, 0, - 1955, 1955, 0, 0, 0, 1955, 0, 0, 0, 1955, - 1955, 1955, 1955, 1955, 1956, 0, 1956, 0, 0, 1956, - 1956, 0, 0, 1956, 1956, 1956, 0, 1956, 1956, 0, - 1956, 1956, 1956, 1957, 0, 1957, 0, 0, 1957, 1957, - 0, 1957, 1957, 1957, 1957, 0, 1957, 1957, 1957, 1957, - 1957, 1957, 1958, 0, 1958, 0, 0, 1958, 1958, 0, - 1958, 1958, 1958, 1958, 0, 1958, 1958, 1958, 1958, 1958, - - 1958, 1959, 0, 1959, 0, 0, 1959, 1959, 0, 0, - 1959, 1959, 0, 0, 0, 1959, 1959, 1959, 1959, 1959, - 1960, 0, 1960, 0, 0, 1960, 1960, 0, 0, 1960, - 1960, 0, 0, 0, 1960, 1960, 1960, 1960, 1960, 1961, - 0, 1961, 0, 0, 1961, 1961, 0, 0, 1961, 1961, - 0, 0, 0, 1961, 1961, 1961, 1961, 1961, 1962, 0, - 1962, 0, 0, 1962, 1962, 0, 0, 1962, 1962, 1962, - 0, 0, 1962, 1962, 1962, 1962, 1962, 1963, 0, 1963, - 0, 0, 1963, 1963, 0, 0, 1963, 1963, 0, 0, - 0, 1963, 1963, 1963, 1963, 1963, 1964, 0, 1964, 0, - - 0, 1964, 1964, 0, 0, 1964, 1964, 1964, 0, 0, - 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, 1967, 1967, 1967, 1967, 0, 1967, 1967, 1967, 1967, - 1967, 1967, 1968, 0, 1968, 0, 0, 1968, 1968, 0, - 1968, 1968, 1968, 1968, 0, 1968, 1968, 1968, 1968, 1968, - 1968, 1969, 0, 1969, 0, 0, 1969, 1969, 0, 1969, - - 1969, 1969, 1969, 0, 1969, 1969, 1969, 1969, 1969, 1969, - 1970, 0, 1970, 0, 0, 1970, 1970, 0, 1970, 1970, - 1970, 1970, 0, 1970, 1970, 1970, 1970, 1970, 1970, 1971, - 0, 1971, 0, 0, 1971, 1971, 0, 1971, 1971, 1971, - 1971, 0, 1971, 1971, 1971, 1971, 1971, 1971, 1972, 0, - 1972, 0, 0, 1972, 1972, 0, 0, 1972, 1972, 1972, - 0, 0, 1972, 1972, 1972, 1972, 1972, 1973, 0, 1973, - 0, 0, 1973, 1973, 0, 0, 1973, 1973, 0, 0, - 0, 1973, 1973, 1973, 1973, 1973, 1974, 1974, 1974, 0, - 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - - 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1977, 1977, 0, 1977, 0, 0, 0, 1977, 0, 1977, - 1977, 1978, 1978, 1978, 1978, 1978, 0, 1978, 1978, 1978, - 1978, 0, 0, 1978, 1978, 0, 0, 1978, 1978, 1978, - 0, 1978, 1978, 0, 1978, 1979, 1979, 1979, 1979, 1979, - 0, 1979, 1979, 1979, 1979, 0, 0, 1979, 1979, 0, - 0, 1979, 1979, 1979, 0, 1979, 0, 0, 1979, 1980, - 1980, 1980, 1980, 1980, 0, 1980, 1980, 1980, 1980, 0, - 0, 1980, 1980, 0, 0, 1980, 1980, 1980, 0, 1980, - 0, 0, 1980, 1981, 1981, 1981, 1981, 1981, 0, 1981, - - 1981, 1981, 1981, 0, 0, 1981, 1981, 0, 0, 1981, - 1981, 1981, 0, 1981, 0, 0, 1981, 1982, 1982, 1982, - 1982, 1982, 0, 1982, 1982, 1982, 1982, 0, 0, 1982, - 1982, 0, 0, 1982, 1982, 1982, 0, 1982, 0, 0, - 1982, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, - 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, - 1983, 1983, 1983, 1983, 1983, 1984, 0, 1984, 0, 0, - 1984, 1984, 1984, 1984, 0, 1984, 1984, 0, 1984, 1984, - 1984, 1984, 1984, 1984, 1985, 0, 1985, 0, 0, 1985, - 1985, 0, 0, 0, 1985, 1985, 0, 0, 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, 1988, - 0, 1988, 1988, 0, 1988, 1988, 1988, 1988, 1988, 1988, - 1989, 0, 1989, 0, 0, 1989, 1989, 0, 1989, 0, - 1989, 1989, 0, 1989, 1989, 1989, 1989, 1989, 1989, 1990, - 0, 1990, 0, 0, 1990, 1990, 0, 1990, 0, 1990, - 1990, 0, 1990, 1990, 1990, 1990, 1990, 1990, 1991, 0, - - 1991, 0, 0, 1991, 1991, 0, 1991, 0, 1991, 1991, - 0, 1991, 1991, 1991, 1991, 1991, 1991, 1992, 0, 1992, - 0, 0, 1992, 1992, 0, 1992, 0, 1992, 1992, 0, - 1992, 1992, 1992, 1992, 1992, 1992, 1993, 0, 1993, 0, - 0, 1993, 1993, 0, 0, 0, 1993, 1993, 0, 0, - 1993, 1993, 1993, 1993, 1993, 1994, 0, 1994, 0, 0, - 1994, 1994, 0, 0, 0, 1994, 0, 0, 0, 1994, - 1994, 1994, 1994, 1994, 1995, 0, 1995, 0, 0, 1995, - 1995, 0, 0, 0, 1995, 0, 0, 0, 1995, 1995, - 1995, 1995, 1995, 1996, 0, 1996, 0, 0, 1996, 1996, - - 1996, 1996, 1996, 1996, 1996, 0, 1996, 1996, 1996, 1996, - 1996, 1996, 1997, 0, 1997, 0, 0, 1997, 1997, 0, - 0, 1997, 1997, 1997, 0, 0, 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, 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, 0, 2002, - 0, 0, 2002, 2002, 0, 2002, 2002, 2002, 2002, 0, - 2002, 2002, 2002, 2002, 2002, 2002, 2003, 0, 2003, 0, - 0, 2003, 2003, 0, 2003, 2003, 2003, 2003, 0, 2003, - 2003, 2003, 2003, 2003, 2003, 2004, 0, 2004, 0, 0, - 2004, 2004, 0, 2004, 2004, 2004, 2004, 0, 2004, 2004, - 2004, 2004, 2004, 2004, 2005, 0, 2005, 0, 0, 2005, - 2005, 0, 0, 2005, 2005, 2005, 0, 0, 2005, 2005, - 2005, 2005, 2005, 2006, 0, 2006, 0, 0, 2006, 2006, - 0, 0, 2006, 2006, 0, 0, 0, 2006, 2006, 2006, + 1917, 0, 1917, 0, 1917, 1917, 0, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1918, 0, 1918, + 0, 0, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 0, + 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, + 1919, 0, 1919, 0, 0, 1919, 1919, 0, 0, 1919, + 1919, 1919, 0, 1919, 0, 1919, 1919, 1919, 1919, 1919, + 1919, 1919, 1919, 1920, 0, 1920, 0, 0, 1920, 1920, + 0, 1920, 1920, 1920, 1920, 0, 1920, 1920, 1920, 1920, + 1920, 0, 1920, 1920, 1920, 1920, 1921, 0, 1921, 0, + 0, 1921, 1921, 0, 1921, 1921, 1921, 1921, 0, 1921, + + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1922, + 0, 1922, 0, 0, 1922, 1922, 0, 1922, 1922, 1922, + 1922, 0, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, + 1922, 1922, 1923, 0, 1923, 0, 0, 1923, 1923, 0, + 1923, 1923, 1923, 1923, 0, 1923, 1923, 1923, 1923, 1923, + 1923, 1923, 1923, 1923, 1923, 1924, 0, 1924, 0, 0, + 1924, 1924, 0, 0, 1924, 1924, 1924, 0, 1924, 0, + 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1925, 0, + 1925, 0, 0, 1925, 1925, 0, 0, 1925, 1925, 0, + 0, 1925, 0, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + + 1925, 1926, 0, 1926, 0, 0, 1926, 1926, 0, 0, + 1926, 1926, 0, 0, 1926, 0, 1926, 1926, 1926, 1926, + 1926, 1926, 1926, 1926, 1927, 0, 1927, 0, 0, 1927, + 1927, 0, 1927, 1927, 1927, 1927, 0, 1927, 1927, 1927, + 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1928, 0, 1928, + 0, 0, 1928, 1928, 0, 0, 1928, 1928, 0, 0, + 1928, 0, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, + 1929, 0, 1929, 0, 0, 1929, 1929, 0, 0, 1929, + 1929, 0, 0, 1929, 0, 1929, 1929, 1929, 1929, 1929, + 1929, 1929, 1929, 1930, 0, 1930, 0, 0, 1930, 1930, + + 0, 0, 1930, 1930, 0, 0, 1930, 0, 1930, 1930, + 1930, 1930, 1930, 1930, 1930, 1930, 1931, 0, 1931, 0, + 0, 1931, 1931, 0, 0, 1931, 1931, 0, 0, 1931, + 0, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1932, + 0, 1932, 0, 0, 1932, 1932, 0, 0, 1932, 1932, + 1932, 0, 1932, 0, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1933, 0, 1933, 0, 0, 1933, 1933, 0, + 1933, 1933, 1933, 1933, 0, 1933, 1933, 1933, 1933, 1933, + 1933, 1933, 1933, 1933, 1933, 1934, 0, 1934, 0, 0, + 1934, 1934, 0, 1934, 1934, 1934, 1934, 0, 1934, 1934, + + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1935, 0, + 1935, 0, 0, 1935, 1935, 0, 1935, 1935, 1935, 1935, + 0, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, + 1935, 1936, 0, 1936, 0, 0, 1936, 1936, 0, 1936, + 1936, 1936, 1936, 0, 1936, 1936, 1936, 1936, 1936, 1936, + 1936, 1936, 1936, 1936, 1937, 0, 1937, 0, 0, 1937, + 1937, 0, 0, 1937, 1937, 1937, 0, 1937, 0, 1937, + 1937, 1937, 0, 1937, 1937, 1937, 1937, 1938, 0, 1938, + 0, 0, 1938, 1938, 0, 0, 1938, 1938, 0, 0, + 1938, 0, 1938, 1938, 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, 1939, + 1939, 1939, 1939, 1941, 0, 0, 0, 0, 0, 0, + 1941, 0, 0, 0, 1941, 0, 0, 0, 0, 0, + 0, 1941, 0, 1941, 1942, 1942, 0, 0, 1942, 0, + 0, 1942, 0, 0, 0, 1942, 1942, 1942, 1942, 1942, + 1942, 1942, 1943, 0, 0, 1943, 0, 0, 0, 0, + 1943, 1943, 1943, 0, 1943, 1943, 1944, 0, 0, 0, + 0, 1944, 0, 1944, 1944, 0, 0, 1944, 0, 1944, + 1944, 1944, 0, 1944, 1944, 1944, 1944, 1944, 1944, 0, + + 1944, 1944, 0, 1944, 1947, 0, 0, 0, 0, 1947, + 1947, 1947, 0, 1947, 1947, 1948, 1948, 1948, 1948, 1948, + 0, 1948, 1948, 1948, 1948, 0, 0, 1948, 1948, 0, + 0, 1948, 1948, 0, 1948, 0, 0, 0, 1948, 0, + 1948, 0, 1948, 1949, 1949, 1949, 1949, 1949, 0, 1949, + 1949, 1949, 1949, 0, 0, 1949, 1949, 0, 0, 1949, + 1949, 0, 1949, 0, 0, 0, 1949, 1949, 0, 0, + 1949, 1950, 0, 1950, 0, 0, 1950, 1950, 0, 0, + 1950, 1950, 1950, 0, 1950, 0, 1950, 1950, 1950, 1950, + 1950, 1950, 1950, 1950, 1951, 0, 1951, 0, 0, 1951, + + 1951, 0, 0, 0, 1951, 1951, 0, 1951, 1951, 1951, + 1951, 1951, 0, 1951, 1951, 1951, 1951, 1952, 0, 1952, + 0, 0, 1952, 1952, 0, 1952, 0, 1952, 1952, 0, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1953, 0, 1953, 0, 0, 1953, 1953, 0, 1953, 0, + 1953, 1953, 0, 1953, 1953, 1953, 1953, 1953, 1953, 1953, + 1953, 1953, 1953, 1954, 0, 1954, 0, 0, 1954, 1954, + 0, 0, 0, 1954, 0, 0, 1954, 0, 1954, 1954, + 1954, 1954, 1954, 1954, 1954, 1954, 1955, 0, 1955, 0, + 0, 1955, 1955, 0, 0, 0, 1955, 0, 0, 1955, + + 0, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1956, + 0, 1956, 0, 0, 1956, 1956, 0, 0, 0, 1956, + 0, 0, 1956, 0, 1956, 1956, 1956, 1956, 1956, 1956, + 1956, 1956, 1957, 0, 1957, 0, 0, 1957, 1957, 0, + 0, 0, 1957, 1957, 0, 1957, 0, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1958, 0, 1958, 0, 0, + 1958, 1958, 0, 0, 0, 1958, 0, 0, 1958, 0, + 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1959, 0, + 1959, 0, 0, 1959, 1959, 0, 0, 0, 1959, 1959, + 0, 1959, 0, 1959, 1959, 1959, 1959, 1959, 1959, 1959, + + 1959, 1960, 0, 1960, 0, 0, 1960, 1960, 0, 1960, + 0, 1960, 1960, 0, 1960, 1960, 1960, 1960, 1960, 1960, + 1960, 1960, 1960, 1960, 1961, 0, 1961, 0, 0, 1961, + 1961, 0, 1961, 0, 1961, 1961, 0, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1962, 0, 1962, + 0, 0, 1962, 1962, 0, 1962, 0, 1962, 1962, 0, + 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, + 1963, 0, 1963, 0, 0, 1963, 1963, 0, 1963, 0, + 1963, 1963, 0, 1963, 1963, 1963, 1963, 1963, 1963, 1963, + 1963, 1963, 1963, 1964, 0, 1964, 0, 0, 1964, 1964, + + 0, 1964, 0, 1964, 1964, 0, 1964, 1964, 1964, 1964, + 1964, 1964, 1964, 1964, 1964, 1964, 1965, 0, 1965, 0, + 0, 1965, 1965, 0, 1965, 0, 1965, 1965, 0, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1966, + 0, 1966, 0, 0, 1966, 1966, 0, 1966, 0, 1966, + 1966, 0, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, + 1966, 1966, 1967, 0, 1967, 0, 0, 1967, 1967, 0, + 0, 0, 1967, 1967, 0, 1967, 0, 1967, 1967, 1967, + 1967, 1967, 1967, 1967, 1967, 1968, 0, 1968, 0, 0, + 1968, 1968, 0, 0, 0, 1968, 0, 0, 1968, 0, + + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1969, 0, + 1969, 0, 0, 1969, 1969, 0, 0, 1969, 1969, 1969, + 0, 1969, 1969, 1969, 1969, 1969, 0, 1969, 1969, 1969, + 1969, 1970, 0, 1970, 0, 0, 1970, 1970, 0, 1970, + 1970, 1970, 1970, 0, 1970, 1970, 1970, 1970, 1970, 1970, + 1970, 1970, 1970, 1970, 1971, 0, 1971, 0, 0, 1971, + 1971, 0, 1971, 1971, 1971, 1971, 0, 1971, 1971, 1971, + 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1972, 0, 1972, + 0, 0, 1972, 1972, 0, 0, 1972, 1972, 0, 0, + 1972, 0, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, + + 1973, 0, 1973, 0, 0, 1973, 1973, 0, 0, 1973, + 1973, 0, 0, 1973, 0, 1973, 1973, 1973, 1973, 1973, + 1973, 1973, 1973, 1974, 0, 1974, 0, 0, 1974, 1974, + 0, 0, 1974, 1974, 0, 0, 1974, 0, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1975, 0, 1975, 0, + 0, 1975, 1975, 0, 0, 1975, 1975, 1975, 0, 1975, + 0, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1976, + 0, 1976, 0, 0, 1976, 1976, 0, 0, 1976, 1976, + 0, 0, 1976, 0, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1977, 0, 1977, 0, 0, 1977, 1977, 0, + + 0, 1977, 1977, 1977, 0, 1977, 0, 1977, 1977, 1977, + 1977, 1977, 1977, 1977, 1977, 1978, 0, 1978, 0, 0, + 1978, 1978, 0, 1978, 1978, 1978, 1978, 0, 1978, 1978, + 1978, 1978, 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, 1979, 1979, 1979, + 1979, 1980, 0, 1980, 0, 0, 1980, 1980, 0, 1980, + 1980, 1980, 1980, 0, 1980, 1980, 1980, 1980, 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, 1981, 1981, 1981, 1981, 1982, 0, 1982, + 0, 0, 1982, 1982, 0, 1982, 1982, 1982, 1982, 0, + 1982, 1982, 1982, 1982, 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, 1983, + 1983, 1983, 1983, 1984, 0, 1984, 0, 0, 1984, 1984, + 0, 1984, 1984, 1984, 1984, 0, 1984, 1984, 1984, 1984, + 1984, 1984, 1984, 1984, 1984, 1984, 1985, 0, 1985, 0, + 0, 1985, 1985, 0, 0, 1985, 1985, 1985, 0, 1985, + 0, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1986, + + 0, 1986, 0, 0, 1986, 1986, 0, 0, 1986, 1986, + 0, 0, 1986, 0, 1986, 1986, 1986, 1986, 1986, 1986, + 1986, 1986, 1987, 1987, 1987, 0, 1987, 1987, 1987, 1987, + 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, + 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, + 1990, 1990, 0, 1990, 0, 0, 0, 0, 1990, 1990, + 1990, 0, 1990, 1990, 1991, 1991, 1991, 1991, 1991, 0, + 1991, 1991, 1991, 1991, 0, 0, 1991, 1991, 0, 0, + 1991, 1991, 0, 1991, 0, 0, 0, 1991, 1991, 0, + 0, 1991, 1992, 1992, 1992, 1992, 1992, 0, 1992, 1992, + + 1992, 1992, 0, 0, 1992, 1992, 0, 0, 1992, 1992, + 0, 1992, 0, 0, 0, 1992, 0, 0, 0, 1992, + 1993, 1993, 1993, 1993, 1993, 0, 1993, 1993, 1993, 1993, + 0, 0, 1993, 1993, 0, 0, 1993, 1993, 0, 1993, + 0, 0, 0, 1993, 0, 0, 0, 1993, 1994, 1994, + 1994, 1994, 1994, 0, 1994, 1994, 1994, 1994, 0, 0, + 1994, 1994, 0, 0, 1994, 1994, 0, 1994, 0, 0, + 0, 1994, 0, 0, 0, 1994, 1995, 1995, 1995, 1995, + 1995, 0, 1995, 1995, 1995, 1995, 0, 0, 1995, 1995, + 0, 0, 1995, 1995, 0, 1995, 0, 0, 0, 1995, + + 0, 0, 0, 1995, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1997, 0, 1997, 0, 0, 1997, 1997, 1997, + 1997, 0, 1997, 1997, 0, 1997, 1997, 1997, 1997, 1997, + 1997, 1997, 1997, 1997, 1997, 1998, 0, 1998, 0, 0, + 1998, 1998, 0, 0, 0, 1998, 1998, 0, 1998, 0, + 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1999, 0, + 1999, 0, 0, 1999, 1999, 0, 1999, 0, 1999, 1999, + 0, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, + + 1999, 2000, 0, 2000, 0, 0, 2000, 2000, 0, 2000, + 0, 2000, 2000, 0, 2000, 2000, 2000, 2000, 2000, 2000, + 2000, 2000, 2000, 2000, 2001, 0, 2001, 0, 0, 2001, + 2001, 0, 2001, 0, 2001, 2001, 0, 2001, 2001, 2001, + 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2002, 0, 2002, + 0, 0, 2002, 2002, 0, 2002, 0, 2002, 2002, 0, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2003, 0, 2003, 0, 0, 2003, 2003, 0, 2003, 0, + 2003, 2003, 0, 2003, 2003, 2003, 2003, 2003, 2003, 2003, + 2003, 2003, 2003, 2004, 0, 2004, 0, 0, 2004, 2004, + + 0, 2004, 0, 2004, 2004, 0, 2004, 2004, 2004, 2004, + 2004, 2004, 2004, 2004, 2004, 2004, 2005, 0, 2005, 0, + 0, 2005, 2005, 0, 2005, 0, 2005, 2005, 0, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2006, + 0, 2006, 0, 0, 2006, 2006, 0, 0, 0, 2006, + 2006, 0, 2006, 0, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2007, 0, 2007, 0, 0, 2007, 2007, 0, - 0, 2007, 2007, 0, 0, 0, 2007, 2007, 2007, 2007, - 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, 2009, 2009, 2009, 2009, 2009, - 0, 2009, 2009, 2009, 2009, 0, 0, 2009, 2009, 0, - 0, 2009, 2009, 2009, 0, 2009, 0, 0, 2009, 2010, - 2010, 2010, 2010, 2010, 0, 2010, 2010, 2010, 2010, 0, - 0, 2010, 2010, 0, 0, 2010, 2010, 2010, 0, 2010, - 0, 0, 2010, 2011, 0, 2011, 0, 0, 2011, 2011, - - 0, 0, 2011, 2011, 2011, 0, 0, 2011, 2011, 2011, - 2011, 2011, 2012, 0, 2012, 0, 0, 0, 2012, 0, - 2012, 2012, 2013, 0, 2013, 0, 0, 2013, 2013, 0, - 2013, 0, 2013, 2013, 0, 2013, 2013, 2013, 2013, 2013, - 2013, 2014, 0, 2014, 0, 0, 2014, 2014, 0, 2014, - 0, 2014, 2014, 0, 2014, 2014, 2014, 2014, 2014, 2014, - 2015, 0, 2015, 0, 0, 2015, 2015, 0, 2015, 0, - 2015, 2015, 0, 2015, 2015, 2015, 2015, 2015, 2015, 2016, - 0, 2016, 0, 0, 2016, 2016, 0, 2016, 0, 2016, - 2016, 0, 2016, 2016, 2016, 2016, 2016, 2016, 2017, 0, - - 2017, 0, 0, 2017, 2017, 0, 0, 0, 2017, 0, - 0, 0, 2017, 2017, 2017, 2017, 2017, 2018, 0, 2018, - 0, 0, 2018, 2018, 0, 2018, 2018, 2018, 2018, 0, - 2018, 2018, 2018, 2018, 2018, 2018, 2019, 0, 2019, 0, - 0, 2019, 2019, 0, 2019, 2019, 2019, 2019, 0, 2019, - 2019, 2019, 2019, 2019, 2019, 2020, 0, 2020, 0, 0, - 2020, 2020, 0, 2020, 2020, 2020, 2020, 0, 2020, 2020, + 0, 0, 2007, 0, 0, 2007, 0, 2007, 2007, 2007, + 2007, 2007, 2007, 2007, 2007, 2008, 0, 2008, 0, 0, + 2008, 2008, 0, 0, 0, 2008, 0, 0, 2008, 0, + + 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2009, 0, + 2009, 0, 0, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 0, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2010, 0, 2010, 0, 0, 2010, 2010, 0, 0, + 2010, 2010, 2010, 0, 2010, 0, 2010, 2010, 2010, 2010, + 2010, 2010, 2010, 2010, 2011, 0, 2011, 0, 0, 2011, + 2011, 0, 2011, 2011, 2011, 2011, 0, 2011, 2011, 2011, + 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2012, 0, 2012, + 0, 0, 2012, 2012, 0, 2012, 2012, 2012, 2012, 0, + 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, + + 2013, 0, 2013, 0, 0, 2013, 2013, 0, 2013, 2013, + 2013, 2013, 0, 2013, 2013, 2013, 2013, 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, 2014, 2014, 2014, 2014, 2015, 0, 2015, 0, + 0, 2015, 2015, 0, 2015, 2015, 2015, 2015, 0, 2015, + 2015, 2015, 2015, 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, 2016, 2016, + 2016, 2016, 2017, 0, 2017, 0, 0, 2017, 2017, 0, + + 2017, 2017, 2017, 2017, 0, 2017, 2017, 2017, 2017, 2017, + 2017, 2017, 2017, 2017, 2017, 2018, 0, 2018, 0, 0, + 2018, 2018, 0, 0, 2018, 2018, 2018, 0, 2018, 0, + 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2019, 0, + 2019, 0, 0, 2019, 2019, 0, 0, 2019, 2019, 0, + 0, 2019, 0, 2019, 2019, 2019, 2019, 2019, 2019, 2019, + 2019, 2020, 0, 2020, 0, 0, 2020, 2020, 0, 0, + 2020, 2020, 0, 0, 2020, 0, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 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, 2024, 2024, 2024, 2024, - 2024, 0, 2024, 2024, 2024, 2024, 0, 0, 2024, 2024, - 0, 0, 2024, 2024, 2024, 0, 2024, 0, 0, 2024, - 2025, 2025, 2025, 2025, 2025, 0, 2025, 2025, 2025, 2025, - 0, 0, 2025, 2025, 0, 0, 2025, 2025, 2025, 0, - 2025, 0, 0, 2025, 2026, 2026, 2026, 2026, 2026, 0, - - 2026, 2026, 2026, 2026, 0, 0, 2026, 2026, 0, 0, - 2026, 2026, 2026, 0, 2026, 0, 0, 2026, 2027, 2027, - 2027, 2027, 2027, 0, 2027, 2027, 2027, 2027, 0, 0, - 2027, 2027, 0, 0, 2027, 2027, 2027, 0, 2027, 0, - 0, 2027, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - - 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1764, 1764 + + 2021, 2021, 0, 2021, 0, 0, 0, 2021, 0, 0, + 0, 2021, 2022, 2022, 2022, 2022, 2022, 0, 2022, 2022, + 2022, 2022, 0, 0, 2022, 2022, 0, 0, 2022, 2022, + 0, 2022, 0, 0, 0, 2022, 0, 0, 0, 2022, + 2023, 2023, 2023, 2023, 2023, 0, 2023, 2023, 2023, 2023, + 0, 0, 2023, 2023, 0, 0, 2023, 2023, 0, 2023, + 0, 0, 0, 2023, 0, 0, 0, 2023, 2024, 0, + 2024, 0, 0, 2024, 2024, 0, 0, 2024, 2024, 2024, + 0, 2024, 0, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + 2024, 2025, 0, 2025, 0, 0, 0, 0, 2025, 2025, + + 2025, 0, 2025, 2025, 2026, 0, 2026, 0, 0, 2026, + 2026, 0, 2026, 0, 2026, 2026, 0, 2026, 2026, 2026, + 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2027, 0, 2027, + 0, 0, 2027, 2027, 0, 2027, 0, 2027, 2027, 0, + 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, + 2028, 0, 2028, 0, 0, 2028, 2028, 0, 2028, 0, + 2028, 2028, 0, 2028, 2028, 2028, 2028, 2028, 2028, 2028, + 2028, 2028, 2028, 2029, 0, 2029, 0, 0, 2029, 2029, + 0, 2029, 0, 2029, 2029, 0, 2029, 2029, 2029, 2029, + 2029, 2029, 2029, 2029, 2029, 2029, 2030, 0, 2030, 0, + + 0, 2030, 2030, 0, 0, 0, 2030, 0, 0, 2030, + 0, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2031, + 0, 2031, 0, 0, 2031, 2031, 0, 2031, 2031, 2031, + 2031, 0, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, + 2031, 2031, 2032, 0, 2032, 0, 0, 2032, 2032, 0, + 2032, 2032, 2032, 2032, 0, 2032, 2032, 2032, 2032, 2032, + 2032, 2032, 2032, 2032, 2032, 2033, 0, 2033, 0, 0, + 2033, 2033, 0, 2033, 2033, 2033, 2033, 0, 2033, 2033, + 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2034, 0, + 2034, 0, 0, 2034, 2034, 0, 2034, 2034, 2034, 2034, + + 0, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, + 2034, 2035, 2035, 2035, 2035, 2035, 0, 2035, 2035, 2035, + 2035, 0, 0, 2035, 2035, 0, 0, 2035, 2035, 0, + 2035, 0, 0, 0, 2035, 0, 0, 0, 2035, 2036, + 2036, 2036, 2036, 2036, 0, 2036, 2036, 2036, 2036, 0, + 0, 2036, 2036, 0, 0, 2036, 2036, 0, 2036, 0, + 0, 0, 2036, 0, 0, 0, 2036, 2037, 2037, 2037, + 2037, 2037, 0, 2037, 2037, 2037, 2037, 0, 0, 2037, + 2037, 0, 0, 2037, 2037, 0, 2037, 0, 0, 0, + 2037, 0, 0, 0, 2037, 2038, 2038, 2038, 2038, 2038, + + 0, 2038, 2038, 2038, 2038, 0, 0, 2038, 2038, 0, + 0, 2038, 2038, 0, 2038, 0, 0, 0, 2038, 0, + 0, 0, 2038, 2039, 2039, 2039, 2039, 2039, 0, 2039, + 2039, 2039, 2039, 0, 0, 2039, 2039, 0, 0, 2039, + 2039, 0, 2039, 0, 0, 0, 2039, 0, 0, 0, + 2039, 2040, 2040, 2040, 2040, 2040, 0, 2040, 2040, 2040, + 2040, 0, 0, 2040, 2040, 0, 0, 2040, 2040, 0, + 2040, 0, 0, 0, 2040, 0, 0, 0, 2040, 2041, + 2041, 2041, 2041, 2041, 0, 2041, 2041, 2041, 2041, 0, + 0, 2041, 2041, 0, 0, 2041, 2041, 0, 2041, 0, + + 0, 0, 2041, 0, 0, 0, 2041, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773 } ; #define YY_TRAILING_MASK 0x2000 @@ -4480,10 +4719,10 @@ static char *remove_char(char *str, int c) return str; } -#line 4484 "lex.yy.c" +#line 4723 "lex.yy.c" #define YY_NO_INPUT 1 -#line 4487 "lex.yy.c" +#line 4726 "lex.yy.c" #define INITIAL 0 #define SPECIAL 1 @@ -4796,10 +5035,10 @@ YY_DECL } { -#line 325 "parser.l" +#line 326 "parser.l" -#line 4803 "lex.yy.c" +#line 5042 "lex.yy.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -4826,14 +5065,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 >= 1765 ) + if ( yy_current_state >= 1774 ) 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 != 1764 ); + while ( yy_current_state != 1773 ); yy_find_action: yy_current_state = *--yyg->yy_state_ptr; @@ -4882,7 +5121,7 @@ do_action: /* This label is used only to access EOF actions. */ { /* beginning of action switch */ case 1: YY_RULE_SETUP -#line 327 "parser.l" +#line 328 "parser.l" { wchar_t *wtxt = utf8_dup_from(yytext); @@ -4898,7 +5137,7 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 340 "parser.l" +#line 341 "parser.l" { wchar_t *wtxt = utf8_dup_from(remove_char(yytext, ',')); @@ -4914,7 +5153,7 @@ YY_RULE_SETUP YY_BREAK case 3: YY_RULE_SETUP -#line 353 "parser.l" +#line 354 "parser.l" { wchar_t *wtxt = utf8_dup_from(remove_char(yytext + 2, ',')); int base; @@ -4937,7 +5176,7 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 373 "parser.l" +#line 374 "parser.l" { int base = 0; val str = string_own(utf8_dup_from(yytext + 2)); @@ -4962,7 +5201,7 @@ YY_RULE_SETUP YY_BREAK case 5: YY_RULE_SETUP -#line 395 "parser.l" +#line 396 "parser.l" { if (yy_top_state(yyscanner) == INITIAL || yy_top_state(yyscanner) == QSILIT @@ -4977,7 +5216,7 @@ YY_RULE_SETUP YY_BREAK case 6: YY_RULE_SETUP -#line 407 "parser.l" +#line 408 "parser.l" { if (yy_top_state(yyscanner) == INITIAL || yy_top_state(yyscanner) == QSILIT @@ -4993,12 +5232,12 @@ YY_RULE_SETUP } YY_BREAK case 7: -#line 423 "parser.l" -case 8: #line 424 "parser.l" +case 8: +#line 425 "parser.l" case 9: YY_RULE_SETUP -#line 424 "parser.l" +#line 425 "parser.l" { val str = string_utf8(yytext); @@ -5022,7 +5261,7 @@ 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 440 "parser.l" +#line 441 "parser.l" { if (yy_top_state(yyscanner) == INITIAL || yy_top_state(yyscanner) == QSILIT @@ -5036,10 +5275,10 @@ YY_RULE_SETUP } YY_BREAK case 11: -#line 453 "parser.l" +#line 454 "parser.l" case 12: YY_RULE_SETUP -#line 453 "parser.l" +#line 454 "parser.l" { wchar_t *wtxt = utf8_dup_from(yytext + 1); @@ -5053,10 +5292,10 @@ YY_RULE_SETUP } YY_BREAK case 13: -#line 466 "parser.l" +#line 467 "parser.l" case 14: YY_RULE_SETUP -#line 466 "parser.l" +#line 467 "parser.l" { wchar_t *wtxt = utf8_dup_from(yytext + 3); @@ -5070,10 +5309,10 @@ YY_RULE_SETUP } YY_BREAK case 15: -#line 479 "parser.l" +#line 480 "parser.l" case 16: YY_RULE_SETUP -#line 479 "parser.l" +#line 480 "parser.l" { wchar_t *wtxt = utf8_dup_from(yytext + 3); @@ -5088,7 +5327,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 491 "parser.l" +#line 492 "parser.l" { wchar_t *wtxt = utf8_dup_from(yytext + 3); @@ -5102,12 +5341,12 @@ YY_RULE_SETUP } YY_BREAK case 18: -#line 504 "parser.l" -case 19: #line 505 "parser.l" +case 19: +#line 506 "parser.l" case 20: YY_RULE_SETUP -#line 505 "parser.l" +#line 506 "parser.l" { yyerrorf(yyg, lit("cramped floating-point literal: " "space needed between ~a and dot."), @@ -5124,12 +5363,12 @@ YY_RULE_SETUP } YY_BREAK case 21: -#line 522 "parser.l" -case 22: #line 523 "parser.l" +case 22: +#line 524 "parser.l" case 23: YY_RULE_SETUP -#line 523 "parser.l" +#line 524 "parser.l" { if (yy_top_state(yyscanner) == INITIAL || yy_top_state(yyscanner) == QSILIT @@ -5141,10 +5380,10 @@ YY_RULE_SETUP } YY_BREAK case 24: -#line 534 "parser.l" +#line 535 "parser.l" case 25: YY_RULE_SETUP -#line 534 "parser.l" +#line 535 "parser.l" { if (yy_top_state(yyscanner) == INITIAL || yy_top_state(yyscanner) == QSILIT @@ -5160,7 +5399,7 @@ YY_RULE_SETUP YY_BREAK case 26: YY_RULE_SETUP -#line 547 "parser.l" +#line 548 "parser.l" { return directive_tok(yyg, ALL, 0); } @@ -5172,28 +5411,28 @@ 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 551 "parser.l" +#line 552 "parser.l" { return directive_tok(yyg, SOME, NESTED); } YY_BREAK case 28: YY_RULE_SETUP -#line 555 "parser.l" +#line 556 "parser.l" { return directive_tok(yyg, NONE, 0); } YY_BREAK case 29: YY_RULE_SETUP -#line 559 "parser.l" +#line 560 "parser.l" { return directive_tok(yyg, MAYBE, 0); } YY_BREAK case 30: YY_RULE_SETUP -#line 563 "parser.l" +#line 564 "parser.l" { return directive_tok(yyg, CASES, 0); } @@ -5205,7 +5444,7 @@ 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 567 "parser.l" +#line 568 "parser.l" { return directive_tok(yyg, BLOCK, NESTED); } @@ -5217,7 +5456,7 @@ 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 571 "parser.l" +#line 572 "parser.l" { return directive_tok(yyg, CHOOSE, NESTED); } @@ -5229,28 +5468,28 @@ 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 575 "parser.l" +#line 576 "parser.l" { return directive_tok(yyg, GATHER, NESTED); } YY_BREAK case 34: YY_RULE_SETUP -#line 579 "parser.l" +#line 580 "parser.l" { return directive_tok(yyg, AND, 0); } YY_BREAK case 35: YY_RULE_SETUP -#line 583 "parser.l" +#line 584 "parser.l" { return directive_tok(yyg, OR, 0); } YY_BREAK case 36: YY_RULE_SETUP -#line 587 "parser.l" +#line 588 "parser.l" { return directive_tok(yyg, END, 0); } @@ -5262,7 +5501,7 @@ 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 591 "parser.l" +#line 592 "parser.l" { return directive_tok(yyg, COLLECT, NESTED); } @@ -5274,7 +5513,7 @@ 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 595 "parser.l" +#line 596 "parser.l" { return directive_tok(yyg, COLL, NESTED); } @@ -5286,7 +5525,7 @@ 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 599 "parser.l" +#line 600 "parser.l" { return directive_tok(yyg, UNTIL, NESTED); } @@ -5298,7 +5537,7 @@ 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 603 "parser.l" +#line 604 "parser.l" { return directive_tok(yyg, OUTPUT, NESTED); } @@ -5310,7 +5549,7 @@ 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 607 "parser.l" +#line 608 "parser.l" { return directive_tok(yyg, REPEAT, NESTED); } @@ -5322,7 +5561,7 @@ 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 611 "parser.l" +#line 612 "parser.l" { return directive_tok(yyg, PUSH, NESTED); } @@ -5334,21 +5573,21 @@ 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 615 "parser.l" +#line 616 "parser.l" { return directive_tok(yyg, REP, NESTED); } YY_BREAK case 44: YY_RULE_SETUP -#line 619 "parser.l" +#line 620 "parser.l" { return directive_tok(yyg, SINGLE, 0); } YY_BREAK case 45: YY_RULE_SETUP -#line 623 "parser.l" +#line 624 "parser.l" { return directive_tok(yyg, FIRST, 0); } @@ -5360,14 +5599,14 @@ 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 627 "parser.l" +#line 628 "parser.l" { return directive_tok(yyg, LAST, NESTED); } YY_BREAK case 47: YY_RULE_SETUP -#line 631 "parser.l" +#line 632 "parser.l" { return directive_tok(yyg, EMPTY, 0); } @@ -5379,7 +5618,7 @@ 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 635 "parser.l" +#line 636 "parser.l" { return directive_tok(yyg, MOD, NESTED); } @@ -5391,7 +5630,7 @@ 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 639 "parser.l" +#line 640 "parser.l" { return directive_tok(yyg, MODLAST, NESTED); } @@ -5403,14 +5642,14 @@ 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 643 "parser.l" +#line 644 "parser.l" { return directive_tok(yyg, DEFINE, NESTED); } YY_BREAK case 51: YY_RULE_SETUP -#line 647 "parser.l" +#line 648 "parser.l" { return directive_tok(yyg, TRY, 0); } @@ -5422,14 +5661,14 @@ 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 651 "parser.l" +#line 652 "parser.l" { return directive_tok(yyg, CATCH, NESTED); } YY_BREAK case 53: YY_RULE_SETUP -#line 655 "parser.l" +#line 656 "parser.l" { return directive_tok(yyg, FINALLY, 0); } @@ -5441,7 +5680,7 @@ 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 659 "parser.l" +#line 660 "parser.l" { return directive_tok(yyg, IF, NESTED); } @@ -5453,21 +5692,21 @@ 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 663 "parser.l" +#line 664 "parser.l" { return directive_tok(yyg, ELIF, NESTED); } YY_BREAK case 56: YY_RULE_SETUP -#line 667 "parser.l" +#line 668 "parser.l" { return directive_tok(yyg, ELSE, 0); } YY_BREAK case 57: YY_RULE_SETUP -#line 671 "parser.l" +#line 672 "parser.l" { yy_push_state(BRACED, yyscanner); yylval->lineno = yyextra->lineno; @@ -5476,7 +5715,7 @@ YY_RULE_SETUP YY_BREAK case 58: YY_RULE_SETUP -#line 677 "parser.l" +#line 678 "parser.l" { yy_push_state(NESTED, yyscanner); yylval->lineno = yyextra->lineno; @@ -5485,7 +5724,7 @@ YY_RULE_SETUP YY_BREAK case 59: YY_RULE_SETUP -#line 683 "parser.l" +#line 684 "parser.l" { yylval->lineno = yyextra->lineno; return (opt_compat && opt_compat <= 248) ? OLD_AT : '@'; @@ -5493,7 +5732,7 @@ YY_RULE_SETUP YY_BREAK case 60: YY_RULE_SETUP -#line 688 "parser.l" +#line 689 "parser.l" { yylval->chr = '*'; return SPLICE; @@ -5501,7 +5740,7 @@ YY_RULE_SETUP YY_BREAK case 61: YY_RULE_SETUP -#line 693 "parser.l" +#line 694 "parser.l" { yylval->chr = yytext[0]; return yytext[0]; @@ -5509,7 +5748,7 @@ YY_RULE_SETUP YY_BREAK case 62: YY_RULE_SETUP -#line 698 "parser.l" +#line 699 "parser.l" { yy_pop_state(yyscanner); if (yy_top_state(yyscanner) == INITIAL @@ -5524,7 +5763,7 @@ case 63: yyg->yy_c_buf_p = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 707 "parser.l" +#line 708 "parser.l" { yyerrorf(yyg, lit("cramped floating-point literal: " "space or 0 needed between ~a and dot."), @@ -5541,7 +5780,7 @@ YY_RULE_SETUP YY_BREAK case 64: YY_RULE_SETUP -#line 722 "parser.l" +#line 723 "parser.l" { yy_pop_state(yyscanner); if (yy_top_state(yyscanner) == INITIAL @@ -5553,14 +5792,14 @@ YY_RULE_SETUP YY_BREAK case 65: YY_RULE_SETUP -#line 731 "parser.l" +#line 732 "parser.l" { /* Eat whitespace in directive */ } YY_BREAK case 66: YY_RULE_SETUP -#line 735 "parser.l" +#line 736 "parser.l" { yy_push_state(STRLIT, yyscanner); return '"'; @@ -5568,7 +5807,7 @@ YY_RULE_SETUP YY_BREAK case 67: YY_RULE_SETUP -#line 740 "parser.l" +#line 741 "parser.l" { yy_push_state(CHRLIT, yyscanner); yylval->lineno = yyextra->lineno; @@ -5577,7 +5816,7 @@ YY_RULE_SETUP YY_BREAK case 68: YY_RULE_SETUP -#line 746 "parser.l" +#line 747 "parser.l" { yy_push_state(BUFLIT, yyscanner); yylval->lineno = yyextra->lineno; @@ -5586,7 +5825,7 @@ YY_RULE_SETUP YY_BREAK case 69: YY_RULE_SETUP -#line 752 "parser.l" +#line 753 "parser.l" { yy_push_state(REGEX, yyscanner); yylval->lineno = yyextra->lineno; @@ -5595,7 +5834,7 @@ YY_RULE_SETUP YY_BREAK case 70: YY_RULE_SETUP -#line 758 "parser.l" +#line 759 "parser.l" { yy_push_state(QSILIT, yyscanner); return '`'; @@ -5603,7 +5842,7 @@ YY_RULE_SETUP YY_BREAK case 71: YY_RULE_SETUP -#line 763 "parser.l" +#line 764 "parser.l" { yy_push_state(WLIT, yyscanner); yylval->lineno = yyextra->lineno; @@ -5612,7 +5851,7 @@ YY_RULE_SETUP YY_BREAK case 72: YY_RULE_SETUP -#line 769 "parser.l" +#line 770 "parser.l" { yy_push_state(WLIT, yyscanner); yylval->lineno = yyextra->lineno; @@ -5621,7 +5860,7 @@ YY_RULE_SETUP YY_BREAK case 73: YY_RULE_SETUP -#line 775 "parser.l" +#line 776 "parser.l" { yy_push_state(QWLIT, yyscanner); yylval->lineno = yyextra->lineno; @@ -5630,7 +5869,7 @@ YY_RULE_SETUP YY_BREAK case 74: YY_RULE_SETUP -#line 781 "parser.l" +#line 782 "parser.l" { yy_push_state(QWLIT, yyscanner); yylval->lineno = yyextra->lineno; @@ -5639,14 +5878,14 @@ YY_RULE_SETUP YY_BREAK case 75: YY_RULE_SETUP -#line 787 "parser.l" +#line 788 "parser.l" { return '#'; } YY_BREAK case 76: YY_RULE_SETUP -#line 791 "parser.l" +#line 792 "parser.l" { yylval->lineno = yyextra->lineno; return HASH_H; @@ -5654,7 +5893,7 @@ YY_RULE_SETUP YY_BREAK case 77: YY_RULE_SETUP -#line 796 "parser.l" +#line 797 "parser.l" { yylval->lineno = yyextra->lineno; return HASH_S; @@ -5662,7 +5901,7 @@ YY_RULE_SETUP YY_BREAK case 78: YY_RULE_SETUP -#line 801 "parser.l" +#line 802 "parser.l" { yylval->lineno = yyextra->lineno; return HASH_R; @@ -5670,7 +5909,7 @@ YY_RULE_SETUP YY_BREAK case 79: YY_RULE_SETUP -#line 806 "parser.l" +#line 807 "parser.l" { yylval->lineno = yyextra->lineno; return HASH_N; @@ -5678,7 +5917,7 @@ YY_RULE_SETUP YY_BREAK case 80: YY_RULE_SETUP -#line 811 "parser.l" +#line 812 "parser.l" { yylval->lineno = yyextra->lineno; return HASH_T; @@ -5686,7 +5925,7 @@ YY_RULE_SETUP YY_BREAK case 81: YY_RULE_SETUP -#line 816 "parser.l" +#line 817 "parser.l" { yylval->lineno = yyextra->lineno; yy_push_state(JSON, yyscanner); @@ -5695,7 +5934,7 @@ YY_RULE_SETUP YY_BREAK case 82: YY_RULE_SETUP -#line 822 "parser.l" +#line 823 "parser.l" { yylval->lineno = yyextra->lineno; return HASH_SEMI; @@ -5703,7 +5942,7 @@ YY_RULE_SETUP YY_BREAK case 83: YY_RULE_SETUP -#line 827 "parser.l" +#line 828 "parser.l" { wchar_t *wtxt = utf8_dup_from(yytext + 1); yylval->val = int_str_wc(wtxt, num(10)); @@ -5713,7 +5952,7 @@ YY_RULE_SETUP YY_BREAK case 84: YY_RULE_SETUP -#line 834 "parser.l" +#line 835 "parser.l" { wchar_t *wtxt = utf8_dup_from(yytext + 1); yylval->val = int_str_wc(wtxt, num(10)); @@ -5723,7 +5962,7 @@ YY_RULE_SETUP YY_BREAK case 85: YY_RULE_SETUP -#line 841 "parser.l" +#line 842 "parser.l" { yylval->lineno = yyextra->lineno; return (opt_compat && opt_compat <= 185) ? OLD_DOTDOT : DOTDOT; @@ -5731,7 +5970,7 @@ YY_RULE_SETUP YY_BREAK case 86: YY_RULE_SETUP -#line 846 "parser.l" +#line 847 "parser.l" { yy_pop_state(yyscanner); yylval->lexeme = chk_strdup(L"@"); @@ -5741,14 +5980,14 @@ YY_RULE_SETUP case 87: /* rule 87 can match eol */ YY_RULE_SETUP -#line 852 "parser.l" +#line 853 "parser.l" { yyextra->lineno++; } YY_BREAK case 88: YY_RULE_SETUP -#line 856 "parser.l" +#line 857 "parser.l" { yy_push_state(REGEX, yyscanner); return '/'; @@ -5756,7 +5995,7 @@ YY_RULE_SETUP YY_BREAK case 89: YY_RULE_SETUP -#line 861 "parser.l" +#line 862 "parser.l" { yylval->chr = '.'; return CONSDOT; @@ -5764,7 +6003,7 @@ YY_RULE_SETUP YY_BREAK case 90: YY_RULE_SETUP -#line 866 "parser.l" +#line 867 "parser.l" { yylval->chr = '.'; return LAMBDOT; @@ -5772,7 +6011,7 @@ YY_RULE_SETUP YY_BREAK case 91: YY_RULE_SETUP -#line 871 "parser.l" +#line 872 "parser.l" { yylval->chr = '.'; return UREFDOT; @@ -5780,7 +6019,7 @@ YY_RULE_SETUP YY_BREAK case 92: YY_RULE_SETUP -#line 876 "parser.l" +#line 877 "parser.l" { yylval->chr = '.'; return '.'; @@ -5788,7 +6027,7 @@ YY_RULE_SETUP YY_BREAK case 93: YY_RULE_SETUP -#line 881 "parser.l" +#line 882 "parser.l" { yylval->chr = '.'; return OREFDOT; @@ -5796,7 +6035,7 @@ YY_RULE_SETUP YY_BREAK case 94: YY_RULE_SETUP -#line 886 "parser.l" +#line 887 "parser.l" { yylval->chr = '.'; return UOREFDOT; @@ -5805,7 +6044,7 @@ YY_RULE_SETUP case 95: /* rule 95 can match eol */ YY_RULE_SETUP -#line 891 "parser.l" +#line 892 "parser.l" { if (YYSTATE == SPECIAL) yy_pop_state(yyscanner); /* @\ continuation */ @@ -5814,7 +6053,7 @@ YY_RULE_SETUP YY_BREAK case 96: YY_RULE_SETUP -#line 897 "parser.l" +#line 898 "parser.l" { wchar_t lexeme[2]; lexeme[0] = char_esc(yytext[1]); @@ -5826,7 +6065,7 @@ YY_RULE_SETUP YY_BREAK case 97: YY_RULE_SETUP -#line 906 "parser.l" +#line 907 "parser.l" { wchar_t lexeme[2]; lexeme[0] = num_esc(yyg, yytext + 1); @@ -5845,28 +6084,28 @@ YY_RULE_SETUP YY_BREAK case 98: YY_RULE_SETUP -#line 922 "parser.l" +#line 923 "parser.l" { yyerrorf(yyg, lit("\\x escape without digits"), nao); } YY_BREAK case 99: YY_RULE_SETUP -#line 926 "parser.l" +#line 927 "parser.l" { yyerrorf(yyg, lit("unrecognized escape \\~a"), chr(yytext[1]), nao); } YY_BREAK case 100: YY_RULE_SETUP -#line 930 "parser.l" +#line 931 "parser.l" { /* comment */ } YY_BREAK case 101: YY_RULE_SETUP -#line 934 "parser.l" +#line 935 "parser.l" { val ch = chr_str(string_utf8(yytext), zero); if (chr_isspace(ch)) @@ -5886,7 +6125,7 @@ YY_RULE_SETUP YY_BREAK case 102: YY_RULE_SETUP -#line 951 "parser.l" +#line 952 "parser.l" { yyerrprepf(yyg, lit("non-UTF-8 byte #x~02x in directive"), num(convert(unsigned char, yytext[0])), nao); @@ -5895,7 +6134,7 @@ YY_RULE_SETUP YY_BREAK case 103: YY_RULE_SETUP -#line 957 "parser.l" +#line 958 "parser.l" { yylval->chr = '/'; return (YYSTATE == SREGEX) ? REGCHAR : '/'; @@ -5903,7 +6142,7 @@ YY_RULE_SETUP YY_BREAK case 104: YY_RULE_SETUP -#line 962 "parser.l" +#line 963 "parser.l" { yylval->chr = char_esc(yytext[1]); return REGCHAR; @@ -5911,7 +6150,7 @@ YY_RULE_SETUP YY_BREAK case 105: YY_RULE_SETUP -#line 967 "parser.l" +#line 968 "parser.l" { yylval->chr = num_esc(yyg, yytext + 1); return REGCHAR; @@ -5919,7 +6158,7 @@ YY_RULE_SETUP YY_BREAK case 106: YY_RULE_SETUP -#line 972 "parser.l" +#line 973 "parser.l" { yylval->chr = yytext[1]; return REGTOKEN; @@ -5928,7 +6167,7 @@ YY_RULE_SETUP case 107: /* rule 107 can match eol */ YY_RULE_SETUP -#line 977 "parser.l" +#line 978 "parser.l" { yyextra->lineno++; } @@ -5936,7 +6175,7 @@ YY_RULE_SETUP case 108: /* rule 108 can match eol */ YY_RULE_SETUP -#line 981 "parser.l" +#line 982 "parser.l" { yyextra->lineno++; yyerrprepf(yyg, lit("newline in regex"), nao); @@ -5946,7 +6185,7 @@ YY_RULE_SETUP case 109: /* rule 109 can match eol */ YY_RULE_SETUP -#line 987 "parser.l" +#line 988 "parser.l" { yyextra->lineno++; yylval->chr = yytext[0]; @@ -5955,7 +6194,7 @@ YY_RULE_SETUP YY_BREAK case 110: YY_RULE_SETUP -#line 993 "parser.l" +#line 994 "parser.l" { yylval->chr = yytext[0]; return yytext[0]; @@ -5963,7 +6202,7 @@ YY_RULE_SETUP YY_BREAK case 111: YY_RULE_SETUP -#line 998 "parser.l" +#line 999 "parser.l" { yylval->chr = yytext[1]; return REGCHAR; @@ -5971,7 +6210,7 @@ YY_RULE_SETUP YY_BREAK case 112: YY_RULE_SETUP -#line 1003 "parser.l" +#line 1004 "parser.l" { if (opt_compat && opt_compat <= 105) { yylval->chr = yytext[1]; @@ -5987,7 +6226,7 @@ YY_RULE_SETUP YY_BREAK case 113: YY_RULE_SETUP -#line 1016 "parser.l" +#line 1017 "parser.l" { yyerrprepf(yyg, lit("dangling backslash in regex"), nao); return ERRTOK; @@ -5995,7 +6234,7 @@ YY_RULE_SETUP YY_BREAK case 114: YY_RULE_SETUP -#line 1021 "parser.l" +#line 1022 "parser.l" { wchar_t wchr[8]; if (utf8_from_buf(wchr, coerce(unsigned char *, yytext), yyleng) != 2) { @@ -6008,7 +6247,7 @@ YY_RULE_SETUP YY_BREAK case 115: YY_RULE_SETUP -#line 1031 "parser.l" +#line 1032 "parser.l" { yylval->chr = convert(unsigned char, yytext[0]) + 0xDC00; return REGCHAR; @@ -6016,7 +6255,7 @@ YY_RULE_SETUP YY_BREAK case 116: YY_RULE_SETUP -#line 1036 "parser.l" +#line 1037 "parser.l" { yylval->lexeme = utf8_dup_from(yytext); return SPACE; @@ -6024,7 +6263,7 @@ YY_RULE_SETUP YY_BREAK case 117: YY_RULE_SETUP -#line 1041 "parser.l" +#line 1042 "parser.l" { yylval->lexeme = utf8_dup_from(yytext); return TEXT; @@ -6033,7 +6272,7 @@ YY_RULE_SETUP case 118: /* rule 118 can match eol */ YY_RULE_SETUP -#line 1046 "parser.l" +#line 1047 "parser.l" { yyextra->lineno++; return '\n'; @@ -6041,7 +6280,7 @@ YY_RULE_SETUP YY_BREAK case 119: YY_RULE_SETUP -#line 1051 "parser.l" +#line 1052 "parser.l" { yy_push_state(SPECIAL, yyscanner); return '*'; @@ -6049,7 +6288,7 @@ YY_RULE_SETUP YY_BREAK case 120: YY_RULE_SETUP -#line 1056 "parser.l" +#line 1057 "parser.l" { yy_push_state(SPECIAL, yyscanner); } @@ -6057,7 +6296,7 @@ YY_RULE_SETUP case 121: /* rule 121 can match eol */ YY_RULE_SETUP -#line 1060 "parser.l" +#line 1061 "parser.l" { /* eat whole line comment */ yyextra->lineno++; @@ -6065,14 +6304,14 @@ YY_RULE_SETUP YY_BREAK case 122: YY_RULE_SETUP -#line 1065 "parser.l" +#line 1066 "parser.l" { /* comment to end of line */ } YY_BREAK case 123: YY_RULE_SETUP -#line 1069 "parser.l" +#line 1070 "parser.l" { yy_pop_state(yyscanner); return yytext[0]; @@ -6080,7 +6319,7 @@ YY_RULE_SETUP YY_BREAK case 124: YY_RULE_SETUP -#line 1074 "parser.l" +#line 1075 "parser.l" { yy_pop_state(yyscanner); return yytext[0]; @@ -6088,7 +6327,7 @@ YY_RULE_SETUP YY_BREAK case 125: YY_RULE_SETUP -#line 1079 "parser.l" +#line 1080 "parser.l" { yylval->chr = char_esc(yytext[1]); return LITCHAR; @@ -6096,7 +6335,7 @@ YY_RULE_SETUP YY_BREAK case 126: YY_RULE_SETUP -#line 1084 "parser.l" +#line 1085 "parser.l" { yylval->chr = char_esc(yytext[1]); return LITCHAR; @@ -6105,7 +6344,7 @@ YY_RULE_SETUP case 127: /* rule 127 can match eol */ YY_RULE_SETUP -#line 1089 "parser.l" +#line 1090 "parser.l" { yyextra->lineno++; } @@ -6113,7 +6352,7 @@ YY_RULE_SETUP case 128: /* rule 128 can match eol */ YY_RULE_SETUP -#line 1093 "parser.l" +#line 1094 "parser.l" { yyextra->lineno++; @@ -6123,7 +6362,7 @@ YY_RULE_SETUP YY_BREAK case 129: YY_RULE_SETUP -#line 1101 "parser.l" +#line 1102 "parser.l" { yylval->chr = num_esc(yyg, yytext+1); return LITCHAR; @@ -6131,21 +6370,21 @@ YY_RULE_SETUP YY_BREAK case 130: YY_RULE_SETUP -#line 1106 "parser.l" +#line 1107 "parser.l" { yyerrorf(yyg, lit("\\x escape without digits"), nao); } YY_BREAK case 131: YY_RULE_SETUP -#line 1110 "parser.l" +#line 1111 "parser.l" { yyerrorf(yyg, lit("unrecognized escape: \\~a"), chr(yytext[1]), nao); } YY_BREAK case 132: YY_RULE_SETUP -#line 1114 "parser.l" +#line 1115 "parser.l" { yylval->chr = num_esc(yyg, yytext); return LITCHAR; @@ -6153,7 +6392,7 @@ YY_RULE_SETUP YY_BREAK case 133: YY_RULE_SETUP -#line 1119 "parser.l" +#line 1120 "parser.l" { yylval->lexeme = utf8_dup_from(yytext); return SYMTOK; @@ -6161,7 +6400,7 @@ YY_RULE_SETUP YY_BREAK case 134: YY_RULE_SETUP -#line 1124 "parser.l" +#line 1125 "parser.l" { yylval->lexeme = utf8_dup_from(yytext); return SYMTOK; /* hack */ @@ -6170,7 +6409,7 @@ YY_RULE_SETUP case 135: /* rule 135 can match eol */ YY_RULE_SETUP -#line 1129 "parser.l" +#line 1130 "parser.l" { yyerrprepf(yyg, lit("newline in string literal"), nao); yyextra->lineno++; @@ -6181,7 +6420,7 @@ YY_RULE_SETUP case 136: /* rule 136 can match eol */ YY_RULE_SETUP -#line 1136 "parser.l" +#line 1137 "parser.l" { yyerrprepf(yyg, lit("newline in character literal"), nao); yyextra->lineno++; @@ -6192,7 +6431,7 @@ YY_RULE_SETUP case 137: /* rule 137 can match eol */ YY_RULE_SETUP -#line 1143 "parser.l" +#line 1144 "parser.l" { yyerrprepf(yyg, lit("newline in string quasiliteral"), nao); yyextra->lineno++; @@ -6203,7 +6442,7 @@ YY_RULE_SETUP case 138: /* rule 138 can match eol */ YY_RULE_SETUP -#line 1150 "parser.l" +#line 1151 "parser.l" { yyextra->lineno++; @@ -6216,50 +6455,60 @@ YY_RULE_SETUP } YY_BREAK 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 1161 "parser.l" +#line 1162 "parser.l" { yy_push_state(QSPECIAL, yyscanner); + yylval->val = nil; + if (yytext[1] == '~') { + yytext[strcspn(yytext, ":")] = 0; + yylval->val = string_utf8(yytext + 1); + } return yytext[0]; } YY_BREAK case 140: YY_RULE_SETUP -#line 1166 "parser.l" +#line 1172 "parser.l" { - yyerrprepf(yyg, lit("malformed @ expression in quasiliteral"), nao); + yyerrprepf(yyg, lit("bad format string after @ in quasiliteral"), nao); return ERRTOK; } YY_BREAK case 141: YY_RULE_SETUP -#line 1171 "parser.l" +#line 1177 "parser.l" { - return ' '; + yyerrprepf(yyg, lit("malformed @ expression in quasiliteral"), nao); + return ERRTOK; } YY_BREAK case 142: YY_RULE_SETUP -#line 1175 "parser.l" +#line 1182 "parser.l" +{ + return ' '; +} + YY_BREAK +case 143: +YY_RULE_SETUP +#line 1186 "parser.l" { yy_pop_state(yyscanner); return yytext[0]; } YY_BREAK -case 143: +case 144: YY_RULE_SETUP -#line 1180 "parser.l" +#line 1191 "parser.l" { yylval->chr = char_esc(yytext[1]); return LITCHAR; } YY_BREAK -case 144: +case 145: YY_RULE_SETUP -#line 1185 "parser.l" +#line 1196 "parser.l" { wchar_t ch0, ch1; yytext[6] = 0; @@ -6269,33 +6518,33 @@ YY_RULE_SETUP return LITCHAR; } YY_BREAK -case 145: +case 146: YY_RULE_SETUP -#line 1194 "parser.l" +#line 1205 "parser.l" { wchar_t ch = num_esc(yyg, yytext + 1); yylval->chr = if3(ch, ch, 0xDC00); return LITCHAR; } YY_BREAK -case 146: +case 147: YY_RULE_SETUP -#line 1200 "parser.l" +#line 1211 "parser.l" { yyerrorf(yyg, lit("JSON \\u escape needs four digits"), nao); } YY_BREAK -case 147: +case 148: YY_RULE_SETUP -#line 1204 "parser.l" +#line 1215 "parser.l" { yyerrorf(yyg, lit("unrecognized JSON escape: \\~a"), chr(yytext[1]), nao); } YY_BREAK -case 148: -/* rule 148 can match eol */ +case 149: +/* rule 149 can match eol */ YY_RULE_SETUP -#line 1208 "parser.l" +#line 1219 "parser.l" { yyerrprepf(yyg, lit("newline in JSON string"), nao); yyextra->lineno++; @@ -6303,9 +6552,9 @@ YY_RULE_SETUP return ERRTOK; } YY_BREAK -case 149: +case 150: YY_RULE_SETUP -#line 1215 "parser.l" +#line 1226 "parser.l" { wchar_t wchr[8]; if (utf8_from_buf(wchr, coerce(unsigned char *, yytext), yyleng) != 2) { @@ -6316,54 +6565,54 @@ YY_RULE_SETUP return LITCHAR; } YY_BREAK -case 150: +case 151: YY_RULE_SETUP -#line 1225 "parser.l" +#line 1236 "parser.l" { yylval->chr = strtol(yytext, 0, 16); return LITCHAR; } YY_BREAK -case 151: +case 152: YY_RULE_SETUP -#line 1230 "parser.l" +#line 1241 "parser.l" { return '\''; } YY_BREAK -case 152: +case 153: YY_RULE_SETUP -#line 1234 "parser.l" +#line 1245 "parser.l" { } YY_BREAK -case 153: -/* rule 153 can match eol */ +case 154: +/* rule 154 can match eol */ YY_RULE_SETUP -#line 1237 "parser.l" +#line 1248 "parser.l" { yyextra->lineno++; } YY_BREAK -case 154: +case 155: YY_RULE_SETUP -#line 1241 "parser.l" +#line 1252 "parser.l" { yyerrorf(yyg, lit("bad character ~s in buffer literal"), chr(yytext[0]), nao); } YY_BREAK -case 155: +case 156: YY_RULE_SETUP -#line 1246 "parser.l" +#line 1257 "parser.l" { yylval->chr = convert(unsigned char, yytext[0]) + 0xDC00; return LITCHAR; } YY_BREAK -case 156: +case 157: YY_RULE_SETUP -#line 1251 "parser.l" +#line 1262 "parser.l" { if (yyextra->read_json_int && !strpbrk(yytext, ".eE")) { wchar_t *wtxt = utf8_dup_from(yytext); @@ -6375,48 +6624,48 @@ YY_RULE_SETUP return NUMBER; } 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 + 4); yyg->yy_c_buf_p = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1262 "parser.l" +#line 1273 "parser.l" { yylval->val = t; 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 + 5); yyg->yy_c_buf_p = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1267 "parser.l" +#line 1278 "parser.l" { yylval->val = nil; return JSKW; } YY_BREAK -case 159: -/* rule 159 can match eol */ +case 160: +/* rule 160 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 1272 "parser.l" +#line 1283 "parser.l" { yylval->val = null_s; return JSKW; } YY_BREAK -case 160: +case 161: YY_RULE_SETUP -#line 1277 "parser.l" +#line 1288 "parser.l" { if (strcmp("true", yytext) == 0) { yylval->val = t; @@ -6439,74 +6688,74 @@ YY_RULE_SETUP } } YY_BREAK -case 161: +case 162: YY_RULE_SETUP -#line 1299 "parser.l" +#line 1310 "parser.l" { yy_push_state(JLIT, yyscanner); return yytext[0]; } YY_BREAK -case 162: +case 163: YY_RULE_SETUP -#line 1304 "parser.l" +#line 1315 "parser.l" { yy_push_state(JMARKER, yyscanner); yy_push_state(NESTED, yyscanner); return JSPLICE; } YY_BREAK -case 163: +case 164: YY_RULE_SETUP -#line 1310 "parser.l" +#line 1321 "parser.l" { yy_push_state(JMARKER, yyscanner); yy_push_state(NESTED, yyscanner); return yytext[0]; } YY_BREAK -case 164: +case 165: YY_RULE_SETUP -#line 1316 "parser.l" +#line 1327 "parser.l" { return yytext[0]; } YY_BREAK -case 165: -/* rule 165 can match eol */ +case 166: +/* rule 166 can match eol */ YY_RULE_SETUP -#line 1320 "parser.l" +#line 1331 "parser.l" { yyextra->lineno++; } YY_BREAK -case 166: +case 167: YY_RULE_SETUP -#line 1324 "parser.l" +#line 1335 "parser.l" { } YY_BREAK -case 167: +case 168: YY_RULE_SETUP -#line 1327 "parser.l" +#line 1338 "parser.l" { yyerrorf(yyg, lit("bad character ~s in JSON literal"), chr(yytext[0]), nao); } YY_BREAK -case 168: +case 169: YY_RULE_SETUP -#line 1332 "parser.l" +#line 1343 "parser.l" { internal_error("scanner processed input JMARKER state"); } YY_BREAK -case 169: +case 170: YY_RULE_SETUP -#line 1336 "parser.l" +#line 1347 "parser.l" ECHO; YY_BREAK -#line 6510 "lex.yy.c" +#line 6759 "lex.yy.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(SPECIAL): case YY_STATE_EOF(BRACED): @@ -6789,7 +7038,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 >= 1765 ) + if ( yy_current_state >= 1774 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -6813,11 +7062,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 >= 1765 ) + if ( yy_current_state >= 1774 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1764); + yy_is_jam = (yy_current_state == 1773); if ( ! yy_is_jam ) *yyg->yy_state_ptr++ = yy_current_state; @@ -7719,7 +7968,7 @@ void yyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1336 "parser.l" +#line 1347 "parser.l" static int directive_tok(scanner_t *yyscanner, int tok, int state) @@ -14796,8 +14796,8 @@ max_reached: put_char(chr('"'), out); } -static void out_quasi_str_sym(val name, val mods, val rem_args, - val out, struct strm_ctx *ctx) +static void out_quasi_str_sym(val name, val mods, val fmt, + val rem_args, val out, struct strm_ctx *ctx) { val next_elem = car(rem_args); val next_elem_char = and3(next_elem && !mods, stringp(next_elem), @@ -14815,6 +14815,10 @@ static void out_quasi_str_sym(val name, val mods, val rem_args, "abcdefghijklmnopqrstuvwxyz")) != length(namestr)); put_char(chr('@'), out); + if (fmt) { + put_string(fmt, out); + put_char(chr(':'), out); + } if (need_brace) put_char(chr('{'), out); put_string(namestr, out); @@ -14857,14 +14861,14 @@ static void out_quasi_str(val args, val out, struct strm_ctx *ctx) val sym = car(elem); if (sym == var_s) { - out_quasi_str_sym(second(elem), third(elem), next, - out, ctx); + out_quasi_str_sym(second(elem), third(elem), + fourth(elem), next, out, ctx); } else { put_char(chr('@'), out); obj_print_impl(elem, out, nil, ctx); } } else if (symbolp(elem)) { - out_quasi_str_sym(elem, nil, next, out, ctx); + out_quasi_str_sym(elem, nil, nil, next, out, ctx); } else { obj_print_impl(elem, out, nil, ctx); } @@ -1912,7 +1912,7 @@ static val tx_subst_vars(val spec, val bindings, val filter) tostringp(str))); if (modifiers) { - spec = cons(format_field(str, modifiers, filter, + spec = cons(format_field(str, nil, modifiers, filter, pa_123_2(func_n3(txeval), spec, bindings)), rest(spec)); } else { @@ -300,6 +300,7 @@ REQWS [\t ]+ NL (\n|\r|\r\n) HEX [0-9A-Fa-f] OCT [0-7] +FMT ~([\^<>]?[0-9]*(,[+\-0 ]*[0-9]*)?)?[asdxXobfepi]: REGOP [/()|.*?+~&%\[\]\-] @@ -1158,11 +1159,21 @@ NJPUNC [^(){},:\[\]"~*^ \t\r\n] return ERRTOK; } -<QSILIT,QWLIT>@/([[({'^,@]|{TOK}) { +<QSILIT,QWLIT>@{FMT}?/([[({'^,@]|{TOK}) { yy_push_state(QSPECIAL, yyscanner); + yylval->val = nil; + if (yytext[1] == '~') { + yytext[strcspn(yytext, ":")] = 0; + yylval->val = string_utf8(yytext + 1); + } return yytext[0]; } +<QSILIT,QWLIT>@~ { + yyerrprepf(yyg, lit("bad format string after @ in quasiliteral"), nao); + return ERRTOK; +} + <QSILIT,QWLIT>@ { yyerrprepf(yyg, lit("malformed @ expression in quasiliteral"), nao); return ERRTOK; @@ -156,7 +156,8 @@ INLINE val expand_form_ver(val form, int ver) %type <val> wordslit wordsqlit buflit buflit_items buflit_item not_a_clause %type <chr> regchar %type <val> byacc_fool -%type <lineno> '(' '[' '@' +%type <val> '@' +%type <lineno> '(' '[' %nonassoc LOW /* used for precedence assertion */ %right SYMTOK '{' '}' @@ -879,7 +880,9 @@ o_var : SYMTOK { val expr = symhlpr($1, nil); ; q_var : '@' '{' n_expr n_exprs_opt '}' - { $$ = list(var_s, $3, $4, nao); + { $$ = if3($1, + list(var_s, $3, $4, $1, nao), + list(var_s, $3, $4, nao)); rl($$, num(parser->lineno)); } | '@' '{' error { $$ = nil; yybadtok(yychar, lit("variable spec")); } @@ -1069,10 +1072,9 @@ list : '(' n_exprs ')' { $$ = rl($2, num($1)); } ; meta : '@' n_expr { if (consp($2)) - $$ = rl(cons(expr_s, cons($2, nil)), num($1)); + $$ = rl(cons(expr_s, cons($2, nil)), $2); else - $$ = rl(cons(var_s, cons($2, nil)), - num($1)); } + $$ = rl(cons(var_s, cons($2, nil)), $2); } | '@' error { $$ = nil; yybadtok(yychar, lit("meta expression")); } ; @@ -1420,10 +1422,13 @@ quasi_item : litchars { $$ = $1; } | METANUM { $$ = cons(var_s, cons($1, nil)); rl($$, num(parser->lineno)); } | '@' n_expr { if (integerp($2) || symbolp($2)) - $$ = rlcp_tree(cons(var_s, cons($2, nil)), - $2); + { $$ = rlcp_tree(if3($1, + list(var_s, $2, + nil, $1, nao), + list(var_s, $2, nao)), + $2); } else - $$ = $2; } + { $$ = $2; } } ; litchars : LITCHAR { $$ = mkstring(one, chr($1)); } diff --git a/stdlib/compiler.tl b/stdlib/compiler.tl index bf365ff3..fcdabf58 100644 --- a/stdlib/compiler.tl +++ b/stdlib/compiler.tl @@ -1892,7 +1892,7 @@ form)) form)) -(defun expand-quasi-mods (obj mods : form) +(defun expand-quasi-mods (obj mods fmstr : form) (let (plist num sep rng-ix scalar-ix-p flex gens) (flet ((get-sym (exp) (let ((gen (gensym))) @@ -1944,26 +1944,39 @@ (when (> mcount 3) (compile-error form "too many formatting modifiers")) ^(alet ,(nreverse gens) - ,(cond - (flex ^(sys:fmt-flex ,obj ',plist - ,*(remq nil (list* num sep - (if scalar-ix-p - ^(rcons ,rng-ix nil) - rng-ix) - (nreverse flex))))) - (plist ^(sys:fmt-simple ,obj ,num ,sep, rng-ix ',plist)) - (rng-ix ^(sys:fmt-simple ,obj ,num ,sep, rng-ix)) - (sep ^(sys:fmt-simple ,obj ,num ,sep)) - (num ^(sys:fmt-simple ,obj ,num)) - (t ^(sys:fmt-simple ,obj ,num)))))))) + ,(if fmstr + (cond + (flex ^(sys:fmt-flex-fmstr ,obj ,fmstr ',plist + ,*(remq nil (list* num sep + (if scalar-ix-p + ^(rcons ,rng-ix nil) + rng-ix) + (nreverse flex))))) + (plist ^(sys:fmt-simple-fmstr ,obj ,fmstr ,num ,sep, rng-ix ',plist)) + (rng-ix ^(sys:fmt-simple-fmstr ,obj ,fmstr ,num ,sep, rng-ix)) + (sep ^(sys:fmt-simple-fmstr ,obj ,fmstr ,num ,sep)) + (num ^(sys:fmt-simple-fmstr ,obj ,fmstr ,num)) + (t ^(sys:fmt-simple-fmstr ,obj ,fmstr ,num))) + (cond + (flex ^(sys:fmt-flex ,obj ',plist + ,*(remq nil (list* num sep + (if scalar-ix-p + ^(rcons ,rng-ix nil) + rng-ix) + (nreverse flex))))) + (plist ^(sys:fmt-simple ,obj ,num ,sep, rng-ix ',plist)) + (rng-ix ^(sys:fmt-simple ,obj ,num ,sep, rng-ix)) + (sep ^(sys:fmt-simple ,obj ,num ,sep)) + (num ^(sys:fmt-simple ,obj ,num)) + (t ^(sys:fmt-simple ,obj ,num))))))))) (defun expand-quasi-args (form) (append-each ((el (cdr form))) (cond ((consp el) (caseq (car el) - (sys:var (mac-param-bind form (t exp : mods) el - (list (expand-quasi-mods exp mods)))) + (sys:var (mac-param-bind form (t exp : mods fmstr) el + (list (expand-quasi-mods exp mods fmstr)))) (sys:quasi (expand-quasi-args el)) (t (list ^(sys:fmt-simple ,el))))) ((bindable el) diff --git a/stdlib/match.tl b/stdlib/match.tl index 674e3aa6..83400e1c 100644 --- a/stdlib/match.tl +++ b/stdlib/match.tl @@ -1110,6 +1110,10 @@ ^@(with ,npos (+ ,end (len ,txt))) ^@(with ,sym (sub-str ,str ,pos ,end)) (quasi-match vlist rest (cons sym vars) str npos)))) + ;; `@~<fmt>:{var whatever}@...` (new binding, unsupported <fmt>) + (((@(eq 'sys:var) @sym @nil @nil . @nil) . @nil) + (compile-error *match-form* + "variable ~s: format string not supported" sym)) ;; `@{var whatever}@...`(new binding, unsupported modifiers) (((@(eq 'sys:var) @sym @mods . @nil) . @nil) (compile-error *match-form* @@ -3910,6 +3910,13 @@ val fmt(val string, varg args) return formatv(nil, string, args); } +val fmt1(val string, val arg) +{ + args_decl_constsize(args, ARGS_MIN); + args_add(args, arg); + return fmt(string, args); +} + static val put_indent(val stream, struct strm_ops *ops, cnum chars) { while (chars--) @@ -235,6 +235,7 @@ val vformat_to_string(val string, va_list); val format(val stream, val string, ...); val formatv(val stream, val string, struct args *args); val fmt(val string, struct args *args); +val fmt1(val string, val arg); val put_string(val string, val stream); val put_line(val string, val stream); val put_char(val ch, val stream); diff --git a/tests/012/quasi.tl b/tests/012/quasi.tl index 1cb24578..7dfce10c 100644 --- a/tests/012/quasi.tl +++ b/tests/012/quasi.tl @@ -47,6 +47,17 @@ `@(two)abc`) "2abc") +(let ((w '(1 2 -3 4))) + (mtest + `<<@~0,3f:w>>` "<<1.000 2.000 -3.000 4.000>>" + `<<@~0,3f:{w ","}>>` "<<1.000,2.000,-3.000,4.000>>" + `<<@~0,3f:{w "," 40}>>` "<<1.000,2.000,-3.000,4.000 >>")) + +(let ((s "abcd")) + (mtest + `<<@~8,3a:s>>` "<< abc>>" + `<<@~8,3a:{s ":"}>>` "<< : : : : :a:b:c>>")) + (compile-only (eval-only (compile-file (base-name *load-path*) "temp.tlo") @@ -3426,7 +3426,9 @@ WLL expanded into multiple string literal objects. Quasiliterals are similar to string literals, except that they may contain variable references denoted by the usual .code @ -syntax. The quasiliteral +syntax. Quasiliterals are a feature of \*(TL. + +The quasiliteral represents a string formed by substituting the values of those variables into the literal template. If .code a @@ -3452,13 +3454,101 @@ Instead, there is a .code \e@ escape for encoding a literal .code @ -character. Quasiliterals support the full output variable +character. Quasiliterals support the full Output Variable syntax. Expressions within variable substitutions follow the evaluation rules of \*(TL. This hasn't always been the case: see the COMPATIBILITY section. Quasiliterals can be split into multiple lines in the same way as ordinary string literals. +Quasiliterals have the following feature not found in Output Variable syntax. +The +.code @ +character may be immediately followed by a character sequence +which specifies a formatting directive understood by the \*(TL +.code format +function. The directive is introduced by the +.code ~ +(tilde) +character, and terminated by +.code : +(colon) which serves only as a delimiter, not constituting part the directive. +If this optional syntax is specified, the formatting directive is applied to +the substituted element as if by the +.code fmt +function. When the element is a sequence, the conversion is separately applied +to each element of the sequence, before catenation with the separator string +specified in the braces. + +Examples: + +.verb + @(bind a 1.23) + @(bind b `--> @~8,3f:a <<-`) +.brev + +Here, +.code b +receives the string +.strn "--> 1.230 <<-" . +The +.code format +conversion +.code "~8,3f" +is applied to the value of +.code a +and the resulting field is then substituted into the quasistring template. + +.verb + @(bind a (1 2 3 4)) + @(bind b `--> @~8,3f:a <<-`) +.brev + +Here, +.code b +receives the value +.str "--> 1.000 2.000 -3.000 4.000 <<-" +since the conversion is distributed over the elements of the list +.codn b . +Note that the field width of 8 +is applied to the elements individually. + +The following example shows the effect, on a list value, of the combination the +.code format +conversion, separator string, field width: + +.verb + @(bind a (1 2 -3 4)) + @(bind b `--> @~0,3f:{a "," -40} <<-`) +.brev + +Here, +.code b +receives +.strn "--> 1.000,2.000,-3.000,4.000 <<-" . +The values are individually formatted using +.str "0,3f" +showing three digits after the decimal point. The resulting +fields are combined with the +.str "," +separator, and the combined result is right-aligned in a 40-character-wide +field. + +It is a syntax error if the formatting directive refers to a nonexistent +directive letter, or its width and precision fields aren't well-formed. +Furthermore, the following +.meta format +formatting directive features are not supported in quasiliterals; +if specified, they are treated as invalid syntax. +The width and precision may not be given as +.code * +which in the +.code format +family of functions indicates that the value comes from the +next available argument. The +.code ! +directive for controlling indentation is likewise unavailable. + .SS* Quasiword List Literals The quasiword list literals (QLLs) are to quasiliterals what WLLs are to diff --git a/y.tab.c.shipped b/y.tab.c.shipped index 61904671..1a31c20f 100644 --- a/y.tab.c.shipped +++ b/y.tab.c.shipped @@ -565,7 +565,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 213 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 4917 +#define YYLAST 4871 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 101 @@ -590,12 +590,12 @@ static const yytype_uint8 yytranslate[] = 95, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, + 73, 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, 91, 72, 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, 73, 2, 80, 85, 2, 99, 2, 2, 2, + 2, 74, 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, 76, 86, 77, 89, 2, 2, 2, @@ -758,27 +758,27 @@ static const yytype_int16 yyrhs[] = 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, 72, 76, 202, 207, 77, -1, 72, 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, + 97, 97, -1, 97, 225, 97, -1, 74, 80, -1, + 74, 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, + 97, 1, -1, 74, 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, + -1, 176, 1, -1, 5, -1, 98, -1, 73, 190, + 81, -1, 73, 94, 190, 81, -1, 73, 81, -1, + 73, 68, 202, 81, -1, 73, 67, 202, 81, -1, + 73, 1, -1, 72, 202, -1, 72, 1, -1, 66, + 202, -1, 66, 1, -1, 74, 94, 190, 80, -1, + 74, 190, 80, -1, 74, 80, -1, 74, 68, 202, + 80, -1, 74, 67, 202, 80, -1, 74, 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, @@ -807,19 +807,19 @@ static const yytype_int16 yyrhs[] = 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, + -1, 213, 91, -1, 213, 93, 211, -1, 74, 214, + 80, -1, 74, 80, -1, 74, 1, -1, 94, -1, 80, -1, 82, -1, 61, -1, 218, -1, 4, -1, - 72, 211, 81, -1, 72, 1, -1, 215, -1, 215, + 73, 211, 81, -1, 73, 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, + 73, -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, + 225, -1, 167, -1, 57, -1, 72, 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, @@ -838,54 +838,54 @@ static const yytype_int16 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 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, 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, 1514 + 0, 178, 178, 179, 182, 181, 185, 184, 187, 194, + 201, 201, 204, 211, 220, 220, 223, 223, 226, 226, + 229, 230, 231, 234, 234, 237, 237, 240, 240, 243, + 244, 245, 250, 251, 252, 255, 256, 259, 260, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 275, + 276, 277, 278, 281, 283, 287, 290, 296, 298, 302, + 304, 308, 310, 314, 325, 330, 333, 338, 347, 359, + 364, 368, 369, 370, 373, 379, 391, 396, 397, 400, + 401, 404, 407, 408, 409, 412, 435, 439, 452, 455, + 460, 463, 466, 467, 470, 472, 477, 478, 486, 488, + 491, 492, 495, 497, 499, 510, 513, 521, 524, 533, + 536, 538, 540, 542, 543, 545, 546, 547, 548, 551, + 557, 560, 561, 562, 565, 570, 574, 576, 578, 583, + 591, 596, 601, 607, 612, 613, 616, 619, 625, 630, + 632, 635, 639, 644, 646, 649, 652, 655, 660, 661, + 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, 887, 892, 897, 901, 909, 913, 923, 927, + 931, 935, 940, 944, 959, 963, 965, 965, 969, 970, + 971, 972, 974, 975, 981, 982, 988, 988, 993, 993, + 998, 998, 1001, 1002, 1004, 1006, 1010, 1012, 1015, 1018, + 1026, 1028, 1032, 1037, 1046, 1047, 1049, 1052, 1056, 1060, + 1061, 1067, 1068, 1069, 1070, 1074, 1078, 1082, 1087, 1091, + 1095, 1096, 1097, 1098, 1099, 1103, 1104, 1105, 1108, 1111, + 1112, 1115, 1119, 1124, 1127, 1127, 1131, 1131, 1135, 1135, + 1138, 1138, 1141, 1144, 1146, 1150, 1152, 1158, 1159, 1161, + 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, + 1172, 1173, 1174, 1175, 1176, 1177, 1179, 1179, 1183, 1183, + 1187, 1187, 1191, 1191, 1194, 1197, 1198, 1200, 1201, 1203, + 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, + 1214, 1215, 1216, 1217, 1218, 1219, 1221, 1221, 1225, 1225, + 1229, 1229, 1233, 1236, 1242, 1246, 1252, 1253, 1254, 1257, + 1258, 1259, 1259, 1262, 1265, 1266, 1269, 1270, 1271, 1274, + 1277, 1282, 1286, 1292, 1295, 1296, 1297, 1298, 1301, 1302, + 1303, 1306, 1307, 1308, 1309, 1310, 1317, 1318, 1320, 1321, + 1322, 1323, 1324, 1325, 1326, 1327, 1331, 1332, 1335, 1336, + 1337, 1340, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, + 1350, 1351, 1352, 1353, 1356, 1370, 1371, 1375, 1376, 1378, + 1382, 1395, 1397, 1401, 1406, 1407, 1410, 1414, 1416, 1420, + 1421, 1422, 1424, 1434, 1435, 1437, 1438, 1441, 1442, 1443, + 1444, 1447, 1448, 1449, 1451, 1455, 1456, 1457, 1459, 1465, + 1467, 1470, 1475, 1477, 1481, 1482, 1489, 1490, 1491, 1492, + 1493, 1494, 1495, 1496, 1497, 1498, 1500, 1502, 1504, 1506, + 1508, 1510, 1512, 1517, 1519 }; #endif @@ -905,7 +905,7 @@ static const char *const yytname[] = "SECRET_ESCAPE_J", "OLD_DOTDOT", "NUMBER", "METANUM", "JSKW", "HASH_N_EQUALS", "HASH_N_HASH", "REGCHAR", "REGTOKEN", "LITCHAR", "SPLICE", "JSPLICE", "OLD_AT", "CONSDOT", "LAMBDOT", "UREFDOT", - "OREFDOT", "UOREFDOT", "'('", "'['", "'@'", "LOW", "'{'", "'}'", "ELSE", + "OREFDOT", "UOREFDOT", "'@'", "'('", "'['", "LOW", "'{'", "'}'", "ELSE", "ELIF", "']'", "')'", "'-'", "','", "'\\''", "'^'", "'|'", "'/'", "'&'", "'~'", "'*'", "'?'", "'+'", "'%'", "'.'", "'\\n'", "'#'", "'\"'", "':'", "'`'", "' '", "$accept", "spec", "$@1", "$@2", "$@3", @@ -948,7 +948,7 @@ 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, 326, 40, 91, 64, 327, 123, 125, 328, 329, + 325, 326, 64, 40, 91, 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 @@ -1094,8 +1094,8 @@ static const yytype_uint16 yydefact[] = 225, 286, 0, 451, 0, 449, 0, 453, 222, 221, 224, 223, 444, 435, 433, 441, 0, 0, 342, 293, 431, 0, 445, 0, 430, 0, 427, 429, 343, 295, - 0, 0, 268, 267, 359, 360, 274, 0, 0, 271, - 0, 0, 266, 265, 0, 0, 0, 368, 345, 0, + 0, 0, 268, 267, 359, 360, 266, 265, 274, 0, + 0, 271, 0, 0, 0, 0, 0, 368, 345, 0, 214, 213, 419, 417, 0, 426, 424, 0, 0, 288, 0, 0, 0, 292, 0, 0, 0, 0, 0, 58, 57, 60, 59, 62, 61, 0, 0, 0, 93, 0, @@ -1174,113 +1174,113 @@ static const yytype_int16 yydefgoto[] = /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -690 +#define YYPACT_NINF -661 static const yytype_int16 yypact[] = { - 2082, -63, -690, -690, 3050, 4594, 2627, 4594, 4594, 4594, - 1390, 2627, 2627, -690, 1464, -690, -690, -690, 1538, -690, - 1612, 27, 2627, 35, 2692, 3127, 3850, 1129, 43, 1180, - -690, 64, 4748, -690, -690, -690, -690, -690, -690, -690, - -690, -690, -690, -690, 2627, -690, -690, -44, -690, 49, - -690, 4007, -690, -690, -690, 1686, -690, 62, -690, -690, - -690, -690, -27, 4007, 2627, 4007, 4007, 4007, 1390, 2627, - 2627, -690, 182, -690, 3224, -690, 211, 2417, 39, 46, - 48, 1159, -16, 37, 87, 100, 56, 56, 42, 42, - -690, -690, -690, -690, -690, 1834, 4201, 4201, 1242, 1908, - -690, 2875, -690, 109, 40, 198, -690, -690, -690, -690, - -690, -690, -690, -690, -690, -690, -690, -690, 8, -690, - 2497, 384, -690, -690, -690, -690, -690, -690, 3256, -690, - 3349, -690, 3381, -690, 10, 31, 50, -690, 83, -690, - 89, -690, 27, 93, 3474, -690, 105, -690, -690, -690, - 3555, 1056, -690, -690, 35, -690, 133, -690, 3244, -690, - 4, 4201, 4201, -690, 384, -690, 82, 56, 42, -690, - -690, -690, -690, -690, 4497, -690, 4266, -690, 4497, -690, - -690, -690, -690, -690, -690, -690, -690, -690, -690, -690, - -690, -690, -690, -690, -690, -690, -690, -690, -690, 948, - 527, -690, 69, -690, -690, 4201, 4201, -690, 2627, 123, - 221, -690, 311, -690, -690, 147, -690, -690, -690, -690, - 3508, 158, -690, -690, 79, -690, 161, 166, 170, 172, - 4007, 4007, -690, -690, -690, 434, -690, -690, -690, -690, - -690, -690, 369, -690, -690, -690, -690, -690, -690, -690, - -690, -690, 4201, -690, 91, -690, 3, -690, -690, -690, - -690, -690, -690, 41, 185, -690, 56, 56, -690, -690, - -690, 3549, -690, 42, -690, -41, 167, -690, -690, -690, - 2875, 2875, -690, 384, 325, 325, -690, 4201, 4201, -690, - 2627, 29, -690, 199, 2875, 4201, 4201, 384, -690, 2875, - -690, -690, -690, -690, 159, -690, -690, 177, 4594, 163, - 56, 42, 4201, 384, 3614, 3679, 4201, 4201, 4201, -690, - -690, -690, -690, -690, -690, 4622, 4594, 27, 4007, 4007, - 2866, 4622, -690, 146, 27, -690, 122, -690, -690, -690, - -690, -690, -690, -690, -690, -690, -690, -690, -690, -690, - -690, 189, 2036, -690, 197, -690, -690, 35, 35, 35, - -690, -690, -690, 35, -690, -690, -690, 4201, 384, 384, - 3744, -690, -690, 4497, -690, -690, 4266, 4266, -690, 4266, - 4497, -690, -690, 4266, -690, 3744, 3850, 2875, -690, -690, - -690, 874, -690, -690, 1018, 971, 2875, -690, -690, 174, - 3744, 610, 713, 210, -690, -690, -690, -690, 203, -690, - -690, -690, 27, -690, -690, 2175, -690, -690, -690, -690, - -690, 2627, 2627, 2627, -690, -690, 2627, 2627, 2627, 2627, - 1760, 2627, -690, 2627, -690, 4201, 4201, 201, 4841, -690, - -690, -690, 2789, 4841, 3508, -2, 4007, 4007, 4007, 4007, - -690, -690, 27, 27, 27, -690, -690, 3850, 4201, 384, - -690, -690, -690, -690, -690, -690, 51, 229, -690, -690, - 1982, 384, -690, -690, 42, -690, -690, -690, 348, 861, - 219, -690, -690, 325, 325, -690, -690, -690, -690, 3841, - -690, 4201, -690, -690, 384, 4201, 384, 4201, 199, 325, - 325, 325, 287, 4363, -690, 3873, 2823, 191, 220, -690, - 295, 298, 4395, 2562, 27, 299, 2140, -690, -690, -690, - 4387, 233, -690, -690, -690, 4201, 4201, 384, -690, -690, - 384, 4497, 4497, -690, -690, -690, -690, -690, -690, -690, - -690, -690, -690, 3850, -690, 237, -690, -690, -690, -690, - 3850, 3850, 322, 248, -690, -690, -690, -690, -690, -690, - -690, 3966, -690, 245, 250, 252, 253, 256, 260, 262, - -690, 264, 269, 271, 2356, 2216, 2972, -690, -690, 27, - 1316, 4018, 312, 4715, -690, -690, -690, 263, -690, -690, - 267, 3009, 280, -690, 292, 4748, 4748, -690, -690, 384, - -690, -690, -690, 2216, -690, -690, -690, -690, -690, -690, - 4201, 384, 325, 325, -690, -690, 313, -690, -690, -690, - 168, 234, -690, -690, -690, 2627, -690, 2627, 27, -690, - -690, 357, 27, 300, 4488, 27, -690, 304, -690, 384, - 384, -690, -690, -690, -690, -690, 25, -690, -690, -690, - 247, -690, -690, -690, -690, -690, -690, -690, 4841, -690, - -690, 2216, 308, -690, 371, -690, 310, 388, -690, 2286, - 27, -690, -690, 3086, -690, 391, -690, -690, -690, -690, - 327, 384, 27, 27, 27, -690, 27, 2627, 329, 331, - -690, 27, 4115, 27, -690, -690, -690, 2627, 330, 3850, - 27, 2627, 464, 333, -690, 27, 27, -690, 27, -690, - -690, 410, 27, -690, -690, 4748, 4748, -690, 359, 4007, - 4007, -690, -690, 146, 4149, 360, 27, 422, -690, -690, - 362, 4841, 4841, 2627, 4841, 2627, 2627, 428, -690, -690, - 4715, 2453, 27, -690, -690, -690, 27, 435, 437, -690, - -690, 146, 27, 4748, 27, 27, 464, 464, 377, 464, - 378, 382, -690, -690, 492, -690, 387, -690, 4748, -690, - -690, -690, 4748, -690, -690, 4748, -690, -690, 4841, -690, - 4841, 4841, 27, 27, 2627, 27, 2627, 2627, 454, 2627, - 394, 457, 304, 459, 464, 464, 464, 4715, 4715, 396, - 4715, 398, 399, 27, 401, 27, 467, 27, -690, 27, - -690, -690, -690, 492, 492, 27, 492, 27, 27, -690, - 27, 4715, 27, -690, -690, -690, -690, 4715, -690, 4715, - 4715, 4715, -690, -690, 492, 492, 492, 387, -690, -690, - -690, -690 + 2082, -31, -661, -661, 2867, 3049, 2627, 3049, 3049, 3049, + 1390, 2627, 2627, -661, 1464, -661, -661, -661, 1538, -661, + 1612, 27, 2627, 234, 2692, 3127, 424, 1129, 78, 1183, + -661, 74, 4702, -661, -661, -661, -661, -661, -661, -661, + -661, -661, -661, -661, 2627, -661, -661, -6, -661, 49, + -661, 4743, -661, -661, -661, 1686, -661, 33, -661, -661, + -661, -661, 2, 4743, 2627, 4743, 4743, 4743, 1390, 2627, + 2627, -661, 232, -661, 3224, -661, 54, 2417, 31, 38, + 39, 3233, -16, 47, 86, 91, 56, 56, 193, 193, + -661, -661, -661, -661, -661, 1834, 4201, 4201, 1908, 1242, + -661, 2875, -661, 106, 45, 198, -661, -661, -661, -661, + -661, -661, -661, -661, -661, -661, -661, -661, 5, -661, + 2497, 384, -661, -661, -661, -661, -661, -661, 3256, -661, + 3349, -661, 3381, -661, 37, 60, 71, -661, 89, -661, + 115, -661, 27, 117, 3474, -661, 123, -661, -661, -661, + 2434, 1056, -661, -661, 234, -661, 15, -661, 937, -661, + -26, 4201, 4201, -661, 384, -661, -23, 56, 193, -661, + -661, -661, -661, -661, 4572, -661, 4266, -661, 4572, -661, + -661, -661, -661, -661, -661, -661, -661, -661, -661, -661, + -661, -661, -661, -661, -661, -661, -661, -661, -661, 868, + 948, -661, 69, -661, -661, 4201, 4201, -661, 2627, 131, + 801, -661, 95, -661, -661, 138, -661, -661, -661, -661, + 3508, 140, -661, -661, 149, -661, 151, 173, 176, 182, + 4743, 4743, -661, -661, -661, 237, -661, -661, -661, -661, + -661, -661, 181, -661, -661, -661, -661, -661, -661, -661, + -661, -661, 4201, -661, 61, -661, 4, -661, -661, -661, + -661, -661, -661, 111, 213, -661, 56, 56, -661, -661, + -661, 3549, -661, 193, -661, 21, 167, -661, -661, -661, + 2875, 2875, -661, 384, 205, 205, -661, 224, -661, 4201, + 4201, -661, 2627, 200, 2875, 4201, 4201, 384, -661, 2875, + -661, -661, -661, -661, 190, -661, -661, 192, 3049, 204, + 56, 193, 4201, 384, 3614, 3679, 4201, 4201, 4201, -661, + -661, -661, -661, -661, -661, 4010, 3049, 27, 4743, 4743, + 4363, 4010, -661, 183, 27, -661, 122, -661, -661, -661, + -661, -661, -661, -661, -661, -661, -661, -661, -661, -661, + -661, 214, 1143, -661, 221, -661, -661, 234, 234, 234, + -661, -661, -661, 234, -661, -661, -661, 4201, 384, 384, + 3744, -661, -661, 4572, -661, -661, 4266, 4266, -661, 4266, + 4572, -661, -661, 4266, -661, 3744, 424, 2875, -661, -661, + -661, 503, -661, -661, 40, 3358, 2875, -661, -661, 215, + 3744, 586, 640, 240, -661, -661, -661, -661, 249, -661, + -661, -661, 27, -661, -661, 2175, -661, -661, -661, -661, + -661, 2627, 2627, 2627, -661, -661, 2627, 2627, 2627, 2627, + 1760, 2627, -661, 2627, -661, 4201, 4201, 236, 4795, -661, + -661, -661, 2789, 4795, 3508, -2, 4743, 4743, 4743, 4743, + -661, -661, 27, 27, 27, -661, -661, 424, 4201, 384, + -661, -661, -661, -661, -661, -661, 168, 266, -661, -661, + 1982, 384, -661, -661, 193, -661, -661, -661, 348, 882, + 253, -661, -661, 205, 205, -661, -661, -661, -661, 3841, + -661, 4201, -661, -661, 384, 4201, 384, 4201, 224, 205, + 205, 205, 318, 4395, -661, 3873, 2823, 160, 191, -661, + 321, 325, 4488, 2562, 27, 327, 2140, -661, -661, -661, + 2037, 257, -661, -661, -661, 4201, 4201, 384, -661, -661, + 384, 4572, 4572, -661, -661, -661, -661, -661, -661, -661, + -661, -661, -661, 424, -661, 270, -661, -661, -661, -661, + 424, 424, 351, 280, -661, -661, -661, -661, -661, -661, + -661, 3966, -661, 277, 288, 292, 300, 302, 304, 306, + -661, 308, 310, 312, 2356, 2216, 2972, -661, -661, 27, + 1316, 4018, 346, 4669, -661, -661, -661, 285, -661, -661, + 303, 3009, 320, -661, 322, 4702, 4702, -661, -661, 384, + -661, -661, -661, 2216, -661, -661, -661, -661, -661, -661, + 4201, 384, 205, 205, -661, -661, 379, -661, -661, -661, + 227, 210, -661, -661, -661, 2627, -661, 2627, 27, -661, + -661, 388, 27, 326, 4520, 27, -661, 329, -661, 384, + 384, -661, -661, -661, -661, -661, 25, -661, -661, -661, + 299, -661, -661, -661, -661, -661, -661, -661, 4795, -661, + -661, 2216, 333, -661, 396, -661, 338, 413, -661, 2286, + 27, -661, -661, 3086, -661, 410, -661, -661, -661, -661, + 361, 384, 27, 27, 27, -661, 27, 2627, 359, 360, + -661, 27, 4115, 27, -661, -661, -661, 2627, 365, 424, + 27, 2627, 942, 363, -661, 27, 27, -661, 27, -661, + -661, 434, 27, -661, -661, 4702, 4702, -661, 372, 4743, + 4743, -661, -661, 183, 4149, 375, 27, 441, -661, -661, + 377, 4795, 4795, 2627, 4795, 2627, 2627, 443, -661, -661, + 4669, 2453, 27, -661, -661, -661, 27, 447, 450, -661, + -661, 183, 27, 4702, 27, 27, 942, 942, 389, 942, + 391, 392, -661, -661, 1050, -661, 398, -661, 4702, -661, + -661, -661, 4702, -661, -661, 4702, -661, -661, 4795, -661, + 4795, 4795, 27, 27, 2627, 27, 2627, 2627, 459, 2627, + 401, 469, 329, 472, 942, 942, 942, 4669, 4669, 409, + 4669, 411, 412, 27, 420, 27, 475, 27, -661, 27, + -661, -661, -661, 1050, 1050, 27, 1050, 27, 27, -661, + 27, 4669, 27, -661, -661, -661, -661, 4669, -661, 4669, + 4669, 4669, -661, -661, 1050, 1050, 1050, 398, -661, -661, + -661, -661 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -690, -690, -690, -690, -690, -690, -690, -690, -690, -690, - -690, -690, -690, -314, -690, 139, 452, -690, -690, -690, - -690, -690, -690, -690, -690, -484, -690, -690, -690, -488, - -99, -690, -690, -307, -690, -690, 14, -47, -690, 449, - -690, 28, -690, -690, -690, -689, -690, -690, -436, -690, - -690, -257, -690, -337, -690, 2633, -690, -586, -209, -690, - -690, -489, -690, -690, -690, -690, -690, -1, 44, 88, - 126, 175, 218, 456, -690, -56, -690, -690, -690, 106, - -690, -690, -142, 281, -690, -690, -9, -5, 116, -15, - -690, -690, -690, -690, -690, -17, -690, -690, -690, -690, - -67, 665, -690, -690, -690, -690, -412, -238, -205, 461, - 73, 352, -690, 173, -690, -690, 6, -138, -7, 507, - 589, 690, -88, -690, -77, 249, -61, -86, 719, -690, - 268, -690 + -661, -661, -661, -661, -661, -661, -661, -661, -661, -661, + -661, -661, -661, -334, -661, 139, 478, -661, -661, -661, + -661, -661, -661, -661, -661, -410, -661, -661, -661, -488, + -99, -661, -661, -276, -661, -661, 14, -47, -661, 468, + -661, 28, -661, -661, -661, -660, -661, -661, -436, -661, + -661, -166, -661, -319, -661, -213, -661, -586, -209, -661, + -661, -485, -661, -661, -661, -661, -661, -1, 44, 88, + 126, 175, 218, 456, -661, -56, -661, -661, -661, 124, + -661, -661, -126, 281, -661, -661, -9, -5, 116, -15, + -661, -661, -661, -661, -661, -17, -661, -661, -661, -661, + 72, 665, -661, -661, -661, -661, -412, -238, -205, 461, + 73, 366, -661, 174, -661, -661, 7, -138, -7, 507, + 690, 719, -88, -661, -77, 261, -61, -86, 730, -661, + 273, -661 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1292,142 +1292,142 @@ static const yytype_int16 yytable[] = 128, 130, 132, 279, 218, 410, 582, 145, 188, 267, 267, 437, 209, 355, 144, 143, 187, 307, 571, 72, 627, 72, 72, 72, 180, 250, 269, 304, 62, 320, - 547, 322, 60, 324, 749, 127, 129, 131, 253, 147, - 243, 302, 476, 477, 263, 464, 263, 245, 210, 247, - 221, 216, 2, 3, 592, 600, 482, 262, 473, 474, - 263, 485, 771, 222, 213, 229, 254, 223, 225, 181, - 397, 539, 702, 263, 365, 593, 19, 72, 251, 72, - 72, 72, 375, 291, 445, 29, 556, 462, 258, 308, - 267, 325, 460, 127, 129, 131, 148, 149, 366, 270, - 254, 260, 212, 264, 465, 264, 374, 150, 151, 481, - 300, 27, 326, 182, 601, 152, 271, 153, 27, 264, - 27, 255, 71, 548, 154, 399, 134, 135, 136, 155, - 138, 327, 264, 687, 140, 330, 29, 303, 224, 33, - 664, 272, 273, 390, 394, 756, 757, 671, 759, 541, - 242, 183, 371, 265, 461, 675, 266, 378, 554, 27, - 215, 384, 701, 662, 328, 187, 398, 187, 666, 187, - 329, 263, 27, 180, 331, 180, 372, 180, 513, 514, - 226, 27, 683, 684, 227, 228, 334, 472, 475, 267, - 267, 680, 794, 403, 795, 796, 230, 231, 232, 305, - 184, 409, 263, 517, 404, 468, 469, 622, 357, 623, - 358, 441, 237, 442, 355, 238, 239, 624, 181, 357, - 181, 358, 181, 336, 270, 493, 405, 356, 412, 577, - 264, 744, 745, 267, 589, 590, 626, 711, 623, 444, - 594, 271, 446, 185, 72, 72, 624, 447, 465, 492, - 686, 448, 623, 449, 315, 270, 486, 490, 450, 451, - 624, 264, 182, 700, 182, 623, 182, 776, 777, 518, - 779, 555, 271, 624, 240, 480, 487, 406, 502, 520, - 560, 58, 508, 333, 511, 725, 58, 95, 58, 58, - 58, 559, 601, 27, 98, 99, 576, 306, 407, 607, - 183, 489, 183, 614, 183, 810, 811, 812, 29, 534, - 535, 628, 536, 58, 629, 635, 538, 644, 503, 505, - 506, 358, 72, 647, 512, 648, 651, 516, 670, 682, - 540, 652, 58, 653, 654, 544, 488, 655, 549, 552, - 72, 656, 507, 657, 58, 658, 58, 58, 58, 184, - 659, 184, 660, 184, 504, 58, 533, 676, 672, 244, - 246, 248, 673, 537, 187, 259, 261, 187, 187, 677, - 187, 187, 180, 691, 187, 180, 180, 804, 180, 180, - 315, 693, 180, 697, 301, 704, 314, 705, 604, 707, - 609, 706, 185, 316, 185, 317, 185, 357, 411, 358, - 502, 598, 511, 315, 713, 561, 618, 712, 726, 58, - 719, 58, 720, 58, 738, 145, 316, 181, 317, 318, - 181, 181, 314, 181, 181, 58, 742, 181, 605, 441, - 521, 522, 523, 441, 441, 441, 524, 591, 754, 315, - 746, 752, 318, 755, 762, 595, 596, 597, 452, 453, - 454, 769, 316, 770, 317, 357, 456, 358, 778, 780, - 72, 182, 72, 781, 182, 182, 789, 182, 182, 510, - 803, 182, 805, 807, 488, 809, 504, 815, 318, 817, - 818, 186, 820, 822, 214, 808, 189, 643, 731, 732, - 733, 734, 735, 736, 645, 646, 678, 679, 217, 183, - 841, 553, 183, 183, 699, 183, 183, 634, 633, 183, - 364, 58, 58, 467, 641, 642, 782, 783, 784, 785, - 786, 787, 187, 187, 463, 519, 638, 0, 392, 0, + 547, 322, 243, 324, 222, 127, 129, 131, 223, 245, + 247, 546, 476, 477, 365, 547, 302, 371, 253, 263, + 221, 539, 2, 3, 592, 237, 482, 262, 238, 239, + 263, 485, 460, 749, 60, 229, 556, 254, 366, 181, + 397, 372, 702, 263, 213, 593, 19, 72, 251, 72, + 72, 72, 375, 210, 293, 29, 308, 258, 462, 216, + 267, 771, 260, 127, 129, 131, 194, 225, 195, 196, + 197, 357, 212, 358, 27, 198, 374, 300, 264, 224, + 254, 27, 27, 182, 199, 464, 200, 240, 325, 264, + 473, 474, 71, 548, 461, 399, 134, 135, 136, 201, + 138, 255, 264, 687, 140, 330, 29, 202, 548, 33, + 664, 326, 303, 390, 394, 756, 757, 671, 759, 541, + 242, 183, 327, 265, 445, 675, 266, 378, 554, 27, + 215, 384, 701, 662, 27, 187, 398, 187, 666, 187, + 328, 263, 600, 180, 465, 180, 622, 180, 623, 27, + 226, 357, 411, 358, 227, 228, 624, 472, 475, 267, + 267, 680, 794, 403, 795, 796, 329, 263, 331, 305, + 184, 409, 263, 517, 334, 468, 469, 626, 357, 623, + 358, 441, 404, 442, 355, 513, 514, 624, 181, 412, + 181, 444, 181, 336, 270, 493, 686, 356, 623, 577, + 264, 601, 446, 267, 589, 590, 624, 711, 147, 271, + 594, 683, 684, 185, 72, 72, 230, 231, 232, 492, + 270, 452, 453, 454, 447, 270, 264, 448, 450, 451, + 315, 264, 182, 449, 182, 271, 182, 357, 456, 358, + 271, 776, 777, 316, 779, 317, 465, 480, 502, 315, + 481, 58, 508, 333, 511, 725, 58, 486, 58, 58, + 58, 487, 272, 273, 518, 148, 149, 306, 490, 318, + 183, 489, 183, 520, 183, 744, 745, 150, 151, 810, + 811, 812, 555, 58, 152, 700, 153, 623, 503, 505, + 506, 559, 72, 154, 512, 624, 560, 516, 155, 601, + 540, 576, 58, 607, 614, 544, 488, 628, 549, 552, + 72, 629, 507, 635, 58, 358, 58, 58, 58, 184, + 644, 184, 647, 184, 504, 58, 533, 648, 651, 244, + 246, 248, 670, 537, 187, 259, 261, 187, 187, 652, + 187, 187, 180, 653, 187, 180, 180, 804, 180, 180, + 672, 654, 180, 655, 301, 656, 314, 657, 604, 658, + 609, 659, 185, 660, 185, 682, 185, 676, 673, 677, + 502, 598, 511, 315, 691, 561, 618, 693, 697, 58, + 704, 58, 705, 58, 707, 145, 316, 181, 317, 706, + 181, 181, 314, 181, 181, 58, 712, 181, 605, 441, + 521, 522, 523, 441, 441, 441, 524, 591, 713, 315, + 719, 720, 318, 726, 738, 595, 596, 597, 534, 535, + 742, 536, 316, 746, 317, 538, 752, 754, 755, 762, + 72, 182, 72, 769, 182, 182, 770, 182, 182, 510, + 778, 182, 780, 781, 488, 803, 504, 789, 318, 805, + 194, 186, 195, 196, 197, 807, 189, 643, 809, 198, + 815, 822, 817, 818, 645, 646, 678, 679, 199, 183, + 200, 820, 183, 183, 542, 183, 183, 634, 633, 183, + 214, 58, 58, 201, 641, 642, 808, 217, 841, 553, + 699, 202, 187, 187, 364, 467, 519, 638, 766, 463, 180, 180, 190, 0, 0, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 0, 572, 184, 573, - 0, 184, 184, 0, 184, 184, 825, 826, 184, 828, - 145, 0, 0, 0, 0, 145, 0, 441, 0, 0, - 0, 0, 665, 667, 441, 181, 181, 838, 839, 840, - 0, 0, 441, 194, 0, 195, 196, 197, 145, 58, - 0, 185, 198, 0, 185, 185, 0, 185, 185, 0, - 199, 185, 0, 200, 393, 0, 58, 58, 0, 58, - 58, 58, 58, 0, 191, 0, 201, 0, 0, 182, - 182, 690, 0, 0, 202, 692, 0, 0, 696, 0, + 0, 184, 184, 0, 184, 184, 0, 0, 184, 194, + 145, 195, 196, 197, 0, 145, 0, 441, 198, 0, + 0, 0, 665, 667, 441, 181, 181, 199, 0, 200, + 0, 0, 441, -247, 813, 814, 543, 816, 145, 58, + 0, 185, 201, 0, 185, 185, 0, 185, 185, 0, + 202, 185, 0, 0, 0, 0, 58, 58, 832, 58, + 58, 58, 58, 0, 834, 0, 835, 836, 837, 182, + 182, 690, 0, 0, 314, 692, 0, 0, 696, 0, 186, 0, 186, 0, 186, 189, 0, 189, 0, 189, - 0, 0, 616, 728, 0, 620, 0, 0, 314, 441, - 0, 631, 0, 0, 0, 637, 0, 183, 183, 0, - 0, 0, 0, 709, 441, 315, 0, 0, 0, 0, - 0, 0, 0, 748, 0, 714, 715, 716, 316, 717, - 317, 190, 145, 190, 721, 190, 724, 0, 0, 164, - 0, 557, 0, 729, 0, 0, 0, 0, 739, 740, - 650, 741, 0, 0, 318, 743, 184, 184, 0, 0, - 0, 0, 0, 0, 0, 192, 0, 0, 0, 753, - 0, 0, 441, 441, 0, 441, 0, 58, 58, 58, - 58, 441, 441, 747, 0, 767, 0, 0, 0, 768, - 0, 688, 0, 689, 193, 772, 0, 774, 775, 185, - 185, 314, 0, 0, 0, 0, 0, 0, 0, 0, - 283, 284, 285, 191, 293, 191, 297, 191, 315, 441, + 0, 315, 616, 728, 0, 620, 0, 825, 826, 441, + 828, 631, 0, 0, 316, 637, 317, 183, 183, 0, + 0, 0, 0, 709, 441, 0, 0, 557, 838, 839, + 840, 0, 0, 748, 0, 714, 715, 716, 314, 717, + 318, 190, 145, 190, 721, 190, 724, 0, 0, 164, + 0, 0, 0, 729, 0, 315, 0, 0, 739, 740, + 650, 741, 0, 0, 0, 743, 184, 184, 316, 0, + 317, 0, 0, 0, 0, 191, 0, 0, 0, 753, + 0, 558, 441, 441, 0, 441, 0, 58, 58, 58, + 58, 441, 441, 747, 318, 767, 0, 0, 0, 768, + 0, 688, 0, 689, 192, 772, 0, 774, 775, 185, + 185, 0, 0, 0, 0, 193, 0, 0, 0, 0, + 283, 284, 285, 287, 0, 0, 297, 0, 0, 441, 58, 441, 441, 695, 145, 797, 798, 703, 800, 0, - 0, 316, 0, 317, 58, 313, 58, 58, 441, 441, - 0, 441, 0, 58, 558, 0, 819, 58, 821, 0, - 823, 0, 824, 718, 0, 0, 0, 318, 827, 0, + 0, 0, 0, 0, 58, 313, 58, 58, 441, 441, + 0, 441, 0, 58, 0, 0, 819, 58, 821, 0, + 823, 0, 824, 718, 0, 0, 405, 0, 827, 0, 829, 830, 441, 831, 0, 833, 0, 730, 441, 0, 441, 441, 441, 0, 0, 0, 368, 369, 0, 186, 0, 723, 186, 186, 189, 186, 186, 189, 189, 186, 189, 189, 58, 0, 189, 0, 0, 0, 0, 758, - 0, 760, 761, 0, 620, 620, 0, 0, 0, 0, - 0, 0, 0, 751, 192, 0, 192, 0, 192, 0, - 401, 402, 0, 0, 0, 542, 58, 58, 0, 0, - 190, 0, 0, 190, 190, 0, 190, 190, 0, 0, - 190, 0, 773, 193, 0, 193, 0, 193, 0, 314, - 799, 0, 801, 802, 0, 0, 0, 791, 0, 0, - 0, 792, 0, 0, 793, 58, 315, 459, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, - 194, 317, 195, 196, 197, 0, 471, 0, 0, 198, - 0, 606, 0, 0, 0, 297, 297, 199, 0, 388, - 200, 0, 478, 479, -247, 318, 0, 543, 0, 297, - 483, 484, 191, 201, 297, 191, 191, 0, 191, 191, - 0, 202, 191, 58, 0, 0, 0, 494, 0, 496, + 0, 760, 761, 0, 620, 620, 0, 406, 0, 0, + 0, 0, 0, 751, 191, 0, 191, 95, 191, 388, + 401, 402, 0, 98, 27, 99, 58, 58, 407, 0, + 190, 0, 0, 190, 190, 0, 190, 190, 29, 0, + 190, 0, 773, 192, 0, 192, 0, 192, 0, 0, + 799, 0, 801, 802, 193, 0, 193, 791, 193, 0, + 0, 792, 0, 0, 793, 58, 0, 459, 0, 0, + 314, 0, 0, 0, 194, 0, 195, 196, 197, 0, + 0, 0, 0, 198, 0, 0, 471, 315, 0, 0, + 0, 147, 199, 0, 200, 297, 297, 0, 389, 392, + 316, 0, 317, 0, 478, 479, 0, 201, 0, 297, + 483, 484, 606, 0, 297, 202, 731, 732, 733, 734, + 735, 736, 0, 58, 0, 0, 318, 494, 0, 496, 498, 499, 500, 501, 0, 0, 0, 186, 186, 0, - 0, 0, 189, 189, 0, 0, 58, 58, 0, 0, + 0, 0, 189, 189, 0, 0, 58, 58, 148, 149, 58, 58, 0, 0, 194, 58, 195, 196, 197, 0, - 0, 0, 0, 198, 0, 0, 0, 0, 0, 546, - 0, 199, 0, 547, 200, 0, 0, 194, 389, 195, - 196, 197, 527, 0, 58, 530, 198, 201, 190, 190, - 0, 0, 0, 0, 199, 202, 0, 200, 0, 58, - 530, 0, 297, 58, 551, 0, 58, 337, 0, 0, - 201, 297, 0, 192, 0, 530, 192, 192, 202, 192, - 192, 0, 0, 192, 194, 0, 195, 196, 197, 0, - 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, - 0, 199, 193, 0, 200, 193, 193, 0, 193, 193, - 574, 575, 193, 0, 0, 0, 0, 201, 0, 0, - 0, 0, 0, 0, 0, 202, 548, 338, 149, 0, - 191, 191, 0, 599, 0, 0, 0, 0, 339, 0, + 150, 151, 0, 198, 0, 0, 0, 152, 0, 153, + 0, 0, 199, 0, 200, 393, 359, 360, 361, 362, + 363, 155, 527, 0, 58, 530, 0, 201, 190, 190, + 0, 0, 0, 0, 0, 202, 0, 0, 0, 58, + 530, 0, 297, 58, 0, 0, 58, 337, 0, 0, + 0, 297, 0, 191, 0, 530, 191, 191, 0, 191, + 191, 0, 0, 191, 782, 783, 784, 785, 786, 787, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 192, 0, 0, 192, 192, 0, 192, 192, + 574, 575, 192, 193, 0, 0, 193, 193, 0, 193, + 193, 0, 0, 193, 0, 0, 0, 338, 149, 0, + 0, 0, 0, 599, 0, 0, 0, 0, 0, 339, 204, 0, 0, 0, 75, 603, 340, 341, 0, 0, 0, 0, 342, 343, 344, 345, 346, 347, 348, 349, 350, 0, 0, 0, 0, 0, 611, 0, 0, 0, 612, 0, 613, 0, 0, 76, 77, 0, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 0, 211, 0, 0, 147, 90, 91, 0, 92, 93, + 0, 0, 0, 0, 211, 90, 91, 147, 92, 93, 639, 640, 0, 94, 0, 95, 205, 206, 96, 0, - 97, 27, 98, 99, 0, 0, 0, 0, 0, 0, - 207, 0, 100, 101, 102, 194, 0, 195, 196, 197, - 0, 192, 192, 208, 198, 103, 104, 0, 105, 0, - 0, 0, 199, 0, 0, 200, 0, 0, 0, 661, - 0, 148, 149, 286, 249, 0, 669, 75, 201, 0, - 193, 193, 150, 151, 0, 0, 202, 0, 0, 0, - 152, 0, 153, 0, 0, 0, -377, -377, -377, 154, - 0, 0, 0, 0, 155, 681, 0, 0, 76, 77, + 97, 98, 27, 99, 338, 149, 0, 0, 0, 0, + 207, 0, 100, 101, 102, 0, 339, 0, 0, 0, + 0, 191, 191, 208, 341, 103, 104, 0, 105, 342, + 343, 344, 345, 346, 347, 348, 349, 350, 0, 661, + 0, 0, 0, 288, 148, 149, 669, 75, 0, 0, + 192, 192, 0, 0, 0, 0, 150, 151, 0, 0, + 0, 193, 193, 152, 0, 153, 0, 0, 0, -377, + -377, -377, 154, 0, 0, 681, 0, 155, 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, 287, - 288, 96, 0, 97, 27, 98, 99, 62, 0, 0, - 0, 75, 289, 0, 0, 100, 101, 102, 0, 0, - 0, 0, 0, 0, 661, 0, 290, 0, 103, 104, + 0, 92, 93, 0, 0, 0, 94, 0, 95, 289, + 290, 96, 0, 97, 98, 27, 99, 62, 0, 0, + 0, 75, 291, 0, 0, 100, 101, 102, 0, 0, + 0, 0, 0, 0, 661, 0, 292, 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, + 94, 0, 95, 0, 0, 96, 0, 97, 98, 27, 99, 133, 0, 0, 0, 75, 0, -365, 0, 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 103, 104, 0, 105, 0, 0, 0, 0, @@ -1435,14 +1435,14 @@ static const yytype_int16 yytable[] = 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, 97, 98, 27, 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, + 95, 0, 0, 96, 0, 97, 98, 27, 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, @@ -1450,21 +1450,21 @@ static const yytype_int16 yytable[] = 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, 141, 0, 0, 0, 75, 0, -280, + 98, 27, 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, 96, 0, 97, 98, 27, 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, + 94, 0, 95, 0, 0, 96, 0, 97, 98, 27, 99, 570, 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, @@ -1472,14 +1472,14 @@ static const yytype_int16 yytable[] = 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, 97, 98, 27, 99, 282, 0, 0, 0, 75, 0, -365, 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, + 95, 0, 0, 96, 0, 97, 98, 27, 99, 286, 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, @@ -1487,85 +1487,85 @@ static const yytype_int16 yytable[] = 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, 602, 0, 0, 0, 75, 0, 0, + 98, 27, 99, 602, 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, 96, 0, 97, 98, 27, 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, 338, 149, 13, - 0, 14, 15, 16, 17, 18, 0, 0, 339, 19, - 0, 0, 20, 21, 0, 0, 22, 341, 0, 0, - 0, 0, 342, 343, 344, 345, 346, 347, 348, 349, - 350, 0, 0, 23, 24, 25, 26, 0, 0, 0, + 7, 8, 9, 10, 11, 12, 0, 0, 338, 13, + 0, 14, 15, 16, 17, 18, 0, 0, 0, 19, + 339, 0, 20, 21, 0, 0, 22, 0, 341, 0, + 0, 0, 0, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 0, 23, 24, 25, 26, 0, 0, 0, 0, 636, 0, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 27, 0, -38, 13, 28, 14, + 9, 10, 11, 12, 0, 27, -38, 13, 28, 14, 15, 16, 17, 18, 0, 0, 0, 19, 0, 29, 20, 21, 30, 0, 22, 0, 562, -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, 0, 0, 27, 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, 316, 96, 317, 97, 27, 98, + 94, 0, 95, 0, 316, 96, 317, 97, 98, 27, 99, 75, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 318, 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, 0, 0, - 94, 0, 95, 0, 316, 96, 317, 97, 27, 98, + 94, 0, 95, 0, 316, 96, 317, 97, 98, 27, 99, 75, 0, 0, 0, 0, 0, 708, 0, 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 318, 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, 241, 0, - 94, 147, 95, 0, 316, 96, 317, 97, 27, 98, - 99, 0, 0, 0, 0, 0, 0, 0, 0, 100, + 94, 147, 95, 0, 316, 96, 317, 97, 98, 27, + 99, 0, 0, 0, 0, 335, 0, 0, 147, 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 103, 104, 765, 105, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, -172, 426, 0, 427, 428, 580, 429, 430, 0, 148, 149, - 0, 0, 0, 431, 432, 433, 434, 581, 0, 150, - 151, 0, 0, 0, 0, 0, 0, 152, 0, 153, - 0, 0, 75, -377, -377, -377, 154, 0, 0, 0, - 0, 155, 0, 0, 0, 0, 0, 0, 0, 95, - 0, 0, 0, 0, 0, 27, 98, 99, 0, 436, + 0, 0, 0, 431, 432, 433, 434, 581, 0, 0, + 150, 151, 0, 0, 0, 148, 149, 152, 0, 153, + 0, 0, 75, -377, -377, -377, 154, 150, 151, 0, + 0, 155, 0, 0, 152, -377, 153, 0, 0, 95, + -377, 0, -377, 154, 0, 98, 27, 99, 155, 436, 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, + 0, 94, 0, 95, 312, 0, 96, 75, 97, 98, + 27, 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, 96, 75, 97, 98, 27, 99, 0, 0, 0, 0, 0, 0, 632, 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, 0, 0, + 0, 94, 0, 95, 0, 0, 96, 75, 97, 98, + 27, 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, 96, 161, 97, 98, 27, 99, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 103, 104, 578, 105, 413, 414, 415, 416, 417, 418, 419, 420, @@ -1575,17 +1575,17 @@ static const yytype_int16 yytable[] = 6, 7, 8, 9, 10, 11, 12, -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, 436, 0, 509, 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, + 0, 98, 27, 99, 0, 436, 0, 0, 61, 0, + -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, + 75, -194, -194, -194, -175, -194, -194, 0, 0, 0, + -194, 0, 0, -194, -194, 0, 27, -194, 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, 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, 90, 91, 0, 92, 93, 0, 0, 0, 94, + -194, 95, 0, -194, 96, 295, 97, 98, 27, 99, + 0, 0, 0, 0, -194, 0, 0, -194, 100, 101, + 102, 0, -194, 0, 0, 0, 0, 0, 0, 296, 0, 103, 104, 663, 105, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, 426, 0, 427, 428, 580, 429, 430, 0, 0, 0, 0, @@ -1593,49 +1593,49 @@ static const yytype_int16 yytable[] = 674, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, 426, 0, 427, 428, 580, 429, 430, 0, 0, 0, 0, 0, 95, 431, - 432, 433, 434, 581, 27, 98, 99, 0, 436, 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, 436, 0, 710, 0, 413, + 432, 433, 434, 581, 98, 27, 99, 0, 436, 0, + 62, 0, 2, 3, 4, 63, 64, 65, 66, 67, + 68, 69, 0, -93, -93, -93, 0, -175, 14, 0, + 0, 0, 18, 0, 0, 95, 19, 0, 0, 70, + 0, 98, 27, 99, 0, 436, 0, 710, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, 426, -175, 427, 428, 580, 429, 430, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, - 581, 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, + 581, 0, 27, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 165, 0, 0, 0, 29, 0, 0, 30, + 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, + 0, 0, 95, 0, 0, 0, 0, 0, 98, 27, 99, 0, 436, 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, + 0, 173, 0, 95, 0, 0, 0, 174, 0, 98, + 27, 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, 18, 147, 0, + -38, 13, 0, 14, 15, 16, 17, 18, 0, 0, 0, 19, 0, 0, 20, 21, 0, 319, 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, 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, 359, 360, 361, 362, 363, 155, 0, + 0, 0, 0, 19, 0, 0, 20, 21, 0, 194, + 22, 195, 196, 197, 0, 0, 0, 27, 198, 0, + 28, 0, 0, 0, 0, 0, 0, 199, 0, 200, + 0, 29, 0, 0, 30, 0, 0, 0, 249, -93, + 0, 0, 201, 0, 0, 0, 0, 0, 0, 27, + 202, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 30, 0, 0, 0, 321, -93, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -38, -38, -38, 13, 0, 14, 15, - 16, 17, 18, 0, 766, 0, 19, 0, 0, 20, + 16, 17, 18, 0, 0, 0, 19, 0, 0, 20, 21, 0, 323, 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, - 813, 814, 0, 816, 0, 0, 29, 0, 0, 30, - 0, 0, 0, 0, -93, 0, 0, 0, 0, 0, - 0, 0, 0, 27, 832, 0, 0, 28, 0, 0, - 834, 0, 835, 836, 837, 0, 0, 0, 29, 0, + 0, 20, 21, 0, 194, 22, 195, 196, 197, 0, + 0, 0, 27, 198, 0, 28, 0, 0, 0, 0, + 0, 0, 199, 0, 200, 0, 29, 0, 0, 30, + 0, 551, 0, 0, -93, 0, 0, 201, 0, 0, + 0, 0, 0, 0, 27, 202, 0, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 30, 0, 0, 0, 332, -93, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, -38, 13, 0, 14, 15, 16, 17, 18, 0, 0, @@ -1643,34 +1643,34 @@ static const yytype_int16 yytable[] = 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, 426, 0, 427, 428, 0, 429, 430, 0, 0, 0, 0, 0, 0, 431, 432, - 433, 434, 435, 0, 0, 0, 27, 0, 0, 0, - 28, 0, 0, 0, 75, 0, 335, 0, 0, 147, + 433, 434, 435, 0, 0, 0, 0, 27, 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, 436, 76, 77, 0, 78, 79, + 98, 27, 99, 0, 436, 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, 148, 149, 96, 75, - 97, 27, 98, 99, 0, 470, 0, 150, 151, 0, - 0, 0, 100, 101, 102, 152, -377, 153, 0, 0, - 0, -377, 0, -377, 154, 103, 104, 0, 105, 155, + 0, 0, 0, 94, 0, 95, 0, 0, 96, 75, + 97, 98, 27, 99, 0, 470, 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, + 95, 0, 0, 96, 75, 97, 98, 27, 99, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 495, 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, + 97, 98, 27, 99, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 497, 0, 103, 104, 0, 105, 0, 76, 77, 0, 78, 79, 80, 81, 528, 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, + 95, 0, 0, 96, 0, 97, 98, 27, 99, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 104, 608, 105, 2, 3, 4, 5, 6, 7, @@ -1679,27 +1679,27 @@ static const yytype_int16 yytable[] = 0, 20, 21, 0, 617, 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, 0, 0, - 0, 0, 0, 199, 0, 0, 200, 0, 29, 0, - 0, 30, 0, 0, 0, 0, -93, 0, 0, 201, - 0, 0, 0, 0, 0, 27, 0, 202, 0, 28, + 19, 0, 0, 20, 21, 0, 0, 22, 0, 0, + 0, 0, 0, 0, 27, 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, 0, 27, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 30, 0, 0, 0, 649, -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, 62, 0, 2, 3, 4, 63, 64, 65, 66, + 67, 68, 69, 75, 0, 0, 0, 0, 0, 14, + 0, 0, 0, 18, 0, 0, 0, 19, 0, 27, + 70, 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, 668, - 0, 100, 101, 102, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 90, 91, 0, 92, 93, 0, + 0, 0, 94, 27, 95, 0, 28, 96, 0, 97, + 98, 27, 99, 0, 0, 0, 0, 29, 0, 668, + 30, 100, 101, 102, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 103, 104, 722, 105, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, -38, 13, 0, 14, 15, 16, 17, 18, 0, @@ -1707,84 +1707,80 @@ static const yytype_int16 yytable[] = 750, 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, + 21, -38, -38, 22, 0, 0, 0, 0, 27, 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, 27, 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, + 96, 165, 97, 98, 27, 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, + 173, 0, 95, 0, 0, 0, 0, 0, 98, 27, 99, 0, 0, 0, 0, 0, 0, 0, 0, 175, 176, 177, 0, 0, 0, 0, 0, 0, 0, 0, - 380, 0, 103, 104, 615, 105, 2, 3, 4, 5, + 380, 0, 103, 104, 509, 105, 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, 630, 22, 2, 3, + 19, 0, 0, 20, 21, 0, 615, 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, 338, 0, - 29, 0, 0, 30, 0, 0, 0, 0, -93, 339, - 0, 0, 0, 0, 0, 0, 0, 27, 341, 0, - 0, 28, 0, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 29, 0, 0, 30, 0, 0, 0, 694, + 0, 0, 0, 0, 0, 0, 27, 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, 0, 27, 0, + 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 29, 0, 0, 30, 0, 0, 0, 630, -93, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 165, 0, -38, 13, 0, 14, 15, 16, + 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, 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, 694, 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, + 0, 27, 0, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 29, 0, 165, 30, 0, + 0, 0, 0, -93, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 27, 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, 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, 98, 27, 99, 0, 0, 0, + 0, 0, 0, 0, 0, 175, 176, 177, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 104, + 0, 105, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 0, 426, 0, 427, 428, + 580, 429, 430, 0, 0, 0, 0, 0, 0, 431, + 432, 433, 434, 581, 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, 98, 27, 99, 0, 436, 2, 3, 4, 63, + 64, 65, 66, 67, 68, 69, 0, 0, 0, 0, + 0, 0, 14, 0, -175, 0, 18, 0, 0, 0, + 19, 0, 0, 70, 0, 27, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, - 0, 0, 30, 0, 0, 0, 0, 71, 413, 414, + 0, 0, 30, 0, 0, 0, 0, -93, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 0, 426, 0, 427, 428, 580, 429, 430, 0, - 0, 0, 0, 0, 0, 431, 432, 433, 434, 581, - 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, 436, 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, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 0, 426, 0, - 427, 428, 0, 429, 430, 0, 0, 0, 0, 0, - 0, 431, 432, 433, 434, 435, 0, 0, 0, 0, + 425, 0, 426, 0, 427, 428, 27, 429, 430, 28, + 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, + 29, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 436 + 0, 95, 0, 0, 0, 0, 0, 98, 27, 99, + 0, 436 }; #define yypact_value_is_default(yystate) \ - ((yystate) == (-690)) + ((yystate) == (-661)) #define yytable_value_is_error(yytable_value) \ YYID (0) @@ -1794,131 +1790,131 @@ static const yytype_int16 yycheck[] = 7, 8, 9, 89, 51, 210, 442, 22, 25, 86, 87, 220, 27, 151, 21, 20, 25, 105, 430, 5, 508, 7, 8, 9, 25, 81, 87, 104, 1, 128, - 5, 130, 95, 132, 723, 7, 8, 9, 1, 4, - 1, 1, 280, 281, 4, 4, 4, 1, 5, 1, - 55, 95, 3, 4, 56, 4, 294, 1, 99, 100, - 4, 299, 751, 1, 0, 70, 63, 5, 95, 25, - 1, 385, 658, 4, 70, 77, 27, 63, 94, 65, - 66, 67, 168, 98, 5, 87, 400, 84, 1, 81, - 167, 81, 1, 65, 66, 67, 61, 62, 94, 57, - 63, 1, 29, 63, 63, 63, 167, 72, 73, 80, - 1, 72, 81, 25, 63, 80, 74, 82, 72, 63, - 72, 84, 95, 98, 89, 202, 10, 11, 12, 94, - 14, 81, 63, 621, 18, 142, 87, 97, 76, 0, - 576, 99, 100, 199, 200, 731, 732, 583, 734, 387, - 77, 25, 70, 97, 63, 591, 100, 174, 396, 72, - 44, 178, 650, 575, 81, 174, 97, 176, 580, 178, - 81, 4, 72, 174, 81, 176, 94, 178, 32, 33, - 64, 72, 14, 15, 68, 69, 81, 273, 276, 266, - 267, 603, 778, 208, 780, 781, 14, 15, 16, 1, + 5, 130, 1, 132, 1, 7, 8, 9, 5, 1, + 1, 1, 280, 281, 70, 5, 1, 70, 1, 4, + 55, 385, 3, 4, 56, 1, 294, 1, 4, 5, + 4, 299, 1, 723, 95, 70, 400, 63, 94, 25, + 1, 94, 658, 4, 0, 77, 27, 63, 94, 65, + 66, 67, 168, 5, 99, 87, 81, 1, 84, 95, + 167, 751, 1, 65, 66, 67, 56, 95, 58, 59, + 60, 86, 29, 88, 73, 65, 167, 1, 63, 76, + 63, 73, 73, 25, 74, 4, 76, 63, 81, 63, + 99, 100, 95, 98, 63, 202, 10, 11, 12, 89, + 14, 84, 63, 621, 18, 142, 87, 97, 98, 0, + 576, 81, 97, 199, 200, 731, 732, 583, 734, 387, + 77, 25, 81, 97, 5, 591, 100, 174, 396, 73, + 44, 178, 650, 575, 73, 174, 97, 176, 580, 178, + 81, 4, 4, 174, 63, 176, 16, 178, 18, 73, + 64, 86, 87, 88, 68, 69, 26, 273, 276, 266, + 267, 603, 778, 208, 780, 781, 81, 4, 81, 1, 25, 210, 4, 81, 81, 266, 267, 16, 86, 18, - 88, 220, 1, 220, 352, 4, 5, 26, 174, 86, - 176, 88, 178, 150, 57, 311, 5, 154, 81, 438, - 63, 715, 716, 310, 443, 444, 16, 673, 18, 81, - 445, 74, 81, 25, 230, 231, 26, 81, 63, 310, - 16, 81, 18, 81, 55, 57, 97, 94, 230, 231, - 26, 63, 174, 16, 176, 18, 178, 756, 757, 80, - 759, 97, 74, 26, 63, 290, 99, 56, 325, 82, - 77, 0, 329, 144, 331, 697, 5, 66, 7, 8, - 9, 81, 63, 72, 73, 74, 95, 99, 77, 80, - 174, 308, 176, 16, 178, 794, 795, 796, 87, 376, - 377, 16, 379, 32, 16, 16, 383, 80, 325, 326, - 327, 88, 308, 1, 331, 77, 81, 334, 16, 16, - 386, 81, 51, 81, 81, 391, 308, 81, 394, 395, - 326, 81, 328, 81, 63, 81, 65, 66, 67, 174, - 81, 176, 81, 178, 326, 74, 373, 77, 95, 78, - 79, 80, 95, 380, 373, 84, 85, 376, 377, 77, - 379, 380, 373, 16, 383, 376, 377, 789, 379, 380, - 55, 81, 383, 79, 103, 77, 38, 16, 474, 1, - 489, 81, 174, 68, 176, 70, 178, 86, 87, 88, - 447, 457, 449, 55, 77, 412, 505, 16, 78, 128, - 81, 130, 81, 132, 81, 430, 68, 373, 70, 94, + 88, 220, 81, 220, 352, 32, 33, 26, 174, 81, + 176, 81, 178, 150, 57, 311, 16, 154, 18, 438, + 63, 63, 81, 310, 443, 444, 26, 673, 4, 72, + 445, 14, 15, 25, 230, 231, 14, 15, 16, 310, + 57, 14, 15, 16, 81, 57, 63, 81, 230, 231, + 55, 63, 174, 81, 176, 72, 178, 86, 87, 88, + 72, 756, 757, 68, 759, 70, 63, 292, 325, 55, + 80, 0, 329, 144, 331, 697, 5, 97, 7, 8, + 9, 99, 99, 100, 80, 61, 62, 99, 94, 94, + 174, 308, 176, 82, 178, 715, 716, 73, 74, 794, + 795, 796, 97, 32, 80, 16, 82, 18, 325, 326, + 327, 81, 308, 89, 331, 26, 77, 334, 94, 63, + 386, 95, 51, 80, 16, 391, 308, 16, 394, 395, + 326, 16, 328, 16, 63, 88, 65, 66, 67, 174, + 80, 176, 1, 178, 326, 74, 373, 77, 81, 78, + 79, 80, 16, 380, 373, 84, 85, 376, 377, 81, + 379, 380, 373, 81, 383, 376, 377, 789, 379, 380, + 95, 81, 383, 81, 103, 81, 38, 81, 474, 81, + 489, 81, 174, 81, 176, 16, 178, 77, 95, 77, + 447, 457, 449, 55, 16, 412, 505, 81, 79, 128, + 77, 130, 16, 132, 1, 430, 68, 373, 70, 81, 376, 377, 38, 379, 380, 144, 16, 383, 80, 438, - 357, 358, 359, 442, 443, 444, 363, 444, 16, 55, - 81, 81, 94, 81, 16, 452, 453, 454, 14, 15, - 16, 16, 68, 16, 70, 86, 87, 88, 81, 81, - 446, 373, 448, 81, 376, 377, 79, 379, 380, 330, - 16, 383, 78, 16, 446, 16, 448, 81, 94, 81, - 81, 25, 81, 16, 32, 792, 25, 543, 24, 25, - 26, 27, 28, 29, 550, 551, 595, 596, 49, 373, - 837, 395, 376, 377, 646, 379, 380, 514, 513, 383, - 158, 230, 231, 264, 531, 532, 24, 25, 26, 27, - 28, 29, 531, 532, 256, 352, 520, -1, 1, -1, + 357, 358, 359, 442, 443, 444, 363, 444, 77, 55, + 81, 81, 94, 78, 81, 452, 453, 454, 376, 377, + 16, 379, 68, 81, 70, 383, 81, 16, 81, 16, + 446, 373, 448, 16, 376, 377, 16, 379, 380, 330, + 81, 383, 81, 81, 446, 16, 448, 79, 94, 78, + 56, 25, 58, 59, 60, 16, 25, 543, 16, 65, + 81, 16, 81, 81, 550, 551, 595, 596, 74, 373, + 76, 81, 376, 377, 1, 379, 380, 514, 513, 383, + 32, 230, 231, 89, 531, 532, 792, 49, 837, 395, + 646, 97, 531, 532, 158, 264, 352, 520, 741, 256, 531, 532, 25, -1, -1, -1, -1, 421, 422, 423, -1, -1, 426, 427, 428, 429, -1, 431, 373, 433, - -1, 376, 377, -1, 379, 380, 813, 814, 383, 816, - 575, -1, -1, -1, -1, 580, -1, 576, -1, -1, - -1, -1, 579, 580, 583, 531, 532, 834, 835, 836, - -1, -1, 591, 56, -1, 58, 59, 60, 603, 308, - -1, 373, 65, -1, 376, 377, -1, 379, 380, -1, - 73, 383, -1, 76, 77, -1, 325, 326, -1, 328, - 329, 330, 331, -1, 25, -1, 89, -1, -1, 531, - 532, 628, -1, -1, 97, 632, -1, -1, 635, -1, + -1, 376, 377, -1, 379, 380, -1, -1, 383, 56, + 575, 58, 59, 60, -1, 580, -1, 576, 65, -1, + -1, -1, 579, 580, 583, 531, 532, 74, -1, 76, + -1, -1, 591, 80, 797, 798, 83, 800, 603, 308, + -1, 373, 89, -1, 376, 377, -1, 379, 380, -1, + 97, 383, -1, -1, -1, -1, 325, 326, 821, 328, + 329, 330, 331, -1, 827, -1, 829, 830, 831, 531, + 532, 628, -1, -1, 38, 632, -1, -1, 635, -1, 174, -1, 176, -1, 178, 174, -1, 176, -1, 178, - -1, -1, 503, 699, -1, 506, -1, -1, 38, 658, - -1, 512, -1, -1, -1, 516, -1, 531, 532, -1, - -1, -1, -1, 670, 673, 55, -1, -1, -1, -1, - -1, -1, -1, 720, -1, 682, 683, 684, 68, 686, - 70, 174, 697, 176, 691, 178, 693, -1, -1, 24, - -1, 81, -1, 700, -1, -1, -1, -1, 705, 706, - 561, 708, -1, -1, 94, 712, 531, 532, -1, -1, - -1, -1, -1, -1, -1, 25, -1, -1, -1, 726, - -1, -1, 731, 732, -1, 734, -1, 446, 447, 448, - 449, 740, 741, 719, -1, 742, -1, -1, -1, 746, + -1, 55, 503, 699, -1, 506, -1, 813, 814, 658, + 816, 512, -1, -1, 68, 516, 70, 531, 532, -1, + -1, -1, -1, 670, 673, -1, -1, 81, 834, 835, + 836, -1, -1, 720, -1, 682, 683, 684, 38, 686, + 94, 174, 697, 176, 691, 178, 693, -1, -1, 24, + -1, -1, -1, 700, -1, 55, -1, -1, 705, 706, + 561, 708, -1, -1, -1, 712, 531, 532, 68, -1, + 70, -1, -1, -1, -1, 25, -1, -1, -1, 726, + -1, 81, 731, 732, -1, 734, -1, 446, 447, 448, + 449, 740, 741, 719, 94, 742, -1, -1, -1, 746, -1, 625, -1, 627, 25, 752, -1, 754, 755, 531, - 532, 38, -1, -1, -1, -1, -1, -1, -1, -1, - 95, 96, 97, 174, 99, 176, 101, 178, 55, 778, + 532, -1, -1, -1, -1, 25, -1, -1, -1, -1, + 95, 96, 97, 98, -1, -1, 101, -1, -1, 778, 489, 780, 781, 634, 789, 782, 783, 661, 785, -1, - -1, 68, -1, 70, 503, 120, 505, 506, 797, 798, - -1, 800, -1, 512, 81, -1, 803, 516, 805, -1, - 807, -1, 809, 687, -1, -1, -1, 94, 815, -1, + -1, -1, -1, -1, 503, 120, 505, 506, 797, 798, + -1, 800, -1, 512, -1, -1, 803, 516, 805, -1, + 807, -1, 809, 687, -1, -1, 5, -1, 815, -1, 817, 818, 821, 820, -1, 822, -1, 701, 827, -1, 829, 830, 831, -1, -1, -1, 161, 162, -1, 373, -1, 692, 376, 377, 373, 379, 380, 376, 377, 383, 379, 380, 561, -1, 383, -1, -1, -1, -1, 733, - -1, 735, 736, -1, 715, 716, -1, -1, -1, -1, - -1, -1, -1, 724, 174, -1, 176, -1, 178, -1, - 205, 206, -1, -1, -1, 1, 595, 596, -1, -1, - 373, -1, -1, 376, 377, -1, 379, 380, -1, -1, - 383, -1, 753, 174, -1, 176, -1, 178, -1, 38, - 784, -1, 786, 787, -1, -1, -1, 768, -1, -1, - -1, 772, -1, -1, 775, 634, 55, 252, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 68, - 56, 70, 58, 59, 60, -1, 271, -1, -1, 65, - -1, 80, -1, -1, -1, 280, 281, 73, -1, 1, - 76, -1, 287, 288, 80, 94, -1, 83, -1, 294, - 295, 296, 373, 89, 299, 376, 377, -1, 379, 380, - -1, 97, 383, 692, -1, -1, -1, 312, -1, 314, + -1, 735, 736, -1, 715, 716, -1, 56, -1, -1, + -1, -1, -1, 724, 174, -1, 176, 66, 178, 1, + 205, 206, -1, 72, 73, 74, 595, 596, 77, -1, + 373, -1, -1, 376, 377, -1, 379, 380, 87, -1, + 383, -1, 753, 174, -1, 176, -1, 178, -1, -1, + 784, -1, 786, 787, 174, -1, 176, 768, 178, -1, + -1, 772, -1, -1, 775, 634, -1, 252, -1, -1, + 38, -1, -1, -1, 56, -1, 58, 59, 60, -1, + -1, -1, -1, 65, -1, -1, 271, 55, -1, -1, + -1, 4, 74, -1, 76, 280, 281, -1, 80, 1, + 68, -1, 70, -1, 289, 290, -1, 89, -1, 294, + 295, 296, 80, -1, 299, 97, 24, 25, 26, 27, + 28, 29, -1, 692, -1, -1, 94, 312, -1, 314, 315, 316, 317, 318, -1, -1, -1, 531, 532, -1, - -1, -1, 531, 532, -1, -1, 715, 716, -1, -1, + -1, -1, 531, 532, -1, -1, 715, 716, 61, 62, 719, 720, -1, -1, 56, 724, 58, 59, 60, -1, - -1, -1, -1, 65, -1, -1, -1, -1, -1, 1, - -1, 73, -1, 5, 76, -1, -1, 56, 80, 58, - 59, 60, 367, -1, 753, 370, 65, 89, 531, 532, - -1, -1, -1, -1, 73, 97, -1, 76, -1, 768, - 385, -1, 387, 772, 83, -1, 775, 1, -1, -1, - 89, 396, -1, 373, -1, 400, 376, 377, 97, 379, - 380, -1, -1, 383, 56, -1, 58, 59, 60, -1, - -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, - -1, 73, 373, -1, 76, 376, 377, -1, 379, 380, - 435, 436, 383, -1, -1, -1, -1, 89, -1, -1, - -1, -1, -1, -1, -1, 97, 98, 61, 62, -1, - 531, 532, -1, 458, -1, -1, -1, -1, 72, -1, + 73, 74, -1, 65, -1, -1, -1, 80, -1, 82, + -1, -1, 74, -1, 76, 77, 89, 90, 91, 92, + 93, 94, 367, -1, 753, 370, -1, 89, 531, 532, + -1, -1, -1, -1, -1, 97, -1, -1, -1, 768, + 385, -1, 387, 772, -1, -1, 775, 1, -1, -1, + -1, 396, -1, 373, -1, 400, 376, 377, -1, 379, + 380, -1, -1, 383, 24, 25, 26, 27, 28, 29, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 373, -1, -1, 376, 377, -1, 379, 380, + 435, 436, 383, 373, -1, -1, 376, 377, -1, 379, + 380, -1, -1, 383, -1, -1, -1, 61, 62, -1, + -1, -1, -1, 458, -1, -1, -1, -1, -1, 73, 1, -1, -1, -1, 5, 470, 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, -1, -1, -1, -1, 491, -1, -1, -1, 495, -1, 497, -1, -1, 36, 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - -1, 1, -1, -1, 4, 56, 57, -1, 59, 60, + -1, -1, -1, -1, 1, 56, 57, 4, 59, 60, 525, 526, -1, 64, -1, 66, 67, 68, 69, -1, - 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, - 81, -1, 83, 84, 85, 56, -1, 58, 59, 60, - -1, 531, 532, 94, 65, 96, 97, -1, 99, -1, - -1, -1, 73, -1, -1, 76, -1, -1, -1, 574, - -1, 61, 62, 1, 85, -1, 581, 5, 89, -1, - 531, 532, 72, 73, -1, -1, 97, -1, -1, -1, - 80, -1, 82, -1, -1, -1, 86, 87, 88, 89, - -1, -1, -1, -1, 94, 610, -1, -1, 36, 37, + 71, 72, 73, 74, 61, 62, -1, -1, -1, -1, + 81, -1, 83, 84, 85, -1, 73, -1, -1, -1, + -1, 531, 532, 94, 81, 96, 97, -1, 99, 86, + 87, 88, 89, 90, 91, 92, 93, 94, -1, 574, + -1, -1, -1, 1, 61, 62, 581, 5, -1, -1, + 531, 532, -1, -1, -1, -1, 73, 74, -1, -1, + -1, 531, 532, 80, -1, 82, -1, -1, -1, 86, + 87, 88, 89, -1, -1, 610, -1, 94, 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, 67, @@ -2000,19 +1996,19 @@ static const yytype_int16 yycheck[] = -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, 62, 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, + 8, 9, 10, 11, 12, 13, -1, -1, 61, 17, + -1, 19, 20, 21, 22, 23, -1, -1, -1, 27, + 73, -1, 30, 31, -1, -1, 34, -1, 81, -1, + -1, -1, -1, 86, 87, 88, 89, 90, 91, 92, + 93, 94, -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, + 10, 11, 12, 13, -1, 73, 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, -1, -1, 73, -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, @@ -2034,16 +2030,16 @@ static const yytype_int16 yycheck[] = 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, 55, 56, 57, -1, 59, 60, -1, 1, -1, 64, 4, 66, -1, 68, 69, 70, 71, 72, 73, - 74, -1, -1, -1, -1, -1, -1, -1, -1, 83, + 74, -1, -1, -1, -1, 1, -1, -1, 4, 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, - 73, -1, -1, -1, -1, -1, -1, 80, -1, 82, - -1, -1, 5, 86, 87, 88, 89, -1, -1, -1, - -1, 94, -1, -1, -1, -1, -1, -1, -1, 66, - -1, -1, -1, -1, -1, 72, 73, 74, -1, 76, + -1, -1, -1, 30, 31, 32, 33, 34, -1, -1, + 73, 74, -1, -1, -1, 61, 62, 80, -1, 82, + -1, -1, 5, 86, 87, 88, 89, 73, 74, -1, + -1, 94, -1, -1, 80, 81, 82, -1, -1, 66, + 86, -1, 88, 89, -1, 72, 73, 74, 94, 76, -1, 78, 79, 36, 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 95, -1, -1, -1, -1, 56, 57, -1, 59, 60, -1, -1, @@ -2077,17 +2073,17 @@ static const yytype_int16 yycheck[] = 7, 8, 9, 10, 11, 12, 13, 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, 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, + -1, 72, 73, 74, -1, 76, -1, -1, 1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 5, 14, 15, 16, 95, 18, 19, -1, -1, -1, + 23, -1, -1, 26, 27, -1, 73, 30, -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, 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, 56, 57, -1, 59, 60, -1, -1, -1, 64, + 73, 66, -1, 76, 69, 70, 71, 72, 73, 74, + -1, -1, -1, -1, 87, -1, -1, 90, 83, 84, + 85, -1, 95, -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, -1, 17, -1, 19, 20, 21, 22, 23, -1, -1, -1, -1, @@ -2096,16 +2092,16 @@ static const yytype_int16 yycheck[] = 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, + 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, -1, 14, 15, 16, -1, 95, 19, -1, + -1, -1, 23, -1, -1, 66, 27, -1, -1, 30, + -1, 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, + 34, -1, 73, -1, -1, 76, -1, -1, -1, -1, + -1, -1, 5, -1, -1, -1, 87, -1, -1, 90, + -1, -1, -1, -1, 95, -1, -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, @@ -2115,29 +2111,29 @@ static const yytype_int16 yycheck[] = 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, 4, -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, 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, 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, 27, -1, -1, 30, 31, -1, 56, + 34, 58, 59, 60, -1, -1, -1, 73, 65, -1, + 76, -1, -1, -1, -1, -1, -1, 74, -1, 76, + -1, 87, -1, -1, 90, -1, -1, -1, 85, 95, + -1, -1, 89, -1, -1, -1, -1, -1, -1, 73, + 97, -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, 16, 17, -1, 19, 20, - 21, 22, 23, -1, 741, -1, 27, -1, -1, 30, + 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, - 797, 798, -1, 800, -1, -1, 87, -1, -1, 90, - -1, -1, -1, -1, 95, -1, -1, -1, -1, -1, - -1, -1, -1, 72, 821, -1, -1, 76, -1, -1, - 827, -1, 829, 830, 831, -1, -1, -1, 87, -1, + -1, 30, 31, -1, 56, 34, 58, 59, 60, -1, + -1, -1, 73, 65, -1, 76, -1, -1, -1, -1, + -1, -1, 74, -1, 76, -1, 87, -1, -1, 90, + -1, 83, -1, -1, 95, -1, -1, 89, -1, -1, + -1, -1, -1, -1, 73, 97, -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, -1, 19, 20, 21, 22, 23, -1, -1, @@ -2145,17 +2141,17 @@ static const yytype_int16 yycheck[] = -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, 4, + 32, 33, 34, -1, -1, -1, -1, 73, -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, 61, 62, 69, 5, - 71, 72, 73, 74, -1, 76, -1, 72, 73, -1, - -1, -1, 83, 84, 85, 80, 81, 82, -1, -1, - -1, 86, -1, 88, 89, 96, 97, -1, 99, 94, + -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, @@ -2181,27 +2177,27 @@ static const yytype_int16 yycheck[] = -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, -1, -1, - -1, -1, -1, 73, -1, -1, 76, -1, 87, -1, - -1, 90, -1, -1, -1, -1, 95, -1, -1, 89, - -1, -1, -1, -1, -1, 72, -1, 97, -1, 76, + 27, -1, -1, 30, 31, -1, -1, 34, -1, -1, + -1, -1, -1, -1, 73, -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, -1, 73, -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, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 5, -1, -1, -1, -1, -1, 19, + -1, -1, -1, 23, -1, -1, -1, 27, -1, 73, + 30, -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, 56, 57, -1, 59, 60, -1, + -1, -1, 64, 73, 66, -1, 76, 69, -1, 71, + 72, 73, 74, -1, -1, -1, -1, 87, -1, 81, + 90, 83, 84, 85, -1, 95, -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, 23, -1, @@ -2209,11 +2205,11 @@ static const yytype_int16 yycheck[] = 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, + 31, 32, 33, 34, -1, -1, -1, -1, 73, -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, 73, -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, @@ -2234,55 +2230,51 @@ static const yytype_int16 yycheck[] = 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, 61, -1, - 87, -1, -1, 90, -1, -1, -1, -1, 95, 72, - -1, -1, -1, -1, -1, -1, -1, 72, 81, -1, - -1, 76, -1, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 87, -1, -1, 90, -1, -1, -1, 1, + -1, -1, -1, -1, -1, -1, 73, -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, -1, 73, -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, + 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, -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, 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, 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, + -1, 73, -1, -1, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 87, -1, 5, 90, -1, + -1, -1, -1, 95, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 73, -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, -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, -1, -1, 96, 97, + -1, 99, 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, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, -1, -1, -1, -1, + -1, -1, 19, -1, 95, -1, 23, -1, -1, -1, + 27, -1, -1, 30, -1, 73, -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, + 15, -1, 17, -1, 19, 20, 73, 22, 23, 76, -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, 23, -1, -1, -1, -1, -1, - -1, 30, 31, 32, 33, 34, -1, -1, -1, -1, + 87, -1, -1, 90, -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, 66, -1, -1, - -1, -1, -1, 72, 73, 74, -1, 76 + -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, + -1, 76 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2291,24 +2283,24 @@ static const yytype_uint8 yystos[] = { 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17, 19, 20, 21, 22, 23, 27, - 30, 31, 34, 51, 52, 53, 54, 72, 76, 87, + 30, 31, 34, 51, 52, 53, 54, 73, 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, + 56, 57, 59, 60, 64, 66, 69, 71, 72, 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, + 73, 74, 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, + 220, 221, 222, 229, 56, 58, 59, 60, 65, 74, 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, @@ -2316,13 +2308,13 @@ static const yytype_uint8 yystos[] = 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, + 57, 72, 99, 100, 167, 223, 224, 225, 228, 228, + 206, 205, 1, 202, 202, 202, 1, 202, 1, 67, + 68, 80, 94, 190, 204, 70, 94, 202, 208, 203, 1, 184, 1, 97, 225, 1, 99, 223, 81, 43, 48, 50, 67, 202, 38, 55, 68, 70, 94, 1, 131, 1, 131, 1, 131, 81, 81, 81, 81, 81, - 219, 81, 1, 116, 81, 1, 211, 1, 61, 72, + 219, 81, 1, 116, 81, 1, 211, 1, 61, 73, 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, @@ -3218,14 +3210,14 @@ yyreduce: case 2: /* Line 1806 of yacc.c */ -#line 177 "parser.y" +#line 178 "parser.y" { set_syntax_tree(parser, (yyvsp[(1) - (1)].val)); } break; case 3: /* Line 1806 of yacc.c */ -#line 178 "parser.y" +#line 179 "parser.y" { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); end_of_regex(scnr); } break; @@ -3233,35 +3225,35 @@ yyreduce: case 4: /* Line 1806 of yacc.c */ -#line 181 "parser.y" +#line 182 "parser.y" { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); YYACCEPT; } break; case 5: /* Line 1806 of yacc.c */ -#line 182 "parser.y" +#line 183 "parser.y" { internal_error("notreached"); } break; case 6: /* Line 1806 of yacc.c */ -#line 184 "parser.y" +#line 185 "parser.y" { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); YYACCEPT; } break; case 7: /* Line 1806 of yacc.c */ -#line 185 "parser.y" +#line 186 "parser.y" { internal_error("notreached"); } break; case 8: /* Line 1806 of yacc.c */ -#line 186 "parser.y" +#line 187 "parser.y" { if (yychar == YYEOF) { parser->syntax_tree = nao; YYACCEPT; @@ -3274,7 +3266,7 @@ yyreduce: case 9: /* Line 1806 of yacc.c */ -#line 193 "parser.y" +#line 194 "parser.y" { if (yychar == YYEOF) { parser->syntax_tree = nao; YYACCEPT; @@ -3287,7 +3279,7 @@ yyreduce: case 10: /* Line 1806 of yacc.c */ -#line 200 "parser.y" +#line 201 "parser.y" { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); YYACCEPT; } break; @@ -3295,14 +3287,14 @@ yyreduce: case 11: /* Line 1806 of yacc.c */ -#line 202 "parser.y" +#line 203 "parser.y" { internal_error("notreached"); } break; case 12: /* Line 1806 of yacc.c */ -#line 203 "parser.y" +#line 204 "parser.y" { if (yychar == YYEOF) { parser->syntax_tree = nao; YYACCEPT; @@ -3315,7 +3307,7 @@ yyreduce: case 13: /* Line 1806 of yacc.c */ -#line 210 "parser.y" +#line 211 "parser.y" { parser->syntax_tree = nil; if (parser->errors >= 8) YYABORT; @@ -3326,14 +3318,14 @@ yyreduce: case 14: /* Line 1806 of yacc.c */ -#line 219 "parser.y" +#line 220 "parser.y" { parser->ignore = 1; } break; case 15: /* Line 1806 of yacc.c */ -#line 220 "parser.y" +#line 221 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3341,14 +3333,14 @@ yyreduce: case 16: /* Line 1806 of yacc.c */ -#line 222 "parser.y" +#line 223 "parser.y" { parser->ignore = 1; } break; case 17: /* Line 1806 of yacc.c */ -#line 223 "parser.y" +#line 224 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3356,14 +3348,14 @@ yyreduce: case 18: /* Line 1806 of yacc.c */ -#line 225 "parser.y" +#line 226 "parser.y" { parser->ignore = 1; } break; case 19: /* Line 1806 of yacc.c */ -#line 226 "parser.y" +#line 227 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3371,35 +3363,35 @@ yyreduce: case 20: /* Line 1806 of yacc.c */ -#line 228 "parser.y" +#line 229 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 21: /* Line 1806 of yacc.c */ -#line 229 "parser.y" +#line 230 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 22: /* Line 1806 of yacc.c */ -#line 230 "parser.y" +#line 231 "parser.y" { (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 23: /* Line 1806 of yacc.c */ -#line 233 "parser.y" +#line 234 "parser.y" { parser->ignore = 1; } break; case 24: /* Line 1806 of yacc.c */ -#line 234 "parser.y" +#line 235 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3407,14 +3399,14 @@ yyreduce: case 25: /* Line 1806 of yacc.c */ -#line 236 "parser.y" +#line 237 "parser.y" { parser->ignore = 1; } break; case 26: /* Line 1806 of yacc.c */ -#line 237 "parser.y" +#line 238 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3422,14 +3414,14 @@ yyreduce: case 27: /* Line 1806 of yacc.c */ -#line 239 "parser.y" +#line 240 "parser.y" { parser->ignore = 1; } break; case 28: /* Line 1806 of yacc.c */ -#line 240 "parser.y" +#line 241 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3437,140 +3429,140 @@ yyreduce: case 29: /* Line 1806 of yacc.c */ -#line 242 "parser.y" +#line 243 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 30: /* Line 1806 of yacc.c */ -#line 243 "parser.y" +#line 244 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 31: /* Line 1806 of yacc.c */ -#line 244 "parser.y" +#line 245 "parser.y" { (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 32: /* Line 1806 of yacc.c */ -#line 249 "parser.y" +#line 250 "parser.y" { internal_error("notreached"); } break; case 33: /* Line 1806 of yacc.c */ -#line 250 "parser.y" +#line 251 "parser.y" { internal_error("notreached"); } break; case 34: /* Line 1806 of yacc.c */ -#line 251 "parser.y" +#line 252 "parser.y" { internal_error("notreached"); } break; case 35: /* Line 1806 of yacc.c */ -#line 254 "parser.y" +#line 255 "parser.y" { (yyval.val) = check_parse_time_action(cons((yyvsp[(1) - (1)].val), nil)); } break; case 36: /* Line 1806 of yacc.c */ -#line 255 "parser.y" +#line 256 "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 258 "parser.y" +#line 259 "parser.y" { (yyval.val) = us_nreverse((yyvsp[(1) - (1)].val)); } break; case 38: /* Line 1806 of yacc.c */ -#line 259 "parser.y" +#line 260 "parser.y" { (yyval.val) = nil; } break; case 39: /* Line 1806 of yacc.c */ -#line 262 "parser.y" +#line 263 "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 263 "parser.y" +#line 264 "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 264 "parser.y" +#line 265 "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 265 "parser.y" +#line 266 "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 266 "parser.y" +#line 267 "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 267 "parser.y" +#line 268 "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 268 "parser.y" +#line 269 "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 269 "parser.y" +#line 270 "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 270 "parser.y" +#line 271 "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 271 "parser.y" +#line 272 "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)); } @@ -3579,35 +3571,35 @@ yyreduce: case 49: /* Line 1806 of yacc.c */ -#line 274 "parser.y" +#line 275 "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 275 "parser.y" +#line 276 "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 276 "parser.y" +#line 277 "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 277 "parser.y" +#line 278 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 53: /* Line 1806 of yacc.c */ -#line 280 "parser.y" +#line 281 "parser.y" { (yyval.val) = list(all_s, (yyvsp[(3) - (3)].val), nao); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; @@ -3615,7 +3607,7 @@ yyreduce: case 54: /* Line 1806 of yacc.c */ -#line 282 "parser.y" +#line 283 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("all clause")); } break; @@ -3623,7 +3615,7 @@ yyreduce: case 55: /* Line 1806 of yacc.c */ -#line 287 "parser.y" +#line 288 "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; @@ -3631,7 +3623,7 @@ yyreduce: case 56: /* Line 1806 of yacc.c */ -#line 291 "parser.y" +#line 292 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("some clause")); } break; @@ -3639,7 +3631,7 @@ yyreduce: case 57: /* Line 1806 of yacc.c */ -#line 295 "parser.y" +#line 296 "parser.y" { (yyval.val) = list(none_s, (yyvsp[(3) - (3)].val), nao); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; @@ -3647,7 +3639,7 @@ yyreduce: case 58: /* Line 1806 of yacc.c */ -#line 297 "parser.y" +#line 298 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("none clause")); } break; @@ -3655,7 +3647,7 @@ yyreduce: case 59: /* Line 1806 of yacc.c */ -#line 301 "parser.y" +#line 302 "parser.y" { (yyval.val) = list(maybe_s, (yyvsp[(3) - (3)].val), nao); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; @@ -3663,7 +3655,7 @@ yyreduce: case 60: /* Line 1806 of yacc.c */ -#line 303 "parser.y" +#line 304 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("maybe clause")); } break; @@ -3671,7 +3663,7 @@ yyreduce: case 61: /* Line 1806 of yacc.c */ -#line 307 "parser.y" +#line 308 "parser.y" { (yyval.val) = list(cases_s, (yyvsp[(3) - (3)].val), nao); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; @@ -3679,7 +3671,7 @@ yyreduce: case 62: /* Line 1806 of yacc.c */ -#line 309 "parser.y" +#line 310 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("cases clause")); } break; @@ -3687,7 +3679,7 @@ yyreduce: case 63: /* Line 1806 of yacc.c */ -#line 315 "parser.y" +#line 316 "parser.y" { val name = first((yyvsp[(2) - (7)].val)); if (gt(length((yyvsp[(2) - (7)].val)), one)) yyerr("block: takes zero or no arguments"); @@ -3702,7 +3694,7 @@ yyreduce: case 64: /* Line 1806 of yacc.c */ -#line 325 "parser.y" +#line 326 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("block clause")); } break; @@ -3710,7 +3702,7 @@ yyreduce: case 65: /* Line 1806 of yacc.c */ -#line 330 "parser.y" +#line 331 "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; @@ -3718,7 +3710,7 @@ yyreduce: case 66: /* Line 1806 of yacc.c */ -#line 333 "parser.y" +#line 334 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("choose clause")); } break; @@ -3726,7 +3718,7 @@ yyreduce: case 67: /* Line 1806 of yacc.c */ -#line 339 "parser.y" +#line 340 "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), @@ -3738,7 +3730,7 @@ yyreduce: case 68: /* Line 1806 of yacc.c */ -#line 350 "parser.y" +#line 351 "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), @@ -3751,7 +3743,7 @@ yyreduce: case 69: /* Line 1806 of yacc.c */ -#line 359 "parser.y" +#line 360 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("gather clause")); } break; @@ -3759,35 +3751,35 @@ yyreduce: case 70: /* Line 1806 of yacc.c */ -#line 364 "parser.y" +#line 365 "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 367 "parser.y" +#line 368 "parser.y" { (yyval.val) = (yyvsp[(3) - (3)].val); } break; case 72: /* Line 1806 of yacc.c */ -#line 368 "parser.y" +#line 369 "parser.y" { (yyval.val) = (yyvsp[(3) - (3)].val); } break; case 73: /* Line 1806 of yacc.c */ -#line 369 "parser.y" +#line 370 "parser.y" { (yyval.val) = nil; } break; case 74: /* Line 1806 of yacc.c */ -#line 373 "parser.y" +#line 374 "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, @@ -3798,7 +3790,7 @@ yyreduce: case 75: /* Line 1806 of yacc.c */ -#line 381 "parser.y" +#line 382 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (12)].val)); if (nilp((yyvsp[(10) - (12)].val))) yyerr("empty until/last in collect"); @@ -3813,7 +3805,7 @@ yyreduce: case 76: /* Line 1806 of yacc.c */ -#line 391 "parser.y" +#line 392 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("collect clause")); } break; @@ -3821,63 +3813,63 @@ yyreduce: case 77: /* Line 1806 of yacc.c */ -#line 395 "parser.y" +#line 396 "parser.y" { (yyval.val) = cons(collect_s, num((yyvsp[(1) - (1)].lineno))); } break; case 78: /* Line 1806 of yacc.c */ -#line 396 "parser.y" +#line 397 "parser.y" { (yyval.val) = cons(repeat_s, num((yyvsp[(1) - (1)].lineno))); } break; case 79: /* Line 1806 of yacc.c */ -#line 399 "parser.y" +#line 400 "parser.y" { (yyval.val) = cons(num((yyvsp[(1) - (1)].lineno)), until_s); } break; case 80: /* Line 1806 of yacc.c */ -#line 400 "parser.y" +#line 401 "parser.y" { (yyval.val) = cons(num((yyvsp[(1) - (1)].lineno)), last_s); } break; case 81: /* Line 1806 of yacc.c */ -#line 403 "parser.y" +#line 404 "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 406 "parser.y" +#line 407 "parser.y" { (yyval.val) = nil; } break; case 83: /* Line 1806 of yacc.c */ -#line 407 "parser.y" +#line 408 "parser.y" { (yyval.val) = (yyvsp[(3) - (3)].val); } break; case 84: /* Line 1806 of yacc.c */ -#line 408 "parser.y" +#line 409 "parser.y" { (yyval.val) = (yyvsp[(3) - (3)].val); } break; case 85: /* Line 1806 of yacc.c */ -#line 415 "parser.y" +#line 416 "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)); @@ -3902,14 +3894,14 @@ yyreduce: case 86: /* Line 1806 of yacc.c */ -#line 435 "parser.y" +#line 436 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("if clause")); } break; case 87: /* Line 1806 of yacc.c */ -#line 440 "parser.y" +#line 441 "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)); @@ -3926,14 +3918,14 @@ yyreduce: case 88: /* Line 1806 of yacc.c */ -#line 451 "parser.y" +#line 452 "parser.y" { (yyval.val) = nil; } break; case 89: /* Line 1806 of yacc.c */ -#line 455 "parser.y" +#line 456 "parser.y" { if (opt_compat && opt_compat <= 136) { (yyval.val) = (yyvsp[(3) - (3)].val); } else @@ -3943,35 +3935,35 @@ yyreduce: case 90: /* Line 1806 of yacc.c */ -#line 459 "parser.y" +#line 460 "parser.y" { (yyval.val) = nil; } break; case 91: /* Line 1806 of yacc.c */ -#line 462 "parser.y" +#line 463 "parser.y" { (yyval.val) = (yyvsp[(1) - (2)].val); } break; case 92: /* Line 1806 of yacc.c */ -#line 465 "parser.y" +#line 466 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 93: /* Line 1806 of yacc.c */ -#line 466 "parser.y" +#line 467 "parser.y" { (yyval.val) = nil; } break; case 94: /* Line 1806 of yacc.c */ -#line 469 "parser.y" +#line 470 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; @@ -3979,7 +3971,7 @@ yyreduce: case 95: /* Line 1806 of yacc.c */ -#line 471 "parser.y" +#line 472 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); rlc((yyval.val), (yyvsp[(1) - (2)].val)); } break; @@ -3987,14 +3979,14 @@ yyreduce: case 96: /* Line 1806 of yacc.c */ -#line 476 "parser.y" +#line 477 "parser.y" { (yyval.val) = rl(string_own((yyvsp[(1) - (1)].lexeme)), num(parser->lineno)); } break; case 97: /* Line 1806 of yacc.c */ -#line 477 "parser.y" +#line 478 "parser.y" { if ((yyvsp[(1) - (1)].lexeme)[0] == ' ' && (yyvsp[(1) - (1)].lexeme)[1] == 0) { val spaces = list(oneplus_s, chr(' '), nao); @@ -4008,7 +4000,7 @@ yyreduce: case 98: /* Line 1806 of yacc.c */ -#line 485 "parser.y" +#line 486 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); rl((yyval.val), num(parser->lineno)); } break; @@ -4016,28 +4008,28 @@ yyreduce: case 99: /* Line 1806 of yacc.c */ -#line 487 "parser.y" +#line 488 "parser.y" { (yyval.val) = null_string; } break; case 100: /* Line 1806 of yacc.c */ -#line 490 "parser.y" +#line 491 "parser.y" { (yyval.val) = rlc(cons((yyvsp[(1) - (1)].val), nil), (yyvsp[(1) - (1)].val)); } break; case 101: /* Line 1806 of yacc.c */ -#line 491 "parser.y" +#line 492 "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 494 "parser.y" +#line 495 "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; @@ -4045,7 +4037,7 @@ yyreduce: case 103: /* Line 1806 of yacc.c */ -#line 496 "parser.y" +#line 497 "parser.y" { (yyval.val) = rl((yyvsp[(1) - (1)].val), num(parser->lineno)); match_reg_elem((yyval.val)); } break; @@ -4053,7 +4045,7 @@ yyreduce: case 104: /* Line 1806 of yacc.c */ -#line 498 "parser.y" +#line 499 "parser.y" { val sym = first((yyvsp[(1) - (1)].val)); if (sym == do_s || sym == require_s) (yyval.val) = rlc(cons(sym, @@ -4070,7 +4062,7 @@ yyreduce: case 105: /* Line 1806 of yacc.c */ -#line 509 "parser.y" +#line 510 "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))); } @@ -4079,7 +4071,7 @@ yyreduce: case 106: /* Line 1806 of yacc.c */ -#line 514 "parser.y" +#line 515 "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))), @@ -4091,7 +4083,7 @@ yyreduce: case 107: /* Line 1806 of yacc.c */ -#line 520 "parser.y" +#line 521 "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))); } @@ -4100,7 +4092,7 @@ yyreduce: case 108: /* Line 1806 of yacc.c */ -#line 526 "parser.y" +#line 527 "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))), @@ -4112,7 +4104,7 @@ yyreduce: case 109: /* Line 1806 of yacc.c */ -#line 532 "parser.y" +#line 533 "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))); } @@ -4121,7 +4113,7 @@ yyreduce: case 110: /* Line 1806 of yacc.c */ -#line 535 "parser.y" +#line 536 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("coll clause")); } break; @@ -4129,7 +4121,7 @@ yyreduce: case 111: /* Line 1806 of yacc.c */ -#line 537 "parser.y" +#line 538 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("rep clause")); } break; @@ -4137,7 +4129,7 @@ yyreduce: case 112: /* Line 1806 of yacc.c */ -#line 539 "parser.y" +#line 540 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("rep clause")); } break; @@ -4145,42 +4137,42 @@ yyreduce: case 113: /* Line 1806 of yacc.c */ -#line 541 "parser.y" +#line 542 "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 543 "parser.y" +#line 544 "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 544 "parser.y" +#line 545 "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 545 "parser.y" +#line 546 "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 546 "parser.y" +#line 547 "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 548 "parser.y" +#line 549 "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; @@ -4188,7 +4180,7 @@ yyreduce: case 119: /* Line 1806 of yacc.c */ -#line 551 "parser.y" +#line 552 "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))); } @@ -4197,35 +4189,35 @@ yyreduce: case 120: /* Line 1806 of yacc.c */ -#line 556 "parser.y" +#line 557 "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 559 "parser.y" +#line 560 "parser.y" { (yyval.val) = nil; } break; case 122: /* Line 1806 of yacc.c */ -#line 560 "parser.y" +#line 561 "parser.y" { (yyval.val) = (yyvsp[(2) - (2)].val); } break; case 123: /* Line 1806 of yacc.c */ -#line 561 "parser.y" +#line 562 "parser.y" { (yyval.val) = (yyvsp[(2) - (2)].val); } break; case 124: /* Line 1806 of yacc.c */ -#line 566 "parser.y" +#line 567 "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))); } @@ -4234,7 +4226,7 @@ yyreduce: case 125: /* Line 1806 of yacc.c */ -#line 571 "parser.y" +#line 572 "parser.y" { (yyval.val) = list(define_s, nil, (yyvsp[(4) - (6)].val), nao); rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); } break; @@ -4242,7 +4234,7 @@ yyreduce: case 126: /* Line 1806 of yacc.c */ -#line 573 "parser.y" +#line 574 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("define directive")); } break; @@ -4250,14 +4242,14 @@ yyreduce: case 127: /* Line 1806 of yacc.c */ -#line 576 "parser.y" +#line 577 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("define")); } break; case 128: /* Line 1806 of yacc.c */ -#line 578 "parser.y" +#line 579 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("define")); } break; @@ -4265,7 +4257,7 @@ yyreduce: case 129: /* Line 1806 of yacc.c */ -#line 585 "parser.y" +#line 586 "parser.y" { (yyval.val) = list(try_s, flatten(mapcar(func_n1(second), (yyvsp[(4) - (6)].val))), @@ -4276,7 +4268,7 @@ yyreduce: case 130: /* Line 1806 of yacc.c */ -#line 591 "parser.y" +#line 592 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("try clause")); } break; @@ -4284,7 +4276,7 @@ yyreduce: case 131: /* Line 1806 of yacc.c */ -#line 597 "parser.y" +#line 598 "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))); } @@ -4293,7 +4285,7 @@ yyreduce: case 132: /* Line 1806 of yacc.c */ -#line 602 "parser.y" +#line 603 "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)); @@ -4303,7 +4295,7 @@ yyreduce: case 133: /* Line 1806 of yacc.c */ -#line 607 "parser.y" +#line 608 "parser.y" { (yyval.val) = cons(list(finally_s, nil, (yyvsp[(3) - (3)].val), nao), nil); @@ -4313,14 +4305,14 @@ yyreduce: case 134: /* Line 1806 of yacc.c */ -#line 611 "parser.y" +#line 612 "parser.y" { (yyval.val) = nil; } break; case 135: /* Line 1806 of yacc.c */ -#line 613 "parser.y" +#line 614 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("catch clause")); } break; @@ -4328,7 +4320,7 @@ yyreduce: case 136: /* Line 1806 of yacc.c */ -#line 616 "parser.y" +#line 617 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("catch clause")); } break; @@ -4336,7 +4328,7 @@ yyreduce: case 137: /* Line 1806 of yacc.c */ -#line 619 "parser.y" +#line 620 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("finally clause")); } break; @@ -4344,7 +4336,7 @@ yyreduce: case 138: /* Line 1806 of yacc.c */ -#line 626 "parser.y" +#line 627 "parser.y" { (yyval.val) = nil; yyerrorf(scnr, lit("~a: traling material"), car((yyvsp[(1) - (7)].val)), nao); } @@ -4353,21 +4345,21 @@ yyreduce: case 139: /* Line 1806 of yacc.c */ -#line 630 "parser.y" +#line 631 "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 633 "parser.y" +#line 634 "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 636 "parser.y" +#line 637 "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; @@ -4375,7 +4367,7 @@ yyreduce: case 142: /* Line 1806 of yacc.c */ -#line 640 "parser.y" +#line 641 "parser.y" { (yyval.val) = nil; yyerr("invalid combination of old and " "new syntax in output directive"); } @@ -4384,7 +4376,7 @@ yyreduce: case 143: /* Line 1806 of yacc.c */ -#line 643 "parser.y" +#line 644 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output directive")); } break; @@ -4392,7 +4384,7 @@ yyreduce: case 144: /* Line 1806 of yacc.c */ -#line 646 "parser.y" +#line 647 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output clause")); } break; @@ -4400,7 +4392,7 @@ yyreduce: case 145: /* Line 1806 of yacc.c */ -#line 649 "parser.y" +#line 650 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output clause")); } break; @@ -4408,7 +4400,7 @@ yyreduce: case 146: /* Line 1806 of yacc.c */ -#line 652 "parser.y" +#line 653 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output clause")); } break; @@ -4416,7 +4408,7 @@ yyreduce: case 147: /* Line 1806 of yacc.c */ -#line 655 "parser.y" +#line 656 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output clause")); } break; @@ -4424,56 +4416,56 @@ yyreduce: case 148: /* Line 1806 of yacc.c */ -#line 659 "parser.y" +#line 660 "parser.y" { (yyval.val) = cons(output_s, num((yyvsp[(1) - (1)].lineno))); } break; case 149: /* Line 1806 of yacc.c */ -#line 660 "parser.y" +#line 661 "parser.y" { (yyval.val) = cons(push_s, num((yyvsp[(1) - (1)].lineno))); } break; case 150: /* Line 1806 of yacc.c */ -#line 663 "parser.y" +#line 664 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; case 151: /* Line 1806 of yacc.c */ -#line 664 "parser.y" +#line 665 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; case 152: /* Line 1806 of yacc.c */ -#line 667 "parser.y" +#line 668 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; case 153: /* Line 1806 of yacc.c */ -#line 668 "parser.y" +#line 669 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; case 154: /* Line 1806 of yacc.c */ -#line 669 "parser.y" +#line 670 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 155: /* Line 1806 of yacc.c */ -#line 675 "parser.y" +#line 676 "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))); } @@ -4482,7 +4474,7 @@ yyreduce: case 156: /* Line 1806 of yacc.c */ -#line 679 "parser.y" +#line 680 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("repeat clause")); } break; @@ -4490,7 +4482,7 @@ yyreduce: case 157: /* Line 1806 of yacc.c */ -#line 685 "parser.y" +#line 686 "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; @@ -4498,7 +4490,7 @@ yyreduce: case 158: /* Line 1806 of yacc.c */ -#line 689 "parser.y" +#line 690 "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; @@ -4506,7 +4498,7 @@ yyreduce: case 159: /* Line 1806 of yacc.c */ -#line 693 "parser.y" +#line 694 "parser.y" { if ((yyvsp[(2) - (6)].val)) yyerrorf(scnr, lit("last: in output, " @@ -4519,7 +4511,7 @@ yyreduce: case 160: /* Line 1806 of yacc.c */ -#line 702 "parser.y" +#line 703 "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; @@ -4527,7 +4519,7 @@ yyreduce: case 161: /* Line 1806 of yacc.c */ -#line 707 "parser.y" +#line 708 "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)); @@ -4537,7 +4529,7 @@ yyreduce: case 162: /* Line 1806 of yacc.c */ -#line 714 "parser.y" +#line 715 "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)); @@ -4547,14 +4539,14 @@ yyreduce: case 163: /* Line 1806 of yacc.c */ -#line 718 "parser.y" +#line 719 "parser.y" { (yyval.val) = nil; } break; case 164: /* Line 1806 of yacc.c */ -#line 725 "parser.y" +#line 726 "parser.y" { val expr = expand((yyvsp[(2) - (9)].val), nil); val ifs = (yyvsp[(5) - (9)].val); val branch = cons(cons(expr, ifs), nil); @@ -4568,7 +4560,7 @@ yyreduce: case 165: /* Line 1806 of yacc.c */ -#line 734 "parser.y" +#line 735 "parser.y" { (yyval.val) = nil; yyerr("if requires expression"); } break; @@ -4576,14 +4568,14 @@ yyreduce: case 166: /* Line 1806 of yacc.c */ -#line 737 "parser.y" +#line 738 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("if clause")); } break; case 167: /* Line 1806 of yacc.c */ -#line 743 "parser.y" +#line 744 "parser.y" { val expr = expand(car((yyvsp[(2) - (6)].val)), nil); val elifs = (yyvsp[(5) - (6)].val); val branch = cons(cons(expr, elifs), nil); @@ -4597,49 +4589,49 @@ yyreduce: case 168: /* Line 1806 of yacc.c */ -#line 751 "parser.y" +#line 752 "parser.y" { (yyval.val) = nil; } break; case 169: /* Line 1806 of yacc.c */ -#line 756 "parser.y" +#line 757 "parser.y" { (yyval.val) = cons(cons(t, (yyvsp[(3) - (3)].val)), nil); } break; case 170: /* Line 1806 of yacc.c */ -#line 757 "parser.y" +#line 758 "parser.y" { (yyval.val) = nil; } break; case 171: /* Line 1806 of yacc.c */ -#line 760 "parser.y" +#line 761 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 172: /* Line 1806 of yacc.c */ -#line 761 "parser.y" +#line 762 "parser.y" { (yyval.val) = nil; } break; case 173: /* Line 1806 of yacc.c */ -#line 763 "parser.y" +#line 764 "parser.y" { (yyval.val) = (yyvsp[(1) - (2)].val); } break; case 174: /* Line 1806 of yacc.c */ -#line 766 "parser.y" +#line 767 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); rl((yyval.val), num(parser->lineno)); } break; @@ -4647,42 +4639,42 @@ yyreduce: case 175: /* Line 1806 of yacc.c */ -#line 768 "parser.y" +#line 769 "parser.y" { (yyval.val) = nil; } break; case 176: /* Line 1806 of yacc.c */ -#line 771 "parser.y" +#line 772 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; case 177: /* Line 1806 of yacc.c */ -#line 772 "parser.y" +#line 773 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; case 178: /* Line 1806 of yacc.c */ -#line 773 "parser.y" +#line 774 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; case 179: /* Line 1806 of yacc.c */ -#line 774 "parser.y" +#line 775 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; case 180: /* Line 1806 of yacc.c */ -#line 777 "parser.y" +#line 778 "parser.y" { (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); rl((yyval.val), num(parser->lineno)); } break; @@ -4690,7 +4682,7 @@ yyreduce: case 181: /* Line 1806 of yacc.c */ -#line 779 "parser.y" +#line 780 "parser.y" { (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); rl((yyval.val), num(parser->lineno)); } break; @@ -4698,14 +4690,14 @@ yyreduce: case 182: /* Line 1806 of yacc.c */ -#line 781 "parser.y" +#line 782 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 183: /* Line 1806 of yacc.c */ -#line 782 "parser.y" +#line 783 "parser.y" { (yyval.val) = rlc(list(expr_s, expand((yyvsp[(1) - (1)].val), nil), nao), (yyvsp[(1) - (1)].val)); } break; @@ -4713,14 +4705,14 @@ yyreduce: case 184: /* Line 1806 of yacc.c */ -#line 784 "parser.y" +#line 785 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 185: /* Line 1806 of yacc.c */ -#line 788 "parser.y" +#line 789 "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; @@ -4728,7 +4720,7 @@ yyreduce: case 186: /* Line 1806 of yacc.c */ -#line 790 "parser.y" +#line 791 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("rep clause")); } break; @@ -4736,7 +4728,7 @@ yyreduce: case 187: /* Line 1806 of yacc.c */ -#line 795 "parser.y" +#line 796 "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; @@ -4744,7 +4736,7 @@ yyreduce: case 188: /* Line 1806 of yacc.c */ -#line 798 "parser.y" +#line 799 "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; @@ -4752,7 +4744,7 @@ yyreduce: case 189: /* Line 1806 of yacc.c */ -#line 801 "parser.y" +#line 802 "parser.y" { if ((yyvsp[(2) - (5)].val)) yyerrorf(scnr, lit("last: in output, " @@ -4765,7 +4757,7 @@ yyreduce: case 190: /* Line 1806 of yacc.c */ -#line 809 "parser.y" +#line 810 "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; @@ -4773,7 +4765,7 @@ yyreduce: case 191: /* Line 1806 of yacc.c */ -#line 813 "parser.y" +#line 814 "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)); @@ -4783,7 +4775,7 @@ yyreduce: case 192: /* Line 1806 of yacc.c */ -#line 819 "parser.y" +#line 820 "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)); @@ -4793,49 +4785,49 @@ yyreduce: case 193: /* Line 1806 of yacc.c */ -#line 823 "parser.y" +#line 824 "parser.y" { (yyval.val) = nil; } break; case 194: /* Line 1806 of yacc.c */ -#line 830 "parser.y" +#line 831 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(1) - (1)].lexeme), nil), nao); } break; case 195: /* Line 1806 of yacc.c */ -#line 831 "parser.y" +#line 832 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (3)].lexeme), nil), nao); } break; case 196: /* Line 1806 of yacc.c */ -#line 832 "parser.y" +#line 833 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (4)].lexeme), nil), (yyvsp[(3) - (4)].val), nao); } break; case 197: /* Line 1806 of yacc.c */ -#line 833 "parser.y" +#line 834 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (2)].lexeme), nil), (yyvsp[(1) - (2)].val), nao); } break; case 198: /* Line 1806 of yacc.c */ -#line 834 "parser.y" +#line 835 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(3) - (4)].lexeme), nil), (yyvsp[(1) - (4)].val), nao); } break; case 199: /* Line 1806 of yacc.c */ -#line 835 "parser.y" +#line 836 "parser.y" { (yyval.val) = nil; free((yyvsp[(3) - (5)].lexeme)); yyerr("longest match " @@ -4845,7 +4837,7 @@ yyreduce: case 200: /* Line 1806 of yacc.c */ -#line 839 "parser.y" +#line 840 "parser.y" { (yyval.val) = nil; free((yyvsp[(3) - (5)].lexeme)); yyerr("longest match " @@ -4856,7 +4848,7 @@ yyreduce: case 201: /* Line 1806 of yacc.c */ -#line 844 "parser.y" +#line 845 "parser.y" { (yyval.val) = nil; free((yyvsp[(1) - (2)].lexeme)); yybadtok(yychar, lit("variable spec")); } @@ -4865,7 +4857,7 @@ yyreduce: case 202: /* Line 1806 of yacc.c */ -#line 847 "parser.y" +#line 848 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("variable spec")); } break; @@ -4873,21 +4865,21 @@ yyreduce: case 203: /* Line 1806 of yacc.c */ -#line 851 "parser.y" +#line 852 "parser.y" { (yyval.val) = list(t, nao); } break; case 204: /* Line 1806 of yacc.c */ -#line 854 "parser.y" +#line 855 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; case 205: /* Line 1806 of yacc.c */ -#line 855 "parser.y" +#line 856 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; @@ -4895,7 +4887,7 @@ yyreduce: case 206: /* Line 1806 of yacc.c */ -#line 857 "parser.y" +#line 858 "parser.y" { (yyval.val) = rlc(cons(expand_meta((yyvsp[(1) - (1)].val), nil), nil), (yyvsp[(1) - (1)].val)); } break; @@ -4903,14 +4895,14 @@ yyreduce: case 207: /* Line 1806 of yacc.c */ -#line 859 "parser.y" +#line 860 "parser.y" { (yyval.val) = cons(symhlpr((yyvsp[(1) - (1)].lexeme), nil), nil); } break; case 208: /* Line 1806 of yacc.c */ -#line 862 "parser.y" +#line 863 "parser.y" { val expr = symhlpr((yyvsp[(1) - (1)].lexeme), nil); if (!opt_compat || opt_compat > 128) expr = expand(expr, nil); @@ -4921,7 +4913,7 @@ yyreduce: case 209: /* Line 1806 of yacc.c */ -#line 868 "parser.y" +#line 869 "parser.y" { if (opt_compat && opt_compat <= 128) { (yyval.val) = list(var_s, expand_meta((yyvsp[(2) - (4)].val), nil), @@ -4935,7 +4927,7 @@ yyreduce: case 210: /* Line 1806 of yacc.c */ -#line 876 "parser.y" +#line 877 "parser.y" { (yyval.val) = nil; free((yyvsp[(1) - (2)].lexeme)); yybadtok(yychar, lit("variable spec")); } @@ -4944,15 +4936,17 @@ yyreduce: case 211: /* Line 1806 of yacc.c */ -#line 882 "parser.y" - { (yyval.val) = list(var_s, (yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val), nao); +#line 883 "parser.y" + { (yyval.val) = if3((yyvsp[(1) - (5)].val), + list(var_s, (yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val), (yyvsp[(1) - (5)].val), nao), + list(var_s, (yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val), nao)); rl((yyval.val), num(parser->lineno)); } break; case 212: /* Line 1806 of yacc.c */ -#line 884 "parser.y" +#line 887 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("variable spec")); } break; @@ -4960,7 +4954,7 @@ yyreduce: case 213: /* Line 1806 of yacc.c */ -#line 889 "parser.y" +#line 892 "parser.y" { if (parser->quasi_level > 0) (yyval.val) = rlc(cons(vector_lit_s, cons((yyvsp[(2) - (2)].val), nil)), (yyvsp[(2) - (2)].val)); @@ -4971,7 +4965,7 @@ yyreduce: case 214: /* Line 1806 of yacc.c */ -#line 894 "parser.y" +#line 897 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("unassigned/reserved # notation")); } break; @@ -4979,7 +4973,7 @@ yyreduce: case 215: /* Line 1806 of yacc.c */ -#line 898 "parser.y" +#line 901 "parser.y" { if (parser->ignore) (yyval.val) = nil; else if (parser->quasi_level > 0) @@ -4993,7 +4987,7 @@ yyreduce: case 216: /* Line 1806 of yacc.c */ -#line 906 "parser.y" +#line 909 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("hash literal")); } break; @@ -5001,7 +4995,7 @@ yyreduce: case 217: /* Line 1806 of yacc.c */ -#line 910 "parser.y" +#line 913 "parser.y" { if (parser->ignore) { (yyval.val) = nil; } else if ((parser->quasi_level > 0) || @@ -5017,7 +5011,7 @@ yyreduce: case 218: /* Line 1806 of yacc.c */ -#line 920 "parser.y" +#line 923 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("struct literal")); } break; @@ -5025,7 +5019,7 @@ yyreduce: case 219: /* Line 1806 of yacc.c */ -#line 924 "parser.y" +#line 927 "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))); @@ -5035,7 +5029,7 @@ yyreduce: case 220: /* Line 1806 of yacc.c */ -#line 928 "parser.y" +#line 931 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("range literal")); } break; @@ -5043,7 +5037,7 @@ yyreduce: case 221: /* Line 1806 of yacc.c */ -#line 932 "parser.y" +#line 935 "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)), @@ -5054,7 +5048,7 @@ yyreduce: case 222: /* Line 1806 of yacc.c */ -#line 937 "parser.y" +#line 940 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("tree node literal")); } break; @@ -5062,7 +5056,7 @@ yyreduce: case 223: /* Line 1806 of yacc.c */ -#line 941 "parser.y" +#line 944 "parser.y" { if (parser->ignore) { (yyval.val) = nil; } else if (parser->quasi_level > 0) @@ -5083,7 +5077,7 @@ yyreduce: case 224: /* Line 1806 of yacc.c */ -#line 956 "parser.y" +#line 959 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("tree node literal")); } break; @@ -5091,7 +5085,7 @@ yyreduce: case 225: /* Line 1806 of yacc.c */ -#line 960 "parser.y" +#line 963 "parser.y" { (yyval.val) = list(json_s, quote_s, (yyvsp[(2) - (2)].val), nao); end_of_json(scnr); } break; @@ -5099,14 +5093,14 @@ yyreduce: case 226: /* Line 1806 of yacc.c */ -#line 962 "parser.y" +#line 965 "parser.y" { parser->quasi_level++; } break; case 227: /* Line 1806 of yacc.c */ -#line 963 "parser.y" +#line 966 "parser.y" { parser->quasi_level--; end_of_json(scnr); (yyval.val) = list(json_s, sys_qquote_s, (yyvsp[(4) - (4)].val), nao); } @@ -5115,28 +5109,28 @@ yyreduce: case 228: /* Line 1806 of yacc.c */ -#line 966 "parser.y" +#line 969 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 229: /* Line 1806 of yacc.c */ -#line 967 "parser.y" +#line 970 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 230: /* Line 1806 of yacc.c */ -#line 968 "parser.y" +#line 971 "parser.y" { (yyval.val) = null_string; } break; case 231: /* Line 1806 of yacc.c */ -#line 969 "parser.y" +#line 972 "parser.y" { (yyval.val) = (yyvsp[(2) - (3)].val); rl((yyval.val), num(parser->lineno)); } break; @@ -5144,14 +5138,14 @@ yyreduce: case 232: /* Line 1806 of yacc.c */ -#line 971 "parser.y" +#line 974 "parser.y" { (yyval.val) = vector(zero, nil); } break; case 233: /* Line 1806 of yacc.c */ -#line 973 "parser.y" +#line 976 "parser.y" { (yyval.val) = if3(vectorp((yyvsp[(2) - (4)].val)), (yyvsp[(2) - (4)].val), rl(cons(vector_lit_s, @@ -5162,14 +5156,14 @@ yyreduce: case 234: /* Line 1806 of yacc.c */ -#line 978 "parser.y" +#line 981 "parser.y" { (yyval.val) = make_hash(hash_weak_none, t); } break; case 235: /* Line 1806 of yacc.c */ -#line 980 "parser.y" +#line 983 "parser.y" { (yyval.val) = if3(hashp((yyvsp[(2) - (4)].val)), (yyvsp[(2) - (4)].val), rl(cons(hash_lit_s, @@ -5180,14 +5174,14 @@ yyreduce: case 236: /* Line 1806 of yacc.c */ -#line 985 "parser.y" +#line 988 "parser.y" { parser->quasi_level--; } break; case 237: /* Line 1806 of yacc.c */ -#line 986 "parser.y" +#line 989 "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)), @@ -5197,14 +5191,14 @@ yyreduce: case 238: /* Line 1806 of yacc.c */ -#line 990 "parser.y" +#line 993 "parser.y" { parser->quasi_level--; } break; case 239: /* Line 1806 of yacc.c */ -#line 991 "parser.y" +#line 994 "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)), @@ -5214,14 +5208,14 @@ yyreduce: case 240: /* Line 1806 of yacc.c */ -#line 995 "parser.y" +#line 998 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); } break; case 241: /* Line 1806 of yacc.c */ -#line 996 "parser.y" +#line 999 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); (yyval.val) = (yyvsp[(3) - (3)].val); } break; @@ -5229,14 +5223,14 @@ yyreduce: case 242: /* Line 1806 of yacc.c */ -#line 998 "parser.y" +#line 1001 "parser.y" { (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); } break; case 243: /* Line 1806 of yacc.c */ -#line 999 "parser.y" +#line 1002 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("JSON string")); } break; @@ -5244,7 +5238,7 @@ yyreduce: case 244: /* Line 1806 of yacc.c */ -#line 1001 "parser.y" +#line 1004 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("JSON array")); } break; @@ -5252,7 +5246,7 @@ yyreduce: case 245: /* Line 1806 of yacc.c */ -#line 1003 "parser.y" +#line 1006 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("JSON hash")); } break; @@ -5260,7 +5254,7 @@ yyreduce: case 246: /* Line 1806 of yacc.c */ -#line 1007 "parser.y" +#line 1010 "parser.y" { if (!parser->read_bad_json) yyerr("trailing comma in JSON array"); } break; @@ -5268,7 +5262,7 @@ yyreduce: case 248: /* Line 1806 of yacc.c */ -#line 1012 "parser.y" +#line 1015 "parser.y" { (yyval.val) = if3(parser->quasi_level > 0, cons((yyvsp[(1) - (1)].val), nil), vector(one, (yyvsp[(1) - (1)].val))); } @@ -5277,7 +5271,7 @@ yyreduce: case 249: /* Line 1806 of yacc.c */ -#line 1015 "parser.y" +#line 1018 "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) @@ -5291,7 +5285,7 @@ yyreduce: case 250: /* Line 1806 of yacc.c */ -#line 1023 "parser.y" +#line 1026 "parser.y" { yyerr("missing comma in JSON array"); (yyval.val) = (yyvsp[(1) - (2)].val); } break; @@ -5299,7 +5293,7 @@ yyreduce: case 251: /* Line 1806 of yacc.c */ -#line 1025 "parser.y" +#line 1028 "parser.y" { yybadtok(yychar, lit("JSON array")); (yyval.val) = (yyvsp[(1) - (2)].val); } break; @@ -5307,7 +5301,7 @@ yyreduce: case 252: /* Line 1806 of yacc.c */ -#line 1029 "parser.y" +#line 1032 "parser.y" { if (parser->quasi_level > 0) { (yyval.val) = cons(list((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao), nil); } else @@ -5318,7 +5312,7 @@ yyreduce: case 253: /* Line 1806 of yacc.c */ -#line 1035 "parser.y" +#line 1038 "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) @@ -5332,28 +5326,28 @@ yyreduce: case 254: /* Line 1806 of yacc.c */ -#line 1043 "parser.y" +#line 1046 "parser.y" { yyerr("missing colon in JSON hash"); } break; case 255: /* Line 1806 of yacc.c */ -#line 1045 "parser.y" +#line 1048 "parser.y" { yyerr("missing comma in JSON hash"); } break; case 256: /* Line 1806 of yacc.c */ -#line 1046 "parser.y" +#line 1049 "parser.y" { yybadtok(yychar, lit("JSON hash")); } break; case 257: /* Line 1806 of yacc.c */ -#line 1049 "parser.y" +#line 1052 "parser.y" { if ((yyvsp[(1) - (1)].lexeme)[0] == ':' && (yyvsp[(1) - (1)].lexeme)[1] == 0) { (yyval.val) = nil; } else @@ -5363,21 +5357,21 @@ yyreduce: case 258: /* Line 1806 of yacc.c */ -#line 1053 "parser.y" +#line 1056 "parser.y" { (yyval.val) = nil; } break; case 259: /* Line 1806 of yacc.c */ -#line 1057 "parser.y" +#line 1060 "parser.y" { (yyval.val) = rl((yyvsp[(2) - (3)].val), num((yyvsp[(1) - (3)].lineno))); } break; case 260: /* Line 1806 of yacc.c */ -#line 1058 "parser.y" +#line 1061 "parser.y" { val a = car((yyvsp[(3) - (4)].val)); val ur = uref_helper(parser, a); if (ur == a) @@ -5389,28 +5383,28 @@ yyreduce: case 261: /* Line 1806 of yacc.c */ -#line 1064 "parser.y" +#line 1067 "parser.y" { (yyval.val) = nil; } break; case 262: /* Line 1806 of yacc.c */ -#line 1065 "parser.y" +#line 1068 "parser.y" { (yyval.val) = (yyvsp[(3) - (4)].val); } break; case 263: /* Line 1806 of yacc.c */ -#line 1066 "parser.y" +#line 1069 "parser.y" { (yyval.val) = (yyvsp[(3) - (4)].val); } break; case 264: /* Line 1806 of yacc.c */ -#line 1067 "parser.y" +#line 1070 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("expression")); } break; @@ -5418,18 +5412,17 @@ yyreduce: case 265: /* Line 1806 of yacc.c */ -#line 1071 "parser.y" +#line 1074 "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))); + (yyval.val) = rl(cons(expr_s, cons((yyvsp[(2) - (2)].val), nil)), (yyvsp[(2) - (2)].val)); else - (yyval.val) = rl(cons(var_s, cons((yyvsp[(2) - (2)].val), nil)), - num((yyvsp[(1) - (2)].lineno))); } + (yyval.val) = rl(cons(var_s, cons((yyvsp[(2) - (2)].val), nil)), (yyvsp[(2) - (2)].val)); } break; case 266: /* Line 1806 of yacc.c */ -#line 1076 "parser.y" +#line 1078 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("meta expression")); } break; @@ -5437,7 +5430,7 @@ yyreduce: case 267: /* Line 1806 of yacc.c */ -#line 1080 "parser.y" +#line 1082 "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 @@ -5448,7 +5441,7 @@ yyreduce: case 268: /* Line 1806 of yacc.c */ -#line 1085 "parser.y" +#line 1087 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("meta expression")); } break; @@ -5456,7 +5449,7 @@ yyreduce: case 269: /* Line 1806 of yacc.c */ -#line 1089 "parser.y" +#line 1091 "parser.y" { val a = car((yyvsp[(3) - (4)].val)); val ur = uref_helper(parser, a); (yyval.val) = rlcp_tree(cons(dwim_s, @@ -5466,35 +5459,35 @@ yyreduce: case 270: /* Line 1806 of yacc.c */ -#line 1093 "parser.y" +#line 1095 "parser.y" { (yyval.val) = rl(cons(dwim_s, (yyvsp[(2) - (3)].val)), num((yyvsp[(1) - (3)].lineno))); } break; case 271: /* Line 1806 of yacc.c */ -#line 1094 "parser.y" +#line 1096 "parser.y" { (yyval.val) = rl(cons(dwim_s, nil), num((yyvsp[(1) - (2)].lineno))); } break; case 272: /* Line 1806 of yacc.c */ -#line 1095 "parser.y" +#line 1097 "parser.y" { (yyval.val) = rl(cons(dwim_s, (yyvsp[(3) - (4)].val)), num((yyvsp[(1) - (4)].lineno))); } break; case 273: /* Line 1806 of yacc.c */ -#line 1096 "parser.y" +#line 1098 "parser.y" { (yyval.val) = rl(cons(dwim_s, (yyvsp[(3) - (4)].val)), num((yyvsp[(1) - (4)].lineno))); } break; case 274: /* Line 1806 of yacc.c */ -#line 1097 "parser.y" +#line 1099 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("DWIM expression")); } break; @@ -5502,28 +5495,28 @@ yyreduce: case 278: /* Line 1806 of yacc.c */ -#line 1106 "parser.y" +#line 1108 "parser.y" { (yyval.val) = rlc(expand_meta((yyvsp[(1) - (1)].val), nil), (yyvsp[(1) - (1)].val)); } break; case 279: /* Line 1806 of yacc.c */ -#line 1109 "parser.y" +#line 1111 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 280: /* Line 1806 of yacc.c */ -#line 1110 "parser.y" +#line 1112 "parser.y" { (yyval.val) = nil; } break; case 281: /* Line 1806 of yacc.c */ -#line 1113 "parser.y" +#line 1115 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val)->c.cdr; (yyvsp[(1) - (1)].val)->c.cdr = nil; if ((yyval.val)->c.car == nao) @@ -5533,7 +5526,7 @@ yyreduce: case 282: /* Line 1806 of yacc.c */ -#line 1118 "parser.y" +#line 1120 "parser.y" { (yyval.val) = (yyvsp[(1) - (3)].val)->c.cdr; (yyvsp[(1) - (3)].val)->c.cdr = (yyvsp[(3) - (3)].val); } break; @@ -5541,7 +5534,7 @@ yyreduce: case 283: /* Line 1806 of yacc.c */ -#line 1122 "parser.y" +#line 1124 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); (yyval.val)->c.cdr = (yyval.val); } @@ -5550,14 +5543,14 @@ yyreduce: case 284: /* Line 1806 of yacc.c */ -#line 1125 "parser.y" +#line 1127 "parser.y" { parser->ignore = 1; } break; case 285: /* Line 1806 of yacc.c */ -#line 1126 "parser.y" +#line 1128 "parser.y" { parser->ignore = 0; (yyval.val) = cons(nao, nil); (yyval.val)->c.cdr = (yyval.val); } @@ -5566,14 +5559,14 @@ yyreduce: case 286: /* Line 1806 of yacc.c */ -#line 1129 "parser.y" +#line 1131 "parser.y" { parser->ignore = 1; } break; case 287: /* Line 1806 of yacc.c */ -#line 1130 "parser.y" +#line 1132 "parser.y" { parser->ignore = 0; (yyval.val) = cons(nao, nil); (yyval.val)->c.cdr = (yyval.val); } @@ -5582,14 +5575,14 @@ yyreduce: case 288: /* Line 1806 of yacc.c */ -#line 1133 "parser.y" +#line 1135 "parser.y" { parser->ignore = 1; } break; case 289: /* Line 1806 of yacc.c */ -#line 1134 "parser.y" +#line 1136 "parser.y" { parser->ignore = 0; (yyval.val) = (yyvsp[(1) - (4)].val); } break; @@ -5597,14 +5590,14 @@ yyreduce: case 290: /* Line 1806 of yacc.c */ -#line 1136 "parser.y" +#line 1138 "parser.y" { parser->ignore = 1; } break; case 291: /* Line 1806 of yacc.c */ -#line 1137 "parser.y" +#line 1139 "parser.y" { parser->ignore = 0; (yyval.val) = (yyvsp[(1) - (5)].val); } break; @@ -5612,7 +5605,7 @@ yyreduce: case 292: /* Line 1806 of yacc.c */ -#line 1139 "parser.y" +#line 1141 "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); } @@ -5621,7 +5614,7 @@ yyreduce: case 293: /* Line 1806 of yacc.c */ -#line 1142 "parser.y" +#line 1144 "parser.y" { (yyval.val) = lastcons(rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno)))); (yyval.val)->c.cdr = (yyvsp[(2) - (2)].val); } break; @@ -5629,7 +5622,7 @@ yyreduce: case 294: /* Line 1806 of yacc.c */ -#line 1145 "parser.y" +#line 1147 "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); } @@ -5638,7 +5631,7 @@ yyreduce: case 295: /* Line 1806 of yacc.c */ -#line 1148 "parser.y" +#line 1150 "parser.y" { (yyval.val) = lastcons(rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno)))); (yyval.val)->c.cdr = (yyvsp[(2) - (2)].val); } break; @@ -5646,7 +5639,7 @@ yyreduce: case 296: /* Line 1806 of yacc.c */ -#line 1151 "parser.y" +#line 1153 "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); } @@ -5655,14 +5648,14 @@ yyreduce: case 297: /* Line 1806 of yacc.c */ -#line 1156 "parser.y" +#line 1158 "parser.y" { (yyval.val) = ifnign(symhlpr((yyvsp[(1) - (1)].lexeme), t)); } break; case 298: /* Line 1806 of yacc.c */ -#line 1157 "parser.y" +#line 1159 "parser.y" { (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil)); rl((yyval.val), num(parser->lineno)); } break; @@ -5670,119 +5663,119 @@ yyreduce: case 299: /* Line 1806 of yacc.c */ -#line 1159 "parser.y" +#line 1161 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 300: /* Line 1806 of yacc.c */ -#line 1160 "parser.y" +#line 1162 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 301: /* Line 1806 of yacc.c */ -#line 1161 "parser.y" +#line 1163 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 302: /* Line 1806 of yacc.c */ -#line 1162 "parser.y" +#line 1164 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 303: /* Line 1806 of yacc.c */ -#line 1163 "parser.y" +#line 1165 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 304: /* Line 1806 of yacc.c */ -#line 1164 "parser.y" +#line 1166 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 305: /* Line 1806 of yacc.c */ -#line 1165 "parser.y" +#line 1167 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 306: /* Line 1806 of yacc.c */ -#line 1166 "parser.y" +#line 1168 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 307: /* Line 1806 of yacc.c */ -#line 1167 "parser.y" +#line 1169 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 308: /* Line 1806 of yacc.c */ -#line 1168 "parser.y" +#line 1170 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 309: /* Line 1806 of yacc.c */ -#line 1169 "parser.y" +#line 1171 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 310: /* Line 1806 of yacc.c */ -#line 1170 "parser.y" +#line 1172 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 311: /* Line 1806 of yacc.c */ -#line 1171 "parser.y" +#line 1173 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 312: /* Line 1806 of yacc.c */ -#line 1172 "parser.y" +#line 1174 "parser.y" { (yyval.val) = rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))); } break; case 313: /* Line 1806 of yacc.c */ -#line 1173 "parser.y" +#line 1175 "parser.y" { (yyval.val) = rl(cons(quasilist_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno))); } break; case 314: /* Line 1806 of yacc.c */ -#line 1174 "parser.y" +#line 1176 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 315: /* Line 1806 of yacc.c */ -#line 1175 "parser.y" +#line 1177 "parser.y" { (yyval.val) = rl(rlc(list(quote_s, (yyvsp[(2) - (2)].val), nao), (yyvsp[(2) - (2)].val)), num(parser->lineno)); } break; @@ -5790,14 +5783,14 @@ yyreduce: case 316: /* Line 1806 of yacc.c */ -#line 1177 "parser.y" +#line 1179 "parser.y" { parser->quasi_level++; } break; case 317: /* Line 1806 of yacc.c */ -#line 1178 "parser.y" +#line 1180 "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)); } @@ -5806,14 +5799,14 @@ yyreduce: case 318: /* Line 1806 of yacc.c */ -#line 1181 "parser.y" +#line 1183 "parser.y" { parser->quasi_level--; } break; case 319: /* Line 1806 of yacc.c */ -#line 1182 "parser.y" +#line 1184 "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)); } @@ -5822,14 +5815,14 @@ yyreduce: case 320: /* Line 1806 of yacc.c */ -#line 1185 "parser.y" +#line 1187 "parser.y" { parser->quasi_level--; } break; case 321: /* Line 1806 of yacc.c */ -#line 1186 "parser.y" +#line 1188 "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)); } @@ -5838,14 +5831,14 @@ yyreduce: case 322: /* Line 1806 of yacc.c */ -#line 1189 "parser.y" +#line 1191 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); } break; case 323: /* Line 1806 of yacc.c */ -#line 1190 "parser.y" +#line 1192 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); (yyval.val) = (yyvsp[(3) - (3)].val); } break; @@ -5853,35 +5846,35 @@ yyreduce: case 324: /* Line 1806 of yacc.c */ -#line 1192 "parser.y" +#line 1194 "parser.y" { (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); } break; case 325: /* Line 1806 of yacc.c */ -#line 1195 "parser.y" +#line 1197 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 326: /* Line 1806 of yacc.c */ -#line 1196 "parser.y" +#line 1198 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 327: /* Line 1806 of yacc.c */ -#line 1198 "parser.y" +#line 1200 "parser.y" { (yyval.val) = ifnign(symhlpr((yyvsp[(1) - (1)].lexeme), t)); } break; case 328: /* Line 1806 of yacc.c */ -#line 1199 "parser.y" +#line 1201 "parser.y" { (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil)); rl((yyval.val), num(parser->lineno)); } break; @@ -5889,119 +5882,119 @@ yyreduce: case 329: /* Line 1806 of yacc.c */ -#line 1201 "parser.y" +#line 1203 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 330: /* Line 1806 of yacc.c */ -#line 1202 "parser.y" +#line 1204 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 331: /* Line 1806 of yacc.c */ -#line 1203 "parser.y" +#line 1205 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 332: /* Line 1806 of yacc.c */ -#line 1204 "parser.y" +#line 1206 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 333: /* Line 1806 of yacc.c */ -#line 1205 "parser.y" +#line 1207 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 334: /* Line 1806 of yacc.c */ -#line 1206 "parser.y" +#line 1208 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 335: /* Line 1806 of yacc.c */ -#line 1207 "parser.y" +#line 1209 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 336: /* Line 1806 of yacc.c */ -#line 1208 "parser.y" +#line 1210 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 337: /* Line 1806 of yacc.c */ -#line 1209 "parser.y" +#line 1211 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 338: /* Line 1806 of yacc.c */ -#line 1210 "parser.y" +#line 1212 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 339: /* Line 1806 of yacc.c */ -#line 1211 "parser.y" +#line 1213 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 340: /* Line 1806 of yacc.c */ -#line 1212 "parser.y" +#line 1214 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 341: /* Line 1806 of yacc.c */ -#line 1213 "parser.y" +#line 1215 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 342: /* Line 1806 of yacc.c */ -#line 1214 "parser.y" +#line 1216 "parser.y" { (yyval.val) = rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))); } break; case 343: /* Line 1806 of yacc.c */ -#line 1215 "parser.y" +#line 1217 "parser.y" { (yyval.val) = rl(cons(quasilist_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno))); } break; case 344: /* Line 1806 of yacc.c */ -#line 1216 "parser.y" +#line 1218 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 345: /* Line 1806 of yacc.c */ -#line 1217 "parser.y" +#line 1219 "parser.y" { (yyval.val) = rl(rlc(list(quote_s, (yyvsp[(2) - (2)].val), nao), (yyvsp[(2) - (2)].val)), num(parser->lineno)); } break; @@ -6009,14 +6002,14 @@ yyreduce: case 346: /* Line 1806 of yacc.c */ -#line 1219 "parser.y" +#line 1221 "parser.y" { parser->quasi_level++; } break; case 347: /* Line 1806 of yacc.c */ -#line 1220 "parser.y" +#line 1222 "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)); } @@ -6025,14 +6018,14 @@ yyreduce: case 348: /* Line 1806 of yacc.c */ -#line 1223 "parser.y" +#line 1225 "parser.y" { parser->quasi_level--; } break; case 349: /* Line 1806 of yacc.c */ -#line 1224 "parser.y" +#line 1226 "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)); } @@ -6041,14 +6034,14 @@ yyreduce: case 350: /* Line 1806 of yacc.c */ -#line 1227 "parser.y" +#line 1229 "parser.y" { parser->quasi_level--; } break; case 351: /* Line 1806 of yacc.c */ -#line 1228 "parser.y" +#line 1230 "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)); } @@ -6057,7 +6050,7 @@ yyreduce: case 352: /* Line 1806 of yacc.c */ -#line 1231 "parser.y" +#line 1233 "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))); } @@ -6066,7 +6059,7 @@ yyreduce: case 353: /* Line 1806 of yacc.c */ -#line 1235 "parser.y" +#line 1237 "parser.y" { uses_or2; (yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (4)].val), uref_helper(parser, (yyvsp[(4) - (4)].val)), @@ -6077,7 +6070,7 @@ yyreduce: case 354: /* Line 1806 of yacc.c */ -#line 1241 "parser.y" +#line 1243 "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))); } @@ -6086,7 +6079,7 @@ yyreduce: case 355: /* Line 1806 of yacc.c */ -#line 1245 "parser.y" +#line 1247 "parser.y" { uses_or2; (yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (4)].val), uref_helper(parser, (yyvsp[(4) - (4)].val)), @@ -6097,21 +6090,21 @@ yyreduce: case 356: /* Line 1806 of yacc.c */ -#line 1250 "parser.y" +#line 1252 "parser.y" { (yyval.val) = qref_helper(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); } break; case 357: /* Line 1806 of yacc.c */ -#line 1251 "parser.y" +#line 1253 "parser.y" { (yyval.val) = qref_helper(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); } break; case 358: /* Line 1806 of yacc.c */ -#line 1252 "parser.y" +#line 1254 "parser.y" { (yyval.val) = qref_helper(parser, cons(t, cons((yyvsp[(1) - (3)].val), nil)), (yyvsp[(3) - (3)].val)); } @@ -6120,28 +6113,28 @@ yyreduce: case 359: /* Line 1806 of yacc.c */ -#line 1255 "parser.y" +#line 1257 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 360: /* Line 1806 of yacc.c */ -#line 1256 "parser.y" +#line 1258 "parser.y" { (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 361: /* Line 1806 of yacc.c */ -#line 1257 "parser.y" +#line 1259 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); } break; case 362: /* Line 1806 of yacc.c */ -#line 1258 "parser.y" +#line 1260 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); (yyval.val) = (yyvsp[(3) - (3)].val); } break; @@ -6149,49 +6142,49 @@ yyreduce: case 363: /* Line 1806 of yacc.c */ -#line 1260 "parser.y" +#line 1262 "parser.y" { (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); } break; case 364: /* Line 1806 of yacc.c */ -#line 1263 "parser.y" +#line 1265 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 365: /* Line 1806 of yacc.c */ -#line 1264 "parser.y" +#line 1266 "parser.y" { (yyval.val) = nil; } break; case 366: /* Line 1806 of yacc.c */ -#line 1267 "parser.y" +#line 1269 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 367: /* Line 1806 of yacc.c */ -#line 1268 "parser.y" +#line 1270 "parser.y" { (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 368: /* Line 1806 of yacc.c */ -#line 1269 "parser.y" +#line 1271 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 369: /* Line 1806 of yacc.c */ -#line 1272 "parser.y" +#line 1274 "parser.y" { (yyval.val) = regex_compile((yyvsp[(2) - (3)].val), nil); end_of_regex(scnr); rl((yyval.val), num(parser->lineno)); } @@ -6200,7 +6193,7 @@ yyreduce: case 370: /* Line 1806 of yacc.c */ -#line 1275 "parser.y" +#line 1277 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("regex")); end_of_regex(scnr); } @@ -6209,7 +6202,7 @@ yyreduce: case 371: /* Line 1806 of yacc.c */ -#line 1281 "parser.y" +#line 1283 "parser.y" { (yyval.val) = regex_compile((yyvsp[(2) - (3)].val), nil); end_of_regex(scnr); rl((yyval.val), num(parser->lineno)); } @@ -6218,7 +6211,7 @@ yyreduce: case 372: /* Line 1806 of yacc.c */ -#line 1285 "parser.y" +#line 1287 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("regex")); end_of_regex(scnr); } @@ -6227,7 +6220,7 @@ yyreduce: case 373: /* Line 1806 of yacc.c */ -#line 1290 "parser.y" +#line 1292 "parser.y" { (yyval.val) = if3(cdr((yyvsp[(1) - (1)].val)), cons(compound_s, (yyvsp[(1) - (1)].val)), car((yyvsp[(1) - (1)].val))); } @@ -6236,84 +6229,84 @@ yyreduce: case 374: /* Line 1806 of yacc.c */ -#line 1293 "parser.y" +#line 1295 "parser.y" { (yyval.val) = list(or_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); } break; case 375: /* Line 1806 of yacc.c */ -#line 1294 "parser.y" +#line 1296 "parser.y" { (yyval.val) = list(and_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); } break; case 376: /* Line 1806 of yacc.c */ -#line 1295 "parser.y" +#line 1297 "parser.y" { (yyval.val) = list(compl_s, (yyvsp[(2) - (2)].val), nao); } break; case 377: /* Line 1806 of yacc.c */ -#line 1296 "parser.y" +#line 1298 "parser.y" { (yyval.val) = nil; } break; case 378: /* Line 1806 of yacc.c */ -#line 1299 "parser.y" +#line 1301 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; case 379: /* Line 1806 of yacc.c */ -#line 1300 "parser.y" +#line 1302 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; case 380: /* Line 1806 of yacc.c */ -#line 1301 "parser.y" +#line 1303 "parser.y" { (yyval.val) = list((yyvsp[(1) - (3)].val), list(compl_s, (yyvsp[(3) - (3)].val), nao), nao); } break; case 381: /* Line 1806 of yacc.c */ -#line 1304 "parser.y" +#line 1306 "parser.y" { (yyval.val) = list(zeroplus_s, (yyvsp[(1) - (2)].val), nao); } break; case 382: /* Line 1806 of yacc.c */ -#line 1305 "parser.y" +#line 1307 "parser.y" { (yyval.val) = list(oneplus_s, (yyvsp[(1) - (2)].val), nao); } break; case 383: /* Line 1806 of yacc.c */ -#line 1306 "parser.y" +#line 1308 "parser.y" { (yyval.val) = list(optional_s, (yyvsp[(1) - (2)].val), nao); } break; case 384: /* Line 1806 of yacc.c */ -#line 1307 "parser.y" +#line 1309 "parser.y" { (yyval.val) = list(nongreedy_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); } break; case 385: /* Line 1806 of yacc.c */ -#line 1308 "parser.y" +#line 1310 "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))); @@ -6326,14 +6319,14 @@ yyreduce: case 386: /* Line 1806 of yacc.c */ -#line 1315 "parser.y" +#line 1317 "parser.y" { (yyval.val) = cons(set_s, nil); } break; case 387: /* Line 1806 of yacc.c */ -#line 1316 "parser.y" +#line 1318 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("regex character class")); } break; @@ -6341,56 +6334,56 @@ yyreduce: case 388: /* Line 1806 of yacc.c */ -#line 1318 "parser.y" +#line 1320 "parser.y" { (yyval.val) = wild_s; } break; case 389: /* Line 1806 of yacc.c */ -#line 1319 "parser.y" +#line 1321 "parser.y" { (yyval.val) = chr(']'); } break; case 390: /* Line 1806 of yacc.c */ -#line 1320 "parser.y" +#line 1322 "parser.y" { (yyval.val) = chr('-'); } break; case 391: /* Line 1806 of yacc.c */ -#line 1321 "parser.y" +#line 1323 "parser.y" { (yyval.val) = chr((yyvsp[(1) - (1)].chr)); } break; case 392: /* Line 1806 of yacc.c */ -#line 1322 "parser.y" +#line 1324 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 393: /* Line 1806 of yacc.c */ -#line 1323 "parser.y" +#line 1325 "parser.y" { (yyval.val) = list(compound_s, string_own((yyvsp[(1) - (1)].lexeme)), nao); } break; case 394: /* Line 1806 of yacc.c */ -#line 1324 "parser.y" +#line 1326 "parser.y" { (yyval.val) = (yyvsp[(2) - (3)].val); } break; case 395: /* Line 1806 of yacc.c */ -#line 1325 "parser.y" +#line 1327 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("regex subexpression")); } break; @@ -6398,133 +6391,133 @@ yyreduce: case 396: /* Line 1806 of yacc.c */ -#line 1329 "parser.y" +#line 1331 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; case 397: /* Line 1806 of yacc.c */ -#line 1330 "parser.y" +#line 1332 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; case 398: /* Line 1806 of yacc.c */ -#line 1333 "parser.y" +#line 1335 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 399: /* Line 1806 of yacc.c */ -#line 1334 "parser.y" +#line 1336 "parser.y" { (yyval.val) = chr((yyvsp[(1) - (1)].chr)); } break; case 400: /* Line 1806 of yacc.c */ -#line 1335 "parser.y" +#line 1337 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 401: /* Line 1806 of yacc.c */ -#line 1338 "parser.y" +#line 1340 "parser.y" { (yyval.val) = cons(chr((yyvsp[(1) - (3)].chr)), chr((yyvsp[(3) - (3)].chr))); } break; case 402: /* Line 1806 of yacc.c */ -#line 1340 "parser.y" +#line 1342 "parser.y" { (yyval.chr) = '?'; } break; case 403: /* Line 1806 of yacc.c */ -#line 1341 "parser.y" +#line 1343 "parser.y" { (yyval.chr) = '.'; } break; case 404: /* Line 1806 of yacc.c */ -#line 1342 "parser.y" +#line 1344 "parser.y" { (yyval.chr) = '*'; } break; case 405: /* Line 1806 of yacc.c */ -#line 1343 "parser.y" +#line 1345 "parser.y" { (yyval.chr) = '+'; } break; case 406: /* Line 1806 of yacc.c */ -#line 1344 "parser.y" +#line 1346 "parser.y" { (yyval.chr) = '('; } break; case 407: /* Line 1806 of yacc.c */ -#line 1345 "parser.y" +#line 1347 "parser.y" { (yyval.chr) = ')'; } break; case 408: /* Line 1806 of yacc.c */ -#line 1346 "parser.y" +#line 1348 "parser.y" { (yyval.chr) = '|'; } break; case 409: /* Line 1806 of yacc.c */ -#line 1347 "parser.y" +#line 1349 "parser.y" { (yyval.chr) = '~'; } break; case 410: /* Line 1806 of yacc.c */ -#line 1348 "parser.y" +#line 1350 "parser.y" { (yyval.chr) = '&'; } break; case 411: /* Line 1806 of yacc.c */ -#line 1349 "parser.y" +#line 1351 "parser.y" { (yyval.chr) = '%'; } break; case 412: /* Line 1806 of yacc.c */ -#line 1350 "parser.y" +#line 1352 "parser.y" { (yyval.chr) = '/'; } break; case 413: /* Line 1806 of yacc.c */ -#line 1351 "parser.y" +#line 1353 "parser.y" { (yyval.chr) = (yyvsp[(1) - (1)].chr); } break; case 414: /* Line 1806 of yacc.c */ -#line 1354 "parser.y" +#line 1356 "parser.y" { switch ((yyvsp[(1) - (1)].chr)) { case 's': (yyval.val) = space_k; break; @@ -6543,7 +6536,7 @@ yyreduce: case 416: /* Line 1806 of yacc.c */ -#line 1369 "parser.y" +#line 1371 "parser.y" { yyerr("newline expected after directive"); yyerrok; } break; @@ -6551,14 +6544,14 @@ yyreduce: case 417: /* Line 1806 of yacc.c */ -#line 1373 "parser.y" +#line 1375 "parser.y" { (yyval.val) = null_string; } break; case 418: /* Line 1806 of yacc.c */ -#line 1374 "parser.y" +#line 1376 "parser.y" { (yyval.val) = (yyvsp[(2) - (3)].val); rl((yyval.val), num(parser->lineno)); } break; @@ -6566,7 +6559,7 @@ yyreduce: case 419: /* Line 1806 of yacc.c */ -#line 1376 "parser.y" +#line 1378 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("string literal")); } break; @@ -6574,7 +6567,7 @@ yyreduce: case 420: /* Line 1806 of yacc.c */ -#line 1380 "parser.y" +#line 1382 "parser.y" { wchar_t ch; val str = string_own((yyvsp[(2) - (2)].lexeme)); const wchar_t *cstr = c_str(str, nil); @@ -6593,7 +6586,7 @@ yyreduce: case 421: /* Line 1806 of yacc.c */ -#line 1393 "parser.y" +#line 1395 "parser.y" { (yyval.val) = chr((yyvsp[(2) - (2)].chr)); end_of_char(scnr); } break; @@ -6601,7 +6594,7 @@ yyreduce: case 422: /* Line 1806 of yacc.c */ -#line 1395 "parser.y" +#line 1397 "parser.y" { free((yyvsp[(2) - (2)].lexeme)); yyerrorf(scnr, lit("invalid UTF-8 used as character name"), @@ -6611,7 +6604,7 @@ yyreduce: case 423: /* Line 1806 of yacc.c */ -#line 1399 "parser.y" +#line 1401 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("character literal")); } @@ -6620,14 +6613,14 @@ yyreduce: case 424: /* Line 1806 of yacc.c */ -#line 1404 "parser.y" +#line 1406 "parser.y" { (yyval.val) = null_string; } break; case 425: /* Line 1806 of yacc.c */ -#line 1405 "parser.y" +#line 1407 "parser.y" { (yyval.val) = cons(quasi_s, (yyvsp[(2) - (3)].val)); rlc((yyval.val), (yyvsp[(2) - (3)].val)); rl((yyval.val), num(parser->lineno)); } @@ -6636,7 +6629,7 @@ yyreduce: case 426: /* Line 1806 of yacc.c */ -#line 1408 "parser.y" +#line 1410 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("quasistring")); } break; @@ -6644,7 +6637,7 @@ yyreduce: case 427: /* Line 1806 of yacc.c */ -#line 1412 "parser.y" +#line 1414 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rl((yyval.val), num(parser->lineno)); } break; @@ -6652,7 +6645,7 @@ yyreduce: case 428: /* Line 1806 of yacc.c */ -#line 1414 "parser.y" +#line 1416 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); rl((yyval.val), num(parser->lineno)); } break; @@ -6660,21 +6653,21 @@ yyreduce: case 429: /* Line 1806 of yacc.c */ -#line 1418 "parser.y" +#line 1420 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 430: /* Line 1806 of yacc.c */ -#line 1419 "parser.y" +#line 1421 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 431: /* Line 1806 of yacc.c */ -#line 1420 "parser.y" +#line 1422 "parser.y" { (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil)); rl((yyval.val), num(parser->lineno)); } break; @@ -6682,25 +6675,28 @@ yyreduce: case 432: /* Line 1806 of yacc.c */ -#line 1422 "parser.y" +#line 1424 "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)); + { (yyval.val) = rlcp_tree(if3((yyvsp[(1) - (2)].val), + list(var_s, (yyvsp[(2) - (2)].val), + nil, (yyvsp[(1) - (2)].val), nao), + list(var_s, (yyvsp[(2) - (2)].val), nao)), + (yyvsp[(2) - (2)].val)); } else - (yyval.val) = (yyvsp[(2) - (2)].val); } + { (yyval.val) = (yyvsp[(2) - (2)].val); } } break; case 433: /* Line 1806 of yacc.c */ -#line 1429 "parser.y" +#line 1434 "parser.y" { (yyval.val) = mkstring(one, chr((yyvsp[(1) - (1)].chr))); } break; case 434: /* Line 1806 of yacc.c */ -#line 1430 "parser.y" +#line 1435 "parser.y" { val ch = mkstring(one, chr((yyvsp[(1) - (2)].chr))); (yyval.val) = string_extend(ch, (yyvsp[(2) - (2)].val), t); } break; @@ -6708,63 +6704,63 @@ yyreduce: case 435: /* Line 1806 of yacc.c */ -#line 1432 "parser.y" +#line 1437 "parser.y" { (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); } break; case 436: /* Line 1806 of yacc.c */ -#line 1433 "parser.y" +#line 1438 "parser.y" { (yyval.val) = string_extend(string_own((yyvsp[(1) - (2)].lexeme)), (yyvsp[(2) - (2)].val), t); } break; case 437: /* Line 1806 of yacc.c */ -#line 1436 "parser.y" +#line 1441 "parser.y" { (yyval.val) = mkstring(one, chr((yyvsp[(1) - (1)].chr))); } break; case 438: /* Line 1806 of yacc.c */ -#line 1437 "parser.y" +#line 1442 "parser.y" { (yyval.val) = string_extend((yyvsp[(1) - (2)].val), chr((yyvsp[(2) - (2)].chr)), nil); } break; case 439: /* Line 1806 of yacc.c */ -#line 1438 "parser.y" +#line 1443 "parser.y" { (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); } break; case 440: /* Line 1806 of yacc.c */ -#line 1439 "parser.y" +#line 1444 "parser.y" { (yyval.val) = string_extend((yyvsp[(1) - (2)].val), string_own((yyvsp[(2) - (2)].lexeme)), nil); } break; case 441: /* Line 1806 of yacc.c */ -#line 1442 "parser.y" +#line 1447 "parser.y" { (yyval.val) = nil; } break; case 442: /* Line 1806 of yacc.c */ -#line 1443 "parser.y" +#line 1448 "parser.y" { (yyval.val) = (yyvsp[(2) - (2)].val); } break; case 443: /* Line 1806 of yacc.c */ -#line 1444 "parser.y" +#line 1449 "parser.y" { val word = (yyvsp[(1) - (2)].val); (yyval.val) = rlc(cons(word, (yyvsp[(2) - (2)].val)), (yyvsp[(1) - (2)].val)); } break; @@ -6772,7 +6768,7 @@ yyreduce: case 444: /* Line 1806 of yacc.c */ -#line 1446 "parser.y" +#line 1451 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("word list")); } break; @@ -6780,21 +6776,21 @@ yyreduce: case 445: /* Line 1806 of yacc.c */ -#line 1450 "parser.y" +#line 1455 "parser.y" { (yyval.val) = nil; } break; case 446: /* Line 1806 of yacc.c */ -#line 1451 "parser.y" +#line 1456 "parser.y" { (yyval.val) = (yyvsp[(2) - (2)].val); } break; case 447: /* Line 1806 of yacc.c */ -#line 1452 "parser.y" +#line 1457 "parser.y" { val qword = cons(quasi_s, (yyvsp[(1) - (2)].val)); (yyval.val) = rlc(cons(qword, nil), (yyvsp[(1) - (2)].val)); } break; @@ -6802,7 +6798,7 @@ yyreduce: case 448: /* Line 1806 of yacc.c */ -#line 1456 "parser.y" +#line 1461 "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; @@ -6810,7 +6806,7 @@ yyreduce: case 449: /* Line 1806 of yacc.c */ -#line 1460 "parser.y" +#line 1465 "parser.y" { (yyval.val) = make_buf(zero, nil, nil); end_of_buflit(scnr); } break; @@ -6818,7 +6814,7 @@ yyreduce: case 450: /* Line 1806 of yacc.c */ -#line 1462 "parser.y" +#line 1467 "parser.y" { end_of_buflit(scnr); buf_trim((yyvsp[(2) - (3)].val)); (yyval.val) = (yyvsp[(2) - (3)].val); } @@ -6827,7 +6823,7 @@ yyreduce: case 451: /* Line 1806 of yacc.c */ -#line 1465 "parser.y" +#line 1470 "parser.y" { yyerr("unterminated buffer literal"); end_of_buflit(scnr); yyerrok; } @@ -6836,7 +6832,7 @@ yyreduce: case 452: /* Line 1806 of yacc.c */ -#line 1470 "parser.y" +#line 1475 "parser.y" { buf_put_u8((yyvsp[(1) - (2)].val), length_buf((yyval.val)), (yyvsp[(2) - (2)].val)); (yyval.val) = (yyvsp[(1) - (2)].val); } break; @@ -6844,7 +6840,7 @@ yyreduce: case 453: /* Line 1806 of yacc.c */ -#line 1472 "parser.y" +#line 1477 "parser.y" { (yyval.val) = make_buf(zero, nil, num_fast(512)); buf_put_u8((yyval.val), zero, (yyvsp[(1) - (1)].val)); } break; @@ -6852,14 +6848,14 @@ yyreduce: case 454: /* Line 1806 of yacc.c */ -#line 1476 "parser.y" +#line 1481 "parser.y" { (yyval.val) = num((yyvsp[(1) - (2)].chr) << 4 | (yyvsp[(2) - (2)].chr)); } break; case 455: /* Line 1806 of yacc.c */ -#line 1477 "parser.y" +#line 1482 "parser.y" { (yyval.val) = zero; yyerr("unpaired digit in buffer literal"); yyerrok; } @@ -6868,119 +6864,119 @@ yyreduce: case 456: /* Line 1806 of yacc.c */ -#line 1484 "parser.y" +#line 1489 "parser.y" { (yyval.val) = mkexp(all_s, nil, num(parser->lineno)); } break; case 457: /* Line 1806 of yacc.c */ -#line 1485 "parser.y" +#line 1490 "parser.y" { (yyval.val) = mkexp(some_s, nil, num(parser->lineno)); } break; case 458: /* Line 1806 of yacc.c */ -#line 1486 "parser.y" +#line 1491 "parser.y" { (yyval.val) = mkexp(none_s, nil, num(parser->lineno)); } break; case 459: /* Line 1806 of yacc.c */ -#line 1487 "parser.y" +#line 1492 "parser.y" { (yyval.val) = mkexp(maybe_s, nil, num(parser->lineno)); } break; case 460: /* Line 1806 of yacc.c */ -#line 1488 "parser.y" +#line 1493 "parser.y" { (yyval.val) = mkexp(cases_s, nil, num(parser->lineno)); } break; case 461: /* Line 1806 of yacc.c */ -#line 1489 "parser.y" +#line 1494 "parser.y" { (yyval.val) = mkexp(and_s, nil, num(parser->lineno)); } break; case 462: /* Line 1806 of yacc.c */ -#line 1490 "parser.y" +#line 1495 "parser.y" { (yyval.val) = mkexp(or_s, nil, num(parser->lineno)); } break; case 463: /* Line 1806 of yacc.c */ -#line 1491 "parser.y" +#line 1496 "parser.y" { (yyval.val) = mkexp(try_s, nil, num(parser->lineno)); } break; case 464: /* Line 1806 of yacc.c */ -#line 1492 "parser.y" +#line 1497 "parser.y" { (yyval.val) = mkexp(finally_s, nil, num(parser->lineno)); } break; case 465: /* Line 1806 of yacc.c */ -#line 1494 "parser.y" +#line 1499 "parser.y" { (yyval.val) = mkexp(block_s, (yyvsp[(2) - (3)].val), nil); } break; case 466: /* Line 1806 of yacc.c */ -#line 1496 "parser.y" +#line 1501 "parser.y" { (yyval.val) = mkexp(choose_s, (yyvsp[(2) - (3)].val), nil); } break; case 467: /* Line 1806 of yacc.c */ -#line 1498 "parser.y" +#line 1503 "parser.y" { (yyval.val) = mkexp(collect_s, (yyvsp[(2) - (3)].val), nil); } break; case 468: /* Line 1806 of yacc.c */ -#line 1500 "parser.y" +#line 1505 "parser.y" { (yyval.val) = mkexp(coll_s, (yyvsp[(2) - (3)].val), nil); } break; case 469: /* Line 1806 of yacc.c */ -#line 1502 "parser.y" +#line 1507 "parser.y" { (yyval.val) = mkexp(gather_s, (yyvsp[(2) - (3)].val), nil); } break; case 470: /* Line 1806 of yacc.c */ -#line 1504 "parser.y" +#line 1509 "parser.y" { (yyval.val) = mkexp(define_s, (yyvsp[(2) - (3)].val), nil); } break; case 471: /* Line 1806 of yacc.c */ -#line 1506 "parser.y" +#line 1511 "parser.y" { (yyval.val) = mkexp(catch_s, (yyvsp[(2) - (3)].val), nil); } break; case 472: /* Line 1806 of yacc.c */ -#line 1508 "parser.y" +#line 1513 "parser.y" { (yyval.val) = mkexp(if_s, cons((yyvsp[(2) - (5)].val), cons((yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val))), @@ -6990,21 +6986,21 @@ yyreduce: case 473: /* Line 1806 of yacc.c */ -#line 1513 "parser.y" +#line 1518 "parser.y" { yyerr("@(output) doesn't nest"); } break; case 474: /* Line 1806 of yacc.c */ -#line 1515 "parser.y" +#line 1520 "parser.y" { yyerr("@(push) doesn't nest"); } break; /* Line 1806 of yacc.c */ -#line 7042 "y.tab.c" +#line 7038 "y.tab.c" default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -7234,7 +7230,7 @@ yyreturn: /* Line 2067 of yacc.c */ -#line 1518 "parser.y" +#line 1523 "parser.y" const int have_yydebug = YYDEBUG; |