rip-lang 2.5.0 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,184 +1,3 @@
1
- // src/tags.js
2
- var HTML_TAGS = new Set([
3
- "html",
4
- "head",
5
- "title",
6
- "base",
7
- "link",
8
- "meta",
9
- "style",
10
- "body",
11
- "address",
12
- "article",
13
- "aside",
14
- "footer",
15
- "header",
16
- "h1",
17
- "h2",
18
- "h3",
19
- "h4",
20
- "h5",
21
- "h6",
22
- "main",
23
- "nav",
24
- "section",
25
- "blockquote",
26
- "dd",
27
- "div",
28
- "dl",
29
- "dt",
30
- "figcaption",
31
- "figure",
32
- "hr",
33
- "li",
34
- "ol",
35
- "p",
36
- "pre",
37
- "ul",
38
- "a",
39
- "abbr",
40
- "b",
41
- "bdi",
42
- "bdo",
43
- "br",
44
- "cite",
45
- "code",
46
- "data",
47
- "dfn",
48
- "em",
49
- "i",
50
- "kbd",
51
- "mark",
52
- "q",
53
- "rp",
54
- "rt",
55
- "ruby",
56
- "s",
57
- "samp",
58
- "small",
59
- "span",
60
- "strong",
61
- "sub",
62
- "sup",
63
- "time",
64
- "u",
65
- "var",
66
- "wbr",
67
- "area",
68
- "audio",
69
- "img",
70
- "map",
71
- "track",
72
- "video",
73
- "embed",
74
- "iframe",
75
- "object",
76
- "param",
77
- "picture",
78
- "portal",
79
- "source",
80
- "svg",
81
- "math",
82
- "canvas",
83
- "noscript",
84
- "script",
85
- "del",
86
- "ins",
87
- "caption",
88
- "col",
89
- "colgroup",
90
- "table",
91
- "tbody",
92
- "td",
93
- "tfoot",
94
- "th",
95
- "thead",
96
- "tr",
97
- "button",
98
- "datalist",
99
- "fieldset",
100
- "form",
101
- "input",
102
- "label",
103
- "legend",
104
- "meter",
105
- "optgroup",
106
- "option",
107
- "output",
108
- "progress",
109
- "select",
110
- "textarea",
111
- "details",
112
- "dialog",
113
- "menu",
114
- "summary",
115
- "slot",
116
- "template"
117
- ]);
118
- var SVG_TAGS = new Set([
119
- "svg",
120
- "g",
121
- "defs",
122
- "symbol",
123
- "use",
124
- "marker",
125
- "clipPath",
126
- "mask",
127
- "pattern",
128
- "circle",
129
- "ellipse",
130
- "line",
131
- "path",
132
- "polygon",
133
- "polyline",
134
- "rect",
135
- "text",
136
- "textPath",
137
- "tspan",
138
- "linearGradient",
139
- "radialGradient",
140
- "stop",
141
- "filter",
142
- "feBlend",
143
- "feColorMatrix",
144
- "feComponentTransfer",
145
- "feComposite",
146
- "feConvolveMatrix",
147
- "feDiffuseLighting",
148
- "feDisplacementMap",
149
- "feDistantLight",
150
- "feDropShadow",
151
- "feFlood",
152
- "feFuncA",
153
- "feFuncB",
154
- "feFuncG",
155
- "feFuncR",
156
- "feGaussianBlur",
157
- "feImage",
158
- "feMerge",
159
- "feMergeNode",
160
- "feMorphology",
161
- "feOffset",
162
- "fePointLight",
163
- "feSpecularLighting",
164
- "feSpotLight",
165
- "feTile",
166
- "feTurbulence",
167
- "animate",
168
- "animateMotion",
169
- "animateTransform",
170
- "set",
171
- "mpath",
172
- "desc",
173
- "foreignObject",
174
- "image",
175
- "metadata",
176
- "switch",
177
- "title",
178
- "view"
179
- ]);
180
- var TEMPLATE_TAGS = new Set([...HTML_TAGS, ...SVG_TAGS]);
181
-
182
1
  // src/lexer.js
183
2
  var BALANCED_PAIRS;
184
3
  var BOM;
@@ -416,8 +235,6 @@ var Lexer = class Lexer2 {
416
235
  this.seenExport = false;
417
236
  this.importSpecifierList = false;
418
237
  this.exportSpecifierList = false;
419
- this.inRender = false;
420
- this.renderIndent = 0;
421
238
  this.chunkLine = opts.line || 0;
422
239
  this.chunkColumn = opts.column || 0;
423
240
  this.chunkOffset = opts.offset || 0;
@@ -521,8 +338,7 @@ ${code}`;
521
338
  return sup.length + 3;
522
339
  }
523
340
  prev = this.prev();
524
- const isHashProperty = this.inRender && prev != null && prev[0] === "#" && !prev.spaced;
525
- tag = colon || prev != null && ((ref5 = prev[0]) === "." || ref5 === "?." || ref5 === "::" || ref5 === "?::" || !prev.spaced && prev[0] === "@") || isHashProperty ? "PROPERTY" : "IDENTIFIER";
341
+ tag = colon || prev != null && ((ref5 = prev[0]) === "." || ref5 === "?." || ref5 === "::" || ref5 === "?::" || !prev.spaced && prev[0] === "@") ? "PROPERTY" : "IDENTIFIER";
526
342
  tokenData = {};
527
343
  if (tag === "IDENTIFIER" && (indexOf.call(JS_KEYWORDS, id) >= 0 || indexOf.call(RIP_KEYWORDS, id) >= 0) && !(this.exportSpecifierList && indexOf.call(RIP_KEYWORDS, id) >= 0)) {
528
344
  tag = id.toUpperCase();
@@ -536,9 +352,6 @@ ${code}`;
536
352
  this.seenImport = true;
537
353
  } else if (tag === "EXPORT") {
538
354
  this.seenExport = true;
539
- } else if (tag === "RENDER") {
540
- this.inRender = true;
541
- this.renderIndent = this.indent;
542
355
  } else if (indexOf.call(UNARY, tag) >= 0) {
543
356
  tag = "UNARY";
544
357
  } else if (indexOf.call(RELATION, tag) >= 0) {
@@ -640,9 +453,6 @@ ${code}`;
640
453
  }
641
454
  commentToken(chunk = this.chunk, { heregex, returnCommentTokens = false, offsetInChunk = 0 } = {}) {
642
455
  var commentAttachment, commentAttachments, commentWithSurroundingWhitespace, content, contents, getIndentSize, hasSeenFirstCommentLine, hereComment, hereLeadingWhitespace, hereTrailingWhitespace, i, indentSize, leadingNewline, leadingNewlineOffset, leadingNewlines, leadingWhitespace, length, lineComment, match, matchIllegal, noIndent, nonInitial, placeholderToken, precededByBlankLine, precedingNonCommentLines, prev;
643
- if (this.inRender && chunk[0] === "#" && /^#[a-zA-Z_$]/.test(chunk)) {
644
- return 0;
645
- }
646
456
  if (!(match = chunk.match(COMMENT))) {
647
457
  return 0;
648
458
  }
@@ -1224,9 +1034,11 @@ ${line}`;
1224
1034
  } else if (value === "<=>") {
1225
1035
  tag = "BIND";
1226
1036
  } else if (value === "~=") {
1227
- tag = "DERIVED_ASSIGN";
1037
+ tag = "COMPUTED_ASSIGN";
1228
1038
  } else if (value === ":=") {
1229
1039
  tag = "REACTIVE_ASSIGN";
1040
+ } else if (value === "~>") {
1041
+ tag = "REACT_ASSIGN";
1230
1042
  } else if (value === "=!") {
1231
1043
  tag = "READONLY_ASSIGN";
1232
1044
  } else if (indexOf.call(MATH, value) >= 0) {
@@ -1700,12 +1512,6 @@ ${line}`;
1700
1512
  }
1701
1513
  unfinished() {
1702
1514
  var ref;
1703
- if (this.tag() === "RENDER") {
1704
- return false;
1705
- }
1706
- if (this.inRender && /^\s*\./.test(this.chunk)) {
1707
- return false;
1708
- }
1709
1515
  return LINE_CONTINUER.test(this.chunk) || (ref = this.tag(), indexOf.call(UNFINISHED, ref) >= 0);
1710
1516
  }
1711
1517
  validateUnicodeCodePointEscapes(str, options) {
@@ -1777,7 +1583,7 @@ addTokenData = function(token, data) {
1777
1583
  return Object.assign(token.data != null ? token.data : token.data = {}, data);
1778
1584
  };
1779
1585
  JS_KEYWORDS = ["true", "false", "null", "this", "new", "delete", "typeof", "in", "instanceof", "return", "throw", "break", "continue", "debugger", "yield", "await", "if", "else", "switch", "for", "while", "do", "try", "catch", "finally", "class", "extends", "super", "import", "export", "default"];
1780
- RIP_KEYWORDS = ["undefined", "Infinity", "NaN", "then", "unless", "until", "loop", "of", "by", "when", "def", "effect", "component", "render", "style", "mounted", "unmounted", "updated"];
1586
+ RIP_KEYWORDS = ["undefined", "Infinity", "NaN", "then", "unless", "until", "loop", "of", "by", "when", "def"];
1781
1587
  RIP_ALIAS_MAP = {
1782
1588
  and: "&&",
1783
1589
  or: "||",
@@ -1804,7 +1610,7 @@ var JS_FORBIDDEN = JS_KEYWORDS.concat(RESERVED).concat(STRICT_PROSCRIBED);
1804
1610
  BOM = 65279;
1805
1611
  IDENTIFIER = /^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+!?)([^\n\S]*:(?![=:]))?/;
1806
1612
  NUMBER = /^0b[01](?:_?[01])*n?|^0o[0-7](?:_?[0-7])*n?|^0x[\da-f](?:_?[\da-f])*n?|^\d+(?:_\d+)*n|^(?:\d+(?:_\d+)*)?\.?\d+(?:_\d+)*(?:e[+-]?\d+(?:_\d+)*)?/i;
1807
- OPERATOR = /^(?:<=>|[-=]>|~=|:=|=!|===|!==|!\?|\?\?|=~|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/;
1613
+ OPERATOR = /^(?:<=>|[-=]>|~>|~=|:=|=!|===|!==|!\?|\?\?|=~|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/;
1808
1614
  WHITESPACE = /^[^\n\S]+/;
1809
1615
  COMMENT = /^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/;
1810
1616
  CODE = /^[-=]>/;
@@ -1902,7 +1708,6 @@ Rewriter = function() {
1902
1708
  this.closeOpenCalls();
1903
1709
  this.closeOpenIndexes();
1904
1710
  this.normalizeLines();
1905
- this.processTemplateTokens();
1906
1711
  this.convertLegacyExistential();
1907
1712
  this.convertPostfixSpreadRest();
1908
1713
  this.tagPostfixConditionals();
@@ -2230,7 +2035,7 @@ Rewriter = function() {
2230
2035
  startImplicitCall(i + 1);
2231
2036
  return forward(2);
2232
2037
  }
2233
- if (indexOf.call(IMPLICIT_FUNC, tag) >= 0 && this.indexOfTag(i + 1, "INDENT") > -1 && this.looksObjectish(i + 2) && !this.findTagsBackwards(i, ["CLASS", "COMPONENT", "EXTENDS", "IF", "CATCH", "SWITCH", "LEADING_WHEN", "FOR", "WHILE", "UNTIL"]) && !(((ref1 = s = (ref2 = stackTop()) != null ? ref2[0] : undefined) === "{" || ref1 === "[") && !isImplicit(stackTop()) && this.findTagsBackwards(i, s))) {
2038
+ if (indexOf.call(IMPLICIT_FUNC, tag) >= 0 && this.indexOfTag(i + 1, "INDENT") > -1 && this.looksObjectish(i + 2) && !this.findTagsBackwards(i, ["CLASS", "EXTENDS", "IF", "CATCH", "SWITCH", "LEADING_WHEN", "FOR", "WHILE", "UNTIL"]) && !(((ref1 = s = (ref2 = stackTop()) != null ? ref2[0] : undefined) === "{" || ref1 === "[") && !isImplicit(stackTop()) && this.findTagsBackwards(i, s))) {
2234
2039
  startImplicitCall(i + 1);
2235
2040
  stack.push(["INDENT", i + 2]);
2236
2041
  return forward(3);
@@ -2648,175 +2453,6 @@ Rewriter = function() {
2648
2453
  return 1;
2649
2454
  });
2650
2455
  }
2651
- processTemplateTokens() {
2652
- let inRender = false;
2653
- let renderIndentLevel = 0;
2654
- let currentIndent = 0;
2655
- let pendingCallEnds = [];
2656
- const isHtmlTag = (name) => {
2657
- const tagPart = name.split("#")[0];
2658
- return TEMPLATE_TAGS.has(tagPart);
2659
- };
2660
- const isComponent = (name) => {
2661
- if (!name || typeof name !== "string")
2662
- return false;
2663
- return /^[A-Z]/.test(name);
2664
- };
2665
- const isTemplateTag = (name) => {
2666
- return isHtmlTag(name) || isComponent(name);
2667
- };
2668
- const startsWithHtmlTag = (tokens, i) => {
2669
- let j = i;
2670
- while (j > 0) {
2671
- const pt = tokens[j - 1][0];
2672
- if (pt === "INDENT" || pt === "OUTDENT" || pt === "TERMINATOR" || pt === "RENDER" || pt === "CALL_END" || pt === ")") {
2673
- break;
2674
- }
2675
- j--;
2676
- }
2677
- return tokens[j] && tokens[j][0] === "IDENTIFIER" && isHtmlTag(tokens[j][1]);
2678
- };
2679
- return this.scanTokens(function(token, i, tokens) {
2680
- const tag = token[0];
2681
- const nextToken = i < tokens.length - 1 ? tokens[i + 1] : null;
2682
- if (tag === "RENDER") {
2683
- inRender = true;
2684
- renderIndentLevel = currentIndent + 1;
2685
- return 1;
2686
- }
2687
- if (tag === "INDENT") {
2688
- currentIndent++;
2689
- return 1;
2690
- }
2691
- if (tag === "OUTDENT") {
2692
- currentIndent--;
2693
- let inserted = 0;
2694
- while (pendingCallEnds.length > 0 && pendingCallEnds[pendingCallEnds.length - 1] > currentIndent) {
2695
- const callEndToken = ["CALL_END", ")", token[2]];
2696
- callEndToken.generated = true;
2697
- tokens.splice(i + 1 + inserted, 0, callEndToken);
2698
- pendingCallEnds.pop();
2699
- inserted++;
2700
- }
2701
- if (inRender && currentIndent < renderIndentLevel) {
2702
- inRender = false;
2703
- }
2704
- return 1 + inserted;
2705
- }
2706
- if (!inRender)
2707
- return 1;
2708
- if (tag === ".") {
2709
- const prevToken = i > 0 ? tokens[i - 1] : null;
2710
- const prevTag = prevToken ? prevToken[0] : null;
2711
- if (prevTag === "INDENT" || prevTag === "TERMINATOR") {
2712
- if (nextToken && nextToken[0] === "PROPERTY") {
2713
- const divToken = ["IDENTIFIER", "div", token[2]];
2714
- divToken.generated = true;
2715
- tokens.splice(i, 0, divToken);
2716
- return 2;
2717
- }
2718
- }
2719
- }
2720
- if (tag === "IDENTIFIER" || tag === "PROPERTY") {
2721
- const next = tokens[i + 1];
2722
- const nextNext = tokens[i + 2];
2723
- if (next && next[0] === "#" && nextNext && nextNext[0] === "PROPERTY") {
2724
- token[1] = token[1] + "#" + nextNext[1];
2725
- if (nextNext.spaced)
2726
- token.spaced = true;
2727
- tokens.splice(i + 1, 2);
2728
- return 1;
2729
- }
2730
- }
2731
- if (tag === "BIND") {
2732
- const prevToken = i > 0 ? tokens[i - 1] : null;
2733
- const nextBindToken = tokens[i + 1];
2734
- if (prevToken && (prevToken[0] === "IDENTIFIER" || prevToken[0] === "PROPERTY") && nextBindToken && nextBindToken[0] === "IDENTIFIER") {
2735
- prevToken[1] = `__bind_${prevToken[1]}__`;
2736
- token[0] = ":";
2737
- token[1] = ":";
2738
- return 1;
2739
- }
2740
- }
2741
- if (tag === "@") {
2742
- let j = i + 1;
2743
- if (j < tokens.length && tokens[j][0] === "PROPERTY") {
2744
- j++;
2745
- while (j + 1 < tokens.length && tokens[j][0] === "." && tokens[j + 1][0] === "PROPERTY") {
2746
- j += 2;
2747
- }
2748
- if (j > i + 2 && j < tokens.length && tokens[j][0] === ":") {
2749
- const openBracket = ["[", "[", token[2]];
2750
- openBracket.generated = true;
2751
- tokens.splice(i, 0, openBracket);
2752
- const closeBracket = ["]", "]", tokens[j + 1][2]];
2753
- closeBracket.generated = true;
2754
- tokens.splice(j + 1, 0, closeBracket);
2755
- return 2;
2756
- }
2757
- }
2758
- }
2759
- if (tag === "." && nextToken && nextToken[0] === "(") {
2760
- const prevToken = i > 0 ? tokens[i - 1] : null;
2761
- const prevTag = prevToken ? prevToken[0] : null;
2762
- const atLineStart = prevTag === "INDENT" || prevTag === "TERMINATOR";
2763
- const cxToken = ["PROPERTY", "__cx__", token[2]];
2764
- cxToken.generated = true;
2765
- nextToken[0] = "CALL_START";
2766
- let depth = 1;
2767
- for (let j = i + 2;j < tokens.length && depth > 0; j++) {
2768
- if (tokens[j][0] === "(" || tokens[j][0] === "CALL_START")
2769
- depth++;
2770
- else if (tokens[j][0] === ")") {
2771
- depth--;
2772
- if (depth === 0)
2773
- tokens[j][0] = "CALL_END";
2774
- } else if (tokens[j][0] === "CALL_END")
2775
- depth--;
2776
- }
2777
- if (atLineStart) {
2778
- const divToken = ["IDENTIFIER", "div", token[2]];
2779
- divToken.generated = true;
2780
- tokens.splice(i, 0, divToken);
2781
- tokens.splice(i + 2, 0, cxToken);
2782
- return 3;
2783
- } else {
2784
- tokens.splice(i + 1, 0, cxToken);
2785
- return 2;
2786
- }
2787
- }
2788
- if (nextToken && nextToken[0] === "INDENT") {
2789
- if (tag === "->" || tag === "=>" || tag === "CALL_START" || tag === "(") {
2790
- return 1;
2791
- }
2792
- let isTemplateElement = false;
2793
- if (tag === "IDENTIFIER" && isTemplateTag(token[1])) {
2794
- isTemplateElement = true;
2795
- } else if (tag === "PROPERTY" || tag === "STRING" || tag === "CALL_END" || tag === ")") {
2796
- isTemplateElement = startsWithHtmlTag(tokens, i);
2797
- } else if (tag === "IDENTIFIER" && i > 1 && tokens[i - 1][0] === "...") {
2798
- if (startsWithHtmlTag(tokens, i)) {
2799
- const commaToken = [",", ",", token[2]];
2800
- commaToken.generated = true;
2801
- const arrowToken = ["->", "->", token[2]];
2802
- arrowToken.newLine = true;
2803
- tokens.splice(i + 1, 0, commaToken, arrowToken);
2804
- return 3;
2805
- }
2806
- }
2807
- if (isTemplateElement) {
2808
- const callStartToken = ["CALL_START", "(", token[2]];
2809
- callStartToken.generated = true;
2810
- const arrowToken = ["->", "->", token[2]];
2811
- arrowToken.newLine = true;
2812
- tokens.splice(i + 1, 0, callStartToken, arrowToken);
2813
- pendingCallEnds.push(currentIndent + 1);
2814
- return 3;
2815
- }
2816
- }
2817
- return 1;
2818
- });
2819
- }
2820
2456
  convertLegacyExistential() {
2821
2457
  return this.scanTokens(function(token, i, tokens) {
2822
2458
  var colonFound, j, nestLevel, ref, tag;
@@ -2971,15 +2607,15 @@ SINGLE_LINERS = ["ELSE", "->", "=>", "TRY", "FINALLY", "THEN"];
2971
2607
  SINGLE_CLOSERS = ["TERMINATOR", "CATCH", "FINALLY", "ELSE", "OUTDENT", "LEADING_WHEN"];
2972
2608
  LINEBREAKS = ["TERMINATOR", "INDENT", "OUTDENT"];
2973
2609
  CALL_CLOSERS = [".", "?.", "::", "?::"];
2974
- CONTROL_IN_IMPLICIT = ["IF", "TRY", "FINALLY", "CATCH", "CLASS", "COMPONENT", "SWITCH"];
2610
+ CONTROL_IN_IMPLICIT = ["IF", "TRY", "FINALLY", "CATCH", "CLASS", "SWITCH"];
2975
2611
  DISCARDED = ["(", ")", "[", "]", "{", "}", ":", ".", "..", "...", ",", "=", "++", "--", "?", "AS", "AWAIT", "CALL_START", "CALL_END", "DEFAULT", "DO", "DO_IIFE", "ELSE", "EXTENDS", "EXPORT", "FORIN", "FOROF", "FORFROM", "IMPORT", "INDENT", "INDEX_SOAK", "INTERPOLATION_START", "INTERPOLATION_END", "LEADING_WHEN", "OUTDENT", "PARAM_END", "REGEX_START", "REGEX_END", "RETURN", "STRING_END", "THROW", "UNARY", "YIELD"].concat(IMPLICIT_UNSPACED_CALL.concat(IMPLICIT_END.concat(CALL_CLOSERS.concat(CONTROL_IN_IMPLICIT))));
2976
2612
  UNFINISHED = ["\\", ".", "?.", "?::", "UNARY", "DO", "DO_IIFE", "MATH", "UNARY_MATH", "+", "-", "**", "SHIFT", "RELATION", "COMPARE", "&", "^", "|", "&&", "||", "SPACE?", "EXTENDS"];
2977
2613
  // src/parser.js
2978
2614
  var parserInstance = {
2979
- symbolIds: { $accept: 0, $end: 1, error: 2, Root: 3, Body: 4, Line: 5, TERMINATOR: 6, Expression: 7, ExpressionLine: 8, Statement: 9, Return: 10, STATEMENT: 11, Import: 12, Export: 13, Value: 14, Code: 15, Operation: 16, Assign: 17, ReactiveAssign: 18, DerivedAssign: 19, ReadonlyAssign: 20, EffectBlock: 21, RenderBlock: 22, StyleBlock: 23, Component: 24, If: 25, Try: 26, While: 27, For: 28, Switch: 29, Class: 30, Throw: 31, Yield: 32, Def: 33, DEF: 34, Identifier: 35, CALL_START: 36, ParamList: 37, CALL_END: 38, Block: 39, Assignable: 40, REACTIVE_ASSIGN: 41, INDENT: 42, OUTDENT: 43, DERIVED_ASSIGN: 44, READONLY_ASSIGN: 45, EFFECT: 46, FuncGlyph: 47, RENDER: 48, STYLE: 49, COMPONENT: 50, ComponentBody: 51, ComponentLine: 52, PropDecl: 53, "@": 54, PROPERTY: 55, "?": 56, "=": 57, "...": 58, IDENTIFIER: 59, CodeLine: 60, OperationLine: 61, YIELD: 62, Object: 63, FROM: 64, Property: 65, AlphaNumeric: 66, NUMBER: 67, String: 68, STRING: 69, STRING_START: 70, Interpolations: 71, STRING_END: 72, InterpolationChunk: 73, INTERPOLATION_START: 74, INTERPOLATION_END: 75, Regex: 76, REGEX: 77, REGEX_START: 78, Invocation: 79, REGEX_END: 80, RegexWithIndex: 81, ",": 82, Literal: 83, JS: 84, UNDEFINED: 85, NULL: 86, BOOL: 87, INFINITY: 88, NAN: 89, AssignObj: 90, ObjAssignable: 91, ObjRestValue: 92, ":": 93, SimpleObjAssignable: 94, ThisProperty: 95, "[": 96, "]": 97, ObjSpreadExpr: 98, Parenthetical: 99, Super: 100, This: 101, SUPER: 102, OptFuncExist: 103, Arguments: 104, DYNAMIC_IMPORT: 105, ".": 106, "?.": 107, "::": 108, "?::": 109, INDEX_START: 110, INDEX_END: 111, INDEX_SOAK: 112, RETURN: 113, PARAM_START: 114, PARAM_END: 115, "->": 116, "=>": 117, OptComma: 118, Param: 119, ParamVar: 120, Array: 121, Splat: 122, SimpleAssignable: 123, Slice: 124, ES6_OPTIONAL_INDEX: 125, Range: 126, DoIife: 127, MetaProperty: 128, NEW_TARGET: 129, IMPORT_META: 130, "{": 131, FOR: 132, ForVariables: 133, FOROF: 134, "}": 135, WHEN: 136, OWN: 137, AssignList: 138, CLASS: 139, EXTENDS: 140, IMPORT: 141, ImportDefaultSpecifier: 142, ImportNamespaceSpecifier: 143, ImportSpecifierList: 144, ImportSpecifier: 145, AS: 146, DEFAULT: 147, IMPORT_ALL: 148, EXPORT: 149, ExportSpecifierList: 150, EXPORT_ALL: 151, ExportSpecifier: 152, ES6_OPTIONAL_CALL: 153, FUNC_EXIST: 154, ArgList: 155, THIS: 156, Elisions: 157, ArgElisionList: 158, OptElisions: 159, RangeDots: 160, "..": 161, Arg: 162, ArgElision: 163, Elision: 164, SimpleArgs: 165, TRY: 166, Catch: 167, FINALLY: 168, CATCH: 169, THROW: 170, "(": 171, ")": 172, WhileSource: 173, WHILE: 174, UNTIL: 175, Loop: 176, LOOP: 177, FORIN: 178, BY: 179, FORFROM: 180, AWAIT: 181, ForValue: 182, SWITCH: 183, Whens: 184, ELSE: 185, When: 186, LEADING_WHEN: 187, IfBlock: 188, IF: 189, UnlessBlock: 190, UNLESS: 191, POST_IF: 192, POST_UNLESS: 193, UNARY: 194, DO: 195, DO_IIFE: 196, UNARY_MATH: 197, "-": 198, "+": 199, "--": 200, "++": 201, MATH: 202, "**": 203, SHIFT: 204, COMPARE: 205, "&": 206, "^": 207, "|": 208, "&&": 209, "||": 210, "??": 211, "!?": 212, RELATION: 213, "SPACE?": 214, COMPOUND_ASSIGN: 215 },
2980
- tokenNames: { 2: "error", 6: "TERMINATOR", 11: "STATEMENT", 34: "DEF", 36: "CALL_START", 38: "CALL_END", 41: "REACTIVE_ASSIGN", 42: "INDENT", 43: "OUTDENT", 44: "DERIVED_ASSIGN", 45: "READONLY_ASSIGN", 46: "EFFECT", 48: "RENDER", 49: "STYLE", 50: "COMPONENT", 54: "@", 55: "PROPERTY", 56: "?", 57: "=", 58: "...", 59: "IDENTIFIER", 62: "YIELD", 64: "FROM", 67: "NUMBER", 69: "STRING", 70: "STRING_START", 72: "STRING_END", 74: "INTERPOLATION_START", 75: "INTERPOLATION_END", 77: "REGEX", 78: "REGEX_START", 80: "REGEX_END", 82: ",", 84: "JS", 85: "UNDEFINED", 86: "NULL", 87: "BOOL", 88: "INFINITY", 89: "NAN", 93: ":", 96: "[", 97: "]", 102: "SUPER", 105: "DYNAMIC_IMPORT", 106: ".", 107: "?.", 108: "::", 109: "?::", 110: "INDEX_START", 111: "INDEX_END", 112: "INDEX_SOAK", 113: "RETURN", 114: "PARAM_START", 115: "PARAM_END", 116: "->", 117: "=>", 125: "ES6_OPTIONAL_INDEX", 129: "NEW_TARGET", 130: "IMPORT_META", 131: "{", 132: "FOR", 134: "FOROF", 135: "}", 136: "WHEN", 137: "OWN", 139: "CLASS", 140: "EXTENDS", 141: "IMPORT", 146: "AS", 147: "DEFAULT", 148: "IMPORT_ALL", 149: "EXPORT", 151: "EXPORT_ALL", 153: "ES6_OPTIONAL_CALL", 154: "FUNC_EXIST", 156: "THIS", 161: "..", 166: "TRY", 168: "FINALLY", 169: "CATCH", 170: "THROW", 171: "(", 172: ")", 174: "WHILE", 175: "UNTIL", 177: "LOOP", 178: "FORIN", 179: "BY", 180: "FORFROM", 181: "AWAIT", 183: "SWITCH", 185: "ELSE", 187: "LEADING_WHEN", 189: "IF", 191: "UNLESS", 192: "POST_IF", 193: "POST_UNLESS", 194: "UNARY", 195: "DO", 196: "DO_IIFE", 197: "UNARY_MATH", 198: "-", 199: "+", 200: "--", 201: "++", 202: "MATH", 203: "**", 204: "SHIFT", 205: "COMPARE", 206: "&", 207: "^", 208: "|", 209: "&&", 210: "||", 211: "??", 212: "!?", 213: "RELATION", 214: "SPACE?", 215: "COMPOUND_ASSIGN" },
2615
+ symbolIds: { $accept: 0, $end: 1, error: 2, Root: 3, Body: 4, Line: 5, TERMINATOR: 6, Expression: 7, ExpressionLine: 8, Statement: 9, Return: 10, STATEMENT: 11, Import: 12, Export: 13, Value: 14, Code: 15, Operation: 16, Assign: 17, ReactiveAssign: 18, ComputedAssign: 19, ReadonlyAssign: 20, ReactAssign: 21, If: 22, Try: 23, While: 24, For: 25, Switch: 26, Class: 27, Throw: 28, Yield: 29, Def: 30, DEF: 31, Identifier: 32, CALL_START: 33, ParamList: 34, CALL_END: 35, Block: 36, Assignable: 37, REACTIVE_ASSIGN: 38, INDENT: 39, OUTDENT: 40, COMPUTED_ASSIGN: 41, READONLY_ASSIGN: 42, REACT_ASSIGN: 43, CodeLine: 44, OperationLine: 45, YIELD: 46, Object: 47, FROM: 48, IDENTIFIER: 49, Property: 50, PROPERTY: 51, AlphaNumeric: 52, NUMBER: 53, String: 54, STRING: 55, STRING_START: 56, Interpolations: 57, STRING_END: 58, InterpolationChunk: 59, INTERPOLATION_START: 60, INTERPOLATION_END: 61, Regex: 62, REGEX: 63, REGEX_START: 64, Invocation: 65, REGEX_END: 66, RegexWithIndex: 67, ",": 68, Literal: 69, JS: 70, UNDEFINED: 71, NULL: 72, BOOL: 73, INFINITY: 74, NAN: 75, "=": 76, AssignObj: 77, ObjAssignable: 78, ObjRestValue: 79, ":": 80, SimpleObjAssignable: 81, ThisProperty: 82, "[": 83, "]": 84, "@": 85, "...": 86, ObjSpreadExpr: 87, Parenthetical: 88, Super: 89, This: 90, SUPER: 91, OptFuncExist: 92, Arguments: 93, DYNAMIC_IMPORT: 94, ".": 95, "?.": 96, "::": 97, "?::": 98, INDEX_START: 99, INDEX_END: 100, INDEX_SOAK: 101, RETURN: 102, PARAM_START: 103, PARAM_END: 104, FuncGlyph: 105, "->": 106, "=>": 107, OptComma: 108, Param: 109, ParamVar: 110, Array: 111, Splat: 112, SimpleAssignable: 113, Slice: 114, ES6_OPTIONAL_INDEX: 115, Range: 116, DoIife: 117, MetaProperty: 118, NEW_TARGET: 119, IMPORT_META: 120, "{": 121, FOR: 122, ForVariables: 123, FOROF: 124, "}": 125, WHEN: 126, OWN: 127, AssignList: 128, CLASS: 129, EXTENDS: 130, IMPORT: 131, ImportDefaultSpecifier: 132, ImportNamespaceSpecifier: 133, ImportSpecifierList: 134, ImportSpecifier: 135, AS: 136, DEFAULT: 137, IMPORT_ALL: 138, EXPORT: 139, ExportSpecifierList: 140, EXPORT_ALL: 141, ExportSpecifier: 142, ES6_OPTIONAL_CALL: 143, FUNC_EXIST: 144, ArgList: 145, THIS: 146, Elisions: 147, ArgElisionList: 148, OptElisions: 149, RangeDots: 150, "..": 151, Arg: 152, ArgElision: 153, Elision: 154, SimpleArgs: 155, TRY: 156, Catch: 157, FINALLY: 158, CATCH: 159, THROW: 160, "(": 161, ")": 162, WhileSource: 163, WHILE: 164, UNTIL: 165, Loop: 166, LOOP: 167, FORIN: 168, BY: 169, FORFROM: 170, AWAIT: 171, ForValue: 172, SWITCH: 173, Whens: 174, ELSE: 175, When: 176, LEADING_WHEN: 177, IfBlock: 178, IF: 179, UnlessBlock: 180, UNLESS: 181, POST_IF: 182, POST_UNLESS: 183, UNARY: 184, DO: 185, DO_IIFE: 186, UNARY_MATH: 187, "-": 188, "+": 189, "--": 190, "++": 191, "?": 192, MATH: 193, "**": 194, SHIFT: 195, COMPARE: 196, "&": 197, "^": 198, "|": 199, "&&": 200, "||": 201, "??": 202, "!?": 203, RELATION: 204, "SPACE?": 205, COMPOUND_ASSIGN: 206 },
2616
+ tokenNames: { 2: "error", 6: "TERMINATOR", 11: "STATEMENT", 31: "DEF", 33: "CALL_START", 35: "CALL_END", 38: "REACTIVE_ASSIGN", 39: "INDENT", 40: "OUTDENT", 41: "COMPUTED_ASSIGN", 42: "READONLY_ASSIGN", 43: "REACT_ASSIGN", 46: "YIELD", 48: "FROM", 49: "IDENTIFIER", 51: "PROPERTY", 53: "NUMBER", 55: "STRING", 56: "STRING_START", 58: "STRING_END", 60: "INTERPOLATION_START", 61: "INTERPOLATION_END", 63: "REGEX", 64: "REGEX_START", 66: "REGEX_END", 68: ",", 70: "JS", 71: "UNDEFINED", 72: "NULL", 73: "BOOL", 74: "INFINITY", 75: "NAN", 76: "=", 80: ":", 83: "[", 84: "]", 85: "@", 86: "...", 91: "SUPER", 94: "DYNAMIC_IMPORT", 95: ".", 96: "?.", 97: "::", 98: "?::", 99: "INDEX_START", 100: "INDEX_END", 101: "INDEX_SOAK", 102: "RETURN", 103: "PARAM_START", 104: "PARAM_END", 106: "->", 107: "=>", 115: "ES6_OPTIONAL_INDEX", 119: "NEW_TARGET", 120: "IMPORT_META", 121: "{", 122: "FOR", 124: "FOROF", 125: "}", 126: "WHEN", 127: "OWN", 129: "CLASS", 130: "EXTENDS", 131: "IMPORT", 136: "AS", 137: "DEFAULT", 138: "IMPORT_ALL", 139: "EXPORT", 141: "EXPORT_ALL", 143: "ES6_OPTIONAL_CALL", 144: "FUNC_EXIST", 146: "THIS", 151: "..", 156: "TRY", 158: "FINALLY", 159: "CATCH", 160: "THROW", 161: "(", 162: ")", 164: "WHILE", 165: "UNTIL", 167: "LOOP", 168: "FORIN", 169: "BY", 170: "FORFROM", 171: "AWAIT", 173: "SWITCH", 175: "ELSE", 177: "LEADING_WHEN", 179: "IF", 181: "UNLESS", 182: "POST_IF", 183: "POST_UNLESS", 184: "UNARY", 185: "DO", 186: "DO_IIFE", 187: "UNARY_MATH", 188: "-", 189: "+", 190: "--", 191: "++", 192: "?", 193: "MATH", 194: "**", 195: "SHIFT", 196: "COMPARE", 197: "&", 198: "^", 199: "|", 200: "&&", 201: "||", 202: "??", 203: "!?", 204: "RELATION", 205: "SPACE?", 206: "COMPOUND_ASSIGN" },
2981
2617
  parseTable: (() => {
2982
- let d = [107, 1, 2, 1, 1, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, -1, 1, 2, 3, 4, 5, 6, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 43, 54, 55, 56, 87, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 1, 1, 0, 2, 1, 5, -2, 107, 5, 1, 5, 37, 32, 97, -3, -3, -3, -3, -3, 31, 1, 5, 32, 4, 1, 13, 19, 7, 15, 35, 40, 1, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -6, -6, -6, -6, -6, 108, -6, -6, -6, 127, -6, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 9, 1, 5, 32, 4, 1, 32, 7, 15, 75, -7, -7, -7, -7, -7, -7, -7, -7, -7, 14, 1, 5, 32, 4, 1, 32, 7, 15, 75, 1, 1, 1, 17, 1, -8, -8, -8, -8, -8, -8, -8, -8, -8, 130, 96, 97, 128, 129, 54, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 6, 3, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -13, -13, -263, -13, -13, -13, -13, -13, -263, -263, -13, -13, -13, -13, 131, 133, 134, 135, 136, 137, -13, 138, -13, 139, -13, -13, -13, -13, 132, 140, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 47, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 141, 142, 143, 144, 145, -14, 146, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, 9, 1, 5, 32, 4, 1, 32, 7, 15, 75, -60, -60, -60, -60, -60, -60, -60, -60, -60, 9, 1, 5, 32, 4, 1, 32, 7, 15, 75, -61, -61, -61, -61, -61, -61, -61, -61, -61, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -186, -186, -186, -186, 148, -186, -186, 149, 150, -186, 147, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, 18, 6, 29, 2, 1, 4, 1, 11, 4, 1, 4, 19, 13, 1, 19, 4, 1, 1, 10, -140, 155, 151, -140, -140, -140, 159, 154, 104, 158, -140, 156, 160, -140, 152, 153, 157, 99, 106, 5, 2, 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, 4, 1, 2, 4, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 162, 4, 5, 6, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 161, 33, 163, 53, 43, 54, 55, 56, 87, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 103, 7, 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, 5, 6, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 164, 165, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 43, 54, 55, 56, 87, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 103, 7, 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, 5, 6, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 167, 168, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 43, 54, 55, 56, 87, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 169, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 175, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 176, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 101, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 177, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 178, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 45, 14, 1, 20, 5, 7, 7, 5, 4, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 9, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 25, 15, 25, 180, 181, 92, 182, 171, 87, 104, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 170, 90, 91, 72, 179, 36, 38, 41, 88, 89, 99, 86, 82, 174, 45, 14, 1, 20, 5, 7, 7, 5, 4, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 9, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 25, 15, 25, 180, 181, 92, 182, 171, 87, 104, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 170, 90, 91, 72, 183, 36, 38, 41, 88, 89, 99, 86, 82, 174, 60, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, 184, 185, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, 186, 5, 39, 3, 5, 69, 1, 188, 163, 187, 90, 91, 2, 39, 3, 189, 163, 2, 39, 3, 190, 163, 2, 35, 24, 191, 104, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 5, 7, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, 192, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, 2, 39, 3, 193, 163, 2, 39, 3, 194, 163, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, 14, 35, 19, 5, 4, 32, 1, 24, 1, 5, 5, 2, 4, 44, 1, 155, 159, 104, 158, 156, 83, 200, 157, 198, 99, 195, 196, 197, 199, 101, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 201, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 202, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 88, 1, 5, 8, 1, 20, 3, 1, 1, 2, 1, 4, 7, 2, 2, 1, 4, 3, 1, 1, 1, 1, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 4, 2, 1, 1, 2, 1, 1, 1, 3, 6, 3, 1, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 2, 1, 1, 4, 16, 5, 10, 1, 2, 1, 3, 1, 1, 12, 1, 3, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -210, -210, 180, 181, 92, -210, 203, 182, 163, -210, 171, 87, -210, -210, 104, 73, 74, 100, 101, 105, 106, -210, 76, 102, 103, 37, -210, 34, 75, 77, 78, 79, 80, 81, -210, 93, 83, -210, 35, 40, 39, 84, 85, -210, 170, -210, 90, 91, 72, 205, 36, 38, 41, 88, 89, 99, -210, -210, -210, -210, 204, 86, -210, 82, -210, -210, -210, -210, -210, -210, -210, -210, 174, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, 101, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 206, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 207, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 137, 1, 5, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 1, 3, 1, 1, 1, 1, 4, 2, 2, 1, 3, 1, 1, 2, 1, 1, 1, 1, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 4, 2, 1, 1, 2, 1, 1, 1, 3, 6, 2, 1, 1, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, 2, 8, 7, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 5, 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, -62, -62, 208, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, -62, 33, 209, -62, 53, 171, 54, 55, 56, 87, -62, -62, 104, 66, 73, 210, 74, 100, 101, 105, 106, -62, 76, 102, 103, 37, -62, 34, 75, 77, 78, 79, 80, 81, -62, 93, 83, -62, 35, 40, 39, 84, 85, -62, 69, 170, -62, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, -62, -62, -62, -62, 64, 70, 71, 86, -62, 59, 65, 82, -62, 60, -62, -62, 61, 98, -62, -62, -62, 49, 63, 57, 94, 58, 95, -62, -62, 172, 173, 174, 46, 47, 48, 50, 51, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, 2, 35, 24, 211, 104, 6, 15, 32, 13, 54, 2, 1, 213, 43, 212, 42, 90, 91, 111, 1, 5, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 1, 3, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 1, 1, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -131, -131, 214, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, -131, 33, 215, -131, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, -131, 76, 102, 103, 37, -131, 34, 75, 77, 78, 79, 80, 81, 93, 83, -131, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, -131, 60, -131, -131, 61, 98, 49, 63, 57, 94, 58, 95, -131, -131, 172, 173, 174, 46, 47, 48, 50, 51, 9, 35, 24, 9, 1, 1, 61, 11, 1, 5, 220, 104, 216, 105, 106, 219, 217, 218, 221, 9, 30, 3, 1, 1, 24, 72, 8, 8, 4, 223, 224, 67, 225, 104, 222, 64, 226, 227, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, 106, 4, 1, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 228, 3, 4, 5, 6, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 229, 53, 43, 54, 55, 56, 87, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 113, 7, 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, 5, 2, 4, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 1, 1, 4, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 230, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 236, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 237, 34, 75, 77, 78, 79, 80, 81, 93, 83, 231, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 232, 233, 238, 235, 234, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 4, 36, 68, 2, 4, 245, 242, 243, 244, 2, 36, 68, 245, 246, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, 55, 1, 5, 30, 2, 4, 1, 12, 1, 2, 7, 4, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -268, -268, -268, -268, -268, -268, 248, -268, -268, 247, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, 1, 106, 249, 1, 106, 250, 54, 11, 23, 8, 4, 2, 1, 1, 4, 5, 3, 5, 2, 1, 7, 1, 6, 1, 1, 1, 1, 1, 7, 6, 3, 8, 1, 2, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, 54, 11, 23, 8, 4, 2, 1, 1, 4, 5, 3, 5, 2, 1, 7, 1, 6, 1, 1, 1, 1, 1, 7, 6, 3, 8, 1, 2, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 251, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 252, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 253, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 254, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 102, 7, 2, 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, 4, 1, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 256, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 255, 33, 163, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 23, 6, 29, 7, 1, 11, 1, 3, 1, 6, 1, 1, 1, 1, 1, 12, 8, 1, 1, 2, 1, 1, 39, 3, -205, 264, -205, -205, 261, 248, 268, 104, 265, 262, 100, 101, 105, 106, -205, 263, 257, 267, 259, 266, 260, -205, 258, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, 45, 14, 1, 20, 5, 7, 7, 5, 4, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 9, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 25, 15, 25, 180, 181, 92, 182, 171, 87, 104, 73, 74, 100, 101, 105, 106, 76, 102, 103, 269, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 170, 90, 91, 72, 270, 36, 38, 41, 88, 89, 99, 86, 82, 174, 63, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 6, 5, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 6, 7, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, -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, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, 56, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 2, 2, 1, 5, 2, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, 6, 68, 1, 1, 1, 2, 1, 274, 105, 106, 271, 272, 273, 109, 1, 4, 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, 5, 3, 3, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 5, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 1, 1, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, -5, 275, -5, 4, 5, 6, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, -5, 53, 43, 54, 55, 56, 87, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, -5, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, -5, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 276, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 277, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 278, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 279, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 280, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 281, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 282, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 283, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 284, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 285, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 286, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 287, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 288, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 289, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 290, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 291, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 292, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, 14, 35, 19, 5, 4, 32, 1, 24, 1, 5, 5, 2, 4, 44, 1, 155, 159, 104, 158, 156, 83, 200, 157, 296, 99, 293, 294, 295, 199, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 297, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 298, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, 5, 36, 32, 1, 1, 34, 245, 299, 105, 106, 300, 2, 36, 68, 245, 301, 2, 55, 10, 248, 302, 2, 55, 10, 248, 303, 63, 1, 5, 30, 2, 3, 1, 1, 1, 1, 10, 1, 1, 1, 7, 4, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -160, -160, -160, -160, -160, -160, -160, -160, -160, 248, -160, -160, -160, 304, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, 63, 1, 5, 30, 2, 3, 1, 1, 1, 1, 10, 1, 1, 1, 7, 4, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -161, -161, -161, -161, -161, -161, -161, -161, -161, 248, -161, -161, -161, 305, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, 106, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 4, 1, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 1, 2, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 4, 1, 5, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 306, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 307, 53, 171, 54, 55, 56, 87, 313, 104, 66, 73, 74, 100, 101, 105, 106, 311, 102, 103, 37, 309, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 308, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 310, 312, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 1, 110, 314, 1, 110, 315, 3, 36, 33, 1, -264, -264, -264, 2, 55, 10, 248, 316, 2, 55, 10, 248, 317, 63, 1, 5, 30, 2, 3, 1, 1, 1, 1, 10, 1, 1, 1, 7, 4, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -177, -177, -177, -177, -177, -177, -177, -177, -177, 248, -177, -177, -177, 318, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, 63, 1, 5, 30, 2, 3, 1, 1, 1, 1, 10, 1, 1, 1, 7, 4, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -178, -178, -178, -178, -178, -178, -178, -178, -178, 248, -178, -178, -178, 319, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, 101, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 320, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 321, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 1, 110, 322, 102, 6, 1, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 324, 323, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 325, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 102, 6, 1, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 327, 326, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 328, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 102, 6, 1, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 330, 329, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 331, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 102, 6, 1, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 333, 332, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 334, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 9, 6, 32, 4, 1, 39, 15, 18, 3, 17, -138, -138, -138, -138, 336, -138, 335, 337, -138, 6, 6, 32, 4, 1, 39, 33, -141, -141, -141, -141, -141, -141, 7, 6, 32, 4, 1, 14, 25, 33, -145, -145, -145, -145, 338, -145, -145, 15, 6, 29, 3, 4, 1, 11, 5, 4, 19, 13, 1, 19, 5, 1, 10, -148, 155, -148, -148, -148, 159, 104, 158, -148, 156, 160, -148, 339, 157, 99, 10, 6, 32, 4, 1, 14, 25, 33, 19, 44, 2, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, 10, 6, 32, 4, 1, 14, 25, 33, 19, 44, 2, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, 10, 6, 32, 4, 1, 14, 25, 33, 19, 44, 2, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, 10, 6, 32, 4, 1, 14, 25, 33, 19, 44, 2, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, 2, 55, 10, 248, 247, 113, 7, 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, 5, 2, 4, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 1, 1, 4, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 340, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 236, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 237, 34, 75, 77, 78, 79, 80, 81, 93, 83, 231, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 232, 233, 238, 235, 234, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, 9, 1, 5, 32, 4, 1, 32, 7, 15, 75, -135, -135, -135, -135, -135, -135, -135, -135, -135, 106, 4, 1, 2, 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, 5, 3, 3, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 342, 3, 4, 5, 6, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 341, 53, 43, 54, 55, 56, 87, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -381, -381, -381, -381, -381, 108, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, 126, -381, -381, -381, -381, -381, -381, 125, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, 120, 121, -381, -381, 9, 1, 5, 32, 4, 1, 32, 7, 15, 75, -378, -378, -378, -378, -378, -378, -378, -378, -378, 5, 173, 1, 1, 17, 1, 130, 96, 97, 128, 129, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -382, -382, -382, -382, -382, 108, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, 126, -382, -382, -382, -382, -382, -382, 125, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, 120, 121, -382, -382, 9, 1, 5, 32, 4, 1, 32, 7, 15, 75, -379, -379, -379, -379, -379, -379, -379, -379, -379, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -383, -383, -383, -383, -383, 108, -383, -383, -383, -383, -383, -383, -383, -383, -383, -383, -383, -383, -383, 126, -383, -383, -383, -383, -383, -383, 125, -383, -383, -383, 112, -383, -383, -383, -383, -383, -383, -383, 120, 121, -383, -383, 18, 6, 29, 2, 1, 4, 1, 11, 4, 1, 4, 19, 13, 1, 19, 4, 1, 1, 10, -140, 155, 343, -140, -140, -140, 159, 154, 104, 158, -140, 156, 160, -140, 152, 153, 157, 99, 2, 39, 3, 161, 163, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 164, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 167, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 5, 15, 32, 67, 2, 1, 213, 171, 170, 90, 91, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -384, -384, -384, -384, -384, 108, -384, -384, -384, -384, -384, -384, -384, -384, -384, -384, -384, -384, -384, 126, -384, -384, -384, -384, -384, -384, 125, -384, -384, -384, 112, -384, -384, -384, -384, -384, -384, -384, 120, 121, -384, -384, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -385, -385, -385, -385, -385, 108, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, 126, -385, -385, -385, -385, -385, -385, 125, -385, -385, -385, 112, -385, -385, -385, -385, -385, -385, -385, 120, 121, -385, -385, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -386, -386, -386, -386, -386, 108, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, 126, -386, -386, -386, -386, -386, -386, 125, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, 120, 121, -386, -386, 2, 63, 68, 344, 99, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -388, -388, -183, -388, -183, -388, -388, -183, -183, -388, -183, -388, -183, -183, -388, -388, -388, -388, -183, -183, -183, -183, -183, -388, -183, -388, -183, -388, -388, -388, -388, -183, -183, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, 13, 36, 33, 1, 33, 3, 1, 1, 1, 1, 2, 13, 28, 1, -263, -263, -263, 131, 133, 134, 135, 136, 137, 138, 139, 132, 140, 6, 106, 1, 1, 1, 1, 2, 141, 142, 143, 144, 145, 146, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -389, -389, -183, -389, -183, -389, -389, -183, -183, -389, -183, -389, -183, -183, -389, -389, -389, -389, -183, -183, -183, -183, -183, -389, -183, -389, -183, -389, -389, -389, -389, -183, -183, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, 102, 6, 1, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 347, 345, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 346, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 2, 39, 3, 348, 163, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, 1, 42, 349, 3, 39, 3, 147, 350, 163, 351, 44, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 6, 1, 1, 3, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 352, 353, 354, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, 3, 134, 44, 2, 356, 355, 357, 11, 35, 19, 5, 4, 32, 1, 24, 1, 10, 2, 49, 155, 159, 104, 158, 156, 160, 200, 157, 99, 358, 199, 11, 35, 19, 5, 4, 32, 1, 24, 1, 10, 2, 49, 155, 159, 104, 158, 156, 160, 200, 157, 99, 359, 199, 3, 39, 3, 137, 360, 163, 361, 4, 82, 52, 44, 2, 362, -357, -357, -357, 5, 57, 25, 52, 44, 2, 363, -355, -355, -355, -355, 23, 42, 14, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 364, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 3, 184, 2, 1, 365, 366, 367, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 368, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 59, 1, 5, 30, 2, 1, 2, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -214, -214, -183, -214, 369, -183, 163, -214, -183, -183, -214, -183, -214, -183, -183, -214, -214, -214, -214, -183, -183, -183, -183, -183, -214, -183, -214, -183, -214, -214, -214, -214, 370, -183, -183, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -311, -311, -311, -311, -311, 108, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, 126, -311, -311, -311, -311, -311, -311, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 2, 63, 68, 371, 99, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -63, -63, -63, -63, -63, 108, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, 126, -63, -63, -63, -63, -63, -63, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 2, 63, 68, 372, 99, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 373, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 3, 36, 3, 3, 374, 375, 163, 9, 1, 5, 32, 4, 1, 32, 7, 15, 75, -380, -380, -380, -380, -380, -380, -380, -380, -380, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, 31, 1, 5, 32, 4, 1, 13, 19, 7, 15, 35, 40, 1, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -129, -129, -129, -129, -129, 108, -129, -129, -129, 127, -129, 126, -129, -129, -129, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 2, 63, 68, 376, 99, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, 2, 64, 18, 377, 378, 1, 64, 379, 7, 35, 7, 17, 76, 9, 1, 2, 384, 383, 104, 380, 381, 382, 385, 2, 64, 18, -234, -234, 1, 146, 386, 7, 35, 7, 17, 76, 12, 3, 2, 391, 390, 104, 387, 392, 388, 389, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, 1, 57, 393, 101, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 394, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 395, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 1, 64, 396, 2, 6, 166, 107, 397, 105, 4, 1, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 398, 3, 4, 5, 6, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 43, 54, 55, 56, 87, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 31, 6, 32, 4, 1, 13, 2, 24, 15, 35, 28, 1, 12, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -285, -285, -285, -285, 108, 313, -285, -285, 127, 399, 312, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, -270, -270, 109, 7, 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, 5, 6, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 6, 2, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 340, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 237, 34, 75, 77, 78, 79, 80, 81, 93, 83, 400, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 402, 401, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 9, 6, 32, 4, 1, 39, 15, 21, 17, 24, -138, -138, -138, -138, 404, -138, 405, -138, 403, 59, 6, 5, 23, 8, 1, 3, 2, 1, 1, 4, 4, 1, 3, 5, 2, 1, 7, 1, 4, 2, 1, 1, 1, 1, 1, 7, 1, 5, 3, 8, 1, 2, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, 406, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, 5, 6, 36, 1, 39, 15, -289, -289, -289, -289, -289, 112, 7, 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, 5, 2, 4, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 1, 1, 4, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 340, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 236, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 237, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 408, 407, 238, 235, 234, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 59, 6, 5, 23, 8, 1, 3, 2, 1, 1, 4, 4, 1, 3, 5, 2, 1, 7, 1, 4, 2, 1, 1, 1, 1, 1, 7, 1, 5, 3, 8, 1, 2, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, 5, 6, 36, 1, 39, 15, -294, -294, -294, -294, -294, 6, 6, 32, 4, 1, 39, 15, -286, -286, -286, -286, -286, -286, 6, 6, 32, 4, 1, 39, 15, -287, -287, -287, -287, -287, -287, 106, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 1, 3, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, -288, 409, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, -288, 33, -288, -288, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, -288, 34, 75, 77, 78, 79, 80, 81, 93, 83, -288, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 54, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 5, 2, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, 2, 55, 10, 248, 410, 101, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 411, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 412, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 109, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 4, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 6, 1, 6, 4, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 340, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 413, 33, 416, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 414, 86, 415, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 54, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 5, 2, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, 2, 55, 10, 248, 417, 2, 55, 10, 248, 418, 24, 39, 3, 14, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 419, 163, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 24, 39, 3, 14, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 420, 163, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -315, -315, -315, -315, -315, 108, -315, -315, -315, -315, -315, -315, -315, 127, -315, -315, 421, -315, -315, 126, 96, 97, -315, -315, -315, -315, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -317, -317, -317, -317, -317, 108, -317, -317, -317, -317, -317, -317, -317, 127, -317, -317, 422, -317, -317, 126, 96, 97, -317, -317, -317, -317, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -324, -324, -324, -324, -324, 108, -324, -324, -324, -324, -324, -324, -324, 127, -324, -324, -324, -324, -324, 126, 96, 97, -324, -324, -324, -324, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 6, 6, 36, 1, 39, 11, 42, -95, -95, -95, -95, 423, -95, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, -138, -138, -138, 425, -138, 424, -138, 7, 6, 36, 1, 14, 25, 11, 42, -104, -104, -104, 426, -104, -104, -104, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 427, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 3, 55, 10, 31, 248, 247, 428, 6, 6, 36, 1, 39, 11, 42, -107, -107, -107, -107, -107, -107, 5, 6, 36, 1, 39, 53, -206, -206, -206, -206, -206, 15, 6, 30, 6, 1, 14, 25, 11, 13, 1, 1, 1, 1, 2, 23, 19, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, 15, 6, 30, 6, 1, 14, 25, 11, 13, 1, 1, 1, 1, 2, 23, 19, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, 15, 6, 30, 6, 1, 14, 25, 11, 13, 1, 1, 1, 1, 2, 23, 19, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, 5, 6, 36, 1, 39, 53, -96, -96, -96, -96, -96, 17, 35, 19, 1, 4, 4, 2, 29, 1, 3, 1, 1, 1, 1, 3, 26, 25, 15, 264, 87, 248, 104, 431, 265, 429, 266, 430, 432, 433, 434, 435, 436, 99, 86, 82, 54, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 5, 2, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, 437, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, 6, 68, 1, 1, 2, 1, 1, 274, 105, 106, 438, 439, 273, 4, 69, 1, 2, 2, -74, -74, -74, -74, 107, 4, 1, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 5, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 440, 3, 4, 5, 6, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 441, 53, 43, 54, 55, 56, 87, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 442, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 4, 69, 1, 2, 2, -79, -79, -79, -79, 5, 1, 5, 37, 32, 97, -4, -4, -4, -4, -4, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -393, -393, -393, -393, -393, 108, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, 126, -393, -393, -393, -393, -393, -393, 125, -393, -393, 111, 112, -393, -393, -393, -393, -393, -393, -393, 120, 121, -393, -393, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -394, -394, -394, -394, -394, 108, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, 126, -394, -394, -394, -394, -394, -394, 125, -394, -394, 111, 112, -394, -394, -394, -394, -394, -394, -394, 120, 121, -394, -394, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -395, -395, -395, -395, -395, 108, -395, -395, -395, -395, -395, -395, -395, -395, -395, -395, -395, -395, -395, 126, -395, -395, -395, -395, -395, -395, 125, -395, -395, -395, 112, -395, -395, -395, -395, -395, -395, -395, 120, 121, -395, -395, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -396, -396, -396, -396, -396, 108, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, 126, -396, -396, -396, -396, -396, -396, 125, -396, -396, -396, 112, -396, -396, -396, -396, -396, -396, -396, 120, 121, -396, -396, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -397, -397, -397, -397, -397, 108, -397, -397, -397, -397, -397, -397, -397, -397, -397, -397, -397, -397, -397, 126, -397, -397, -397, -397, -397, -397, 125, 110, 109, 111, 112, -397, -397, -397, -397, -397, -397, -397, 120, 121, -397, -397, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -398, -398, -398, -398, -398, 108, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, 126, -398, -398, -398, -398, -398, -398, 125, 110, 109, 111, 112, 113, -398, -398, -398, -398, -398, -398, 120, 121, 122, -398, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -399, -399, -399, -399, -399, 108, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, 126, -399, -399, -399, -399, -399, -399, 125, 110, 109, 111, 112, 113, 114, -399, -399, -399, -399, -399, 120, 121, 122, -399, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -400, -400, -400, -400, -400, 108, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, 126, -400, -400, -400, -400, -400, -400, 125, 110, 109, 111, 112, 113, 114, 115, -400, -400, -400, -400, 120, 121, 122, -400, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -401, -401, -401, -401, -401, 108, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, 126, -401, -401, -401, -401, -401, -401, 125, 110, 109, 111, 112, 113, 114, 115, 116, -401, -401, -401, 120, 121, 122, -401, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -402, -402, -402, -402, -402, 108, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, 126, -402, -402, -402, -402, -402, -402, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, -402, -402, 120, 121, 122, -402, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -403, -403, -403, -403, -403, 108, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, 126, -403, -403, -403, -403, -403, -403, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, -403, 120, 121, 122, -403, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -404, -404, -404, -404, -404, 108, -404, -404, -404, -404, -404, -404, -404, 127, -404, -404, -404, -404, -404, 126, 96, 97, -404, -404, -404, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -405, -405, -405, -405, -405, 108, -405, -405, -405, -405, -405, -405, -405, 127, -405, -405, -405, -405, -405, 126, 96, 97, -405, -405, -405, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -406, -406, -406, -406, -406, 108, -406, -406, -406, -406, -406, -406, -406, -406, -406, -406, -406, -406, -406, 126, -406, -406, -406, -406, -406, -406, 125, 110, 109, 111, 112, 113, -406, -406, -406, -406, -406, -406, 120, 121, -406, -406, 23, 56, 37, 39, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, 443, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -375, -375, -375, -375, -375, 108, -375, -375, -375, -375, -375, -375, -375, 127, -375, -375, -375, -375, -375, 126, 96, 97, -375, -375, -375, -375, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -377, -377, -377, -377, -377, 108, -377, -377, -377, -377, -377, -377, -377, 127, -377, -377, -377, -377, -377, 126, 96, 97, -377, -377, -377, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 3, 134, 44, 2, 445, 444, 446, 11, 35, 19, 5, 4, 32, 1, 24, 1, 10, 2, 49, 155, 159, 104, 158, 156, 160, 200, 157, 99, 447, 199, 11, 35, 19, 5, 4, 32, 1, 24, 1, 10, 2, 49, 155, 159, 104, 158, 156, 160, 200, 157, 99, 448, 199, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, 449, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -374, -374, -374, -374, -374, 108, -374, -374, -374, -374, -374, -374, -374, 127, -374, -374, -374, -374, -374, 126, 96, 97, -374, -374, -374, -374, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -376, -376, -376, -376, -376, 108, -376, -376, -376, -376, -376, -376, -376, 127, -376, -376, -376, -376, -376, 126, 96, 97, -376, -376, -376, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 54, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 5, 2, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, 54, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 5, 2, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, 54, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 5, 2, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, 26, 56, 2, 53, 21, 28, 1, 12, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, 313, 450, 127, 451, 312, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 104, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 4, 1, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 1, 2, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 4, 1, 5, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 452, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 313, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 453, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 310, 312, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 1, 111, 454, 1, 111, 455, 102, 7, 2, 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, 5, 3, 3, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 6, 2, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 456, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, -279, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, -279, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, 457, -86, -86, -86, -86, -86, -86, -86, -83, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, 55, 11, 23, 9, 3, 2, 1, 1, 4, 5, 3, 5, 2, 1, 7, 1, 6, 1, 1, 1, 1, 1, 7, 6, 3, 6, 2, 1, 2, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, 55, 11, 23, 9, 3, 2, 1, 1, 4, 5, 3, 5, 2, 1, 7, 1, 6, 1, 1, 1, 1, 1, 7, 6, 3, 6, 2, 1, 2, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, 105, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 4, 1, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 1, 2, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 4, 1, 5, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 458, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 459, 53, 171, 54, 55, 56, 87, 313, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 460, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 310, 312, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 101, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 461, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 462, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, 23, 56, 55, 21, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, 463, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 464, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 101, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 465, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 466, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -92, -92, -92, -92, -92, 108, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, 126, -92, -92, -92, -92, -92, -92, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 467, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 468, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -35, -35, -35, -35, -35, 108, -35, -35, -35, -35, -35, -35, -35, 127, -35, -35, -35, -35, -35, 126, 96, 97, -35, -35, -35, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 469, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 470, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -38, -38, -38, -38, -38, 108, -38, -38, -38, -38, -38, -38, -38, 127, -38, -38, -38, -38, -38, 126, 96, 97, -38, -38, -38, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 471, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 472, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -41, -41, -41, -41, -41, 108, -41, -41, -41, -41, -41, -41, -41, 127, -41, -41, -41, -41, -41, 126, 96, 97, -41, -41, -41, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 473, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 474, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 3, 47, 69, 1, 475, 90, 91, 17, 6, 29, 3, 4, 1, 11, 4, 1, 4, 32, 1, 1, 22, 1, 1, 10, 4, -139, 155, -139, -139, -139, 159, 154, 104, 158, 156, 160, -139, 476, 153, 157, 99, -139, 2, 6, 36, 477, 478, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 479, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 6, 6, 32, 4, 1, 39, 33, -147, -147, -147, -147, -147, -147, 28, 6, 32, 4, 1, 13, 26, 15, 35, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -285, -285, -285, -285, 108, -285, -285, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 57, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 7, 1, 3, 2, 1, 3, 1, 1, 5, 2, 5, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, 2, 6, 37, 107, 480, 9, 6, 32, 4, 1, 39, 15, 18, 3, 17, -138, -138, -138, -138, 336, -138, 481, 337, -138, 1, 43, 482, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -408, -408, -408, -408, -408, 108, -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, 126, -408, -408, -408, -408, -408, -408, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 483, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 484, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, 106, 7, 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, 5, 6, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 487, 488, 489, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 43, 54, 55, 56, 485, 486, 490, 491, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 492, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 7, 4, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 493, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 2, 39, 3, 494, 163, 6, 35, 4, 3, 17, 4, 68, 495, 497, 163, 104, 496, 99, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 498, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 499, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 500, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 1, 134, 501, 1, 180, 502, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 503, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 10, 35, 19, 5, 4, 32, 1, 24, 1, 10, 51, 155, 159, 104, 158, 156, 160, 200, 157, 99, 504, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 505, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 3, 184, 2, 1, 506, 366, 367, 4, 43, 142, 1, 1, 507, 508, 509, 367, 3, 43, 142, 2, -363, -363, -363, 101, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 9, 1, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 511, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 510, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 43, 1, 5, 32, 1, 3, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -212, -212, -212, 512, 163, -212, 108, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, 126, -212, -212, -212, -212, -212, -212, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 513, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 1, 43, 514, 1, 43, 515, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -65, -65, -65, -65, -65, 108, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, 126, -65, -65, -65, -65, -65, -65, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 18, 6, 29, 2, 1, 4, 1, 11, 4, 1, 4, 19, 13, 1, 19, 4, 1, 1, 10, -140, 155, 516, -140, -140, -140, 159, 154, 104, 158, -140, 156, 160, -140, 152, 153, 157, 99, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 1, 43, 517, 3, 68, 1, 1, 518, 105, 106, 3, 131, 12, 5, 520, 519, 221, 3, 68, 1, 1, 521, 105, 106, 1, 64, 522, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, -138, -138, -138, 524, -138, 523, -138, 5, 6, 36, 1, 39, 53, -225, -225, -225, -225, -225, 6, 35, 7, 17, 85, 1, 2, 384, 383, 104, 525, 382, 385, 6, 6, 36, 1, 39, 53, 11, -230, -230, -230, -230, -230, 526, 6, 6, 36, 1, 39, 53, 11, -232, -232, -232, -232, -232, 527, 2, 35, 24, 528, 104, 14, 1, 5, 32, 4, 1, 21, 11, 7, 15, 75, 2, 1, 17, 1, -236, -236, -236, -236, -236, 529, -236, -236, -236, -236, -236, -236, -236, -236, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, -138, -138, -138, 531, -138, 530, -138, 5, 6, 36, 1, 39, 53, -248, -248, -248, -248, -248, 6, 35, 7, 17, 88, 3, 2, 391, 390, 104, 392, 532, 389, 6, 6, 36, 1, 39, 53, 11, -253, -253, -253, -253, -253, 533, 6, 6, 36, 1, 39, 53, 11, -256, -256, -256, -256, -256, 534, 102, 6, 1, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 536, 535, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 537, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 31, 1, 5, 32, 4, 1, 13, 19, 7, 15, 35, 40, 1, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -243, -243, -243, -243, -243, 108, -243, -243, -243, 127, -243, 126, 96, 97, -243, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 2, 63, 68, 538, 99, 3, 68, 1, 1, 539, 105, 106, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, 2, 6, 37, 107, 540, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 541, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, 59, 6, 5, 23, 8, 1, 3, 2, 1, 1, 4, 4, 1, 3, 5, 2, 1, 7, 1, 4, 2, 1, 1, 1, 1, 1, 7, 1, 5, 3, 8, 1, 2, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, 406, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, 5, 6, 36, 1, 39, 15, -295, -295, -295, -295, -295, 2, 42, 55, 543, 542, 116, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 1, 3, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 4, 2, 8, 7, 1, 5, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, -139, 340, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, -139, 33, -139, -139, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 237, 34, 75, 77, 78, 79, 80, 81, 93, 83, -139, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, -139, 64, 70, 71, 86, 545, 238, 544, 234, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 4, 6, 36, 1, 54, 546, -296, -296, -296, 59, 6, 5, 23, 8, 1, 3, 2, 1, 1, 4, 4, 1, 3, 5, 2, 1, 7, 1, 4, 2, 1, 1, 1, 1, 1, 7, 1, 5, 3, 8, 1, 2, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, 9, 6, 32, 4, 1, 39, 15, 21, 17, 24, -138, -138, -138, -138, 404, -138, 405, -138, 547, 108, 7, 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, 5, 6, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 6, 2, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 340, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 237, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 402, 401, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 28, 6, 32, 4, 1, 13, 26, 15, 35, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -153, -153, -153, -153, 108, -153, -153, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, 23, 56, 55, 21, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, 548, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 549, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 54, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 5, 2, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, -138, -138, -138, 551, -138, 550, -138, 5, 6, 32, 4, 1, 39, -280, -280, -280, -280, -280, 108, 7, 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, 5, 2, 4, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 6, 1, 6, 4, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 340, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 416, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 552, 86, 415, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 5, 7, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 5, 7, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, 553, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 554, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 555, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 101, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 556, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 557, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 3, 6, 36, 93, 559, 560, 558, 23, 6, 29, 3, 4, 1, 11, 1, 3, 1, 6, 1, 1, 1, 1, 1, 20, 1, 1, 2, 1, 1, 1, 38, -139, 264, -139, -139, -139, 261, 248, 268, 104, 265, 262, 100, 101, 105, 106, 561, 562, 267, 259, 266, 260, -139, -139, 101, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 563, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 564, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 23, 56, 41, 35, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, 565, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 566, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 16, 6, 30, 6, 1, 26, 1, 12, 21, 3, 1, 1, 1, 1, 2, 23, 19, -108, -110, -108, -108, -263, -263, -108, 567, -110, -110, -110, -110, -110, -110, -108, 140, 16, 6, 30, 6, 1, 26, 1, 12, 21, 3, 1, 1, 1, 1, 2, 23, 19, -109, -263, -109, -109, -263, -263, -109, 568, 569, 570, 571, 572, 573, 574, -109, 140, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, 7, 36, 33, 1, 33, 3, 4, 44, -263, -263, -263, 575, 243, 244, 140, 2, 36, 68, 245, 576, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, 56, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 2, 2, 1, 5, 2, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, 4, 69, 1, 2, 2, -75, -75, -75, -75, 2, 6, 69, 107, 577, 105, 4, 1, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 578, 3, 4, 5, 6, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 43, 54, 55, 56, 87, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 4, 69, 1, 2, 2, -78, -78, -78, -78, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 579, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 580, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 581, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 582, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 1, 134, 583, 1, 180, 584, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 585, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, 102, 7, 2, 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, 5, 3, 3, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 6, 2, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 586, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, -277, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, -277, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 26, 43, 13, 2, 74, 28, 1, 12, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 587, 108, 313, 127, 451, 312, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 1, 43, 588, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, 24, 43, 13, 55, 21, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -278, 108, -278, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 589, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 26, 56, 2, 53, 21, 28, 1, 12, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, 313, 590, 127, 451, 312, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 104, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 4, 1, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 1, 2, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 4, 1, 5, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 591, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 313, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 592, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 310, 312, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 1, 111, 593, 23, 56, 55, 21, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, 594, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 595, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 596, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 23, 56, 55, 21, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, 597, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 598, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -93, -93, -93, -93, -93, 108, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, 126, -93, -93, -93, -93, -93, -93, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 599, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -36, -36, -36, -36, -36, 108, -36, -36, -36, -36, -36, -36, -36, 127, -36, -36, -36, -36, -36, 126, 96, 97, -36, -36, -36, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 600, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -39, -39, -39, -39, -39, 108, -39, -39, -39, -39, -39, -39, -39, 127, -39, -39, -39, -39, -39, 126, 96, 97, -39, -39, -39, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 601, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -42, -42, -42, -42, -42, 108, -42, -42, -42, -42, -42, -42, -42, 127, -42, -42, -42, -42, -42, 126, 96, 97, -42, -42, -42, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 602, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 106, 5, 2, 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, 4, 1, 2, 4, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 604, 4, 5, 6, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 603, 33, 163, 53, 43, 54, 55, 56, 87, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 6, 6, 32, 4, 1, 39, 33, -142, -142, -142, -142, -142, -142, 11, 35, 19, 4, 1, 4, 32, 1, 23, 1, 1, 10, 155, 159, 154, 104, 158, 156, 160, 605, 153, 157, 99, 18, 6, 29, 2, 1, 4, 1, 11, 4, 1, 4, 19, 13, 1, 19, 4, 1, 1, 10, -140, 155, 606, -140, -140, -140, 159, 154, 104, 158, -140, 156, 160, -140, 152, 153, 157, 99, 28, 6, 32, 4, 1, 13, 26, 33, 17, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -146, -146, -146, -146, 108, -146, -146, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 57, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 7, 1, 3, 2, 1, 3, 1, 1, 5, 2, 5, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, 3, 47, 69, 1, 607, 90, 91, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 608, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -410, -410, -410, -410, -410, 108, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, 126, -410, -410, -410, -410, -410, -410, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 2, 6, 37, 610, 609, 2, 6, 37, -49, -49, 24, 6, 37, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -52, -52, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 2, 6, 37, -53, -53, 7, 6, 37, 130, 1, 1, 17, 1, -54, -54, 130, 96, 97, 128, 129, 2, 6, 37, -55, -55, 55, 1, 5, 30, 2, 4, 1, 12, 1, 2, 7, 4, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -268, -268, -268, -268, -268, -268, 611, -268, 612, 247, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, 24, 39, 3, 14, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 613, 163, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 2, 39, 3, 614, 163, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, 2, 39, 3, 615, 163, 2, 39, 3, 616, 163, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 7, 4, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, 26, 39, 3, 14, 76, 4, 37, 1, 1, 4, 13, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 617, 163, 108, 127, 618, 126, 96, 97, 619, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 25, 39, 3, 14, 76, 4, 37, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 620, 163, 108, 127, 621, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 25, 39, 3, 14, 76, 4, 37, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 622, 163, 108, 127, 623, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 624, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 625, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 24, 39, 3, 14, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 626, 163, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 3, 134, 44, 2, -358, -358, -358, 26, 56, 26, 50, 2, 39, 1, 1, 3, 2, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, -356, 127, -356, 126, 96, 97, -356, -356, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 4, 43, 142, 1, 1, 627, 628, 509, 367, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, 2, 39, 3, 629, 163, 3, 43, 142, 2, -364, -364, -364, 3, 39, 3, 40, 630, 163, 631, 24, 42, 14, 26, 50, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -302, 108, -302, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, 43, 1, 5, 32, 1, 3, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -216, -216, -216, 632, 163, -216, 108, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, 126, -216, -216, -216, -216, -216, -216, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, 633, -138, -138, 336, -138, 337, -138, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, 1, 64, 634, 6, 35, 7, 17, 85, 1, 2, 384, 383, 104, 635, 382, 385, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, 3, 68, 1, 1, 636, 105, 106, 3, 6, 36, 93, 638, 639, 637, 10, 6, 29, 3, 4, 1, 16, 38, 38, 10, 2, -139, 384, -139, -139, -139, 104, -139, -139, 640, 385, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, -138, -138, -138, 524, -138, 641, -138, 2, 35, 24, 642, 104, 2, 35, 24, 643, 104, 1, 64, -235, 3, 68, 1, 1, 644, 105, 106, 3, 6, 36, 93, 646, 647, 645, 10, 6, 29, 3, 4, 1, 16, 38, 38, 12, 5, -139, 391, -139, -139, -139, 104, -139, -139, 392, 648, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, -138, -138, -138, 531, -138, 649, -138, 3, 35, 24, 88, 650, 104, 651, 2, 35, 24, 652, 104, 31, 1, 5, 32, 4, 1, 13, 19, 7, 15, 35, 40, 1, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -240, -240, -240, -240, -240, 108, -240, -240, -240, 127, -240, 126, -240, -240, -240, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 653, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 654, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 1, 43, 655, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, 1, 172, 656, 23, 56, 41, 35, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, 657, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, 112, 7, 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, 5, 2, 4, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 1, 1, 4, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 340, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 236, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 237, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 408, 658, 238, 235, 234, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 5, 6, 36, 1, 39, 15, -290, -290, -290, -290, -290, 111, 7, 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, 5, 2, 1, 3, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 6, 2, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 340, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, -297, -297, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 237, 34, 75, 77, 78, 79, 80, 81, 93, 83, -297, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 402, 401, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 110, 7, 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, 5, 6, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 1, 5, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 340, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 237, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 408, 238, 659, 234, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 2, 42, 1, 543, 660, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 661, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 3, 6, 32, 4, 663, 662, 664, 112, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 1, 3, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 4, 2, 8, 7, 6, 4, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, -139, 340, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, -139, 33, -139, -139, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, -139, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, -139, 64, 70, 71, 86, 665, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, -138, -138, -138, 551, -138, 666, -138, 2, 39, 3, 667, 163, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -316, -316, -316, -316, -316, 108, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, 126, -316, -316, -316, -316, -316, -316, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -318, -318, -318, -318, -318, 108, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, 126, -318, -318, -318, -318, -318, -318, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 27, 6, 36, 1, 13, 26, 50, 3, 38, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -97, -97, -97, 108, -97, 668, -97, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 669, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, 17, 35, 19, 1, 3, 1, 6, 1, 1, 1, 1, 1, 20, 1, 1, 2, 1, 1, 264, 261, 248, 268, 104, 265, 262, 100, 101, 105, 106, 670, 562, 267, 259, 266, 260, 23, 6, 29, 7, 1, 11, 1, 3, 1, 6, 1, 1, 1, 1, 1, 12, 8, 1, 1, 2, 1, 1, 39, 3, -205, 264, -205, -205, 261, 248, 268, 104, 265, 262, 100, 101, 105, 106, -205, 263, 562, 267, 259, 266, 260, -205, 671, 5, 6, 36, 1, 39, 53, -207, -207, -207, -207, -207, 6, 6, 36, 1, 39, 11, 42, -95, -95, -95, -95, 672, -95, 27, 6, 36, 1, 13, 26, 50, 3, 38, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -99, -99, -99, 108, -99, 127, -99, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 673, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 6, 6, 36, 1, 39, 11, 42, -105, -105, -105, -105, -105, -105, 23, 56, 41, 35, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, 674, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 2, 36, 68, 245, 675, 2, 36, 68, 245, 676, 2, 55, 10, 248, 677, 2, 55, 10, 248, 678, 15, 6, 30, 6, 1, 12, 10, 17, 24, 1, 1, 1, 1, 2, 23, 19, -123, -123, -123, -123, 248, 679, -123, -123, -123, -123, -123, -123, -123, -123, -123, 15, 6, 30, 6, 1, 12, 10, 17, 24, 1, 1, 1, 1, 2, 23, 19, -124, -124, -124, -124, 248, 680, -124, -124, -124, -124, -124, -124, -124, -124, -124, 101, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 681, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 682, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 1, 110, 683, 2, 36, 68, 245, 684, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, 4, 69, 1, 2, 2, -76, -76, -76, -76, 2, 6, 37, 107, 685, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -407, -407, -407, -407, -407, 108, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, 126, -407, -407, -407, -407, -407, -407, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -340, -340, -340, -340, -340, 108, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 686, -340, -340, 126, -340, -340, -340, 687, -340, -340, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -345, -345, -345, -345, -345, 108, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 688, -345, -345, 126, -345, -345, -345, -345, -345, -345, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -349, -349, -349, -349, -349, 108, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, 689, -349, -349, 126, -349, -349, -349, -349, -349, -349, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 690, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 691, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -354, -354, -354, -354, -354, 108, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, 126, -354, -354, -354, -354, -354, -354, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 24, 43, 13, 55, 21, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -276, 108, -276, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 1, 111, 692, 1, 111, 693, 23, 56, 55, 21, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, -82, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, 26, 43, 13, 2, 74, 28, 1, 12, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 694, 108, 313, 127, 451, 312, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 1, 43, 695, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, -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, -169, -169, -169, -169, -169, -169, -169, -169, -169, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 696, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 1, 111, 697, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 698, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, 9, 1, 5, 32, 4, 1, 32, 7, 15, 75, -134, -134, -134, -134, -134, -134, -134, -134, -134, 6, 6, 32, 4, 1, 39, 33, -143, -143, -143, -143, -143, -143, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, -138, -138, -138, 336, -138, 699, -138, 2, 39, 3, 603, 163, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, -409, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, 107, 6, 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, 5, 3, 3, 1, 1, 1, 1, 2, 1, 1, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, -51, 487, 488, 489, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, -51, 53, 43, 54, 55, 56, 700, 490, 491, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -69, -56, -69, -69, -69, -69, -56, -69, -69, 701, 702, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, 1, 59, 703, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 5, 7, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 7, 4, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 7, 4, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 704, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 705, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 706, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 707, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 25, 39, 3, 14, 76, 4, 37, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 708, 163, 108, 127, 709, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 25, 39, 3, 14, 76, 4, 37, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 710, 163, 108, 127, 711, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, 2, 39, 3, 712, 163, 1, 43, 713, 4, 6, 37, 142, 2, 714, -365, -365, -365, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 715, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, 2, 39, 3, 716, 163, 3, 68, 1, 1, 717, 105, 106, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, -138, -138, -138, 524, -138, 718, -138, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, 1, 64, 719, 4, 35, 24, 86, 2, 384, 104, 720, 385, 6, 35, 7, 17, 85, 1, 2, 384, 383, 104, 721, 382, 385, 5, 6, 36, 1, 39, 53, -226, -226, -226, -226, -226, 3, 6, 36, 1, 638, 639, 722, 5, 6, 36, 1, 39, 53, -231, -231, -231, -231, -231, 5, 6, 36, 1, 39, 53, -233, -233, -233, -233, -233, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, 14, 1, 5, 32, 4, 1, 21, 11, 7, 15, 75, 2, 1, 17, 1, -237, -237, -237, -237, -237, 723, -237, -237, -237, -237, -237, -237, -237, -237, 4, 35, 24, 88, 5, 391, 104, 392, 724, 6, 35, 7, 17, 88, 3, 2, 391, 390, 104, 392, 725, 389, 5, 6, 36, 1, 39, 53, -249, -249, -249, -249, -249, 3, 6, 36, 1, 646, 647, 726, 5, 6, 36, 1, 39, 53, -254, -254, -254, -254, -254, 5, 6, 36, 1, 39, 53, -255, -255, -255, -255, -255, 5, 6, 36, 1, 39, 53, -257, -257, -257, -257, -257, 31, 1, 5, 32, 4, 1, 13, 19, 7, 15, 35, 40, 1, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -241, -241, -241, -241, -241, 108, -241, -241, -241, 127, -241, 126, -241, -241, -241, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 727, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, 9, 6, 32, 4, 1, 39, 15, 21, 17, 24, -138, -138, -138, -138, 404, -138, 405, -138, 728, 5, 6, 36, 1, 39, 15, -291, -291, -291, -291, -291, 5, 6, 36, 1, 39, 15, -292, -292, -292, -292, -292, 1, 111, 729, 54, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 5, 2, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, 106, 7, 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, 5, 6, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 6, 4, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 340, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 730, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 108, 7, 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, 5, 2, 4, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 6, 1, 6, 4, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 340, 239, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 416, 53, 43, 54, 55, 56, 87, 241, 104, 27, 28, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 42, 90, 91, 72, 240, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 731, 86, 415, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 44, 45, 68, 46, 47, 48, 50, 51, 5, 6, 32, 4, 1, 39, -281, -281, -281, -281, -281, 3, 6, 36, 1, 663, 664, 732, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, 14, 35, 19, 5, 4, 32, 1, 24, 1, 5, 5, 2, 4, 44, 1, 155, 159, 104, 158, 156, 83, 200, 157, 296, 99, 733, 734, 295, 199, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 735, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 5, 6, 36, 1, 39, 53, -208, -208, -208, -208, -208, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, -138, -138, -138, 425, -138, 736, -138, 101, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 737, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 557, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 738, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 6, 6, 36, 1, 39, 11, 42, -106, -106, -106, -106, -106, -106, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, 23, 56, 55, 21, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, 739, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 740, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 101, 7, 2, 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, 5, 2, 4, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 741, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 742, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, 1, 75, 743, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 744, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 745, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 746, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 747, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -347, -347, -347, -347, -347, 108, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, 748, -347, -347, 126, -347, -347, -347, -347, -347, -347, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -351, -351, -351, -351, -351, 108, -351, -351, -351, -351, -351, -351, -351, -351, -351, -351, 749, -351, -351, 126, -351, -351, -351, -351, -351, -351, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, 1, 111, 750, 1, 111, 751, 1, 111, 752, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, 1, 111, 753, 3, 6, 36, 1, 477, 478, 754, 2, 6, 37, -50, -50, 2, 6, 37, -57, -57, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 755, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 2, 6, 37, -59, -59, 25, 39, 3, 14, 76, 41, 1, 1, 4, 13, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 756, 163, 108, 127, 126, 96, 97, 757, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 25, 39, 3, 14, 76, 4, 37, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 758, 163, 108, 127, 759, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 24, 39, 3, 14, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 760, 163, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 24, 39, 3, 14, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 761, 163, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 762, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 763, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 1, 43, 764, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, 3, 43, 142, 2, -366, -366, -366, 24, 42, 14, 26, 50, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -303, 108, -303, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, 3, 6, 36, 93, 638, 639, 765, 3, 68, 1, 1, 766, 105, 106, 5, 6, 36, 1, 39, 53, -227, -227, -227, -227, -227, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, -138, -138, -138, 524, -138, 767, -138, 5, 6, 36, 1, 39, 53, -228, -228, -228, -228, -228, 3, 68, 1, 1, 768, 105, 106, 5, 6, 36, 1, 39, 53, -250, -250, -250, -250, -250, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, -138, -138, -138, 531, -138, 769, -138, 5, 6, 36, 1, 39, 53, -251, -251, -251, -251, -251, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, 2, 42, 1, 543, 770, 53, 1, 5, 30, 2, 4, 1, 13, 2, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, 5, 6, 32, 4, 1, 39, -282, -282, -282, -282, -282, 8, 6, 32, 4, 1, 39, 15, 21, 17, -138, -138, -138, -138, 551, -138, 771, -138, 5, 6, 32, 4, 1, 39, -283, -283, -283, -283, -283, 3, 134, 44, 2, 772, 444, 446, 11, 35, 19, 5, 4, 32, 1, 24, 1, 10, 2, 49, 155, 159, 104, 158, 156, 160, 200, 157, 99, 773, 199, 5, 6, 36, 1, 39, 53, -98, -98, -98, -98, -98, 3, 6, 36, 1, 559, 560, 774, 27, 6, 36, 1, 13, 26, 50, 3, 38, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -97, -97, -97, 108, -97, 127, -97, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 5, 6, 36, 1, 39, 53, -100, -100, -100, -100, -100, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 775, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 23, 56, 55, 21, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 108, 776, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 777, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 4, 69, 1, 2, 2, -77, -77, -77, -77, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -341, -341, -341, -341, -341, 108, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, 126, -341, -341, -341, 778, -341, -341, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -342, -342, -342, -342, -342, 108, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, 779, -342, -342, 126, -342, -342, -342, -342, -342, -342, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -346, -346, -346, -346, -346, 108, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, 126, -346, -346, -346, -346, -346, -346, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -350, -350, -350, -350, -350, 108, -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, 126, -350, -350, -350, -350, -350, -350, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 780, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 781, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, 61, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, 6, 6, 32, 4, 1, 39, 33, -144, -144, -144, -144, -144, -144, 24, 6, 37, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -58, -58, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 782, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 783, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, 24, 39, 3, 14, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 784, 163, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 24, 39, 3, 14, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 785, 163, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, 1, 64, 786, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, 3, 6, 36, 1, 638, 639, 787, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, 3, 6, 36, 1, 646, 647, 788, 5, 6, 36, 1, 39, 15, -293, -293, -293, -293, -293, 3, 6, 36, 1, 663, 664, 789, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 790, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 1, 134, 791, 5, 6, 36, 1, 39, 53, -209, -209, -209, -209, -209, 1, 111, 792, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, 23, 43, 13, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 793, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 794, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 795, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -348, -348, -348, -348, -348, 108, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, 126, -348, -348, -348, -348, -348, -348, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -352, -352, -352, -352, -352, 108, -352, -352, -352, -352, -352, -352, -352, -352, -352, -352, -352, -352, -352, 126, -352, -352, -352, -352, -352, -352, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 24, 39, 3, 14, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 796, 163, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 24, 39, 3, 14, 76, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 797, 163, 108, 127, 126, 96, 97, 124, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, 3, 68, 1, 1, 798, 105, 106, 5, 6, 36, 1, 39, 53, -229, -229, -229, -229, -229, 5, 6, 36, 1, 39, 53, -252, -252, -252, -252, -252, 5, 6, 32, 4, 1, 39, -284, -284, -284, -284, -284, 43, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 3, 14, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -345, -345, -345, -345, -345, 108, -345, -345, 801, -345, -345, -345, -345, 799, -345, -345, -345, 800, -345, -345, 126, -345, -345, -345, -345, -345, -345, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 802, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, 1, 111, 803, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -343, -343, -343, -343, -343, 108, -343, -343, -343, -343, -343, -343, -343, -343, -343, -343, -343, -343, -343, 126, -343, -343, -343, -343, -343, -343, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 42, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -344, -344, -344, -344, -344, 108, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, 126, -344, -344, -344, -344, -344, -344, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, 41, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 17, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, 13, 1, 5, 32, 4, 1, 32, 7, 15, 75, 2, 1, 17, 1, -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, 1, 135, 804, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 805, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 6, 6, 32, 4, 1, 54, 38, -139, -139, -139, -139, -139, -139, 43, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 3, 14, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -347, -347, -347, -347, -347, 108, -347, -347, 801, -347, -347, -347, -347, 806, -347, -347, -347, 807, -347, -347, 126, -347, -347, -347, -347, -347, -347, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 13, 6, 30, 6, 1, 39, 24, 1, 1, 1, 1, 2, 23, 19, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, 43, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 3, 14, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -346, -346, -346, -346, -346, 108, -346, -346, 801, -346, -346, -346, -346, 808, -346, -346, -346, -346, -346, -346, 126, -346, -346, -346, -346, -346, -346, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 1, 135, 809, 100, 7, 2, 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, 5, 6, 1, 1, 1, 1, 4, 5, 3, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 810, 166, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 67, 92, 33, 53, 171, 54, 55, 56, 87, 104, 66, 73, 74, 100, 101, 105, 106, 76, 102, 103, 37, 34, 75, 77, 78, 79, 80, 81, 93, 83, 35, 40, 39, 84, 85, 69, 170, 90, 91, 72, 52, 36, 38, 41, 88, 89, 99, 62, 64, 70, 71, 86, 59, 65, 82, 60, 96, 97, 61, 98, 49, 63, 57, 94, 58, 95, 172, 173, 174, 46, 47, 48, 50, 51, 1, 135, 811, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, 43, 1, 5, 32, 4, 1, 13, 2, 17, 7, 11, 4, 14, 4, 3, 14, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -348, -348, -348, -348, -348, 108, -348, -348, 801, -348, -348, -348, -348, 812, -348, -348, -348, -348, -348, -348, 126, -348, -348, -348, -348, -348, -348, 125, 110, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, 1, 135, 813, 57, 1, 5, 30, 2, 3, 1, 1, 1, 1, 11, 1, 1, 11, 1, 5, 7, 11, 4, 9, 1, 1, 1, 1, 1, 1, 3, 10, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203], t = [], p = 0, n, o, k2, a;
2618
+ let d = [101, 1, 2, 1, 1, 2, 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, 5, 6, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, -1, 1, 2, 3, 4, 5, 6, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 1, 1, 0, 2, 1, 5, -2, 101, 5, 1, 5, 34, 21, 101, -3, -3, -3, -3, -3, 31, 1, 5, 29, 4, 1, 21, 7, 16, 38, 40, 1, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -6, -6, -6, -6, -6, -6, -6, -6, 121, -6, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 9, 1, 5, 29, 4, 1, 21, 7, 16, 78, -7, -7, -7, -7, -7, -7, -7, -7, -7, 14, 1, 5, 29, 4, 1, 21, 7, 16, 78, 1, 1, 1, 17, 1, -8, -8, -8, -8, -8, -8, -8, -8, -8, 124, 90, 91, 122, 123, 54, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 6, 3, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -13, -13, -250, -13, -13, -13, -250, -250, -13, -13, -13, -13, -13, 125, 127, 128, 129, 130, 131, -13, 132, -13, 133, -13, -13, -13, -13, 126, 134, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 47, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 135, 136, 137, 138, 139, -14, 140, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, 9, 1, 5, 29, 4, 1, 21, 7, 16, 78, -47, -47, -47, -47, -47, -47, -47, -47, -47, 9, 1, 5, 29, 4, 1, 21, 7, 16, 78, -48, -48, -48, -48, -48, -48, -48, -48, -48, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -173, -173, -173, -173, 142, -173, -173, 143, 144, 145, -173, -173, -173, -173, 141, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, 18, 6, 26, 2, 1, 4, 1, 7, 2, 19, 14, 1, 2, 1, 18, 5, 1, 1, 10, -127, 150, 146, -127, -127, -127, 153, 98, -127, 151, 155, 154, 149, -127, 147, 148, 152, 93, 100, 5, 2, 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, 4, 1, 2, 4, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 157, 4, 5, 6, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 156, 30, 158, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 97, 7, 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, 5, 6, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 159, 160, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 97, 7, 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, 5, 6, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 162, 163, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 164, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 170, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 171, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 172, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 173, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 45, 14, 1, 17, 5, 10, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 9, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 25, 15, 25, 175, 176, 86, 177, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 165, 166, 84, 85, 66, 174, 33, 35, 38, 82, 83, 93, 80, 76, 169, 45, 14, 1, 17, 5, 10, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 9, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 25, 15, 25, 175, 176, 86, 177, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 165, 166, 84, 85, 66, 178, 33, 35, 38, 82, 83, 93, 80, 76, 169, 61, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, 179, 180, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, 181, 96, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 183, 182, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 184, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 5, 7, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, 185, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, 2, 36, 3, 186, 158, 2, 36, 3, 187, 158, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, 14, 32, 15, 2, 33, 1, 2, 25, 1, 5, 5, 2, 4, 44, 1, 150, 153, 98, 151, 77, 154, 193, 152, 191, 93, 188, 189, 190, 192, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 194, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 195, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 88, 1, 5, 8, 1, 17, 3, 1, 1, 2, 1, 7, 2, 3, 1, 1, 1, 1, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 5, 2, 1, 1, 1, 1, 2, 1, 1, 1, 3, 6, 3, 1, 1, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 2, 1, 1, 4, 16, 5, 10, 1, 2, 1, 3, 1, 1, 12, 1, 3, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -197, -197, 175, 176, 86, -197, 196, 177, 158, -197, 67, 98, 68, 94, 95, 99, 100, -197, 70, 96, 97, 34, -197, 31, 69, 71, 72, 73, 74, 75, -197, 87, 77, -197, 81, -197, 32, 37, 36, 78, 79, -197, 165, -197, 166, 84, 85, 66, 198, 33, 35, 38, 82, 83, 93, -197, -197, -197, -197, 197, 80, -197, 76, -197, -197, -197, -197, -197, -197, -197, -197, 169, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 199, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 200, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 131, 1, 5, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 1, 3, 3, 1, 1, 1, 3, 1, 1, 1, 1, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 5, 2, 1, 1, 1, 1, 2, 1, 1, 1, 3, 6, 2, 1, 1, 1, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, 2, 8, 7, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 5, 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, -49, -49, 201, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, -49, 30, 202, -49, 50, 60, 67, 203, 98, 68, 94, 95, 99, 100, -49, 70, 96, 97, 34, -49, 31, 69, 71, 72, 73, 74, 75, -49, 87, 77, -49, 81, -49, 32, 37, 36, 78, 79, -49, 63, 165, -49, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, -49, -49, -49, -49, 58, 64, 65, 80, -49, 53, 59, 76, -49, 54, -49, -49, 55, 92, -49, -49, -49, 46, 57, 51, 88, 52, 89, -49, -49, 167, 168, 169, 43, 44, 45, 47, 48, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, 2, 32, 17, 204, 98, 6, 15, 29, 59, 2, 1, 1, 206, 205, 39, 40, 84, 85, 105, 1, 5, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 1, 3, 3, 1, 2, 3, 1, 1, 1, 1, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 1, 1, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -118, -118, 207, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, -118, 30, 208, -118, 50, 60, 67, 98, 68, 94, 95, 99, 100, -118, 70, 96, 97, 34, -118, 31, 69, 71, 72, 73, 74, 75, 87, 77, -118, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, -118, 54, -118, -118, 55, 92, 46, 57, 51, 88, 52, 89, -118, -118, 167, 168, 169, 43, 44, 45, 47, 48, 9, 32, 17, 5, 1, 1, 65, 11, 1, 5, 213, 98, 209, 99, 100, 212, 210, 211, 214, 9, 27, 3, 1, 1, 17, 72, 8, 8, 4, 216, 217, 61, 218, 98, 215, 58, 219, 220, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, -72, -72, -72, -72, -72, -72, -72, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, 100, 4, 1, 2, 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, 5, 2, 4, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 221, 3, 4, 5, 6, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 222, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 107, 7, 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, 5, 2, 4, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 1, 1, 4, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 223, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 229, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 230, 31, 69, 71, 72, 73, 74, 75, 87, 77, 224, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 225, 226, 231, 228, 227, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 4, 33, 60, 2, 4, 238, 235, 236, 237, 2, 33, 60, 238, 239, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, 55, 1, 5, 27, 2, 4, 1, 10, 1, 4, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -255, -255, -255, -255, -255, -255, 240, 241, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, 1, 95, 242, 1, 95, 243, 51, 11, 20, 8, 4, 3, 3, 4, 2, 1, 7, 1, 6, 1, 1, 1, 1, 1, 8, 2, 6, 3, 8, 1, 3, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, 51, 11, 20, 8, 4, 3, 3, 4, 2, 1, 7, 1, 6, 1, 1, 1, 1, 1, 8, 2, 6, 3, 8, 1, 3, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 244, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 245, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 246, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 247, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 96, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 249, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 248, 30, 158, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 23, 6, 26, 7, 1, 9, 1, 1, 1, 1, 1, 1, 1, 12, 9, 1, 1, 2, 1, 1, 2, 1, 39, 3, -192, 257, -192, -192, 98, 258, 241, 255, 94, 95, 99, 100, -192, 256, 250, 260, 252, 259, 253, 254, 261, -192, 251, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, 45, 14, 1, 17, 5, 10, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 9, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 25, 15, 25, 175, 176, 86, 177, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 262, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 165, 166, 84, 85, 66, 263, 33, 35, 38, 82, 83, 93, 80, 76, 169, 64, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 5, 7, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 6, 7, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, 56, 1, 5, 27, 2, 4, 1, 15, 1, 2, 2, 1, 5, 2, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, 6, 54, 1, 1, 1, 2, 1, 267, 99, 100, 264, 265, 266, 103, 1, 4, 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, 5, 3, 3, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 5, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 1, 1, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, -5, 268, -5, 4, 5, 6, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, -5, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, -5, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, -5, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, -379, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 269, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 270, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 271, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 272, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 273, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 274, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 275, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 276, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 277, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 278, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 279, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 280, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 281, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 282, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 283, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 284, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 285, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, 14, 32, 15, 2, 33, 1, 2, 25, 1, 5, 5, 2, 4, 44, 1, 150, 153, 98, 151, 77, 154, 193, 152, 289, 93, 286, 287, 288, 192, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 290, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 291, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, 5, 33, 21, 1, 1, 37, 238, 292, 99, 100, 293, 2, 33, 60, 238, 294, 2, 50, 1, 295, 241, 2, 50, 1, 296, 241, 64, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 7, 1, 4, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, 297, 241, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, 64, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 7, 1, 4, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, 298, 241, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, 100, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 7, 1, 2, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 1, 2, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 4, 1, 5, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 299, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 300, 50, 60, 67, 98, 68, 94, 95, 99, 100, 304, 96, 97, 34, 302, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 306, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 301, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 303, 305, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 1, 99, 307, 1, 99, 308, 3, 33, 22, 1, -251, -251, -251, 2, 50, 1, 309, 241, 2, 50, 1, 310, 241, 64, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 7, 1, 4, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, 311, 241, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, 64, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 7, 1, 4, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, 312, 241, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 313, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 314, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 1, 99, 315, 96, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 317, 316, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 318, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 96, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 320, 319, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 321, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 96, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 323, 322, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 324, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 96, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 326, 325, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 327, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 96, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 329, 328, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 330, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 9, 6, 29, 4, 1, 28, 16, 20, 4, 17, -125, -125, -125, -125, 332, -125, 331, 333, -125, 6, 6, 29, 4, 1, 28, 36, -128, -128, -128, -128, -128, -128, 7, 6, 29, 4, 1, 28, 8, 28, -132, -132, -132, -132, -132, 334, -132, 15, 6, 26, 3, 4, 1, 7, 2, 19, 14, 1, 2, 19, 6, 1, 10, -135, 150, -135, -135, -135, 153, 98, -135, 151, 155, 154, -135, 335, 152, 93, 10, 6, 29, 4, 1, 28, 8, 28, 20, 44, 2, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, 10, 6, 29, 4, 1, 28, 8, 28, 20, 44, 2, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, 10, 6, 29, 4, 1, 28, 8, 28, 20, 44, 2, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, 10, 6, 29, 4, 1, 28, 8, 28, 20, 44, 2, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, 2, 50, 1, 240, 241, 107, 7, 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, 5, 2, 4, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 1, 1, 4, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 336, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 229, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 230, 31, 69, 71, 72, 73, 74, 75, 87, 77, 224, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 225, 226, 231, 228, 227, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, 9, 1, 5, 29, 4, 1, 21, 7, 16, 78, -122, -122, -122, -122, -122, -122, -122, -122, -122, 100, 4, 1, 2, 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, 5, 3, 3, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 338, 3, 4, 5, 6, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 337, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, 120, -368, -368, -368, -368, -368, -368, 119, -368, -368, 102, -368, -368, -368, -368, -368, -368, -368, -368, -368, 114, 115, -368, -368, 9, 1, 5, 29, 4, 1, 21, 7, 16, 78, -365, -365, -365, -365, -365, -365, -365, -365, -365, 5, 163, 1, 1, 17, 1, 124, 90, 91, 122, 123, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, 120, -369, -369, -369, -369, -369, -369, 119, -369, -369, 102, -369, -369, -369, -369, -369, -369, -369, -369, -369, 114, 115, -369, -369, 9, 1, 5, 29, 4, 1, 21, 7, 16, 78, -366, -366, -366, -366, -366, -366, -366, -366, -366, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, 120, -370, -370, -370, -370, -370, -370, 119, -370, -370, 102, -370, 106, -370, -370, -370, -370, -370, -370, -370, 114, 115, -370, -370, 18, 6, 26, 2, 1, 4, 1, 7, 2, 19, 14, 1, 2, 1, 18, 5, 1, 1, 10, -127, 150, 339, -127, -127, -127, 153, 98, -127, 151, 155, 154, 149, -127, 147, 148, 152, 93, 2, 36, 3, 156, 158, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 159, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 162, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 5, 15, 88, 2, 1, 1, 206, 165, 166, 84, 85, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, 120, -371, -371, -371, -371, -371, -371, 119, -371, -371, 102, -371, 106, -371, -371, -371, -371, -371, -371, -371, 114, 115, -371, -371, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, 120, -372, -372, -372, -372, -372, -372, 119, -372, -372, 102, -372, 106, -372, -372, -372, -372, -372, -372, -372, 114, 115, -372, -372, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, 120, -373, -373, -373, -373, -373, -373, 119, -373, -373, 102, -373, -373, -373, -373, -373, -373, -373, -373, -373, 114, 115, -373, -373, 2, 47, 74, 340, 93, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -375, -375, -170, -375, -170, -375, -375, -170, -170, -170, -170, -170, -375, -375, -170, -375, -375, -375, -170, -170, -170, -170, -170, -375, -170, -375, -170, -375, -375, -375, -375, -170, -170, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, 13, 33, 22, 1, 36, 3, 1, 1, 1, 1, 2, 14, 28, 1, -250, -250, -250, 125, 127, 128, 129, 130, 131, 132, 133, 126, 134, 6, 95, 1, 1, 1, 1, 2, 135, 136, 137, 138, 139, 140, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -376, -376, -170, -376, -170, -376, -376, -170, -170, -170, -170, -170, -376, -376, -170, -376, -376, -376, -170, -170, -170, -170, -170, -376, -170, -376, -170, -376, -376, -376, -376, -170, -170, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, -378, 96, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 343, 341, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 342, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, 121, -44, -44, -44, -44, -44, 120, 90, 91, -44, -44, -44, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 344, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 345, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 3, 36, 3, 140, 346, 158, 347, 44, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 6, 1, 1, 3, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, 348, 349, 350, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, 3, 124, 44, 2, 352, 351, 353, 11, 32, 15, 2, 33, 1, 2, 25, 1, 10, 2, 49, 150, 153, 98, 151, 155, 154, 193, 152, 93, 354, 192, 11, 32, 15, 2, 33, 1, 2, 25, 1, 10, 2, 49, 150, 153, 98, 151, 155, 154, 193, 152, 93, 355, 192, 3, 36, 3, 130, 356, 158, 357, 4, 68, 56, 44, 2, 358, -344, -344, -344, 5, 68, 8, 48, 44, 2, -342, 359, -342, -342, -342, 23, 39, 83, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 360, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 3, 174, 2, 1, 361, 362, 363, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 364, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 60, 1, 5, 27, 2, 1, 2, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -201, -201, -170, -201, 365, -170, 158, -201, -170, -170, -170, -170, -170, -201, -201, -170, -201, -201, -201, -170, -170, -170, -170, -170, -201, -170, -201, -170, -201, -201, -201, -201, 366, -170, -170, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, 120, -298, -298, -298, -298, -298, -298, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 2, 47, 74, 367, 93, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, 120, -50, -50, -50, -50, -50, -50, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 2, 47, 74, 368, 93, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 369, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 3, 33, 3, 3, 370, 371, 158, 9, 1, 5, 29, 4, 1, 21, 7, 16, 78, -367, -367, -367, -367, -367, -367, -367, -367, -367, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, 31, 1, 5, 29, 4, 1, 21, 7, 16, 38, 40, 1, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -116, -116, -116, -116, -116, -116, -116, -116, 121, -116, 120, -116, -116, -116, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 2, 47, 74, 372, 93, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, 2, 48, 20, 373, 374, 1, 48, 375, 7, 32, 7, 10, 76, 9, 1, 2, 380, 379, 98, 376, 377, 378, 381, 2, 48, 20, -221, -221, 1, 136, 382, 7, 32, 7, 10, 76, 12, 3, 2, 387, 386, 98, 383, 388, 384, 385, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, 1, 76, 389, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 390, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 391, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 1, 48, 392, 2, 6, 156, 101, 393, 99, 4, 1, 2, 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, 5, 6, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 394, 3, 4, 5, 6, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 31, 6, 29, 4, 1, 28, 16, 2, 36, 28, 1, 12, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -272, -272, -272, -272, -272, -272, 306, 121, 395, 305, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, 103, 7, 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, 5, 6, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 6, 2, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 336, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 230, 31, 69, 71, 72, 73, 74, 75, 87, 77, 396, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 398, 397, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 9, 6, 29, 4, 1, 28, 16, 24, 17, 24, -125, -125, -125, -125, 400, -125, 401, -125, 399, 56, 6, 5, 20, 8, 1, 3, 3, 3, 4, 2, 1, 7, 1, 4, 2, 1, 1, 1, 1, 1, 8, 1, 1, 1, 5, 3, 8, 1, 3, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, 402, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, 5, 6, 33, 1, 28, 16, -276, -276, -276, -276, -276, 106, 7, 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, 5, 2, 4, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 7, 1, 2, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 1, 1, 4, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 336, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 229, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 230, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 404, 403, 231, 228, 227, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 56, 6, 5, 20, 8, 1, 3, 3, 3, 4, 2, 1, 7, 1, 4, 2, 1, 1, 1, 1, 1, 8, 1, 1, 1, 5, 3, 8, 1, 3, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, 5, 6, 33, 1, 28, 16, -281, -281, -281, -281, -281, 6, 6, 29, 4, 1, 28, 16, -273, -273, -273, -273, -273, -273, 6, 6, 29, 4, 1, 28, 16, -274, -274, -274, -274, -274, -274, 100, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 1, 3, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, -275, 405, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, -275, 30, -275, -275, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, -275, 31, 69, 71, 72, 73, 74, 75, 87, 77, -275, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 54, 1, 5, 27, 2, 4, 1, 15, 1, 5, 5, 2, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, 2, 50, 1, 406, 241, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 407, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 408, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 103, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 4, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 6, 1, 6, 4, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 336, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 409, 30, 412, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 410, 80, 411, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 54, 1, 5, 27, 2, 4, 1, 15, 1, 5, 5, 2, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, 2, 50, 1, 413, 241, 2, 50, 1, 414, 241, 24, 36, 3, 83, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 415, 158, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 24, 36, 3, 83, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 416, 158, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, 121, -302, -302, 417, -302, -302, 120, 90, 91, -302, -302, -302, -302, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 121, -304, -304, 418, -304, -304, 120, 90, 91, -304, -304, -304, -304, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, 121, -311, -311, -311, -311, -311, 120, 90, 91, -311, -311, -311, -311, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 6, 6, 33, 1, 28, 12, 45, -82, -82, -82, -82, 419, -82, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, -125, -125, -125, 421, -125, 420, -125, 7, 6, 33, 1, 28, 8, 4, 45, -91, -91, -91, -91, 422, -91, -91, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 423, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 3, 50, 1, 32, 240, 241, 424, 6, 6, 33, 1, 28, 12, 45, -94, -94, -94, -94, -94, -94, 5, 6, 33, 1, 28, 57, -193, -193, -193, -193, -193, 15, 6, 27, 6, 1, 28, 8, 4, 15, 1, 1, 1, 1, 2, 24, 19, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, 15, 6, 27, 6, 1, 28, 8, 4, 15, 1, 1, 1, 1, 2, 24, 19, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, 15, 6, 27, 6, 1, 28, 8, 4, 15, 1, 1, 1, 1, 2, 24, 19, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, 5, 6, 33, 1, 28, 57, -83, -83, -83, -83, -83, 17, 32, 15, 2, 1, 1, 30, 1, 3, 2, 1, 1, 1, 1, 3, 27, 25, 15, 257, 427, 98, 258, 241, 425, 259, 81, 426, 428, 429, 430, 431, 432, 93, 80, 76, 54, 1, 5, 27, 2, 4, 1, 15, 1, 5, 5, 2, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -177, -177, -177, -177, -177, -177, -177, -177, -177, 433, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, 6, 54, 1, 1, 2, 1, 1, 267, 99, 100, 434, 435, 266, 4, 55, 1, 2, 2, -61, -61, -61, -61, 101, 4, 1, 2, 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, 5, 2, 4, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 5, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 436, 3, 4, 5, 6, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 437, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 438, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 4, 55, 1, 2, 2, -66, -66, -66, -66, 5, 1, 5, 34, 21, 101, -4, -4, -4, -4, -4, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -380, -380, -380, -380, -380, -380, -380, -380, -380, -380, -380, -380, -380, -380, -380, -380, -380, -380, 120, -380, -380, -380, -380, -380, -380, 119, -380, -380, 102, 105, 106, -380, -380, -380, -380, -380, -380, -380, 114, 115, -380, -380, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, -381, 120, -381, -381, -381, -381, -381, -381, 119, -381, -381, 102, 105, 106, -381, -381, -381, -381, -381, -381, -381, 114, 115, -381, -381, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, -382, 120, -382, -382, -382, -382, -382, -382, 119, -382, -382, 102, -382, 106, -382, -382, -382, -382, -382, -382, -382, 114, 115, -382, -382, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -383, -383, -383, -383, -383, -383, -383, -383, -383, -383, -383, -383, -383, -383, -383, -383, -383, -383, 120, -383, -383, -383, -383, -383, -383, 119, -383, -383, 102, -383, 106, -383, -383, -383, -383, -383, -383, -383, 114, 115, -383, -383, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -384, -384, -384, -384, -384, -384, -384, -384, -384, -384, -384, -384, -384, -384, -384, -384, -384, -384, 120, -384, -384, -384, -384, -384, -384, 119, 104, 103, 102, 105, 106, -384, -384, -384, -384, -384, -384, -384, 114, 115, -384, -384, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, 120, -385, -385, -385, -385, -385, -385, 119, 104, 103, 102, 105, 106, 107, -385, -385, -385, -385, -385, -385, 114, 115, 116, -385, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, 120, -386, -386, -386, -386, -386, -386, 119, 104, 103, 102, 105, 106, 107, 108, -386, -386, -386, -386, -386, 114, 115, 116, -386, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, -387, 120, -387, -387, -387, -387, -387, -387, 119, 104, 103, 102, 105, 106, 107, 108, 109, -387, -387, -387, -387, 114, 115, 116, -387, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, 120, -388, -388, -388, -388, -388, -388, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, -388, -388, -388, 114, 115, 116, -388, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, -389, 120, -389, -389, -389, -389, -389, -389, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, -389, -389, 114, 115, 116, -389, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, -390, 120, -390, -390, -390, -390, -390, -390, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, -390, 114, 115, 116, -390, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, -391, 121, -391, -391, -391, -391, -391, 120, 90, 91, -391, -391, -391, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, 121, -392, -392, -392, -392, -392, 120, 90, 91, -392, -392, -392, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, 120, -393, -393, -393, -393, -393, -393, 119, 104, 103, 102, 105, 106, 107, -393, -393, -393, -393, -393, -393, 114, 115, -393, -393, 23, 80, 42, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 439, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, 121, -362, -362, -362, -362, -362, 120, 90, 91, -362, -362, -362, -362, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, 121, -364, -364, -364, -364, -364, 120, 90, 91, -364, -364, -364, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 3, 124, 44, 2, 441, 440, 442, 11, 32, 15, 2, 33, 1, 2, 25, 1, 10, 2, 49, 150, 153, 98, 151, 155, 154, 193, 152, 93, 443, 192, 11, 32, 15, 2, 33, 1, 2, 25, 1, 10, 2, 49, 150, 153, 98, 151, 155, 154, 193, 152, 93, 444, 192, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 445, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, 121, -361, -361, -361, -361, -361, 120, 90, 91, -361, -361, -361, -361, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -363, -363, -363, -363, -363, -363, -363, -363, -363, -363, -363, -363, 121, -363, -363, -363, -363, -363, 120, 90, 91, -363, -363, -363, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 54, 1, 5, 27, 2, 4, 1, 15, 1, 5, 5, 2, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, 54, 1, 5, 27, 2, 4, 1, 15, 1, 5, 5, 2, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, 54, 1, 5, 27, 2, 4, 1, 15, 1, 5, 5, 2, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, -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, -144, -144, -144, -144, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, 26, 86, 14, 22, 28, 1, 12, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 306, 446, 121, 447, 305, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 98, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 1, 2, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 4, 1, 5, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 448, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 306, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 449, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 303, 305, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 1, 100, 450, 1, 100, 451, 96, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 3, 3, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 6, 2, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 452, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, -266, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, -266, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -73, -73, -73, -73, -73, -73, -73, -73, -73, 453, -73, -73, -73, -73, -73, -73, -73, -73, -70, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, 52, 11, 20, 9, 3, 3, 3, 4, 2, 1, 7, 1, 6, 1, 1, 1, 1, 1, 8, 2, 6, 3, 6, 2, 1, 3, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, 52, 11, 20, 9, 3, 3, 3, 4, 2, 1, 7, 1, 6, 1, 1, 1, 1, 1, 8, 2, 6, 3, 6, 2, 1, 3, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, 99, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 1, 2, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 4, 1, 5, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 454, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 455, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 306, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 456, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 303, 305, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 457, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 458, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, 23, 100, 22, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 459, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 460, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 461, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 462, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, 120, -79, -79, -79, -79, -79, -79, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 463, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 464, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, 121, -32, -32, -32, -32, -32, 120, 90, 91, -32, -32, -32, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 465, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 466, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, 121, -35, -35, -35, -35, -35, 120, 90, 91, -35, -35, -35, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 467, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 468, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, 121, -38, -38, -38, -38, -38, 120, 90, 91, -38, -38, -38, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 469, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 470, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, 121, -41, -41, -41, -41, -41, 120, 90, 91, -41, -41, -41, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 471, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 472, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 3, 105, 1, 1, 473, 84, 85, 17, 6, 26, 3, 4, 1, 7, 2, 33, 1, 1, 1, 1, 23, 1, 1, 10, 4, -126, 150, -126, -126, -126, 153, 98, 151, 155, -126, 154, 149, 474, 148, 152, 93, -126, 2, 6, 33, 475, 476, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 477, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 6, 6, 29, 4, 1, 28, 36, -134, -134, -134, -134, -134, -134, 28, 6, 29, 4, 1, 28, 16, 38, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -272, -272, -272, -272, -272, -272, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 57, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 7, 1, 3, 2, 1, 3, 1, 1, 5, 2, 5, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, 2, 6, 34, 101, 478, 9, 6, 29, 4, 1, 28, 16, 20, 4, 17, -125, -125, -125, -125, 332, -125, 479, 333, -125, 1, 40, 480, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -395, -395, -395, -395, -395, -395, -395, -395, -395, -395, -395, -395, -395, -395, -395, -395, -395, -395, 120, -395, -395, -395, -395, -395, -395, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 481, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 482, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, 121, -45, -45, -45, -45, -45, 120, 90, 91, -45, -45, -45, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 483, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 484, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 7, 4, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, 485, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, 2, 36, 3, 486, 158, 6, 32, 4, 3, 8, 2, 72, 487, 489, 158, 488, 98, 93, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 490, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 491, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 492, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 1, 124, 493, 1, 170, 494, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 495, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 10, 32, 15, 2, 33, 1, 2, 25, 1, 10, 51, 150, 153, 98, 151, 155, 154, 193, 152, 93, 496, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 497, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 3, 174, 2, 1, 498, 362, 363, 4, 40, 135, 1, 1, 499, 500, 501, 363, 3, 40, 135, 2, -350, -350, -350, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 9, 1, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 503, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 502, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 43, 1, 5, 29, 1, 3, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -199, -199, -199, 504, 158, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, 120, -199, -199, -199, -199, -199, -199, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 505, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 1, 40, 506, 1, 40, 507, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, 120, -52, -52, -52, -52, -52, -52, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 18, 6, 26, 2, 1, 4, 1, 7, 2, 19, 14, 1, 2, 1, 18, 5, 1, 1, 10, -127, 150, 508, -127, -127, -127, 153, 98, -127, 151, 155, 154, 149, -127, 147, 148, 152, 93, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, 1, 40, 509, 3, 54, 1, 1, 510, 99, 100, 3, 121, 12, 5, 512, 511, 214, 3, 54, 1, 1, 513, 99, 100, 1, 48, 514, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, -125, -125, -125, 516, -125, 515, -125, 5, 6, 33, 1, 28, 57, -212, -212, -212, -212, -212, 6, 32, 7, 10, 85, 1, 2, 380, 379, 98, 517, 378, 381, 6, 6, 33, 1, 28, 57, 11, -217, -217, -217, -217, -217, 518, 6, 6, 33, 1, 28, 57, 11, -219, -219, -219, -219, -219, 519, 2, 32, 17, 520, 98, 14, 1, 5, 29, 4, 1, 8, 13, 7, 16, 78, 2, 1, 17, 1, -223, -223, -223, -223, -223, 521, -223, -223, -223, -223, -223, -223, -223, -223, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, -125, -125, -125, 523, -125, 522, -125, 5, 6, 33, 1, 28, 57, -235, -235, -235, -235, -235, 6, 32, 7, 10, 88, 3, 2, 387, 386, 98, 388, 524, 385, 6, 6, 33, 1, 28, 57, 11, -240, -240, -240, -240, -240, 525, 6, 6, 33, 1, 28, 57, 11, -243, -243, -243, -243, -243, 526, 96, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 528, 527, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 529, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 31, 1, 5, 29, 4, 1, 21, 7, 16, 38, 40, 1, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -230, -230, -230, -230, -230, -230, -230, -230, 121, -230, 120, 90, 91, -230, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 2, 47, 74, 530, 93, 3, 54, 1, 1, 531, 99, 100, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, 2, 6, 34, 101, 532, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 533, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, 56, 6, 5, 20, 8, 1, 3, 3, 3, 4, 2, 1, 7, 1, 4, 2, 1, 1, 1, 1, 1, 8, 1, 1, 1, 5, 3, 8, 1, 3, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, 402, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, 5, 6, 33, 1, 28, 16, -282, -282, -282, -282, -282, 2, 39, 45, 535, 534, 110, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 1, 3, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 4, 2, 8, 7, 1, 5, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, -126, 336, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, -126, 30, -126, -126, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 230, 31, 69, 71, 72, 73, 74, 75, 87, 77, -126, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, -126, 58, 64, 65, 80, 537, 231, 536, 227, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 4, 6, 33, 1, 44, 538, -283, -283, -283, 56, 6, 5, 20, 8, 1, 3, 3, 3, 4, 2, 1, 7, 1, 4, 2, 1, 1, 1, 1, 1, 8, 1, 1, 1, 5, 3, 8, 1, 3, 1, 12, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 3, 1, 2, 4, 2, 6, 2, 3, 1, 1, 1, 1, 1, 1, 1, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, 9, 6, 29, 4, 1, 28, 16, 24, 17, 24, -125, -125, -125, -125, 400, -125, 401, -125, 539, 102, 7, 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, 5, 6, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 7, 1, 2, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 6, 2, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 336, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 230, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 398, 397, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 28, 6, 29, 4, 1, 28, 16, 38, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -140, -140, -140, -140, -140, -140, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, 23, 100, 22, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 540, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 541, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 54, 1, 5, 27, 2, 4, 1, 15, 1, 5, 5, 2, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, -125, -125, -125, 543, -125, 542, -125, 5, 6, 29, 4, 1, 28, -267, -267, -267, -267, -267, 102, 7, 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, 5, 2, 4, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 6, 1, 6, 4, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 336, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 412, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 544, 80, 411, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 5, 7, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 5, 7, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, 545, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 546, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 547, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 548, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 549, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 3, 6, 33, 86, 551, 552, 550, 23, 6, 26, 3, 4, 1, 9, 1, 1, 1, 1, 1, 1, 1, 21, 1, 1, 2, 1, 1, 1, 1, 1, 39, -126, 257, -126, -126, -126, 98, 258, 241, 255, 94, 95, 99, 100, 553, 554, 260, 252, 259, 253, -126, 254, 261, -126, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 555, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 556, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 23, 84, 38, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 557, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 558, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 16, 6, 27, 6, 1, 15, 1, 12, 24, 3, 1, 1, 1, 1, 2, 24, 19, -95, -97, -95, -95, -250, -250, -95, 559, -97, -97, -97, -97, -97, -97, -95, 134, 16, 6, 27, 6, 1, 15, 1, 12, 24, 3, 1, 1, 1, 1, 2, 24, 19, -96, -250, -96, -96, -250, -250, -96, 560, 561, 562, 563, 564, 565, 566, -96, 134, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, 7, 33, 22, 1, 36, 3, 4, 45, -250, -250, -250, 567, 236, 237, 134, 2, 33, 60, 238, 568, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, -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, -68, 56, 1, 5, 27, 2, 4, 1, 15, 1, 2, 2, 1, 5, 2, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, 4, 55, 1, 2, 2, -62, -62, -62, -62, 2, 6, 55, 101, 569, 99, 4, 1, 2, 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, 5, 6, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 570, 3, 4, 5, 6, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 4, 55, 1, 2, 2, -65, -65, -65, -65, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 571, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 572, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 573, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 574, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 1, 124, 575, 1, 170, 576, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 577, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, 96, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 3, 3, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 6, 2, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 578, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, -264, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, -264, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 26, 40, 46, 36, 28, 1, 12, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 579, 306, 121, 447, 305, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1, 40, 580, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, 24, 40, 60, 22, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -265, -265, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 581, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 26, 86, 14, 22, 28, 1, 12, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 306, 582, 121, 447, 305, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 98, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 1, 2, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 4, 1, 5, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 583, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 306, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 584, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 303, 305, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 1, 100, 585, 23, 100, 22, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 586, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 587, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 588, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 23, 100, 22, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 589, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 590, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, 120, -80, -80, -80, -80, -80, -80, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 591, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 121, -33, -33, -33, -33, -33, 120, 90, 91, -33, -33, -33, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 592, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, 121, -36, -36, -36, -36, -36, 120, 90, 91, -36, -36, -36, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 593, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, 121, -39, -39, -39, -39, -39, 120, 90, 91, -39, -39, -39, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 594, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, 121, -42, -42, -42, -42, -42, 120, 90, 91, -42, -42, -42, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 595, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 100, 5, 2, 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, 4, 1, 2, 4, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 597, 4, 5, 6, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 596, 30, 158, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 6, 6, 29, 4, 1, 28, 36, -129, -129, -129, -129, -129, -129, 11, 32, 15, 2, 33, 1, 2, 1, 23, 1, 1, 10, 150, 153, 98, 151, 155, 154, 149, 598, 148, 152, 93, 18, 6, 26, 2, 1, 4, 1, 7, 2, 19, 14, 1, 2, 1, 18, 5, 1, 1, 10, -127, 150, 599, -127, -127, -127, 153, 98, -127, 151, 155, 154, 149, -127, 147, 148, 152, 93, 28, 6, 29, 4, 1, 28, 36, 18, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -133, -133, -133, -133, -133, -133, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 57, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 7, 1, 3, 2, 1, 3, 1, 1, 5, 2, 5, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, 3, 105, 1, 1, 600, 84, 85, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 601, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -397, -397, -397, -397, -397, -397, -397, -397, -397, -397, -397, -397, -397, -397, -397, -397, -397, -397, 120, -397, -397, -397, -397, -397, -397, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, 24, 36, 3, 83, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 602, 158, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 2, 36, 3, 603, 158, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, 2, 36, 3, 604, 158, 2, 36, 3, 605, 158, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 7, 4, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, 26, 36, 3, 83, 4, 37, 1, 1, 4, 13, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 606, 158, 121, 607, 120, 90, 91, 608, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 25, 36, 3, 83, 4, 37, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 609, 158, 121, 610, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 25, 36, 3, 83, 4, 37, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 611, 158, 121, 612, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 613, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 614, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 24, 36, 3, 83, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 615, 158, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 3, 124, 44, 2, -345, -345, -345, 26, 68, 54, 2, 39, 1, 1, 3, 2, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -343, 121, -343, 120, 90, 91, -343, -343, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 4, 40, 135, 1, 1, 616, 617, 501, 363, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, 2, 36, 3, 618, 158, 3, 40, 135, 2, -351, -351, -351, 3, 36, 3, 29, 619, 158, 620, 24, 39, 29, 54, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -289, -289, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, 43, 1, 5, 29, 1, 3, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -203, -203, -203, 621, 158, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, 120, -203, -203, -203, -203, -203, -203, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, 622, -125, -125, 332, -125, 333, -125, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, 1, 48, 623, 6, 32, 7, 10, 85, 1, 2, 380, 379, 98, 624, 378, 381, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, 3, 54, 1, 1, 625, 99, 100, 3, 6, 33, 86, 627, 628, 626, 10, 6, 26, 3, 4, 1, 9, 35, 41, 10, 2, -126, 380, -126, -126, -126, 98, -126, -126, 629, 381, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, -125, -125, -125, 516, -125, 630, -125, 2, 32, 17, 631, 98, 2, 32, 17, 632, 98, 1, 48, -222, 3, 54, 1, 1, 633, 99, 100, 3, 6, 33, 86, 635, 636, 634, 10, 6, 26, 3, 4, 1, 9, 35, 41, 12, 5, -126, 387, -126, -126, -126, 98, -126, -126, 388, 637, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, -125, -125, -125, 523, -125, 638, -125, 3, 32, 17, 88, 639, 98, 640, 2, 32, 17, 641, 98, 31, 1, 5, 29, 4, 1, 21, 7, 16, 38, 40, 1, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -227, -227, -227, -227, -227, -227, -227, -227, 121, -227, 120, -227, -227, -227, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 642, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 643, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 1, 40, 644, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, 1, 162, 645, 23, 84, 38, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 646, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, 106, 7, 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, 5, 2, 4, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 7, 1, 2, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 1, 1, 4, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 336, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 229, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 230, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 404, 647, 231, 228, 227, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 5, 6, 33, 1, 28, 16, -277, -277, -277, -277, -277, 105, 7, 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, 5, 2, 1, 3, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 6, 2, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 336, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, -284, -284, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 230, 31, 69, 71, 72, 73, 74, 75, 87, 77, -284, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 398, 397, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 104, 7, 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, 5, 6, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 7, 1, 2, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 1, 5, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 336, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 230, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 404, 231, 648, 227, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 2, 39, 1, 535, 649, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 650, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 3, 6, 29, 4, 652, 651, 653, 106, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 1, 3, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 4, 2, 8, 7, 6, 4, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, -126, 336, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, -126, 30, -126, -126, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, -126, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, -126, 58, 64, 65, 80, 654, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, -125, -125, -125, 543, -125, 655, -125, 2, 36, 3, 656, 158, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, 120, -303, -303, -303, -303, -303, -303, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 120, -305, -305, -305, -305, -305, -305, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 27, 6, 33, 1, 28, 54, 3, 38, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -84, -84, -84, -84, 657, -84, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 658, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, 17, 32, 17, 1, 1, 1, 1, 1, 1, 1, 21, 1, 1, 2, 1, 1, 2, 1, 257, 98, 258, 241, 255, 94, 95, 99, 100, 659, 554, 260, 252, 259, 253, 254, 261, 23, 6, 26, 7, 1, 9, 1, 1, 1, 1, 1, 1, 1, 12, 9, 1, 1, 2, 1, 1, 2, 1, 39, 3, -192, 257, -192, -192, 98, 258, 241, 255, 94, 95, 99, 100, -192, 256, 554, 260, 252, 259, 253, 254, 261, -192, 660, 5, 6, 33, 1, 28, 57, -194, -194, -194, -194, -194, 6, 6, 33, 1, 28, 12, 45, -82, -82, -82, -82, 661, -82, 27, 6, 33, 1, 28, 54, 3, 38, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -86, -86, -86, -86, 121, -86, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 662, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 6, 6, 33, 1, 28, 12, 45, -92, -92, -92, -92, -92, -92, 23, 84, 38, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 663, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 2, 33, 60, 238, 664, 2, 33, 60, 238, 665, 2, 50, 1, 666, 241, 2, 50, 1, 667, 241, 15, 6, 27, 6, 1, 10, 1, 17, 27, 1, 1, 1, 1, 2, 24, 19, -110, -110, -110, -110, 668, 241, -110, -110, -110, -110, -110, -110, -110, -110, -110, 15, 6, 27, 6, 1, 10, 1, 17, 27, 1, 1, 1, 1, 2, 24, 19, -111, -111, -111, -111, 669, 241, -111, -111, -111, -111, -111, -111, -111, -111, -111, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 670, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 671, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 1, 99, 672, 2, 33, 60, 238, 673, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, 4, 55, 1, 2, 2, -63, -63, -63, -63, 2, 6, 34, 101, 674, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, 120, -394, -394, -394, -394, -394, -394, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, 675, -327, -327, 120, -327, -327, -327, 676, -327, -327, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, 677, -332, -332, 120, -332, -332, -332, -332, -332, -332, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, 678, -336, -336, 120, -336, -336, -336, -336, -336, -336, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 679, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 680, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, 120, -341, -341, -341, -341, -341, -341, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 24, 40, 60, 22, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -263, -263, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1, 100, 681, 1, 100, 682, 23, 100, 22, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -69, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, 26, 40, 46, 36, 28, 1, 12, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 683, 306, 121, 447, 305, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1, 40, 684, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 685, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1, 100, 686, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 687, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, 9, 1, 5, 29, 4, 1, 21, 7, 16, 78, -121, -121, -121, -121, -121, -121, -121, -121, -121, 6, 6, 29, 4, 1, 28, 36, -130, -130, -130, -130, -130, -130, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, -125, -125, -125, 332, -125, 688, -125, 2, 36, 3, 596, 158, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 5, 7, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 7, 4, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 7, 4, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 689, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 690, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 691, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 692, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 25, 36, 3, 83, 4, 37, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 693, 158, 121, 694, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 25, 36, 3, 83, 4, 37, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 695, 158, 121, 696, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, 2, 36, 3, 697, 158, 1, 40, 698, 4, 6, 34, 135, 2, 699, -352, -352, -352, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 700, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, 2, 36, 3, 701, 158, 3, 54, 1, 1, 702, 99, 100, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, -125, -125, -125, 516, -125, 703, -125, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, 1, 48, 704, 4, 32, 17, 86, 2, 380, 98, 705, 381, 6, 32, 7, 10, 85, 1, 2, 380, 379, 98, 706, 378, 381, 5, 6, 33, 1, 28, 57, -213, -213, -213, -213, -213, 3, 6, 33, 1, 627, 628, 707, 5, 6, 33, 1, 28, 57, -218, -218, -218, -218, -218, 5, 6, 33, 1, 28, 57, -220, -220, -220, -220, -220, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, 14, 1, 5, 29, 4, 1, 8, 13, 7, 16, 78, 2, 1, 17, 1, -224, -224, -224, -224, -224, 708, -224, -224, -224, -224, -224, -224, -224, -224, 4, 32, 17, 88, 5, 387, 98, 388, 709, 6, 32, 7, 10, 88, 3, 2, 387, 386, 98, 388, 710, 385, 5, 6, 33, 1, 28, 57, -236, -236, -236, -236, -236, 3, 6, 33, 1, 635, 636, 711, 5, 6, 33, 1, 28, 57, -241, -241, -241, -241, -241, 5, 6, 33, 1, 28, 57, -242, -242, -242, -242, -242, 5, 6, 33, 1, 28, 57, -244, -244, -244, -244, -244, 31, 1, 5, 29, 4, 1, 21, 7, 16, 38, 40, 1, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -228, -228, -228, -228, -228, -228, -228, -228, 121, -228, 120, -228, -228, -228, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 712, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, 9, 6, 29, 4, 1, 28, 16, 24, 17, 24, -125, -125, -125, -125, 400, -125, 401, -125, 713, 5, 6, 33, 1, 28, 16, -278, -278, -278, -278, -278, 5, 6, 33, 1, 28, 16, -279, -279, -279, -279, -279, 1, 100, 714, 54, 1, 5, 27, 2, 4, 1, 15, 1, 5, 5, 2, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, 100, 7, 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, 5, 6, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 6, 4, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 336, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 715, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 102, 7, 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, 5, 2, 4, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 1, 2, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 6, 1, 6, 4, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 336, 232, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 412, 50, 24, 25, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 234, 32, 37, 36, 78, 79, 63, 39, 40, 84, 85, 66, 233, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 716, 80, 411, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 41, 42, 62, 43, 44, 45, 47, 48, 5, 6, 29, 4, 1, 28, -268, -268, -268, -268, -268, 3, 6, 33, 1, 652, 653, 717, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, 14, 32, 15, 2, 33, 1, 2, 25, 1, 5, 5, 2, 4, 44, 1, 150, 153, 98, 151, 77, 154, 193, 152, 289, 93, 718, 719, 288, 192, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 720, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 5, 6, 33, 1, 28, 57, -195, -195, -195, -195, -195, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, -125, -125, -125, 421, -125, 721, -125, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 722, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 549, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 723, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 6, 6, 33, 1, 28, 12, 45, -93, -93, -93, -93, -93, -93, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, 23, 100, 22, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 724, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 725, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 95, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 4, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 726, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 727, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, 1, 61, 728, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 729, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 730, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 731, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 732, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, 733, -334, -334, 120, -334, -334, -334, -334, -334, -334, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, 734, -338, -338, 120, -338, -338, -338, -338, -338, -338, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, 1, 100, 735, 1, 100, 736, 1, 100, 737, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, 1, 100, 738, 3, 6, 33, 1, 475, 476, 739, 25, 36, 3, 83, 41, 1, 1, 4, 13, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 740, 158, 121, 120, 90, 91, 741, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 25, 36, 3, 83, 4, 37, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 742, 158, 121, 743, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 24, 36, 3, 83, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 744, 158, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 24, 36, 3, 83, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 745, 158, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 746, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 747, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 1, 40, 748, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, 3, 40, 135, 2, -353, -353, -353, 24, 39, 29, 54, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -290, -290, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, 3, 6, 33, 86, 627, 628, 749, 3, 54, 1, 1, 750, 99, 100, 5, 6, 33, 1, 28, 57, -214, -214, -214, -214, -214, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, -125, -125, -125, 516, -125, 751, -125, 5, 6, 33, 1, 28, 57, -215, -215, -215, -215, -215, 3, 54, 1, 1, 752, 99, 100, 5, 6, 33, 1, 28, 57, -237, -237, -237, -237, -237, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, -125, -125, -125, 523, -125, 753, -125, 5, 6, 33, 1, 28, 57, -238, -238, -238, -238, -238, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, 2, 39, 1, 535, 754, 53, 1, 5, 27, 2, 4, 1, 15, 1, 5, 7, 12, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, 5, 6, 29, 4, 1, 28, -269, -269, -269, -269, -269, 8, 6, 29, 4, 1, 28, 16, 24, 17, -125, -125, -125, -125, 543, -125, 755, -125, 5, 6, 29, 4, 1, 28, -270, -270, -270, -270, -270, 3, 124, 44, 2, 756, 440, 442, 11, 32, 15, 2, 33, 1, 2, 25, 1, 10, 2, 49, 150, 153, 98, 151, 155, 154, 193, 152, 93, 757, 192, 5, 6, 33, 1, 28, 57, -85, -85, -85, -85, -85, 3, 6, 33, 1, 551, 552, 758, 27, 6, 33, 1, 28, 54, 3, 38, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -84, -84, -84, -84, 121, -84, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 5, 6, 33, 1, 28, 57, -87, -87, -87, -87, -87, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 759, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 23, 100, 22, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 760, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 761, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 4, 55, 1, 2, 2, -64, -64, -64, -64, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, 120, -328, -328, -328, 762, -328, -328, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, 763, -329, -329, 120, -329, -329, -329, -329, -329, -329, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, 120, -333, -333, -333, -333, -333, -333, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, 120, -337, -337, -337, -337, -337, -337, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 764, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 765, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, 62, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 4, 13, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, -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, -169, -169, -169, -169, -169, -169, -169, -169, -169, -169, 6, 6, 29, 4, 1, 28, 36, -131, -131, -131, -131, -131, -131, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 766, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 767, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, 24, 36, 3, 83, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 768, 158, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 24, 36, 3, 83, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 769, 158, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, 1, 48, 770, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, 3, 6, 33, 1, 627, 628, 771, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, 3, 6, 33, 1, 635, 636, 772, 5, 6, 33, 1, 28, 16, -280, -280, -280, -280, -280, 3, 6, 33, 1, 652, 653, 773, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 774, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 1, 124, 775, 5, 6, 33, 1, 28, 57, -196, -196, -196, -196, -196, 1, 100, 776, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, 23, 40, 82, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 777, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 778, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 779, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, 120, -335, -335, -335, -335, -335, -335, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, 120, -339, -339, -339, -339, -339, -339, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 24, 36, 3, 83, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 780, 158, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 24, 36, 3, 83, 41, 1, 1, 17, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 781, 158, 121, 120, 90, 91, 118, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, 3, 54, 1, 1, 782, 99, 100, 5, 6, 33, 1, 28, 57, -216, -216, -216, -216, -216, 5, 6, 33, 1, 28, 57, -239, -239, -239, -239, -239, 5, 6, 29, 4, 1, 28, -271, -271, -271, -271, -271, 43, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 4, 14, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -332, -332, -332, -332, -332, -332, 785, -332, -332, -332, -332, -332, 783, -332, -332, -332, 784, -332, -332, 120, -332, -332, -332, -332, -332, -332, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 786, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, 1, 100, 787, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, 120, -330, -330, -330, -330, -330, -330, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 42, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, 120, -331, -331, -331, -331, -331, -331, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, 41, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 18, 2, 1, 1, 25, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, 13, 1, 5, 29, 4, 1, 21, 7, 16, 78, 2, 1, 17, 1, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, 1, 125, 788, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 789, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 6, 6, 29, 4, 1, 44, 41, -126, -126, -126, -126, -126, -126, 43, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 4, 14, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -334, -334, -334, -334, -334, -334, 785, -334, -334, -334, -334, -334, 790, -334, -334, -334, 791, -334, -334, 120, -334, -334, -334, -334, -334, -334, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 13, 6, 27, 6, 1, 28, 27, 1, 1, 1, 1, 2, 24, 19, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, 43, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 4, 14, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -333, -333, -333, -333, -333, -333, 785, -333, -333, -333, -333, -333, 792, -333, -333, -333, -333, -333, -333, 120, -333, -333, -333, -333, -333, -333, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1, 125, 793, 94, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 1, 2, 3, 1, 1, 1, 1, 6, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 7, 1, 2, 3, 1, 1, 1, 3, 8, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 1, 1, 7, 2, 8, 7, 10, 4, 1, 2, 1, 1, 1, 1, 4, 2, 5, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 794, 161, 26, 27, 28, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 61, 86, 30, 50, 60, 67, 98, 68, 94, 95, 99, 100, 70, 96, 97, 34, 31, 69, 71, 72, 73, 74, 75, 87, 77, 81, 32, 37, 36, 78, 79, 63, 165, 166, 84, 85, 66, 49, 33, 35, 38, 82, 83, 93, 56, 58, 64, 65, 80, 53, 59, 76, 54, 90, 91, 55, 92, 46, 57, 51, 88, 52, 89, 167, 168, 169, 43, 44, 45, 47, 48, 1, 125, 795, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 43, 1, 5, 29, 4, 1, 21, 7, 12, 4, 2, 14, 4, 4, 14, 2, 1, 1, 25, 11, 1, 1, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -335, -335, -335, -335, -335, -335, 785, -335, -335, -335, -335, -335, 796, -335, -335, -335, -335, -335, -335, 120, -335, -335, -335, -335, -335, -335, 119, 104, 103, 102, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, 1, 125, 797, 58, 1, 5, 27, 2, 3, 1, 1, 1, 1, 1, 12, 1, 5, 7, 8, 4, 4, 2, 9, 1, 1, 1, 1, 1, 1, 3, 11, 7, 2, 1, 1, 17, 1, 7, 11, 2, 1, 3, 1, 1, 12, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190], t = [], p = 0, n, o, k2, a;
2983
2619
  while (p < d.length) {
2984
2620
  n = d[p++];
2985
2621
  o = {};
@@ -2993,7 +2629,7 @@ var parserInstance = {
2993
2629
  }
2994
2630
  return t;
2995
2631
  })(),
2996
- ruleTable: [0, 0, 3, 0, 3, 1, 4, 1, 4, 3, 4, 2, 5, 1, 5, 1, 5, 1, 9, 1, 9, 1, 9, 1, 9, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 33, 6, 33, 3, 18, 3, 18, 4, 18, 5, 19, 3, 19, 4, 19, 5, 20, 3, 20, 4, 20, 5, 21, 3, 21, 2, 22, 2, 23, 2, 24, 5, 51, 1, 51, 3, 51, 2, 52, 1, 52, 1, 52, 1, 52, 1, 53, 2, 53, 3, 53, 4, 53, 3, 8, 1, 8, 1, 32, 1, 32, 2, 32, 4, 32, 3, 39, 2, 39, 3, 35, 1, 65, 1, 66, 1, 66, 1, 68, 1, 68, 3, 71, 1, 71, 2, 73, 3, 73, 5, 73, 2, 73, 1, 76, 1, 76, 3, 81, 3, 81, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 17, 3, 17, 4, 17, 5, 90, 1, 90, 1, 90, 3, 90, 5, 90, 3, 90, 5, 94, 1, 94, 1, 94, 1, 91, 1, 91, 3, 91, 4, 91, 1, 92, 2, 92, 2, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 3, 98, 2, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 2, 98, 2, 98, 4, 98, 6, 98, 5, 98, 7, 10, 2, 10, 4, 10, 1, 15, 5, 15, 2, 60, 5, 60, 2, 47, 1, 47, 1, 118, 0, 118, 1, 37, 0, 37, 1, 37, 3, 37, 4, 37, 6, 119, 1, 119, 3, 119, 2, 119, 1, 120, 1, 120, 1, 120, 1, 120, 1, 122, 2, 123, 1, 123, 1, 123, 3, 123, 3, 123, 3, 123, 3, 123, 2, 123, 2, 123, 4, 123, 6, 123, 4, 123, 6, 123, 4, 123, 5, 123, 7, 123, 5, 123, 7, 123, 5, 123, 7, 123, 3, 123, 3, 123, 3, 123, 3, 123, 2, 123, 2, 123, 4, 123, 6, 123, 5, 123, 7, 40, 1, 40, 1, 40, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 100, 3, 100, 4, 100, 6, 128, 3, 128, 3, 63, 10, 63, 12, 63, 11, 63, 13, 63, 4, 138, 0, 138, 1, 138, 3, 138, 4, 138, 6, 30, 1, 30, 2, 30, 3, 30, 4, 30, 2, 30, 3, 30, 4, 30, 5, 12, 2, 12, 4, 12, 4, 12, 5, 12, 7, 12, 6, 12, 9, 144, 1, 144, 3, 144, 4, 144, 4, 144, 6, 145, 1, 145, 3, 145, 1, 145, 3, 142, 1, 143, 3, 13, 3, 13, 5, 13, 2, 13, 2, 13, 4, 13, 5, 13, 6, 13, 3, 13, 5, 13, 4, 13, 5, 13, 7, 150, 1, 150, 3, 150, 4, 150, 4, 150, 6, 152, 1, 152, 3, 152, 3, 152, 1, 152, 3, 79, 3, 79, 3, 79, 3, 79, 2, 79, 2, 103, 0, 103, 1, 104, 2, 104, 4, 101, 1, 101, 1, 95, 2, 121, 2, 121, 3, 121, 4, 160, 1, 160, 1, 126, 5, 124, 3, 124, 2, 124, 2, 124, 1, 155, 1, 155, 3, 155, 4, 155, 4, 155, 6, 162, 1, 162, 1, 162, 1, 162, 1, 158, 1, 158, 3, 158, 4, 158, 4, 158, 6, 163, 1, 163, 2, 159, 1, 159, 2, 157, 1, 157, 2, 164, 1, 164, 2, 165, 1, 165, 3, 26, 2, 26, 3, 26, 4, 26, 5, 167, 3, 167, 3, 167, 2, 31, 2, 31, 4, 99, 3, 99, 5, 173, 2, 173, 4, 173, 2, 173, 4, 27, 2, 27, 2, 27, 2, 27, 1, 176, 2, 176, 2, 28, 5, 28, 7, 28, 7, 28, 9, 28, 9, 28, 5, 28, 7, 28, 6, 28, 8, 28, 5, 28, 7, 28, 6, 28, 8, 28, 3, 28, 5, 28, 5, 28, 7, 28, 7, 28, 9, 28, 9, 28, 5, 28, 7, 28, 6, 28, 8, 28, 5, 28, 7, 28, 6, 28, 8, 28, 3, 28, 5, 182, 1, 182, 3, 133, 1, 133, 3, 29, 5, 29, 7, 29, 4, 29, 6, 184, 1, 184, 2, 186, 3, 186, 4, 188, 3, 188, 5, 190, 3, 190, 5, 25, 1, 25, 3, 25, 1, 25, 3, 25, 3, 25, 3, 25, 3, 61, 2, 61, 2, 61, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 4, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 3, 16, 5, 16, 4, 127, 2],
2632
+ ruleTable: [0, 0, 3, 0, 3, 1, 4, 1, 4, 3, 4, 2, 5, 1, 5, 1, 5, 1, 9, 1, 9, 1, 9, 1, 9, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 30, 6, 30, 3, 18, 3, 18, 4, 18, 5, 19, 3, 19, 4, 19, 5, 20, 3, 20, 4, 20, 5, 21, 3, 21, 4, 21, 5, 21, 2, 21, 3, 21, 4, 8, 1, 8, 1, 29, 1, 29, 2, 29, 4, 29, 3, 36, 2, 36, 3, 32, 1, 50, 1, 52, 1, 52, 1, 54, 1, 54, 3, 57, 1, 57, 2, 59, 3, 59, 5, 59, 2, 59, 1, 62, 1, 62, 3, 67, 3, 67, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 17, 3, 17, 4, 17, 5, 77, 1, 77, 1, 77, 3, 77, 5, 77, 3, 77, 5, 81, 1, 81, 1, 81, 1, 78, 1, 78, 3, 78, 4, 78, 1, 79, 2, 79, 2, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 3, 87, 2, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 2, 87, 2, 87, 4, 87, 6, 87, 5, 87, 7, 10, 2, 10, 4, 10, 1, 15, 5, 15, 2, 44, 5, 44, 2, 105, 1, 105, 1, 108, 0, 108, 1, 34, 0, 34, 1, 34, 3, 34, 4, 34, 6, 109, 1, 109, 3, 109, 2, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 112, 2, 113, 1, 113, 1, 113, 3, 113, 3, 113, 3, 113, 3, 113, 2, 113, 2, 113, 4, 113, 6, 113, 4, 113, 6, 113, 4, 113, 5, 113, 7, 113, 5, 113, 7, 113, 5, 113, 7, 113, 3, 113, 3, 113, 3, 113, 3, 113, 2, 113, 2, 113, 4, 113, 6, 113, 5, 113, 7, 37, 1, 37, 1, 37, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 89, 3, 89, 4, 89, 6, 118, 3, 118, 3, 47, 10, 47, 12, 47, 11, 47, 13, 47, 4, 128, 0, 128, 1, 128, 3, 128, 4, 128, 6, 27, 1, 27, 2, 27, 3, 27, 4, 27, 2, 27, 3, 27, 4, 27, 5, 12, 2, 12, 4, 12, 4, 12, 5, 12, 7, 12, 6, 12, 9, 134, 1, 134, 3, 134, 4, 134, 4, 134, 6, 135, 1, 135, 3, 135, 1, 135, 3, 132, 1, 133, 3, 13, 3, 13, 5, 13, 2, 13, 2, 13, 4, 13, 5, 13, 6, 13, 3, 13, 5, 13, 4, 13, 5, 13, 7, 140, 1, 140, 3, 140, 4, 140, 4, 140, 6, 142, 1, 142, 3, 142, 3, 142, 1, 142, 3, 65, 3, 65, 3, 65, 3, 65, 2, 65, 2, 92, 0, 92, 1, 93, 2, 93, 4, 90, 1, 90, 1, 82, 2, 111, 2, 111, 3, 111, 4, 150, 1, 150, 1, 116, 5, 114, 3, 114, 2, 114, 2, 114, 1, 145, 1, 145, 3, 145, 4, 145, 4, 145, 6, 152, 1, 152, 1, 152, 1, 152, 1, 148, 1, 148, 3, 148, 4, 148, 4, 148, 6, 153, 1, 153, 2, 149, 1, 149, 2, 147, 1, 147, 2, 154, 1, 154, 2, 155, 1, 155, 3, 23, 2, 23, 3, 23, 4, 23, 5, 157, 3, 157, 3, 157, 2, 28, 2, 28, 4, 88, 3, 88, 5, 163, 2, 163, 4, 163, 2, 163, 4, 24, 2, 24, 2, 24, 2, 24, 1, 166, 2, 166, 2, 25, 5, 25, 7, 25, 7, 25, 9, 25, 9, 25, 5, 25, 7, 25, 6, 25, 8, 25, 5, 25, 7, 25, 6, 25, 8, 25, 3, 25, 5, 25, 5, 25, 7, 25, 7, 25, 9, 25, 9, 25, 5, 25, 7, 25, 6, 25, 8, 25, 5, 25, 7, 25, 6, 25, 8, 25, 3, 25, 5, 172, 1, 172, 3, 123, 1, 123, 3, 26, 5, 26, 7, 26, 4, 26, 6, 174, 1, 174, 2, 176, 3, 176, 4, 178, 3, 178, 5, 180, 3, 180, 5, 22, 1, 22, 3, 22, 1, 22, 3, 22, 3, 22, 3, 22, 3, 45, 2, 45, 2, 45, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 4, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 3, 16, 5, 16, 4, 117, 2],
2997
2633
  ruleActions: (rule, vals, locs, shared) => {
2998
2634
  const $ = vals;
2999
2635
  const $0 = vals.length - 1;
@@ -3003,30 +2639,27 @@ var parserInstance = {
3003
2639
  case 2:
3004
2640
  return ["program", ...$[$0]];
3005
2641
  case 3:
3006
- case 49:
3007
- case 74:
3008
- case 141:
3009
- case 206:
3010
- case 225:
3011
- case 248:
3012
- case 280:
3013
- case 294:
3014
- case 298:
3015
- case 357:
3016
- case 363:
2642
+ case 61:
2643
+ case 128:
2644
+ case 193:
2645
+ case 212:
2646
+ case 235:
2647
+ case 267:
2648
+ case 281:
2649
+ case 285:
2650
+ case 344:
2651
+ case 350:
3017
2652
  return [$[$0]];
3018
2653
  case 4:
3019
- case 50:
3020
- case 142:
3021
- case 207:
3022
- case 226:
3023
- case 249:
3024
- case 281:
2654
+ case 129:
2655
+ case 194:
2656
+ case 213:
2657
+ case 236:
2658
+ case 268:
3025
2659
  return [...$[$0 - 2], $[$0]];
3026
2660
  case 5:
3027
- case 51:
3028
- case 76:
3029
- case 301:
2661
+ case 63:
2662
+ case 288:
3030
2663
  return $[$0 - 1];
3031
2664
  case 6:
3032
2665
  case 7:
@@ -3052,583 +2685,570 @@ var parserInstance = {
3052
2685
  case 27:
3053
2686
  case 28:
3054
2687
  case 29:
3055
- case 30:
3056
- case 31:
3057
- case 32:
3058
- case 52:
3059
- case 53:
3060
- case 54:
2688
+ case 47:
2689
+ case 48:
3061
2690
  case 55:
3062
- case 60:
3063
- case 61:
3064
- case 68:
3065
- case 69:
3066
- case 70:
2691
+ case 56:
2692
+ case 57:
2693
+ case 58:
2694
+ case 59:
2695
+ case 66:
2696
+ case 67:
3067
2697
  case 71:
3068
2698
  case 72:
3069
- case 79:
3070
- case 80:
3071
- case 84:
3072
- case 85:
3073
- case 86:
2699
+ case 73:
2700
+ case 76:
2701
+ case 77:
2702
+ case 78:
2703
+ case 83:
2704
+ case 88:
3074
2705
  case 89:
3075
2706
  case 90:
3076
2707
  case 91:
3077
- case 96:
2708
+ case 94:
2709
+ case 97:
2710
+ case 98:
2711
+ case 99:
2712
+ case 100:
3078
2713
  case 101:
3079
- case 102:
3080
- case 103:
3081
- case 104:
3082
- case 107:
3083
- case 110:
3084
- case 111:
3085
- case 112:
3086
- case 113:
3087
- case 114:
2714
+ case 123:
2715
+ case 124:
2716
+ case 125:
2717
+ case 126:
2718
+ case 132:
3088
2719
  case 136:
3089
2720
  case 137:
3090
2721
  case 138:
3091
2722
  case 139:
3092
- case 145:
3093
- case 149:
3094
- case 150:
3095
- case 151:
3096
- case 152:
3097
- case 154:
3098
- case 155:
3099
- case 183:
3100
- case 184:
3101
- case 185:
3102
- case 186:
3103
- case 187:
3104
- case 188:
3105
- case 189:
3106
- case 190:
3107
- case 191:
3108
- case 192:
3109
- case 193:
3110
- case 194:
3111
- case 230:
3112
- case 232:
3113
- case 234:
3114
- case 253:
3115
- case 256:
3116
- case 285:
3117
- case 286:
3118
- case 287:
2723
+ case 141:
2724
+ case 142:
2725
+ case 170:
2726
+ case 171:
2727
+ case 172:
2728
+ case 173:
2729
+ case 174:
2730
+ case 175:
2731
+ case 176:
2732
+ case 177:
2733
+ case 178:
2734
+ case 179:
2735
+ case 180:
2736
+ case 181:
2737
+ case 217:
2738
+ case 219:
2739
+ case 221:
2740
+ case 240:
2741
+ case 243:
2742
+ case 272:
2743
+ case 273:
2744
+ case 274:
2745
+ case 276:
3119
2746
  case 289:
3120
- case 302:
3121
- case 322:
3122
- case 355:
3123
- case 371:
3124
- case 373:
2747
+ case 309:
2748
+ case 342:
2749
+ case 358:
2750
+ case 360:
3125
2751
  return $[$0];
3126
- case 33:
2752
+ case 30:
3127
2753
  return ["def", $[$0 - 4], $[$0 - 2], $[$0]];
3128
- case 34:
2754
+ case 31:
3129
2755
  return ["def", $[$0 - 1], [], $[$0]];
2756
+ case 32:
2757
+ return ["state", $[$0 - 2], $[$0]];
2758
+ case 33:
2759
+ return ["state", $[$0 - 3], $[$0]];
2760
+ case 34:
2761
+ return ["state", $[$0 - 4], $[$0 - 1]];
3130
2762
  case 35:
3131
- return ["signal", $[$0 - 2], $[$0]];
2763
+ return ["computed", $[$0 - 2], $[$0]];
3132
2764
  case 36:
3133
- return ["signal", $[$0 - 3], $[$0]];
2765
+ return ["computed", $[$0 - 3], $[$0]];
3134
2766
  case 37:
3135
- return ["signal", $[$0 - 4], $[$0 - 1]];
2767
+ return ["computed", $[$0 - 4], $[$0 - 1]];
3136
2768
  case 38:
3137
- return ["derived", $[$0 - 2], $[$0]];
2769
+ return ["readonly", $[$0 - 2], $[$0]];
3138
2770
  case 39:
3139
- return ["derived", $[$0 - 3], $[$0]];
2771
+ return ["readonly", $[$0 - 3], $[$0]];
3140
2772
  case 40:
3141
- return ["derived", $[$0 - 4], $[$0 - 1]];
2773
+ return ["readonly", $[$0 - 4], $[$0 - 1]];
3142
2774
  case 41:
3143
- return ["readonly", $[$0 - 2], $[$0]];
2775
+ return ["effect", $[$0 - 2], $[$0]];
3144
2776
  case 42:
3145
- return ["readonly", $[$0 - 3], $[$0]];
2777
+ return ["effect", $[$0 - 3], $[$0]];
3146
2778
  case 43:
3147
- return ["readonly", $[$0 - 4], $[$0 - 1]];
2779
+ return ["effect", $[$0 - 4], $[$0 - 1]];
3148
2780
  case 44:
3149
2781
  case 45:
3150
- return ["effect", $[$0]];
2782
+ return ["effect", null, $[$0]];
3151
2783
  case 46:
3152
- return ["render", $[$0]];
3153
- case 47:
3154
- return ["style", $[$0]];
3155
- case 48:
3156
- return ["component", $[$0 - 3], ["block", ...$[$0 - 1]]];
3157
- case 56:
3158
- return ["prop", $[$0]];
3159
- case 57:
3160
- return ["prop", $[$0 - 1], "optional"];
3161
- case 58:
3162
- return ["prop", $[$0 - 2], $[$0]];
3163
- case 59:
3164
- return ["prop-rest", $[$0]];
3165
- case 62:
2784
+ return ["effect", null, $[$0 - 1]];
2785
+ case 49:
3166
2786
  return ["yield"];
3167
- case 63:
2787
+ case 50:
3168
2788
  return ["yield", $[$0]];
3169
- case 64:
2789
+ case 51:
3170
2790
  return ["yield", $[$0 - 1]];
3171
- case 65:
2791
+ case 52:
3172
2792
  return ["yield-from", $[$0]];
3173
- case 66:
2793
+ case 53:
3174
2794
  return ["block"];
3175
- case 67:
2795
+ case 54:
3176
2796
  return ["block", ...$[$0 - 1]];
3177
- case 73:
2797
+ case 60:
3178
2798
  return ["str", ...$[$0 - 1]];
3179
- case 75:
3180
- case 295:
3181
- case 299:
3182
- case 364:
2799
+ case 62:
2800
+ case 282:
2801
+ case 286:
2802
+ case 351:
3183
2803
  return [...$[$0 - 1], $[$0]];
3184
- case 77:
3185
- case 228:
3186
- case 251:
3187
- case 266:
3188
- case 283:
2804
+ case 64:
2805
+ case 215:
2806
+ case 238:
2807
+ case 253:
2808
+ case 270:
3189
2809
  return $[$0 - 2];
3190
- case 78:
2810
+ case 65:
3191
2811
  return "";
3192
- case 81:
2812
+ case 68:
3193
2813
  return ["regex", $[$0 - 1]];
3194
- case 82:
2814
+ case 69:
3195
2815
  return ["regex-index", $[$0 - 2], $[$0]];
3196
- case 83:
2816
+ case 70:
3197
2817
  return ["regex-index", $[$0], null];
3198
- case 87:
2818
+ case 74:
3199
2819
  return "undefined";
3200
- case 88:
2820
+ case 75:
3201
2821
  return "null";
3202
- case 92:
2822
+ case 79:
3203
2823
  return ["=", $[$0 - 2], $[$0]];
3204
- case 93:
2824
+ case 80:
3205
2825
  return ["=", $[$0 - 3], $[$0]];
3206
- case 94:
2826
+ case 81:
3207
2827
  return ["=", $[$0 - 4], $[$0 - 1]];
3208
- case 95:
2828
+ case 82:
3209
2829
  return [$[$0], $[$0], null];
3210
- case 97:
2830
+ case 84:
3211
2831
  return [$[$0 - 2], $[$0], ":"];
3212
- case 98:
2832
+ case 85:
3213
2833
  return [$[$0 - 4], $[$0 - 1], ":"];
3214
- case 99:
2834
+ case 86:
3215
2835
  return [$[$0 - 2], $[$0], "="];
3216
- case 100:
2836
+ case 87:
3217
2837
  return [$[$0 - 4], $[$0 - 1], "="];
3218
- case 105:
3219
- return ["computed", $[$0 - 1]];
3220
- case 106:
2838
+ case 92:
2839
+ return ["dynamicKey", $[$0 - 1]];
2840
+ case 93:
3221
2841
  return ["[]", "this", $[$0 - 1]];
3222
- case 108:
3223
- case 109:
3224
- case 153:
2842
+ case 95:
2843
+ case 96:
2844
+ case 140:
3225
2845
  return ["...", $[$0]];
3226
- case 115:
3227
- case 261:
2846
+ case 102:
2847
+ case 248:
3228
2848
  return ["super", ...$[$0]];
3229
- case 116:
3230
- case 262:
2849
+ case 103:
2850
+ case 249:
3231
2851
  return ["import", ...$[$0]];
3232
- case 117:
3233
- case 118:
2852
+ case 104:
2853
+ case 105:
3234
2854
  return [$[$0 - 2], ...$[$0]];
3235
- case 119:
3236
- case 156:
3237
- case 173:
2855
+ case 106:
2856
+ case 143:
2857
+ case 160:
3238
2858
  return [".", $[$0 - 2], $[$0]];
3239
- case 120:
3240
- case 157:
3241
- case 174:
2859
+ case 107:
2860
+ case 144:
2861
+ case 161:
3242
2862
  return ["?.", $[$0 - 2], $[$0]];
3243
- case 121:
3244
- case 158:
3245
- case 175:
2863
+ case 108:
2864
+ case 145:
2865
+ case 162:
3246
2866
  return ["::", $[$0 - 2], $[$0]];
3247
- case 122:
3248
- case 159:
3249
- case 176:
2867
+ case 109:
2868
+ case 146:
2869
+ case 163:
3250
2870
  return ["?::", $[$0 - 2], $[$0]];
3251
- case 123:
3252
- case 160:
3253
- case 177:
2871
+ case 110:
2872
+ case 147:
2873
+ case 164:
3254
2874
  return ["::", $[$0 - 1], "prototype"];
3255
- case 124:
3256
- case 161:
3257
- case 178:
2875
+ case 111:
2876
+ case 148:
2877
+ case 165:
3258
2878
  return ["?::", $[$0 - 1], "prototype"];
3259
- case 125:
3260
- case 162:
3261
- case 164:
3262
- case 179:
2879
+ case 112:
2880
+ case 149:
2881
+ case 151:
2882
+ case 166:
3263
2883
  return ["[]", $[$0 - 3], $[$0 - 1]];
3264
- case 126:
3265
- case 163:
3266
- case 165:
3267
- case 180:
3268
- return ["[]", $[$0 - 5], $[$0 - 2]];
3269
- case 127:
2884
+ case 113:
2885
+ case 150:
2886
+ case 152:
3270
2887
  case 167:
3271
- case 169:
3272
- case 181:
3273
- return ["?[]", $[$0 - 4], $[$0 - 1]];
3274
- case 128:
2888
+ return ["[]", $[$0 - 5], $[$0 - 2]];
2889
+ case 114:
2890
+ case 154:
2891
+ case 156:
3275
2892
  case 168:
3276
- case 170:
3277
- case 182:
2893
+ return ["?[]", $[$0 - 4], $[$0 - 1]];
2894
+ case 115:
2895
+ case 155:
2896
+ case 157:
2897
+ case 169:
3278
2898
  return ["?[]", $[$0 - 6], $[$0 - 2]];
3279
- case 129:
2899
+ case 116:
3280
2900
  return ["return", $[$0]];
3281
- case 130:
2901
+ case 117:
3282
2902
  return ["return", $[$0 - 1]];
3283
- case 131:
2903
+ case 118:
3284
2904
  return ["return"];
3285
- case 132:
3286
- case 134:
2905
+ case 119:
2906
+ case 121:
3287
2907
  return [$[$0 - 1], $[$0 - 3], $[$0]];
3288
- case 133:
3289
- case 135:
2908
+ case 120:
2909
+ case 122:
3290
2910
  return [$[$0 - 1], [], $[$0]];
3291
- case 140:
3292
- case 205:
3293
- case 265:
3294
- case 296:
2911
+ case 127:
2912
+ case 192:
2913
+ case 252:
2914
+ case 283:
3295
2915
  return [];
3296
- case 143:
3297
- case 208:
3298
- case 227:
3299
- case 250:
3300
- case 282:
2916
+ case 130:
2917
+ case 195:
2918
+ case 214:
2919
+ case 237:
2920
+ case 269:
3301
2921
  return [...$[$0 - 3], $[$0]];
3302
- case 144:
3303
- case 209:
3304
- case 229:
3305
- case 252:
3306
- case 284:
2922
+ case 131:
2923
+ case 196:
2924
+ case 216:
2925
+ case 239:
2926
+ case 271:
3307
2927
  return [...$[$0 - 5], ...$[$0 - 2]];
3308
- case 146:
3309
- case 356:
2928
+ case 133:
2929
+ case 343:
3310
2930
  return ["default", $[$0 - 2], $[$0]];
3311
- case 147:
2931
+ case 134:
3312
2932
  return ["rest", $[$0]];
3313
- case 148:
2933
+ case 135:
3314
2934
  return ["expansion"];
3315
- case 166:
2935
+ case 153:
3316
2936
  return [$[$0 - 1][0], $[$0 - 3], ...$[$0 - 1].slice(1)];
3317
- case 171:
2937
+ case 158:
3318
2938
  return ["optindex", $[$0 - 4], $[$0 - 1]];
3319
- case 172:
2939
+ case 159:
3320
2940
  return ["optindex", $[$0 - 6], $[$0 - 2]];
3321
- case 195:
2941
+ case 182:
3322
2942
  return [".", "super", $[$0]];
3323
- case 196:
2943
+ case 183:
3324
2944
  return ["[]", "super", $[$0 - 1]];
3325
- case 197:
2945
+ case 184:
3326
2946
  return ["[]", "super", $[$0 - 2]];
3327
- case 198:
2947
+ case 185:
3328
2948
  return [".", "new", $[$0]];
3329
- case 199:
2949
+ case 186:
3330
2950
  return [".", "import", $[$0]];
3331
- case 200:
2951
+ case 187:
3332
2952
  return ["object-comprehension", $[$0 - 8], $[$0 - 6], [["for-of", $[$0 - 4], $[$0 - 2], false]], []];
3333
- case 201:
2953
+ case 188:
3334
2954
  return ["object-comprehension", $[$0 - 10], $[$0 - 8], [["for-of", $[$0 - 6], $[$0 - 4], false]], [$[$0 - 2]]];
3335
- case 202:
2955
+ case 189:
3336
2956
  return ["object-comprehension", $[$0 - 9], $[$0 - 7], [["for-of", $[$0 - 4], $[$0 - 2], true]], []];
3337
- case 203:
2957
+ case 190:
3338
2958
  return ["object-comprehension", $[$0 - 11], $[$0 - 9], [["for-of", $[$0 - 6], $[$0 - 4], true]], [$[$0 - 2]]];
3339
- case 204:
2959
+ case 191:
3340
2960
  return ["object", ...$[$0 - 2]];
3341
- case 210:
2961
+ case 197:
3342
2962
  return ["class", null, null];
3343
- case 211:
2963
+ case 198:
3344
2964
  return ["class", null, null, $[$0]];
3345
- case 212:
2965
+ case 199:
3346
2966
  return ["class", null, $[$0]];
3347
- case 213:
2967
+ case 200:
3348
2968
  return ["class", null, $[$0 - 1], $[$0]];
3349
- case 214:
2969
+ case 201:
3350
2970
  return ["class", $[$0], null];
3351
- case 215:
2971
+ case 202:
3352
2972
  return ["class", $[$0 - 1], null, $[$0]];
3353
- case 216:
2973
+ case 203:
3354
2974
  return ["class", $[$0 - 2], $[$0]];
3355
- case 217:
2975
+ case 204:
3356
2976
  return ["class", $[$0 - 3], $[$0 - 1], $[$0]];
3357
- case 218:
3358
- case 221:
2977
+ case 205:
2978
+ case 208:
3359
2979
  return ["import", "{}", $[$0]];
3360
- case 219:
3361
- case 220:
2980
+ case 206:
2981
+ case 207:
3362
2982
  return ["import", $[$0 - 2], $[$0]];
3363
- case 222:
2983
+ case 209:
3364
2984
  return ["import", $[$0 - 4], $[$0]];
3365
- case 223:
2985
+ case 210:
3366
2986
  return ["import", [$[$0 - 4], $[$0 - 2]], $[$0]];
3367
- case 224:
2987
+ case 211:
3368
2988
  return ["import", [$[$0 - 7], $[$0 - 4]], $[$0]];
3369
- case 231:
3370
- case 233:
3371
- case 254:
3372
- case 255:
3373
- case 257:
3374
- case 358:
2989
+ case 218:
2990
+ case 220:
2991
+ case 241:
2992
+ case 242:
2993
+ case 244:
2994
+ case 345:
3375
2995
  return [$[$0 - 2], $[$0]];
3376
- case 235:
2996
+ case 222:
3377
2997
  return ["*", $[$0]];
3378
- case 236:
2998
+ case 223:
3379
2999
  return ["export", "{}"];
3380
- case 237:
3000
+ case 224:
3381
3001
  return ["export", $[$0 - 2]];
3382
- case 238:
3383
- case 239:
3002
+ case 225:
3003
+ case 226:
3384
3004
  return ["export", $[$0]];
3385
- case 240:
3005
+ case 227:
3386
3006
  return ["export", ["=", $[$0 - 2], $[$0]]];
3387
- case 241:
3007
+ case 228:
3388
3008
  return ["export", ["=", $[$0 - 3], $[$0]]];
3389
- case 242:
3009
+ case 229:
3390
3010
  return ["export", ["=", $[$0 - 4], $[$0 - 1]]];
3391
- case 243:
3011
+ case 230:
3392
3012
  return ["export-default", $[$0]];
3393
- case 244:
3013
+ case 231:
3394
3014
  return ["export-default", $[$0 - 1]];
3395
- case 245:
3015
+ case 232:
3396
3016
  return ["export-all", $[$0]];
3397
- case 246:
3017
+ case 233:
3398
3018
  return ["export-from", "{}", $[$0]];
3399
- case 247:
3019
+ case 234:
3400
3020
  return ["export-from", $[$0 - 4], $[$0]];
3401
- case 258:
3021
+ case 245:
3402
3022
  return ["tagged-template", $[$0 - 2], $[$0]];
3403
- case 259:
3023
+ case 246:
3404
3024
  return $[$0 - 1] ? ["?call", $[$0 - 2], ...$[$0]] : [$[$0 - 2], ...$[$0]];
3405
- case 260:
3025
+ case 247:
3406
3026
  return ["optcall", $[$0 - 2], ...$[$0]];
3407
- case 263:
3408
- case 300:
3027
+ case 250:
3028
+ case 287:
3409
3029
  return null;
3410
- case 264:
3030
+ case 251:
3411
3031
  return true;
3412
- case 267:
3413
- case 268:
3032
+ case 254:
3033
+ case 255:
3414
3034
  return "this";
3415
- case 269:
3035
+ case 256:
3416
3036
  return [".", "this", $[$0]];
3417
- case 270:
3037
+ case 257:
3418
3038
  return ["array"];
3419
- case 271:
3039
+ case 258:
3420
3040
  return ["array", ...$[$0 - 1]];
3421
- case 272:
3041
+ case 259:
3422
3042
  return ["array", ...$[$0 - 2], ...$[$0 - 1]];
3423
- case 273:
3043
+ case 260:
3424
3044
  return "..";
3425
- case 274:
3426
- case 288:
3427
- return "...";
3045
+ case 261:
3428
3046
  case 275:
3047
+ return "...";
3048
+ case 262:
3429
3049
  return [$[$0 - 2], $[$0 - 3], $[$0 - 1]];
3430
- case 276:
3050
+ case 263:
3051
+ case 382:
3052
+ case 384:
3053
+ case 385:
3054
+ case 393:
3431
3055
  case 395:
3432
- case 397:
3433
- case 398:
3434
- case 406:
3435
- case 408:
3436
3056
  return [$[$0 - 1], $[$0 - 2], $[$0]];
3437
- case 277:
3057
+ case 264:
3438
3058
  return [$[$0], $[$0 - 1], null];
3439
- case 278:
3059
+ case 265:
3440
3060
  return [$[$0 - 1], null, $[$0]];
3441
- case 279:
3061
+ case 266:
3442
3062
  return [$[$0], null, null];
3443
- case 290:
3063
+ case 277:
3444
3064
  return [...$[$0 - 2], ...$[$0]];
3445
- case 291:
3065
+ case 278:
3446
3066
  return [...$[$0 - 3], ...$[$0]];
3447
- case 292:
3067
+ case 279:
3448
3068
  return [...$[$0 - 2], ...$[$0 - 1]];
3449
- case 293:
3069
+ case 280:
3450
3070
  return [...$[$0 - 5], ...$[$0 - 4], ...$[$0 - 2], ...$[$0 - 1]];
3451
- case 297:
3071
+ case 284:
3452
3072
  return [...$[$0]];
3453
- case 303:
3073
+ case 290:
3454
3074
  return Array.isArray($[$0 - 2]) ? [...$[$0 - 2], $[$0]] : [$[$0 - 2], $[$0]];
3455
- case 304:
3075
+ case 291:
3456
3076
  return ["try", $[$0]];
3457
- case 305:
3077
+ case 292:
3458
3078
  return ["try", $[$0 - 1], $[$0]];
3459
- case 306:
3079
+ case 293:
3460
3080
  return ["try", $[$0 - 2], $[$0]];
3461
- case 307:
3081
+ case 294:
3462
3082
  return ["try", $[$0 - 3], $[$0 - 2], $[$0]];
3463
- case 308:
3464
- case 309:
3465
- case 378:
3466
- case 381:
3467
- case 383:
3083
+ case 295:
3084
+ case 296:
3085
+ case 365:
3086
+ case 368:
3087
+ case 370:
3468
3088
  return [$[$0 - 1], $[$0]];
3469
- case 310:
3089
+ case 297:
3470
3090
  return [null, $[$0]];
3471
- case 311:
3091
+ case 298:
3472
3092
  return ["throw", $[$0]];
3473
- case 312:
3093
+ case 299:
3474
3094
  return ["throw", $[$0 - 1]];
3475
- case 313:
3095
+ case 300:
3476
3096
  return $[$0 - 1].length === 1 ? $[$0 - 1][0] : $[$0 - 1];
3477
- case 314:
3097
+ case 301:
3478
3098
  return $[$0 - 2].length === 1 ? $[$0 - 2][0] : $[$0 - 2];
3479
- case 315:
3099
+ case 302:
3480
3100
  return ["while", $[$0]];
3481
- case 316:
3101
+ case 303:
3482
3102
  return ["while", $[$0 - 2], $[$0]];
3483
- case 317:
3103
+ case 304:
3484
3104
  return ["until", $[$0]];
3485
- case 318:
3105
+ case 305:
3486
3106
  return ["until", $[$0 - 2], $[$0]];
3487
- case 319:
3107
+ case 306:
3488
3108
  return $[$0 - 1].length === 2 ? [$[$0 - 1][0], $[$0 - 1][1], $[$0]] : [$[$0 - 1][0], $[$0 - 1][1], $[$0 - 1][2], $[$0]];
3489
- case 320:
3490
- case 321:
3109
+ case 307:
3110
+ case 308:
3491
3111
  return $[$0].length === 2 ? [$[$0][0], $[$0][1], [$[$0 - 1]]] : [$[$0][0], $[$0][1], $[$0][2], [$[$0 - 1]]];
3492
- case 323:
3112
+ case 310:
3493
3113
  return ["loop", $[$0]];
3494
- case 324:
3114
+ case 311:
3495
3115
  return ["loop", [$[$0]]];
3496
- case 325:
3116
+ case 312:
3497
3117
  return ["for-in", $[$0 - 3], $[$0 - 1], null, null, $[$0]];
3498
- case 326:
3118
+ case 313:
3499
3119
  return ["for-in", $[$0 - 5], $[$0 - 3], null, $[$0 - 1], $[$0]];
3500
- case 327:
3120
+ case 314:
3501
3121
  return ["for-in", $[$0 - 5], $[$0 - 3], $[$0 - 1], null, $[$0]];
3502
- case 328:
3122
+ case 315:
3503
3123
  return ["for-in", $[$0 - 7], $[$0 - 5], $[$0 - 1], $[$0 - 3], $[$0]];
3504
- case 329:
3124
+ case 316:
3505
3125
  return ["for-in", $[$0 - 7], $[$0 - 5], $[$0 - 3], $[$0 - 1], $[$0]];
3506
- case 330:
3126
+ case 317:
3507
3127
  return ["for-of", $[$0 - 3], $[$0 - 1], false, null, $[$0]];
3508
- case 331:
3128
+ case 318:
3509
3129
  return ["for-of", $[$0 - 5], $[$0 - 3], false, $[$0 - 1], $[$0]];
3510
- case 332:
3130
+ case 319:
3511
3131
  return ["for-of", $[$0 - 3], $[$0 - 1], true, null, $[$0]];
3512
- case 333:
3132
+ case 320:
3513
3133
  return ["for-of", $[$0 - 5], $[$0 - 3], true, $[$0 - 1], $[$0]];
3514
- case 334:
3134
+ case 321:
3515
3135
  return ["for-from", $[$0 - 3], $[$0 - 1], false, null, $[$0]];
3516
- case 335:
3136
+ case 322:
3517
3137
  return ["for-from", $[$0 - 5], $[$0 - 3], false, $[$0 - 1], $[$0]];
3518
- case 336:
3138
+ case 323:
3519
3139
  return ["for-from", $[$0 - 3], $[$0 - 1], true, null, $[$0]];
3520
- case 337:
3140
+ case 324:
3521
3141
  return ["for-from", $[$0 - 5], $[$0 - 3], true, $[$0 - 1], $[$0]];
3522
- case 338:
3142
+ case 325:
3523
3143
  return ["for-in", [], $[$0 - 1], null, null, $[$0]];
3524
- case 339:
3144
+ case 326:
3525
3145
  return ["for-in", [], $[$0 - 3], $[$0 - 1], null, $[$0]];
3526
- case 340:
3146
+ case 327:
3527
3147
  return ["comprehension", $[$0 - 4], [["for-in", $[$0 - 2], $[$0], null]], []];
3528
- case 341:
3148
+ case 328:
3529
3149
  return ["comprehension", $[$0 - 6], [["for-in", $[$0 - 4], $[$0 - 2], null]], [$[$0]]];
3530
- case 342:
3150
+ case 329:
3531
3151
  return ["comprehension", $[$0 - 6], [["for-in", $[$0 - 4], $[$0 - 2], $[$0]]], []];
3532
- case 343:
3152
+ case 330:
3533
3153
  return ["comprehension", $[$0 - 8], [["for-in", $[$0 - 6], $[$0 - 4], $[$0]]], [$[$0 - 2]]];
3534
- case 344:
3154
+ case 331:
3535
3155
  return ["comprehension", $[$0 - 8], [["for-in", $[$0 - 6], $[$0 - 4], $[$0 - 2]]], [$[$0]]];
3536
- case 345:
3156
+ case 332:
3537
3157
  return ["comprehension", $[$0 - 4], [["for-of", $[$0 - 2], $[$0], false]], []];
3538
- case 346:
3158
+ case 333:
3539
3159
  return ["comprehension", $[$0 - 6], [["for-of", $[$0 - 4], $[$0 - 2], false]], [$[$0]]];
3540
- case 347:
3160
+ case 334:
3541
3161
  return ["comprehension", $[$0 - 5], [["for-of", $[$0 - 2], $[$0], true]], []];
3542
- case 348:
3162
+ case 335:
3543
3163
  return ["comprehension", $[$0 - 7], [["for-of", $[$0 - 4], $[$0 - 2], true]], [$[$0]]];
3544
- case 349:
3164
+ case 336:
3545
3165
  return ["comprehension", $[$0 - 4], [["for-from", $[$0 - 2], $[$0], false, null]], []];
3546
- case 350:
3166
+ case 337:
3547
3167
  return ["comprehension", $[$0 - 6], [["for-from", $[$0 - 4], $[$0 - 2], false, null]], [$[$0]]];
3548
- case 351:
3168
+ case 338:
3549
3169
  return ["comprehension", $[$0 - 5], [["for-from", $[$0 - 2], $[$0], true, null]], []];
3550
- case 352:
3170
+ case 339:
3551
3171
  return ["comprehension", $[$0 - 7], [["for-from", $[$0 - 4], $[$0 - 2], true, null]], [$[$0]]];
3552
- case 353:
3172
+ case 340:
3553
3173
  return ["comprehension", $[$0 - 2], [["for-in", [], $[$0], null]], []];
3554
- case 354:
3174
+ case 341:
3555
3175
  return ["comprehension", $[$0 - 4], [["for-in", [], $[$0 - 2], $[$0]]], []];
3556
- case 359:
3176
+ case 346:
3557
3177
  return ["switch", $[$0 - 3], $[$0 - 1], null];
3558
- case 360:
3178
+ case 347:
3559
3179
  return ["switch", $[$0 - 5], $[$0 - 3], $[$0 - 1]];
3560
- case 361:
3180
+ case 348:
3561
3181
  return ["switch", null, $[$0 - 1], null];
3562
- case 362:
3182
+ case 349:
3563
3183
  return ["switch", null, $[$0 - 3], $[$0 - 1]];
3564
- case 365:
3184
+ case 352:
3565
3185
  return ["when", $[$0 - 1], $[$0]];
3566
- case 366:
3186
+ case 353:
3567
3187
  return ["when", $[$0 - 2], $[$0 - 1]];
3568
- case 367:
3188
+ case 354:
3569
3189
  return ["if", $[$0 - 1], $[$0]];
3570
- case 368:
3190
+ case 355:
3571
3191
  return $[$0 - 4].length === 3 ? ["if", $[$0 - 4][1], $[$0 - 4][2], ["if", $[$0 - 1], $[$0]]] : [...$[$0 - 4], ["if", $[$0 - 1], $[$0]]];
3572
- case 369:
3192
+ case 356:
3573
3193
  return ["unless", $[$0 - 1], $[$0]];
3574
- case 370:
3194
+ case 357:
3575
3195
  return ["if", ["!", $[$0 - 3]], $[$0 - 2], $[$0]];
3576
- case 372:
3196
+ case 359:
3577
3197
  return $[$0 - 2].length === 3 ? ["if", $[$0 - 2][1], $[$0 - 2][2], $[$0]] : [...$[$0 - 2], $[$0]];
3578
- case 374:
3579
- case 375:
3198
+ case 361:
3199
+ case 362:
3580
3200
  return ["if", $[$0], [$[$0 - 2]]];
3581
- case 376:
3582
- case 377:
3201
+ case 363:
3202
+ case 364:
3583
3203
  return ["unless", $[$0], [$[$0 - 2]]];
3584
- case 379:
3585
- case 380:
3586
- case 382:
3587
- case 411:
3204
+ case 366:
3205
+ case 367:
3206
+ case 369:
3207
+ case 398:
3588
3208
  return ["do-iife", $[$0]];
3589
- case 384:
3209
+ case 371:
3590
3210
  return ["-", $[$0]];
3591
- case 385:
3211
+ case 372:
3592
3212
  return ["+", $[$0]];
3593
- case 386:
3213
+ case 373:
3594
3214
  return ["await", $[$0]];
3595
- case 387:
3215
+ case 374:
3596
3216
  return ["await", $[$0 - 1]];
3597
- case 388:
3217
+ case 375:
3598
3218
  return ["--", $[$0], false];
3599
- case 389:
3219
+ case 376:
3600
3220
  return ["++", $[$0], false];
3601
- case 390:
3221
+ case 377:
3602
3222
  return ["--", $[$0 - 1], true];
3603
- case 391:
3223
+ case 378:
3604
3224
  return ["++", $[$0 - 1], true];
3605
- case 392:
3225
+ case 379:
3606
3226
  return ["?", $[$0 - 1]];
3607
- case 393:
3227
+ case 380:
3608
3228
  return ["+", $[$0 - 2], $[$0]];
3609
- case 394:
3229
+ case 381:
3610
3230
  return ["-", $[$0 - 2], $[$0]];
3611
- case 396:
3231
+ case 383:
3612
3232
  return ["**", $[$0 - 2], $[$0]];
3613
- case 399:
3233
+ case 386:
3614
3234
  return ["&", $[$0 - 2], $[$0]];
3615
- case 400:
3235
+ case 387:
3616
3236
  return ["^", $[$0 - 2], $[$0]];
3617
- case 401:
3237
+ case 388:
3618
3238
  return ["|", $[$0 - 2], $[$0]];
3619
- case 402:
3239
+ case 389:
3620
3240
  return ["&&", $[$0 - 2], $[$0]];
3621
- case 403:
3241
+ case 390:
3622
3242
  return ["||", $[$0 - 2], $[$0]];
3623
- case 404:
3243
+ case 391:
3624
3244
  return ["??", $[$0 - 2], $[$0]];
3625
- case 405:
3245
+ case 392:
3626
3246
  return ["!?", $[$0 - 2], $[$0]];
3627
- case 407:
3247
+ case 394:
3628
3248
  return ["?:", $[$0 - 4], $[$0 - 2], $[$0]];
3629
- case 409:
3249
+ case 396:
3630
3250
  return [$[$0 - 3], $[$0 - 4], $[$0 - 1]];
3631
- case 410:
3251
+ case 397:
3632
3252
  return [$[$0 - 2], $[$0 - 3], $[$0]];
3633
3253
  }
3634
3254
  },
@@ -3997,13 +3617,10 @@ class CodeGenerator {
3997
3617
  "->": "generateThinArrow",
3998
3618
  "=>": "generateFatArrow",
3999
3619
  return: "generateReturn",
4000
- signal: "generateSignal",
4001
- derived: "generateDerived",
3620
+ state: "generateState",
3621
+ computed: "generateComputed",
4002
3622
  readonly: "generateReadonly",
4003
3623
  effect: "generateEffect",
4004
- render: "generateRender",
4005
- style: "generateStyle",
4006
- component: "generateComponent",
4007
3624
  break: "generateBreak",
4008
3625
  "break-if": "generateBreakIf",
4009
3626
  continue: "generateContinue",
@@ -4078,7 +3695,7 @@ class CodeGenerator {
4078
3695
  if (head === "export" || head === "export-default" || head === "export-all" || head === "export-from") {
4079
3696
  return;
4080
3697
  }
4081
- if (head === "signal" || head === "derived" || head === "readonly") {
3698
+ if (head === "state" || head === "computed" || head === "readonly") {
4082
3699
  const [target] = rest;
4083
3700
  const varName = typeof target === "string" ? target : target.valueOf();
4084
3701
  if (!this.reactiveVars)
@@ -4104,9 +3721,6 @@ class CodeGenerator {
4104
3721
  if (head === "def" || head === "->" || head === "=>") {
4105
3722
  return;
4106
3723
  }
4107
- if (head === "component") {
4108
- return;
4109
- }
4110
3724
  if (head === "if") {
4111
3725
  const [condition, thenBranch, elseBranch] = rest;
4112
3726
  this.collectProgramVariables(condition);
@@ -4715,1589 +4329,216 @@ function _setDataSection() {
4715
4329
  }
4716
4330
  generatePrototype(head, rest, context, sexpr) {
4717
4331
  const [obj, prop] = rest;
4718
- const objCode = this.generate(obj, "value");
4719
- if (prop === "prototype") {
4720
- return `${objCode}.prototype`;
4721
- }
4722
- const cleanProp = prop instanceof String ? prop.valueOf() : prop;
4723
- return `${objCode}.prototype.${cleanProp}`;
4724
- }
4725
- generateOptionalPrototype(head, rest, context, sexpr) {
4726
- const [obj, prop] = rest;
4727
- const objCode = this.generate(obj, "value");
4728
- if (prop === "prototype") {
4729
- return `(${objCode} != null ? ${objCode}.prototype : undefined)`;
4730
- }
4731
- return `(${objCode} != null ? ${objCode}.prototype.${prop} : undefined)`;
4732
- }
4733
- generateRegexIndex(head, rest, context, sexpr) {
4734
- const [value, regex, captureIndex] = rest;
4735
- this.helpers.add("toSearchable");
4736
- this.programVars.add("_");
4737
- const valueCode = this.generate(value, "value");
4738
- const regexCode = this.generate(regex, "value");
4739
- const indexCode = captureIndex !== null ? this.generate(captureIndex, "value") : "0";
4740
- const hasMultilineFlag = regexCode.includes("/m");
4741
- const allowNewlines = hasMultilineFlag ? ", true" : "";
4742
- return `(_ = toSearchable(${valueCode}${allowNewlines}).match(${regexCode})) && _[${indexCode}]`;
4743
- }
4744
- generateIndexAccess(head, rest, context, sexpr) {
4745
- const [arr, index] = rest;
4746
- if (Array.isArray(index) && (index[0] === ".." || index[0] === "...")) {
4747
- const isInclusive = index[0] === "..";
4748
- const arrCode = this.generate(arr, "value");
4749
- const [start, end] = index.slice(1);
4750
- if (start === null && end === null) {
4751
- return `${arrCode}.slice()`;
4752
- } else if (start === null) {
4753
- if (isInclusive && this.isNegativeOneLiteral(end)) {
4754
- return `${arrCode}.slice(0)`;
4755
- }
4756
- const endCode = this.generate(end, "value");
4757
- if (isInclusive) {
4758
- return `${arrCode}.slice(0, +${endCode} + 1 || 9e9)`;
4759
- } else {
4760
- return `${arrCode}.slice(0, ${endCode})`;
4761
- }
4762
- } else if (end === null) {
4763
- const startCode = this.generate(start, "value");
4764
- return `${arrCode}.slice(${startCode})`;
4765
- } else {
4766
- const startCode = this.generate(start, "value");
4767
- if (isInclusive && this.isNegativeOneLiteral(end)) {
4768
- return `${arrCode}.slice(${startCode})`;
4769
- }
4770
- const endCode = this.generate(end, "value");
4771
- if (isInclusive) {
4772
- return `${arrCode}.slice(${startCode}, +${endCode} + 1 || 9e9)`;
4773
- } else {
4774
- return `${arrCode}.slice(${startCode}, ${endCode})`;
4775
- }
4776
- }
4777
- }
4778
- const indexCode = this.unwrap(this.generate(index, "value"));
4779
- return `${this.generate(arr, "value")}[${indexCode}]`;
4780
- }
4781
- generateSoakIndex(head, rest, context, sexpr) {
4782
- const [arr, index] = rest;
4783
- const arrCode = this.generate(arr, "value");
4784
- const indexCode = this.generate(index, "value");
4785
- return `(${arrCode} != null ? ${arrCode}[${indexCode}] : undefined)`;
4786
- }
4787
- generateOptIndex(head, rest, context, sexpr) {
4788
- const [arr, index] = rest;
4789
- const arrCode = this.generate(arr, "value");
4790
- const indexCode = this.generate(index, "value");
4791
- return `${arrCode}?.[${indexCode}]`;
4792
- }
4793
- generateOptCall(head, rest, context, sexpr) {
4794
- const [fn, ...args] = rest;
4795
- const fnCode = this.generate(fn, "value");
4796
- const argsCode = args.map((arg) => this.generate(arg, "value")).join(", ");
4797
- return `${fnCode}?.(${argsCode})`;
4798
- }
4799
- generateDef(head, rest, context, sexpr) {
4800
- const [name, params, body] = rest;
4801
- const sideEffectOnly = name instanceof String && name.await === true;
4802
- const cleanName = name instanceof String ? name.valueOf() : name;
4803
- const paramList = this.generateParamList(params);
4804
- const bodyCode = this.generateFunctionBody(body, params, sideEffectOnly);
4805
- const isAsync = this.containsAwait(body);
4806
- const isGenerator = this.containsYield(body);
4807
- const asyncPrefix = isAsync ? "async " : "";
4808
- const generatorSuffix = isGenerator ? "*" : "";
4809
- return `${asyncPrefix}function${generatorSuffix} ${cleanName}(${paramList}) ${bodyCode}`;
4810
- }
4811
- generateThinArrow(head, rest, context, sexpr) {
4812
- const [params, body] = rest;
4813
- const sideEffectOnly = this.nextFunctionIsVoid || false;
4814
- this.nextFunctionIsVoid = false;
4815
- const paramList = this.generateParamList(params);
4816
- const bodyCode = this.generateFunctionBody(body, params, sideEffectOnly);
4817
- const isAsync = this.containsAwait(body);
4818
- const isGenerator = this.containsYield(body);
4819
- const asyncPrefix = isAsync ? "async " : "";
4820
- const generatorSuffix = isGenerator ? "*" : "";
4821
- const fnCode = `${asyncPrefix}function${generatorSuffix}(${paramList}) ${bodyCode}`;
4822
- return context === "value" ? `(${fnCode})` : fnCode;
4823
- }
4824
- generateFatArrow(head, rest, context, sexpr) {
4825
- const [params, body] = rest;
4826
- const sideEffectOnly = this.nextFunctionIsVoid || false;
4827
- this.nextFunctionIsVoid = false;
4828
- const paramList = this.generateParamList(params);
4829
- const isSingleSimpleParam = params.length === 1 && typeof params[0] === "string" && !paramList.includes("=") && !paramList.includes("...") && !paramList.includes("[") && !paramList.includes("{");
4830
- const paramSyntax = isSingleSimpleParam ? paramList : `(${paramList})`;
4831
- const isAsync = this.containsAwait(body);
4832
- const asyncPrefix = isAsync ? "async " : "";
4833
- if (!sideEffectOnly) {
4834
- if (Array.isArray(body) && body[0] === "block" && body.length === 2) {
4835
- const expr = body[1];
4836
- if (!Array.isArray(expr) || expr[0] !== "return") {
4837
- return `${asyncPrefix}${paramSyntax} => ${this.generate(expr, "value")}`;
4838
- }
4839
- }
4840
- if (!Array.isArray(body) || body[0] !== "block") {
4841
- return `${asyncPrefix}${paramSyntax} => ${this.generate(body, "value")}`;
4842
- }
4843
- }
4844
- const bodyCode = this.generateFunctionBody(body, params, sideEffectOnly);
4845
- return `${asyncPrefix}${paramSyntax} => ${bodyCode}`;
4846
- }
4847
- generateReturn(head, rest, context, sexpr) {
4848
- if (rest.length === 0) {
4849
- return "return";
4850
- }
4851
- let [expr] = rest;
4852
- if (this.sideEffectOnly) {
4853
- return "return";
4854
- }
4855
- if (Array.isArray(expr) && expr[0] === "unless") {
4856
- const [, condition, body] = expr;
4857
- const value = Array.isArray(body) && body.length === 1 ? body[0] : body;
4858
- return `if (!${this.generate(condition, "value")}) return ${this.generate(value, "value")}`;
4859
- }
4860
- if (Array.isArray(expr) && expr[0] === "if") {
4861
- const [, condition, body, ...elseParts] = expr;
4862
- if (elseParts.length === 0) {
4863
- const value = Array.isArray(body) && body.length === 1 ? body[0] : body;
4864
- return `if (${this.generate(condition, "value")}) return ${this.generate(value, "value")}`;
4865
- }
4866
- }
4867
- if (Array.isArray(expr) && expr[0] === "new" && Array.isArray(expr[1]) && expr[1][0] === "unless") {
4868
- const [, unlessNode] = expr;
4869
- const [, condition, body] = unlessNode;
4870
- const value = Array.isArray(body) && body.length === 1 ? body[0] : body;
4871
- return `if (!${this.generate(condition, "value")}) return ${this.generate(["new", value], "value")}`;
4872
- }
4873
- return `return ${this.generate(expr, "value")}`;
4874
- }
4875
- generateSignal(head, rest, context, sexpr) {
4876
- const [name, expr] = rest;
4877
- this.usesReactivity = true;
4878
- const varName = typeof name === "string" ? name : name.valueOf();
4879
- const exprCode = this.generate(expr, "value");
4880
- if (!this.reactiveVars)
4881
- this.reactiveVars = new Set;
4882
- this.reactiveVars.add(varName);
4883
- return `const ${varName} = __signal(${exprCode})`;
4884
- }
4885
- generateDerived(head, rest, context, sexpr) {
4886
- const [name, expr] = rest;
4887
- this.usesReactivity = true;
4888
- if (!this.reactiveVars)
4889
- this.reactiveVars = new Set;
4890
- const varName = typeof name === "string" ? name : name.valueOf();
4891
- this.reactiveVars.add(varName);
4892
- const exprCode = this.generate(expr, "value");
4893
- return `const ${varName} = __computed(() => ${exprCode})`;
4894
- }
4895
- generateReadonly(head, rest, context, sexpr) {
4896
- const [name, expr] = rest;
4897
- const varName = typeof name === "string" ? name : name.valueOf();
4898
- const exprCode = this.generate(expr, "value");
4899
- return `const ${varName} = ${exprCode}`;
4900
- }
4901
- generateEffect(head, rest, context, sexpr) {
4902
- const [body] = rest;
4903
- this.usesReactivity = true;
4904
- let bodyCode;
4905
- if (Array.isArray(body) && body[0] === "block") {
4906
- const statements = body.slice(1);
4907
- const stmts = this.withIndent(() => this.formatStatements(statements));
4908
- bodyCode = `{
4909
- ${stmts.join(`
4910
- `)}
4911
- ${this.indent()}}`;
4912
- } else if (Array.isArray(body) && (body[0] === "->" || body[0] === "=>")) {
4913
- const fnCode = this.generate(body, "value");
4914
- return `__effect(${fnCode})`;
4915
- } else {
4916
- bodyCode = `{ ${this.generate(body, "value")}; }`;
4917
- }
4918
- return `__effect(() => ${bodyCode})`;
4919
- }
4920
- isHtmlTag(name) {
4921
- const tagPart = name.split("#")[0];
4922
- return HTML_TAGS.has(tagPart.toLowerCase());
4923
- }
4924
- isComponent(name) {
4925
- if (!name || typeof name !== "string")
4926
- return false;
4927
- return /^[A-Z]/.test(name);
4928
- }
4929
- parseEventHandler(key2, value) {
4930
- if (Array.isArray(key2) && key2[0] === "." && key2[1] === "this" && typeof key2[2] === "string") {
4931
- return { eventName: key2[2], modifiers: [], handler: this.generate(value, "value") };
4932
- }
4933
- if (Array.isArray(key2) && key2[0] === "computed") {
4934
- const { eventName, modifiers } = this.extractEventChain(key2[1]);
4935
- if (eventName) {
4936
- return { eventName, modifiers, handler: this.generate(value, "value") };
4937
- }
4938
- }
4939
- return null;
4940
- }
4941
- extractEventChain(chain) {
4942
- const modifiers = [];
4943
- let current = chain;
4944
- while (Array.isArray(current) && current[0] === ".") {
4945
- const [, inner, prop] = current;
4946
- if (Array.isArray(inner) && inner[0] === "." && inner[1] === "this") {
4947
- modifiers.unshift(prop);
4948
- return { eventName: inner[2], modifiers };
4949
- }
4950
- if (typeof prop === "string")
4951
- modifiers.unshift(prop);
4952
- current = inner;
4953
- }
4954
- if (Array.isArray(current) && current[0] === "." && current[1] === "this") {
4955
- return { eventName: current[2], modifiers };
4956
- }
4957
- return { eventName: null, modifiers: [] };
4958
- }
4959
- wrapEventHandler(handler, modifiers) {
4960
- if (modifiers.length === 0)
4961
- return handler;
4962
- const checks = [];
4963
- const actions = [];
4964
- for (const mod of modifiers) {
4965
- switch (mod) {
4966
- case "prevent":
4967
- actions.push("e.preventDefault()");
4968
- break;
4969
- case "stop":
4970
- actions.push("e.stopPropagation()");
4971
- break;
4972
- case "self":
4973
- checks.push("if (e.target !== e.currentTarget) return");
4974
- break;
4975
- case "enter":
4976
- checks.push("if (e.key !== 'Enter') return");
4977
- break;
4978
- case "escape":
4979
- case "esc":
4980
- checks.push("if (e.key !== 'Escape') return");
4981
- break;
4982
- case "tab":
4983
- checks.push("if (e.key !== 'Tab') return");
4984
- break;
4985
- case "space":
4986
- checks.push("if (e.key !== ' ') return");
4987
- break;
4988
- case "up":
4989
- checks.push("if (e.key !== 'ArrowUp') return");
4990
- break;
4991
- case "down":
4992
- checks.push("if (e.key !== 'ArrowDown') return");
4993
- break;
4994
- case "left":
4995
- checks.push("if (e.key !== 'ArrowLeft') return");
4996
- break;
4997
- case "right":
4998
- checks.push("if (e.key !== 'ArrowRight') return");
4999
- break;
5000
- case "ctrl":
5001
- checks.push("if (!e.ctrlKey) return");
5002
- break;
5003
- case "alt":
5004
- checks.push("if (!e.altKey) return");
5005
- break;
5006
- case "shift":
5007
- checks.push("if (!e.shiftKey) return");
5008
- break;
5009
- case "meta":
5010
- checks.push("if (!e.metaKey) return");
5011
- break;
5012
- }
5013
- }
5014
- const body = [...checks, ...actions, `(${handler})(e)`].join("; ");
5015
- return `(e) => { ${body}; }`;
5016
- }
5017
- static BIND_PREFIX = "__bind_";
5018
- static BIND_SUFFIX = "__";
5019
- static extractInputType(pairs) {
5020
- for (const pair of pairs) {
5021
- if (!Array.isArray(pair))
5022
- continue;
5023
- const key2 = pair[0] instanceof String ? pair[0].valueOf() : pair[0];
5024
- const val = pair[1] instanceof String ? pair[1].valueOf() : pair[1];
5025
- if (key2 === "type" && typeof val === "string") {
5026
- return val.replace(/^["']|["']$/g, "");
5027
- }
5028
- }
5029
- return null;
5030
- }
5031
- parseBindingDirective(key2, value, tag, inputType) {
5032
- let prop;
5033
- if (typeof key2 === "string" && key2.startsWith(CodeGenerator.BIND_PREFIX) && key2.endsWith(CodeGenerator.BIND_SUFFIX)) {
5034
- prop = key2.slice(CodeGenerator.BIND_PREFIX.length, -CodeGenerator.BIND_SUFFIX.length);
5035
- } else if (Array.isArray(key2) && key2[0] === "computed") {
5036
- const chain = key2[1];
5037
- if (!Array.isArray(chain) || chain[0] !== ".")
5038
- return null;
5039
- const [, inner, propName] = chain;
5040
- if (!Array.isArray(inner) || inner[0] !== "." || inner[1] !== "this" || inner[2] !== "bind") {
5041
- return null;
5042
- }
5043
- prop = typeof propName === "string" ? propName : String(propName);
5044
- } else {
5045
- return null;
5046
- }
5047
- const varName = this.generate(value, "value");
5048
- let event, valueAccessor;
5049
- if (prop === "checked") {
5050
- event = "onchange";
5051
- valueAccessor = "e.target.checked";
5052
- } else if (prop === "value") {
5053
- if (tag === "select") {
5054
- event = "onchange";
5055
- } else {
5056
- event = "oninput";
5057
- }
5058
- if (inputType === "number" || inputType === "range") {
5059
- valueAccessor = "e.target.valueAsNumber";
5060
- } else {
5061
- valueAccessor = "e.target.value";
5062
- }
5063
- } else {
5064
- event = "oninput";
5065
- valueAccessor = `e.target.${prop}`;
5066
- }
5067
- return {
5068
- prop,
5069
- event,
5070
- valueExpr: varName,
5071
- handler: `(e) => ${varName} = ${valueAccessor}`
5072
- };
5073
- }
5074
- generateRender(head, rest, context, sexpr) {
5075
- const [body] = rest;
5076
- this.usesTemplates = true;
5077
- if (!Array.isArray(body) || body[0] !== "block") {
5078
- return this.generateTemplateElement(body);
5079
- }
5080
- const statements = body.slice(1);
5081
- if (statements.length === 0)
5082
- return "null";
5083
- if (statements.length === 1)
5084
- return this.generateTemplateElement(statements[0]);
5085
- const elements = statements.map((s) => this.generateTemplateElement(s));
5086
- return `frag(${elements.join(", ")})`;
5087
- }
5088
- generateStyle(head, rest, context, sexpr) {
5089
- return "/* style block placeholder */";
5090
- }
5091
- generateComponent(head, rest, context, sexpr) {
5092
- const [name, body] = rest;
5093
- const componentName = typeof name === "string" ? name : this.generate(name, "value");
5094
- this.usesTemplates = true;
5095
- const statements = Array.isArray(body) && body[0] === "block" ? body.slice(1) : [];
5096
- const props = [];
5097
- const stateVars = [];
5098
- const derivedVars = [];
5099
- const readonlyVars = [];
5100
- const methods = [];
5101
- const lifecycleHooks = [];
5102
- const effects = [];
5103
- let renderBlock = null;
5104
- let styleBlock = null;
5105
- const memberNames = new Set;
5106
- const reactiveMembers = new Set;
5107
- for (const stmt of statements) {
5108
- if (!Array.isArray(stmt))
5109
- continue;
5110
- const [op] = stmt;
5111
- if (op === "prop") {
5112
- props.push(stmt);
5113
- memberNames.add(stmt[1]);
5114
- } else if (op === "prop-rest") {
5115
- props.push(stmt);
5116
- memberNames.add(stmt[1]);
5117
- } else if (op === "=" && typeof stmt[1] === "string") {
5118
- const varName = stmt[1];
5119
- if (["mounted", "unmounted", "updated"].includes(varName)) {
5120
- lifecycleHooks.push(stmt);
5121
- } else {
5122
- stateVars.push(stmt);
5123
- memberNames.add(varName);
5124
- reactiveMembers.add(varName);
5125
- }
5126
- } else if (op === "signal") {
5127
- stateVars.push(stmt);
5128
- memberNames.add(stmt[1]);
5129
- reactiveMembers.add(stmt[1]);
5130
- } else if (op === "derived") {
5131
- derivedVars.push(stmt);
5132
- memberNames.add(stmt[1]);
5133
- reactiveMembers.add(stmt[1]);
5134
- } else if (op === "readonly") {
5135
- readonlyVars.push(stmt);
5136
- memberNames.add(stmt[1]);
5137
- } else if (op === "effect") {
5138
- effects.push(stmt);
5139
- } else if (op === "render") {
5140
- renderBlock = stmt;
5141
- } else if (op === "style") {
5142
- styleBlock = stmt;
5143
- } else if (op === "object" && stmt.length >= 2) {
5144
- methods.push(stmt);
5145
- for (let i = 1;i < stmt.length; i++) {
5146
- if (Array.isArray(stmt[i]))
5147
- memberNames.add(stmt[i][0]);
5148
- }
5149
- }
5150
- }
5151
- const prevComponentMembers = this.componentMembers;
5152
- const prevReactiveMembers = this.reactiveMembers;
5153
- this.componentMembers = memberNames;
5154
- this.reactiveMembers = reactiveMembers;
5155
- const lines = [];
5156
- let blockFactoriesCode = "";
5157
- lines.push(`class ${componentName} {`);
5158
- lines.push(" constructor(props = {}) {");
5159
- lines.push(" // Context API: track parent component");
5160
- lines.push(" this._parent = __currentComponent;");
5161
- lines.push(" const __prevComponent = __currentComponent;");
5162
- lines.push(" __currentComponent = this;");
5163
- lines.push("");
5164
- if (props.length > 0) {
5165
- for (const prop of props) {
5166
- if (prop[0] === "prop") {
5167
- const propName = prop[1];
5168
- if (prop.length === 2) {
5169
- lines.push(` if (props.${propName} === undefined) throw new Error('Required prop: ${propName}');`);
5170
- lines.push(` this.${propName} = props.${propName};`);
5171
- } else if (prop[2] === "optional") {
5172
- lines.push(` this.${propName} = props.${propName};`);
5173
- } else {
5174
- const defaultVal = this.generateInComponent(prop[2], "value");
5175
- lines.push(` this.${propName} = props.${propName} ?? ${defaultVal};`);
5176
- }
5177
- } else if (prop[0] === "prop-rest") {
5178
- const restName = prop[1];
5179
- const propNames = props.filter((p) => p[0] === "prop").map((p) => p[1]);
5180
- lines.push(` const { ${propNames.join(", ")}, ...${restName} } = props;`);
5181
- lines.push(` this.${restName} = ${restName};`);
5182
- }
5183
- }
5184
- }
5185
- for (const [, varName, value] of readonlyVars) {
5186
- const val = this.generateInComponent(value, "value");
5187
- lines.push(` this.${varName} = ${val};`);
5188
- }
5189
- this.usesReactivity = true;
5190
- for (const stmt of stateVars) {
5191
- if (stmt[0] === "signal") {
5192
- const [, varName, value] = stmt;
5193
- const val = this.generateInComponent(value, "value");
5194
- lines.push(` this.${varName} = __signal(${val});`);
5195
- } else {
5196
- const [, varName, value] = stmt;
5197
- const val = this.generateInComponent(value, "value");
5198
- lines.push(` this.${varName} = __signal(${val});`);
5199
- }
5200
- }
5201
- for (const [, varName, expr] of derivedVars) {
5202
- const val = this.generateInComponent(expr, "value");
5203
- lines.push(` this.${varName} = __computed(() => ${val});`);
5204
- }
5205
- for (const effect of effects) {
5206
- const body2 = effect[1];
5207
- const effectCode = this.generateInComponent(body2, "value");
5208
- lines.push(` __effect(${effectCode});`);
5209
- }
5210
- lines.push("");
5211
- lines.push(" __currentComponent = __prevComponent;");
5212
- lines.push(" }");
5213
- for (const methodStmt of methods) {
5214
- for (let i = 1;i < methodStmt.length; i++) {
5215
- const [methodName, funcDef] = methodStmt[i];
5216
- if (Array.isArray(funcDef) && (funcDef[0] === "->" || funcDef[0] === "=>")) {
5217
- const [, params, body2] = funcDef;
5218
- const paramStr = Array.isArray(params) ? params.map((p) => this.formatParam(p)).join(", ") : "";
5219
- const bodyCode = this.generateInComponent(body2, "value");
5220
- lines.push(` ${methodName}(${paramStr}) { return ${bodyCode}; }`);
5221
- }
5222
- }
5223
- }
5224
- for (const [, hookName, hookValue] of lifecycleHooks) {
5225
- if (Array.isArray(hookValue) && (hookValue[0] === "->" || hookValue[0] === "=>")) {
5226
- const [, params, body2] = hookValue;
5227
- const bodyCode = this.generateInComponent(body2, "value");
5228
- lines.push(` ${hookName}() { return ${bodyCode}; }`);
5229
- }
5230
- }
5231
- if (renderBlock) {
5232
- const renderBody = renderBlock[1];
5233
- const fg = this.generateFineGrainedRender(renderBody);
5234
- if (fg.blockFactories.length > 0) {
5235
- blockFactoriesCode = fg.blockFactories.join(`
5236
-
5237
- `) + `
5238
-
5239
- `;
5240
- }
5241
- lines.push(" _create() {");
5242
- for (const line of fg.createLines) {
5243
- lines.push(` ${line}`);
5244
- }
5245
- lines.push(` return ${fg.rootVar};`);
5246
- lines.push(" }");
5247
- if (fg.setupLines.length > 0) {
5248
- lines.push(" _setup() {");
5249
- for (const line of fg.setupLines) {
5250
- lines.push(` ${line}`);
5251
- }
5252
- lines.push(" }");
5253
- }
5254
- }
5255
- lines.push(" mount(target) {");
5256
- lines.push(' if (typeof target === "string") target = document.querySelector(target);');
5257
- lines.push(" this._target = target;");
5258
- lines.push(" this._root = this._create();");
5259
- lines.push(" target.appendChild(this._root);");
5260
- lines.push(" if (this._setup) this._setup();");
5261
- lines.push(" if (this.mounted) this.mounted();");
5262
- lines.push(" return this;");
5263
- lines.push(" }");
5264
- lines.push(" unmount() {");
5265
- lines.push(" if (this.unmounted) this.unmounted();");
5266
- lines.push(" if (this._root && this._root.parentNode) {");
5267
- lines.push(" this._root.parentNode.removeChild(this._root);");
5268
- lines.push(" }");
5269
- lines.push(" }");
5270
- lines.push("}");
5271
- this.componentMembers = prevComponentMembers;
5272
- this.reactiveMembers = prevReactiveMembers;
5273
- return blockFactoriesCode + lines.join(`
5274
- `);
5275
- }
5276
- generateInComponent(sexpr, context) {
5277
- if (typeof sexpr === "string" && this.reactiveMembers && this.reactiveMembers.has(sexpr)) {
5278
- return `this.${sexpr}.value`;
5279
- }
5280
- if (Array.isArray(sexpr) && this.reactiveMembers) {
5281
- const transformed = this.transformComponentMembers(sexpr);
5282
- return this.generate(transformed, context);
5283
- }
5284
- return this.generate(sexpr, context);
5285
- }
5286
- transformComponentMembers(sexpr) {
5287
- if (!Array.isArray(sexpr)) {
5288
- if (typeof sexpr === "string" && this.reactiveMembers && this.reactiveMembers.has(sexpr)) {
5289
- return [".", [".", "this", sexpr], "value"];
5290
- }
5291
- return sexpr;
5292
- }
5293
- if (sexpr[0] === "." && sexpr[1] === "this" && typeof sexpr[2] === "string") {
5294
- const memberName = sexpr[2];
5295
- if (this.reactiveMembers && this.reactiveMembers.has(memberName)) {
5296
- return [".", sexpr, "value"];
5297
- }
5298
- return sexpr;
5299
- }
5300
- return sexpr.map((item) => this.transformComponentMembers(item));
5301
- }
5302
- generateComponentRender(body) {
5303
- if (!Array.isArray(body) || body[0] !== "block") {
5304
- return this.generateComponentTemplateElement(body);
5305
- }
5306
- const statements = body.slice(1);
5307
- if (statements.length === 0)
5308
- return "null";
5309
- if (statements.length === 1)
5310
- return this.generateComponentTemplateElement(statements[0]);
5311
- const elements = statements.map((s) => this.generateComponentTemplateElement(s));
5312
- return `frag(${elements.join(", ")})`;
5313
- }
5314
- generateFineGrainedRender(body) {
5315
- this._fgElementCount = 0;
5316
- this._fgTextCount = 0;
5317
- this._fgBlockCount = 0;
5318
- this._fgCreateLines = [];
5319
- this._fgSetupLines = [];
5320
- this._fgBlockFactories = [];
5321
- const statements = Array.isArray(body) && body[0] === "block" ? body.slice(1) : [body];
5322
- let rootVar;
5323
- if (statements.length === 0) {
5324
- rootVar = "null";
5325
- } else if (statements.length === 1) {
5326
- rootVar = this.fgProcessElement(statements[0]);
5327
- } else {
5328
- rootVar = this.fgNewElement("frag");
5329
- this._fgCreateLines.push(`${rootVar} = document.createDocumentFragment();`);
5330
- for (const stmt of statements) {
5331
- const childVar = this.fgProcessElement(stmt);
5332
- this._fgCreateLines.push(`${rootVar}.appendChild(${childVar});`);
5333
- }
5334
- }
5335
- return {
5336
- createLines: this._fgCreateLines,
5337
- setupLines: this._fgSetupLines,
5338
- blockFactories: this._fgBlockFactories,
5339
- rootVar
5340
- };
5341
- }
5342
- fgNewBlock() {
5343
- return `create_block_${this._fgBlockCount++}`;
5344
- }
5345
- fgNewElement(hint = "el") {
5346
- return `this._${hint}${this._fgElementCount++}`;
5347
- }
5348
- fgNewText() {
5349
- return `this._t${this._fgTextCount++}`;
5350
- }
5351
- fgProcessElement(sexpr) {
5352
- if (typeof sexpr === "string" || sexpr instanceof String) {
5353
- const str = sexpr.valueOf();
5354
- if (str.startsWith('"') || str.startsWith("'") || str.startsWith("`")) {
5355
- const textVar = this.fgNewText();
5356
- this._fgCreateLines.push(`${textVar} = document.createTextNode(${str});`);
5357
- return textVar;
5358
- }
5359
- if (this.reactiveMembers && this.reactiveMembers.has(str)) {
5360
- const textVar = this.fgNewText();
5361
- this._fgCreateLines.push(`${textVar} = document.createTextNode('');`);
5362
- this._fgSetupLines.push(`__effect(() => { ${textVar}.data = this.${str}.value; });`);
5363
- return textVar;
5364
- }
5365
- const elVar = this.fgNewElement();
5366
- this._fgCreateLines.push(`${elVar} = document.createElement('${str}');`);
5367
- return elVar;
5368
- }
5369
- if (Array.isArray(sexpr)) {
5370
- const [head, ...rest] = sexpr;
5371
- const headStr = typeof head === "string" ? head : head instanceof String ? head.valueOf() : null;
5372
- if (headStr && this.isComponent(headStr)) {
5373
- return this.fgProcessComponent(headStr, rest);
5374
- }
5375
- if (headStr && this.isHtmlTag(headStr)) {
5376
- return this.fgProcessTag(headStr, [], rest);
5377
- }
5378
- if (headStr === ".") {
5379
- const [, obj, prop] = sexpr;
5380
- if (obj === "this" && typeof prop === "string") {
5381
- if (this.reactiveMembers && this.reactiveMembers.has(prop)) {
5382
- const textVar3 = this.fgNewText();
5383
- this._fgCreateLines.push(`${textVar3} = document.createTextNode('');`);
5384
- this._fgSetupLines.push(`__effect(() => { ${textVar3}.data = this.${prop}.value; });`);
5385
- return textVar3;
5386
- }
5387
- if (this.componentMembers && this.componentMembers.has(prop)) {
5388
- const slotVar = this.fgNewElement("slot");
5389
- this._fgCreateLines.push(`${slotVar} = this.${prop} instanceof Node ? this.${prop} : (this.${prop} != null ? document.createTextNode(String(this.${prop})) : document.createComment(''));`);
5390
- return slotVar;
5391
- }
5392
- }
5393
- const { tag, classes } = this.collectTemplateClasses(sexpr);
5394
- if (tag && this.isHtmlTag(tag)) {
5395
- return this.fgProcessTag(tag, classes, []);
5396
- }
5397
- const textVar2 = this.fgNewText();
5398
- const exprCode2 = this.generateInComponent(sexpr, "value");
5399
- this._fgCreateLines.push(`${textVar2} = document.createTextNode(String(${exprCode2}));`);
5400
- return textVar2;
5401
- }
5402
- if (Array.isArray(head)) {
5403
- if (Array.isArray(head[0]) && head[0][0] === "." && (head[0][2] === "__cx__" || head[0][2] instanceof String && head[0][2].valueOf() === "__cx__")) {
5404
- const tag2 = typeof head[0][1] === "string" ? head[0][1] : head[0][1].valueOf();
5405
- const classExprs = head.slice(1);
5406
- return this.fgProcessTagWithDynamicClass(tag2, classExprs, rest);
5407
- }
5408
- const { tag, classes } = this.collectTemplateClasses(head);
5409
- if (tag && this.isHtmlTag(tag)) {
5410
- if (classes.length === 1 && classes[0] === "__cx__") {
5411
- return this.fgProcessTagWithDynamicClass(tag, rest, []);
5412
- }
5413
- return this.fgProcessTag(tag, classes, rest);
5414
- }
5415
- }
5416
- if (headStr === "->" || headStr === "=>") {
5417
- const [params, body] = rest;
5418
- return this.fgProcessBlock(body);
5419
- }
5420
- if (headStr === "if") {
5421
- return this.fgProcessConditional(sexpr);
5422
- }
5423
- if (headStr === "for" || headStr === "for-in" || headStr === "for-of") {
5424
- return this.fgProcessLoop(sexpr);
5425
- }
5426
- const textVar = this.fgNewText();
5427
- const exprCode = this.generateInComponent(sexpr, "value");
5428
- if (this.fgHasReactiveDeps(sexpr)) {
5429
- this._fgCreateLines.push(`${textVar} = document.createTextNode('');`);
5430
- this._fgSetupLines.push(`__effect(() => { ${textVar}.data = ${exprCode}; });`);
5431
- } else {
5432
- this._fgCreateLines.push(`${textVar} = document.createTextNode(String(${exprCode}));`);
5433
- }
5434
- return textVar;
5435
- }
5436
- const commentVar = this.fgNewElement("c");
5437
- this._fgCreateLines.push(`${commentVar} = document.createComment('unknown');`);
5438
- return commentVar;
5439
- }
5440
- fgProcessTagWithDynamicClass(tag, classExprs, children) {
5441
- const elVar = this.fgNewElement();
5442
- this._fgCreateLines.push(`${elVar} = document.createElement('${tag}');`);
5443
- if (classExprs.length > 0) {
5444
- const classCode = classExprs.map((e) => this.generateInComponent(e, "value")).join(' + " " + ');
5445
- const hasReactiveDeps = classExprs.some((e) => this.fgHasReactiveDeps(e));
5446
- if (hasReactiveDeps) {
5447
- this._fgSetupLines.push(`__effect(() => { ${elVar}.className = ${classCode}; });`);
5448
- } else {
5449
- this._fgCreateLines.push(`${elVar}.className = ${classCode};`);
5450
- }
5451
- }
5452
- for (const arg of children) {
5453
- const argHead = Array.isArray(arg) ? arg[0] instanceof String ? arg[0].valueOf() : arg[0] : null;
5454
- if (argHead === "->" || argHead === "=>") {
5455
- const block = arg[2];
5456
- const blockHead = Array.isArray(block) ? block[0] instanceof String ? block[0].valueOf() : block[0] : null;
5457
- if (blockHead === "block") {
5458
- for (const child of block.slice(1)) {
5459
- const childVar = this.fgProcessElement(child);
5460
- this._fgCreateLines.push(`${elVar}.appendChild(${childVar});`);
5461
- }
5462
- } else if (block) {
5463
- const childVar = this.fgProcessElement(block);
5464
- this._fgCreateLines.push(`${elVar}.appendChild(${childVar});`);
5465
- }
5466
- } else if (Array.isArray(arg) && arg[0] === "object") {
5467
- this.fgProcessAttributes(elVar, arg);
5468
- } else if (typeof arg === "string" || arg instanceof String) {
5469
- const textVar = this.fgNewText();
5470
- const argStr = arg.valueOf();
5471
- if (argStr.startsWith('"') || argStr.startsWith("'") || argStr.startsWith("`")) {
5472
- this._fgCreateLines.push(`${textVar} = document.createTextNode(${argStr});`);
5473
- } else if (this.reactiveMembers && this.reactiveMembers.has(argStr)) {
5474
- this._fgCreateLines.push(`${textVar} = document.createTextNode('');`);
5475
- this._fgSetupLines.push(`__effect(() => { ${textVar}.data = this.${argStr}.value; });`);
5476
- } else {
5477
- this._fgCreateLines.push(`${textVar} = document.createTextNode(${this.generateInComponent(arg, "value")});`);
5478
- }
5479
- this._fgCreateLines.push(`${elVar}.appendChild(${textVar});`);
5480
- } else {
5481
- const childVar = this.fgProcessElement(arg);
5482
- this._fgCreateLines.push(`${elVar}.appendChild(${childVar});`);
5483
- }
5484
- }
5485
- return elVar;
5486
- }
5487
- fgProcessTag(tag, classes, args) {
5488
- const elVar = this.fgNewElement();
5489
- this._fgCreateLines.push(`${elVar} = document.createElement('${tag}');`);
5490
- if (classes.length > 0) {
5491
- this._fgCreateLines.push(`${elVar}.className = '${classes.join(" ")}';`);
5492
- }
5493
- for (const arg of args) {
5494
- if (Array.isArray(arg) && (arg[0] === "->" || arg[0] === "=>")) {
5495
- const block = arg[2];
5496
- if (Array.isArray(block) && block[0] === "block") {
5497
- for (const child of block.slice(1)) {
5498
- const childVar = this.fgProcessElement(child);
5499
- this._fgCreateLines.push(`${elVar}.appendChild(${childVar});`);
5500
- }
5501
- } else if (block) {
5502
- const childVar = this.fgProcessElement(block);
5503
- this._fgCreateLines.push(`${elVar}.appendChild(${childVar});`);
5504
- }
5505
- } else if (Array.isArray(arg) && arg[0] === "object") {
5506
- this.fgProcessAttributes(elVar, arg);
5507
- } else if (typeof arg === "string") {
5508
- const textVar = this.fgNewText();
5509
- if (arg.startsWith('"') || arg.startsWith("'") || arg.startsWith("`")) {
5510
- this._fgCreateLines.push(`${textVar} = document.createTextNode(${arg});`);
5511
- } else if (this.reactiveMembers && this.reactiveMembers.has(arg)) {
5512
- this._fgCreateLines.push(`${textVar} = document.createTextNode('');`);
5513
- this._fgSetupLines.push(`__effect(() => { ${textVar}.data = this.${arg}.value; });`);
5514
- } else if (this.componentMembers && this.componentMembers.has(arg)) {
5515
- this._fgCreateLines.push(`${textVar} = document.createTextNode(String(this.${arg}));`);
5516
- } else {
5517
- this._fgCreateLines.push(`${textVar} = document.createTextNode(String(${arg}));`);
5518
- }
5519
- this._fgCreateLines.push(`${elVar}.appendChild(${textVar});`);
5520
- } else if (arg instanceof String) {
5521
- const val = arg.valueOf();
5522
- const textVar = this.fgNewText();
5523
- if (val.startsWith('"') || val.startsWith("'") || val.startsWith("`")) {
5524
- this._fgCreateLines.push(`${textVar} = document.createTextNode(${val});`);
5525
- } else if (this.reactiveMembers && this.reactiveMembers.has(val)) {
5526
- this._fgCreateLines.push(`${textVar} = document.createTextNode('');`);
5527
- this._fgSetupLines.push(`__effect(() => { ${textVar}.data = this.${val}.value; });`);
5528
- } else {
5529
- this._fgCreateLines.push(`${textVar} = document.createTextNode(String(${val}));`);
5530
- }
5531
- this._fgCreateLines.push(`${elVar}.appendChild(${textVar});`);
5532
- } else if (arg) {
5533
- const childVar = this.fgProcessElement(arg);
5534
- this._fgCreateLines.push(`${elVar}.appendChild(${childVar});`);
5535
- }
5536
- }
5537
- return elVar;
5538
- }
5539
- fgHasReactiveDeps(sexpr) {
5540
- if (!this.reactiveMembers || this.reactiveMembers.size === 0)
5541
- return false;
5542
- if (typeof sexpr === "string") {
5543
- return this.reactiveMembers.has(sexpr);
5544
- }
5545
- if (!Array.isArray(sexpr))
5546
- return false;
5547
- if (sexpr[0] === "." && sexpr[1] === "this" && typeof sexpr[2] === "string") {
5548
- return this.reactiveMembers.has(sexpr[2]);
5549
- }
5550
- for (const child of sexpr) {
5551
- if (this.fgHasReactiveDeps(child))
5552
- return true;
5553
- }
5554
- return false;
5555
- }
5556
- fgProcessAttributes(elVar, objExpr) {
5557
- const inputType = CodeGenerator.extractInputType(objExpr.slice(1));
5558
- for (let i = 1;i < objExpr.length; i++) {
5559
- const [key2, value] = objExpr[i];
5560
- if (Array.isArray(key2) && key2[0] === "." && key2[1] === "this") {
5561
- const eventName = key2[2];
5562
- const handlerCode = this.generateInComponent(value, "value");
5563
- this._fgCreateLines.push(`${elVar}.addEventListener('${eventName}', (e) => (${handlerCode})(e));`);
5564
- continue;
5565
- }
5566
- if (typeof key2 === "string") {
5567
- if (key2.startsWith("__bind_") && key2.endsWith("__")) {
5568
- const prop = key2.slice(7, -2);
5569
- const valueCode = this.generateInComponent(value, "value");
5570
- let event, valueAccessor;
5571
- if (prop === "checked") {
5572
- event = "change";
5573
- valueAccessor = "e.target.checked";
5574
- } else {
5575
- event = "input";
5576
- if (inputType === "number" || inputType === "range") {
5577
- valueAccessor = "e.target.valueAsNumber";
5578
- } else {
5579
- valueAccessor = "e.target.value";
5580
- }
5581
- }
5582
- this._fgSetupLines.push(`__effect(() => { ${elVar}.${prop} = ${valueCode}; });`);
5583
- this._fgCreateLines.push(`${elVar}.addEventListener('${event}', (e) => ${valueCode} = ${valueAccessor});`);
5584
- continue;
5585
- }
5586
- const hasReactiveDeps = this.fgHasReactiveDeps(value);
5587
- if (hasReactiveDeps) {
5588
- const valueCode = this.generateInComponent(value, "value");
5589
- this._fgSetupLines.push(`__effect(() => { ${elVar}.setAttribute('${key2}', ${valueCode}); });`);
5590
- } else {
5591
- const valueCode = this.generateInComponent(value, "value");
5592
- this._fgCreateLines.push(`${elVar}.setAttribute('${key2}', ${valueCode});`);
5593
- }
5594
- }
5595
- }
5596
- }
5597
- fgProcessBlock(body) {
5598
- if (!Array.isArray(body) || body[0] !== "block") {
5599
- return this.fgProcessElement(body);
5600
- }
5601
- const statements = body.slice(1);
5602
- if (statements.length === 0) {
5603
- const commentVar = this.fgNewElement("empty");
5604
- this._fgCreateLines.push(`${commentVar} = document.createComment('');`);
5605
- return commentVar;
5606
- }
5607
- if (statements.length === 1) {
5608
- return this.fgProcessElement(statements[0]);
5609
- }
5610
- const fragVar = this.fgNewElement("frag");
5611
- this._fgCreateLines.push(`${fragVar} = document.createDocumentFragment();`);
5612
- for (const stmt of statements) {
5613
- const childVar = this.fgProcessElement(stmt);
5614
- this._fgCreateLines.push(`${fragVar}.appendChild(${childVar});`);
5615
- }
5616
- return fragVar;
5617
- }
5618
- fgProcessConditional(sexpr) {
5619
- const [, condition, thenBlock, elseBlock] = sexpr;
5620
- const anchorVar = this.fgNewElement("anchor");
5621
- this._fgCreateLines.push(`${anchorVar} = document.createComment('if');`);
5622
- const condCode = this.generateInComponent(condition, "value");
5623
- const thenBlockName = this.fgNewBlock();
5624
- this.fgGenerateConditionBlock(thenBlockName, thenBlock);
5625
- let elseBlockName = null;
5626
- if (elseBlock) {
5627
- elseBlockName = this.fgNewBlock();
5628
- this.fgGenerateConditionBlock(elseBlockName, elseBlock);
5629
- }
5630
- const setupLines = [];
5631
- setupLines.push(`// Conditional: ${thenBlockName}${elseBlockName ? " / " + elseBlockName : ""}`);
5632
- setupLines.push(`{`);
5633
- setupLines.push(` const anchor = ${anchorVar};`);
5634
- setupLines.push(` let currentBlock = null;`);
5635
- setupLines.push(` let showing = null; // 'then', 'else', or null`);
5636
- setupLines.push(` __effect(() => {`);
5637
- setupLines.push(` const show = !!(${condCode});`);
5638
- setupLines.push(` const want = show ? 'then' : ${elseBlock ? "'else'" : "null"};`);
5639
- setupLines.push(` if (want === showing) return;`);
5640
- setupLines.push(``);
5641
- setupLines.push(` // Destroy old block`);
5642
- setupLines.push(` if (currentBlock) {`);
5643
- setupLines.push(` currentBlock.d(true);`);
5644
- setupLines.push(` currentBlock = null;`);
5645
- setupLines.push(` }`);
5646
- setupLines.push(` showing = want;`);
5647
- setupLines.push(``);
5648
- setupLines.push(` // Create new block`);
5649
- setupLines.push(` if (want === 'then') {`);
5650
- setupLines.push(` currentBlock = ${thenBlockName}(this);`);
5651
- setupLines.push(` currentBlock.c();`);
5652
- setupLines.push(` currentBlock.m(anchor.parentNode, anchor.nextSibling);`);
5653
- setupLines.push(` currentBlock.p(this);`);
5654
- setupLines.push(` }`);
5655
- if (elseBlock) {
5656
- setupLines.push(` if (want === 'else') {`);
5657
- setupLines.push(` currentBlock = ${elseBlockName}(this);`);
5658
- setupLines.push(` currentBlock.c();`);
5659
- setupLines.push(` currentBlock.m(anchor.parentNode, anchor.nextSibling);`);
5660
- setupLines.push(` currentBlock.p(this);`);
5661
- setupLines.push(` }`);
5662
- }
5663
- setupLines.push(` });`);
5664
- setupLines.push(`}`);
5665
- this._fgSetupLines.push(setupLines.join(`
5666
- `));
5667
- return anchorVar;
5668
- }
5669
- fgGenerateConditionBlock(blockName, block) {
5670
- const savedCreateLines = this._fgCreateLines;
5671
- const savedSetupLines = this._fgSetupLines;
5672
- this._fgCreateLines = [];
5673
- this._fgSetupLines = [];
5674
- const rootVar = this.fgProcessBlock(block);
5675
- const createLines = this._fgCreateLines;
5676
- const setupLines = this._fgSetupLines;
5677
- this._fgCreateLines = savedCreateLines;
5678
- this._fgSetupLines = savedSetupLines;
5679
- const localizeVar = (line) => {
5680
- return line.replace(/this\.(_el\d+|_t\d+|_anchor\d+|_frag\d+|_slot\d+|_c\d+|_inst\d+)/g, "$1");
5681
- };
5682
- const factoryLines = [];
5683
- factoryLines.push(`function ${blockName}(ctx) {`);
5684
- factoryLines.push(` // Local DOM references`);
5685
- const localVars = new Set;
5686
- for (const line of createLines) {
5687
- const match = line.match(/^this\.(_(?:el|t|anchor|frag|slot|c|inst)\d+)\s*=/);
5688
- if (match)
5689
- localVars.add(match[1]);
5690
- }
5691
- if (localVars.size > 0) {
5692
- factoryLines.push(` let ${[...localVars].join(", ")};`);
5693
- }
5694
- const hasEffects = setupLines.length > 0;
5695
- if (hasEffects) {
5696
- factoryLines.push(` let disposers = [];`);
5697
- }
5698
- factoryLines.push(` return {`);
5699
- factoryLines.push(` c() {`);
5700
- for (const line of createLines) {
5701
- factoryLines.push(` ${localizeVar(line)}`);
5702
- }
5703
- factoryLines.push(` },`);
5704
- factoryLines.push(` m(target, anchor) {`);
5705
- factoryLines.push(` target.insertBefore(${localizeVar(rootVar)}, anchor);`);
5706
- factoryLines.push(` },`);
5707
- factoryLines.push(` p(ctx) {`);
5708
- if (hasEffects) {
5709
- factoryLines.push(` disposers.forEach(d => d());`);
5710
- factoryLines.push(` disposers = [];`);
5711
- for (const line of setupLines) {
5712
- const localizedLine = localizeVar(line);
5713
- const wrappedLine = localizedLine.replace(/__effect\(\(\) => \{/g, "disposers.push(__effect(() => {").replace(/\}\);$/g, "}));");
5714
- factoryLines.push(` ${wrappedLine}`);
5715
- }
5716
- }
5717
- factoryLines.push(` },`);
5718
- factoryLines.push(` d(detaching) {`);
5719
- if (hasEffects) {
5720
- factoryLines.push(` disposers.forEach(d => d());`);
5721
- }
5722
- factoryLines.push(` if (detaching) ${localizeVar(rootVar)}.remove();`);
5723
- factoryLines.push(` }`);
5724
- factoryLines.push(` };`);
5725
- factoryLines.push(`}`);
5726
- this._fgBlockFactories.push(factoryLines.join(`
5727
- `));
5728
- }
5729
- fgProcessLoop(sexpr) {
5730
- const [head, vars, collection, guard, step, body] = sexpr;
5731
- const blockName = this.fgNewBlock();
5732
- const anchorVar = this.fgNewElement("anchor");
5733
- this._fgCreateLines.push(`${anchorVar} = document.createComment('for');`);
5734
- const varNames = Array.isArray(vars) ? vars : [vars];
5735
- const itemVar = varNames[0];
5736
- const indexVar = varNames[1] || "i";
5737
- const collectionCode = this.generateInComponent(collection, "value");
5738
- let keyExpr = itemVar;
5739
- if (Array.isArray(body) && body[0] === "block" && body.length > 1) {
5740
- const firstChild = body[1];
5741
- if (Array.isArray(firstChild)) {
5742
- for (const arg of firstChild) {
5743
- if (Array.isArray(arg) && arg[0] === "object") {
5744
- for (let i = 1;i < arg.length; i++) {
5745
- const [k2, v] = arg[i];
5746
- if (k2 === "key") {
5747
- keyExpr = this.generate(v, "value");
5748
- break;
5749
- }
5750
- }
5751
- }
5752
- if (keyExpr !== itemVar)
5753
- break;
5754
- }
5755
- }
5756
- }
5757
- const savedCreateLines = this._fgCreateLines;
5758
- const savedSetupLines = this._fgSetupLines;
5759
- const savedBlockFactories = this._fgBlockFactories;
5760
- this._fgCreateLines = [];
5761
- this._fgSetupLines = [];
5762
- const itemNode = this.fgProcessBlock(body);
5763
- const itemCreateLines = this._fgCreateLines;
5764
- const itemSetupLines = this._fgSetupLines;
5765
- this._fgCreateLines = savedCreateLines;
5766
- this._fgSetupLines = savedSetupLines;
5767
- const localizeVar = (line) => {
5768
- return line.replace(/this\.(_el\d+|_t\d+|_anchor\d+|_frag\d+|_slot\d+|_c\d+|_inst\d+)/g, "$1");
5769
- };
5770
- const factoryLines = [];
5771
- factoryLines.push(`function ${blockName}(ctx, ${itemVar}, ${indexVar}) {`);
5772
- factoryLines.push(` // Local DOM references (not on this)`);
5773
- const localVars = new Set;
5774
- for (const line of itemCreateLines) {
5775
- const match = line.match(/^this\.(_(?:el|t|anchor|frag|slot|c|inst)\d+)\s*=/);
5776
- if (match)
5777
- localVars.add(match[1]);
5778
- }
5779
- if (localVars.size > 0) {
5780
- factoryLines.push(` let ${[...localVars].join(", ")};`);
5781
- }
5782
- const hasEffects = itemSetupLines.length > 0;
5783
- if (hasEffects) {
5784
- factoryLines.push(` let disposers = [];`);
5785
- }
5786
- factoryLines.push(` return {`);
5787
- factoryLines.push(` c() {`);
5788
- for (const line of itemCreateLines) {
5789
- factoryLines.push(` ${localizeVar(line)}`);
5790
- }
5791
- factoryLines.push(` },`);
5792
- factoryLines.push(` m(target, anchor) {`);
5793
- factoryLines.push(` target.insertBefore(${localizeVar(itemNode)}, anchor);`);
5794
- factoryLines.push(` },`);
5795
- factoryLines.push(` p(ctx, ${itemVar}, ${indexVar}) {`);
5796
- if (hasEffects) {
5797
- factoryLines.push(` // Dispose old effects and create new ones with updated values`);
5798
- factoryLines.push(` disposers.forEach(d => d());`);
5799
- factoryLines.push(` disposers = [];`);
5800
- for (const line of itemSetupLines) {
5801
- const localizedLine = localizeVar(line);
5802
- const wrappedLine = localizedLine.replace(/__effect\(\(\) => \{/g, "disposers.push(__effect(() => {").replace(/\}\);$/g, "}));");
5803
- factoryLines.push(` ${wrappedLine}`);
5804
- }
5805
- }
5806
- factoryLines.push(` },`);
5807
- factoryLines.push(` d(detaching) {`);
5808
- if (hasEffects) {
5809
- factoryLines.push(` disposers.forEach(d => d());`);
5810
- }
5811
- factoryLines.push(` if (detaching) ${localizeVar(itemNode)}.remove();`);
5812
- factoryLines.push(` }`);
5813
- factoryLines.push(` };`);
5814
- factoryLines.push(`}`);
5815
- this._fgBlockFactories.push(factoryLines.join(`
5816
- `));
5817
- const setupLines = [];
5818
- setupLines.push(`// Loop: ${blockName}`);
5819
- setupLines.push(`{`);
5820
- setupLines.push(` const anchor = ${anchorVar};`);
5821
- setupLines.push(` const map = new Map(); // key -> block`);
5822
- setupLines.push(` let keys = [];`);
5823
- setupLines.push(` __effect(() => {`);
5824
- setupLines.push(` const items = ${collectionCode};`);
5825
- setupLines.push(` const parent = anchor.parentNode;`);
5826
- setupLines.push(` const newKeys = [];`);
5827
- setupLines.push(` const newMap = new Map();`);
5828
- setupLines.push(``);
5829
- setupLines.push(` // Create/update blocks`);
5830
- setupLines.push(` for (let ${indexVar} = 0; ${indexVar} < items.length; ${indexVar}++) {`);
5831
- setupLines.push(` const ${itemVar} = items[${indexVar}];`);
5832
- setupLines.push(` const key = ${keyExpr};`);
5833
- setupLines.push(` newKeys.push(key);`);
5834
- setupLines.push(` let block = map.get(key);`);
5835
- setupLines.push(` if (block) {`);
5836
- setupLines.push(` // Update existing block`);
5837
- setupLines.push(` block.p(this, ${itemVar}, ${indexVar});`);
5838
- setupLines.push(` } else {`);
5839
- setupLines.push(` // Create new block`);
5840
- setupLines.push(` block = ${blockName}(this, ${itemVar}, ${indexVar});`);
5841
- setupLines.push(` block.c();`);
5842
- setupLines.push(` block.m(parent, anchor);`);
5843
- setupLines.push(` block.p(this, ${itemVar}, ${indexVar}); // Wire up effects`);
5844
- setupLines.push(` }`);
5845
- setupLines.push(` newMap.set(key, block);`);
5846
- setupLines.push(` }`);
5847
- setupLines.push(``);
5848
- setupLines.push(` // Remove deleted blocks`);
5849
- setupLines.push(` for (const [key, block] of map) {`);
5850
- setupLines.push(` if (!newMap.has(key)) block.d(true);`);
5851
- setupLines.push(` }`);
5852
- setupLines.push(``);
5853
- setupLines.push(` // Update tracking (simple swap)`);
5854
- setupLines.push(` map.clear();`);
5855
- setupLines.push(` for (const [k, v] of newMap) map.set(k, v);`);
5856
- setupLines.push(` keys = newKeys;`);
5857
- setupLines.push(` });`);
5858
- setupLines.push(`}`);
5859
- this._fgSetupLines.push(setupLines.join(`
5860
- `));
5861
- return anchorVar;
5862
- }
5863
- fgProcessComponent(componentName, args) {
5864
- const instVar = this.fgNewElement("inst");
5865
- const elVar = this.fgNewElement("el");
5866
- const { propsCode, childrenVar, childrenSetupLines } = this.fgBuildComponentProps(args);
5867
- this._fgCreateLines.push(`${instVar} = new ${componentName}(${propsCode});`);
5868
- this._fgCreateLines.push(`${elVar} = ${instVar}._create();`);
5869
- this._fgSetupLines.push(`if (${instVar}._setup) ${instVar}._setup();`);
5870
- for (const line of childrenSetupLines) {
5871
- this._fgSetupLines.push(line);
5872
- }
5873
- return elVar;
5874
- }
5875
- fgBuildComponentProps(args) {
5876
- const props = [];
5877
- let childrenVar = null;
5878
- const childrenSetupLines = [];
5879
- for (const arg of args) {
5880
- if (Array.isArray(arg) && arg[0] === "object") {
5881
- for (let i = 1;i < arg.length; i++) {
5882
- const [key2, value] = arg[i];
5883
- if (typeof key2 === "string") {
5884
- const valueCode = this.generateInComponent(value, "value");
5885
- props.push(`${key2}: ${valueCode}`);
5886
- }
5887
- }
5888
- } else if (Array.isArray(arg) && (arg[0] === "->" || arg[0] === "=>")) {
5889
- const block = arg[2];
5890
- if (block) {
5891
- const savedCreateLines = this._fgCreateLines;
5892
- const savedSetupLines = this._fgSetupLines;
5893
- this._fgCreateLines = [];
5894
- this._fgSetupLines = [];
5895
- childrenVar = this.fgProcessBlock(block);
5896
- const childCreateLines = this._fgCreateLines;
5897
- const childSetupLinesCopy = this._fgSetupLines;
5898
- this._fgCreateLines = savedCreateLines;
5899
- this._fgSetupLines = savedSetupLines;
5900
- for (const line of childCreateLines) {
5901
- this._fgCreateLines.push(line);
5902
- }
5903
- childrenSetupLines.push(...childSetupLinesCopy);
5904
- props.push(`children: ${childrenVar}`);
5905
- }
5906
- }
5907
- }
5908
- const propsCode = props.length > 0 ? `{ ${props.join(", ")} }` : "{}";
5909
- return { propsCode, childrenVar, childrenSetupLines };
5910
- }
5911
- generateComponentTemplateElement(sexpr) {
5912
- if (typeof sexpr === "string") {
5913
- if (this.componentMembers && this.componentMembers.has(sexpr)) {
5914
- return `this.${sexpr}.value`;
5915
- }
5916
- if (sexpr.startsWith('"') || sexpr.startsWith("'") || sexpr.startsWith("`")) {
5917
- return sexpr;
5918
- }
5919
- return `h('${sexpr}', 0)`;
5920
- }
5921
- if (sexpr instanceof String) {
5922
- const val = sexpr.valueOf();
5923
- if (this.componentMembers && this.componentMembers.has(val)) {
5924
- return `this.${val}.value`;
5925
- }
5926
- }
5927
- if (Array.isArray(sexpr)) {
5928
- const [head, ...rest] = sexpr;
5929
- const headStr = typeof head === "string" ? head : head instanceof String ? head.valueOf() : null;
5930
- if (headStr && this.isComponent(headStr)) {
5931
- return this.generateComponentInstance(headStr, rest);
5932
- }
5933
- if (headStr && this.isHtmlTag && this.isHtmlTag(headStr)) {
5934
- return this.generateComponentH(headStr, [], rest);
5935
- }
5936
- if (headStr === ".") {
5937
- const [, obj, prop] = sexpr;
5938
- if (obj === "this" && prop === "children") {
5939
- return `this.children`;
5940
- }
5941
- const { tag, classes } = this.collectTemplateClasses(sexpr);
5942
- if (tag && this.isHtmlTag && this.isHtmlTag(tag)) {
5943
- return this.generateComponentH(tag, classes, []);
5944
- }
5945
- }
5946
- if (Array.isArray(head)) {
5947
- const { tag, classes } = this.collectTemplateClasses(head);
5948
- if (tag && this.isHtmlTag && this.isHtmlTag(tag)) {
5949
- return this.generateComponentH(tag, classes, rest);
5950
- }
5951
- }
5952
- if (headStr === "->" || headStr === "=>") {
5953
- const [params, body] = rest;
5954
- return this.generateComponentRender(body);
5955
- }
5956
- return this.generateTemplateElement(sexpr);
5957
- }
5958
- return this.generateTemplateElement(sexpr);
5959
- }
5960
- generateComponentH(tag, classes, args) {
5961
- this.usesTemplates = true;
5962
- const props = {};
5963
- const spreads = [];
5964
- const children = [];
5965
- let refVar = null;
5966
- for (const arg of args) {
5967
- if (Array.isArray(arg) && (arg[0] === "->" || arg[0] === "=>")) {
5968
- const block = arg[2];
5969
- if (Array.isArray(block) && block[0] === "block") {
5970
- children.push(...block.slice(1).map((s) => this.generateComponentTemplateElement(s)));
5971
- } else {
5972
- children.push(this.generateComponentTemplateElement(block));
5973
- }
5974
- } else if (Array.isArray(arg) && arg[0] === "...") {
5975
- spreads.push(this.generateInComponent(arg[1], "value"));
5976
- } else if (Array.isArray(arg) && arg[0] === "object") {
5977
- const inputType = CodeGenerator.extractInputType(arg.slice(1));
5978
- for (const pair of arg.slice(1)) {
5979
- if (Array.isArray(pair) && pair.length >= 2) {
5980
- const [key2, value] = pair;
5981
- const bindInfo = this.parseBindingDirective(key2, value, tag, inputType);
5982
- if (bindInfo) {
5983
- props[bindInfo.prop] = bindInfo.valueExpr;
5984
- props[bindInfo.event] = bindInfo.handler;
5985
- continue;
5986
- }
5987
- const eventInfo = this.parseEventHandler(key2, value);
5988
- if (eventInfo) {
5989
- const handler = eventInfo.modifiers.length > 0 ? this.wrapEventHandler(eventInfo.handler, eventInfo.modifiers) : eventInfo.handler;
5990
- props[`on${eventInfo.eventName}`] = handler;
5991
- } else {
5992
- const keyStr = typeof key2 === "string" ? key2 : this.generate(key2, "value");
5993
- if (keyStr === "ref") {
5994
- refVar = typeof value === "string" ? value : this.generate(value, "value");
5995
- } else if (keyStr === "key") {
5996
- props.key = this.generateInComponent(value, "value");
5997
- } else {
5998
- props[keyStr] = this.generateInComponent(value, "value");
5999
- }
6000
- }
6001
- }
6002
- }
6003
- } else if (typeof arg === "string") {
6004
- if (this.componentMembers && this.componentMembers.has(arg)) {
6005
- children.push(`this.${arg}.value`);
6006
- } else if (arg.startsWith('"') || arg.startsWith("'") || arg.startsWith("`")) {
6007
- children.push(arg);
6008
- } else {
6009
- children.push(`String(${arg})`);
6010
- }
6011
- } else {
6012
- children.push(this.generateComponentTemplateElement(arg));
6013
- }
4332
+ const objCode = this.generate(obj, "value");
4333
+ if (prop === "prototype") {
4334
+ return `${objCode}.prototype`;
6014
4335
  }
6015
- const tagStr = classes.length > 0 ? `${tag}.${classes.join(".")}` : tag;
6016
- const propsStr = this.buildPropsString(props, spreads);
6017
- const childrenStr = this.buildChildrenString(children);
6018
- let result = `h('${tagStr}', ${propsStr}${childrenStr})`;
6019
- if (refVar) {
6020
- result = `(${refVar} = ${result})`;
4336
+ const cleanProp = prop instanceof String ? prop.valueOf() : prop;
4337
+ return `${objCode}.prototype.${cleanProp}`;
4338
+ }
4339
+ generateOptionalPrototype(head, rest, context, sexpr) {
4340
+ const [obj, prop] = rest;
4341
+ const objCode = this.generate(obj, "value");
4342
+ if (prop === "prototype") {
4343
+ return `(${objCode} != null ? ${objCode}.prototype : undefined)`;
6021
4344
  }
6022
- return result;
4345
+ return `(${objCode} != null ? ${objCode}.prototype.${prop} : undefined)`;
6023
4346
  }
6024
- generateComponentInstance(componentName, args) {
6025
- const props = {};
6026
- const children = [];
6027
- for (const arg of args) {
6028
- if (Array.isArray(arg) && arg[0] === "object") {
6029
- for (let i = 1;i < arg.length; i++) {
6030
- const [key2, value] = arg[i];
6031
- if (typeof key2 === "string") {
6032
- props[key2] = this.generateInComponent(value, "value");
6033
- }
4347
+ generateRegexIndex(head, rest, context, sexpr) {
4348
+ const [value, regex, captureIndex] = rest;
4349
+ this.helpers.add("toSearchable");
4350
+ this.programVars.add("_");
4351
+ const valueCode = this.generate(value, "value");
4352
+ const regexCode = this.generate(regex, "value");
4353
+ const indexCode = captureIndex !== null ? this.generate(captureIndex, "value") : "0";
4354
+ const hasMultilineFlag = regexCode.includes("/m");
4355
+ const allowNewlines = hasMultilineFlag ? ", true" : "";
4356
+ return `(_ = toSearchable(${valueCode}${allowNewlines}).match(${regexCode})) && _[${indexCode}]`;
4357
+ }
4358
+ generateIndexAccess(head, rest, context, sexpr) {
4359
+ const [arr, index] = rest;
4360
+ if (Array.isArray(index) && (index[0] === ".." || index[0] === "...")) {
4361
+ const isInclusive = index[0] === "..";
4362
+ const arrCode = this.generate(arr, "value");
4363
+ const [start, end] = index.slice(1);
4364
+ if (start === null && end === null) {
4365
+ return `${arrCode}.slice()`;
4366
+ } else if (start === null) {
4367
+ if (isInclusive && this.isNegativeOneLiteral(end)) {
4368
+ return `${arrCode}.slice(0)`;
6034
4369
  }
6035
- } else if (Array.isArray(arg) && (arg[0] === "->" || arg[0] === "=>")) {
6036
- const block = arg[2];
6037
- if (Array.isArray(block) && block[0] === "block") {
6038
- children.push(...block.slice(1).map((s) => this.generateComponentTemplateElement(s)));
4370
+ const endCode = this.generate(end, "value");
4371
+ if (isInclusive) {
4372
+ return `${arrCode}.slice(0, +${endCode} + 1 || 9e9)`;
6039
4373
  } else {
6040
- children.push(this.generateComponentTemplateElement(block));
4374
+ return `${arrCode}.slice(0, ${endCode})`;
4375
+ }
4376
+ } else if (end === null) {
4377
+ const startCode = this.generate(start, "value");
4378
+ return `${arrCode}.slice(${startCode})`;
4379
+ } else {
4380
+ const startCode = this.generate(start, "value");
4381
+ if (isInclusive && this.isNegativeOneLiteral(end)) {
4382
+ return `${arrCode}.slice(${startCode})`;
6041
4383
  }
6042
- } else if (typeof arg === "string") {
6043
- if (arg.startsWith('"') || arg.startsWith("'") || arg.startsWith("`")) {
6044
- children.push(arg);
6045
- } else if (this.reactiveMembers && this.reactiveMembers.has(arg)) {
6046
- children.push(`this.${arg}.value`);
4384
+ const endCode = this.generate(end, "value");
4385
+ if (isInclusive) {
4386
+ return `${arrCode}.slice(${startCode}, +${endCode} + 1 || 9e9)`;
6047
4387
  } else {
6048
- children.push(`String(${arg})`);
4388
+ return `${arrCode}.slice(${startCode}, ${endCode})`;
6049
4389
  }
6050
- } else {
6051
- children.push(this.generateComponentTemplateElement(arg));
6052
- }
6053
- }
6054
- const propsEntries = Object.entries(props);
6055
- let propsStr = "{}";
6056
- if (propsEntries.length > 0 || children.length > 0) {
6057
- const entries = propsEntries.map(([k2, v]) => `${k2}: ${v}`);
6058
- if (children.length > 0) {
6059
- const childrenStr = children.length === 1 ? children[0] : `[${children.join(", ")}]`;
6060
- entries.push(`children: ${childrenStr}`);
6061
4390
  }
6062
- propsStr = entries.length > 0 ? `{ ${entries.join(", ")} }` : "{}";
6063
4391
  }
6064
- return `new ${componentName}(${propsStr}).render()`;
4392
+ const indexCode = this.unwrap(this.generate(index, "value"));
4393
+ return `${this.generate(arr, "value")}[${indexCode}]`;
6065
4394
  }
6066
- generateTemplateElement(sexpr) {
6067
- if (typeof sexpr === "string") {
6068
- if (sexpr.startsWith('"') || sexpr.startsWith("'") || sexpr.startsWith("`")) {
6069
- return sexpr;
6070
- }
6071
- return `h('${sexpr}', 0)`;
6072
- }
6073
- if (sexpr instanceof String) {
6074
- return this.generate(sexpr, "value");
6075
- }
6076
- if (!Array.isArray(sexpr)) {
6077
- return `txt(${this.generate(sexpr, "value")})`;
6078
- }
6079
- const [head, ...rest] = sexpr;
6080
- if (head === "str") {
6081
- return this.generate(sexpr, "value");
6082
- }
6083
- if (head === "block") {
6084
- if (rest.length === 0)
6085
- return "null";
6086
- if (rest.length === 1)
6087
- return this.generateTemplateElement(rest[0]);
6088
- const elements = rest.map((s) => this.generateTemplateElement(s));
6089
- return `frag(${elements.join(", ")})`;
6090
- }
6091
- if (head === "if" || head === "unless") {
6092
- return this.generateTemplateConditional(sexpr);
6093
- }
6094
- if (head === "for-in" || head === "for-of") {
6095
- return this.generateTemplateLoop(sexpr);
6096
- }
6097
- if (head === ".") {
6098
- const [obj, prop] = rest;
6099
- if (typeof obj === "string" && typeof prop === "string") {
6100
- if (this.isHtmlTag(obj)) {
6101
- return `h('${obj}.${prop}', 0)`;
6102
- }
6103
- return `txt(${this.generate(sexpr, "value")})`;
6104
- }
6105
- if (Array.isArray(obj) && obj[0] === ".") {
6106
- const { tag, classes } = this.collectTemplateClasses(sexpr);
6107
- if (this.isHtmlTag(tag)) {
6108
- return `h('${tag}.${classes.join(".")}', 0)`;
4395
+ generateSoakIndex(head, rest, context, sexpr) {
4396
+ const [arr, index] = rest;
4397
+ const arrCode = this.generate(arr, "value");
4398
+ const indexCode = this.generate(index, "value");
4399
+ return `(${arrCode} != null ? ${arrCode}[${indexCode}] : undefined)`;
4400
+ }
4401
+ generateOptIndex(head, rest, context, sexpr) {
4402
+ const [arr, index] = rest;
4403
+ const arrCode = this.generate(arr, "value");
4404
+ const indexCode = this.generate(index, "value");
4405
+ return `${arrCode}?.[${indexCode}]`;
4406
+ }
4407
+ generateOptCall(head, rest, context, sexpr) {
4408
+ const [fn, ...args] = rest;
4409
+ const fnCode = this.generate(fn, "value");
4410
+ const argsCode = args.map((arg) => this.generate(arg, "value")).join(", ");
4411
+ return `${fnCode}?.(${argsCode})`;
4412
+ }
4413
+ generateDef(head, rest, context, sexpr) {
4414
+ const [name, params, body] = rest;
4415
+ const sideEffectOnly = name instanceof String && name.await === true;
4416
+ const cleanName = name instanceof String ? name.valueOf() : name;
4417
+ const paramList = this.generateParamList(params);
4418
+ const bodyCode = this.generateFunctionBody(body, params, sideEffectOnly);
4419
+ const isAsync = this.containsAwait(body);
4420
+ const isGenerator = this.containsYield(body);
4421
+ const asyncPrefix = isAsync ? "async " : "";
4422
+ const generatorSuffix = isGenerator ? "*" : "";
4423
+ return `${asyncPrefix}function${generatorSuffix} ${cleanName}(${paramList}) ${bodyCode}`;
4424
+ }
4425
+ generateThinArrow(head, rest, context, sexpr) {
4426
+ const [params, body] = rest;
4427
+ const sideEffectOnly = this.nextFunctionIsVoid || false;
4428
+ this.nextFunctionIsVoid = false;
4429
+ const paramList = this.generateParamList(params);
4430
+ const bodyCode = this.generateFunctionBody(body, params, sideEffectOnly);
4431
+ const isAsync = this.containsAwait(body);
4432
+ const isGenerator = this.containsYield(body);
4433
+ const asyncPrefix = isAsync ? "async " : "";
4434
+ const generatorSuffix = isGenerator ? "*" : "";
4435
+ const fnCode = `${asyncPrefix}function${generatorSuffix}(${paramList}) ${bodyCode}`;
4436
+ return context === "value" ? `(${fnCode})` : fnCode;
4437
+ }
4438
+ generateFatArrow(head, rest, context, sexpr) {
4439
+ const [params, body] = rest;
4440
+ const sideEffectOnly = this.nextFunctionIsVoid || false;
4441
+ this.nextFunctionIsVoid = false;
4442
+ const paramList = this.generateParamList(params);
4443
+ const isSingleSimpleParam = params.length === 1 && typeof params[0] === "string" && !paramList.includes("=") && !paramList.includes("...") && !paramList.includes("[") && !paramList.includes("{");
4444
+ const paramSyntax = isSingleSimpleParam ? paramList : `(${paramList})`;
4445
+ const isAsync = this.containsAwait(body);
4446
+ const asyncPrefix = isAsync ? "async " : "";
4447
+ if (!sideEffectOnly) {
4448
+ if (Array.isArray(body) && body[0] === "block" && body.length === 2) {
4449
+ const expr = body[1];
4450
+ if (!Array.isArray(expr) || expr[0] !== "return") {
4451
+ return `${asyncPrefix}${paramSyntax} => ${this.generate(expr, "value")}`;
6109
4452
  }
6110
- return `txt(${this.generate(sexpr, "value")})`;
6111
4453
  }
6112
- }
6113
- if (typeof head === "string" && !CodeGenerator.GENERATORS[head]) {
6114
- return this.generateH(head, [], rest);
6115
- }
6116
- if (Array.isArray(head) && head[0] === ".") {
6117
- if (head.length === 3 && head[2] == "__cx__") {
6118
- const baseTag = head[1];
6119
- let tag2, classes2;
6120
- if (Array.isArray(baseTag) && baseTag[0] === ".") {
6121
- ({ tag: tag2, classes: classes2 } = this.collectTemplateClasses(baseTag));
6122
- } else {
6123
- tag2 = baseTag;
6124
- classes2 = [];
6125
- }
6126
- const cxArgsStr = rest.map((arg) => this.generate(arg, "value")).join(", ");
6127
- return this.generateH(tag2, classes2, [], cxArgsStr);
6128
- }
6129
- const { tag, classes } = this.collectTemplateClasses(head);
6130
- return this.generateH(tag, classes, rest);
6131
- }
6132
- if (Array.isArray(head) && Array.isArray(head[0]) && head[0][0] === "." && head[0][2] == "__cx__") {
6133
- const propAccess = head[0];
6134
- const cxArgs = head.slice(1);
6135
- const baseTag = propAccess[1];
6136
- let tag, classes;
6137
- if (Array.isArray(baseTag) && baseTag[0] === ".") {
6138
- ({ tag, classes } = this.collectTemplateClasses(baseTag));
6139
- } else {
6140
- tag = baseTag;
6141
- classes = [];
6142
- }
6143
- const cxArgsStr = cxArgs.map((arg) => this.generate(arg, "value")).join(", ");
6144
- return this.generateH(tag, classes, rest, cxArgsStr);
6145
- }
6146
- return `txt(${this.generate(sexpr, "value")})`;
6147
- }
6148
- parseTemplateArgs(args, tag) {
6149
- const props = {};
6150
- const spreads = [];
6151
- const children = [];
6152
- let refVar = null;
6153
- for (const arg of args) {
6154
- if (Array.isArray(arg) && (arg[0] === "->" || arg[0] === "=>")) {
6155
- const block = arg[2];
6156
- if (Array.isArray(block) && block[0] === "block") {
6157
- children.push(...block.slice(1).map((s) => this.generateTemplateElement(s)));
6158
- } else {
6159
- children.push(this.generateTemplateElement(block));
6160
- }
6161
- } else if (Array.isArray(arg) && arg[0] === "...") {
6162
- spreads.push(this.generate(arg[1], "value"));
6163
- } else if (Array.isArray(arg) && arg[0] === "object") {
6164
- const inputType = CodeGenerator.extractInputType(arg.slice(1));
6165
- for (const pair of arg.slice(1)) {
6166
- if (Array.isArray(pair) && pair.length >= 2) {
6167
- const [key2, value] = pair;
6168
- const bindInfo = this.parseBindingDirective(key2, value, tag, inputType);
6169
- if (bindInfo) {
6170
- props[bindInfo.prop] = bindInfo.valueExpr;
6171
- props[bindInfo.event] = bindInfo.handler;
6172
- continue;
6173
- }
6174
- const eventInfo = this.parseEventHandler(key2, value);
6175
- if (eventInfo) {
6176
- const handler = eventInfo.modifiers.length > 0 ? this.wrapEventHandler(eventInfo.handler, eventInfo.modifiers) : eventInfo.handler;
6177
- props[`on${eventInfo.eventName}`] = handler;
6178
- } else {
6179
- const keyStr = typeof key2 === "string" ? key2 : this.generate(key2, "value");
6180
- if (keyStr === "ref") {
6181
- refVar = typeof value === "string" ? value : this.generate(value, "value");
6182
- } else if (keyStr === "key") {
6183
- props.key = this.generate(value, "value");
6184
- } else if (keyStr === "class") {
6185
- props.class = this.generate(value, "value");
6186
- } else {
6187
- props[keyStr] = this.generate(value, "value");
6188
- }
6189
- }
6190
- }
6191
- }
6192
- } else if (typeof arg === "string") {
6193
- if (arg.startsWith('"') || arg.startsWith("'") || arg.startsWith("`")) {
6194
- children.push(arg);
6195
- } else {
6196
- children.push(`String(${arg})`);
6197
- }
6198
- } else {
6199
- children.push(this.generateTemplateElement(arg));
4454
+ if (!Array.isArray(body) || body[0] !== "block") {
4455
+ return `${asyncPrefix}${paramSyntax} => ${this.generate(body, "value")}`;
6200
4456
  }
6201
4457
  }
6202
- return { props, spreads, children, refVar };
4458
+ const bodyCode = this.generateFunctionBody(body, params, sideEffectOnly);
4459
+ return `${asyncPrefix}${paramSyntax} => ${bodyCode}`;
6203
4460
  }
6204
- buildPropsString(props, spreads, classExpr = null) {
6205
- const hasProps = Object.keys(props).length > 0;
6206
- const hasSpreads = spreads.length > 0;
6207
- const hasClass = classExpr !== null;
6208
- if (!hasProps && !hasSpreads && !hasClass) {
6209
- return "0";
4461
+ generateReturn(head, rest, context, sexpr) {
4462
+ if (rest.length === 0) {
4463
+ return "return";
6210
4464
  }
6211
- const parts = [];
6212
- if (hasClass) {
6213
- parts.push(`class: ${classExpr}`);
4465
+ let [expr] = rest;
4466
+ if (this.sideEffectOnly) {
4467
+ return "return";
4468
+ }
4469
+ if (Array.isArray(expr) && expr[0] === "unless") {
4470
+ const [, condition, body] = expr;
4471
+ const value = Array.isArray(body) && body.length === 1 ? body[0] : body;
4472
+ return `if (!${this.generate(condition, "value")}) return ${this.generate(value, "value")}`;
6214
4473
  }
6215
- for (const spread of spreads) {
6216
- parts.push(`...${spread}`);
4474
+ if (Array.isArray(expr) && expr[0] === "if") {
4475
+ const [, condition, body, ...elseParts] = expr;
4476
+ if (elseParts.length === 0) {
4477
+ const value = Array.isArray(body) && body.length === 1 ? body[0] : body;
4478
+ return `if (${this.generate(condition, "value")}) return ${this.generate(value, "value")}`;
4479
+ }
6217
4480
  }
6218
- for (const [k2, v] of Object.entries(props)) {
6219
- parts.push(`${k2}: ${v}`);
4481
+ if (Array.isArray(expr) && expr[0] === "new" && Array.isArray(expr[1]) && expr[1][0] === "unless") {
4482
+ const [, unlessNode] = expr;
4483
+ const [, condition, body] = unlessNode;
4484
+ const value = Array.isArray(body) && body.length === 1 ? body[0] : body;
4485
+ return `if (!${this.generate(condition, "value")}) return ${this.generate(["new", value], "value")}`;
6220
4486
  }
6221
- return `{ ${parts.join(", ")} }`;
4487
+ return `return ${this.generate(expr, "value")}`;
6222
4488
  }
6223
- buildChildrenString(children) {
6224
- if (children.length === 0)
6225
- return "";
6226
- if (children.length === 1)
6227
- return `, ${children[0]}`;
6228
- return `, [${children.join(", ")}]`;
6229
- }
6230
- generateH(tag, classes, args, cxArgs = null) {
6231
- this.usesTemplates = true;
6232
- const { props, spreads, children, refVar } = this.parseTemplateArgs(args, tag);
6233
- const tagStr = classes.length > 0 ? `${tag}.${classes.join(".")}` : tag;
6234
- const classExpr = cxArgs ? `cx(${cxArgs})` : null;
6235
- const propsStr = this.buildPropsString(props, spreads, classExpr);
6236
- const childrenStr = this.buildChildrenString(children);
6237
- let result = `h('${tagStr}', ${propsStr}${childrenStr})`;
6238
- if (refVar) {
6239
- result = `(${refVar} = ${result})`;
6240
- }
6241
- return result;
4489
+ generateState(head, rest, context, sexpr) {
4490
+ const [name, expr] = rest;
4491
+ this.usesReactivity = true;
4492
+ const varName = typeof name === "string" ? name : name.valueOf();
4493
+ const exprCode = this.generate(expr, "value");
4494
+ if (!this.reactiveVars)
4495
+ this.reactiveVars = new Set;
4496
+ this.reactiveVars.add(varName);
4497
+ return `const ${varName} = __state(${exprCode})`;
6242
4498
  }
6243
- collectTemplateClasses(sexpr) {
6244
- const classes = [];
6245
- let current = sexpr;
6246
- while (Array.isArray(current) && current[0] === ".") {
6247
- const prop = current[2];
6248
- if (typeof prop === "string" || prop instanceof String) {
6249
- classes.unshift(prop.valueOf());
6250
- }
6251
- current = current[1];
6252
- }
6253
- const tag = typeof current === "string" ? current : current instanceof String ? current.valueOf() : "div";
6254
- return { tag, classes };
6255
- }
6256
- generateTemplateConditional(sexpr) {
6257
- const [head, condition, thenBlock, elseBlock] = sexpr;
6258
- const cond = this.generate(condition, "value");
6259
- const condExpr = head === "unless" ? `!(${cond})` : cond;
6260
- let actualThen = thenBlock;
6261
- if (Array.isArray(thenBlock) && thenBlock.length === 1 && Array.isArray(thenBlock[0]) && thenBlock[0][0] !== "block") {
6262
- actualThen = thenBlock[0];
6263
- }
6264
- const thenCode = this.generateTemplateElement(actualThen);
6265
- if (elseBlock) {
6266
- let actualElse = elseBlock;
6267
- if (Array.isArray(elseBlock) && elseBlock.length === 1 && Array.isArray(elseBlock[0]) && elseBlock[0][0] !== "block") {
6268
- actualElse = elseBlock[0];
6269
- }
6270
- return `(${condExpr} ? ${thenCode} : ${this.generateTemplateElement(actualElse)})`;
6271
- }
6272
- return `(${condExpr} ? ${thenCode} : null)`;
6273
- }
6274
- generateTemplateLoop(sexpr) {
6275
- const [head] = sexpr;
6276
- if (head === "for-in")
6277
- return this.generateTemplateForIn(sexpr);
6278
- if (head === "for-of")
6279
- return this.generateTemplateForOf(sexpr);
6280
- return "null";
4499
+ generateComputed(head, rest, context, sexpr) {
4500
+ const [name, expr] = rest;
4501
+ this.usesReactivity = true;
4502
+ if (!this.reactiveVars)
4503
+ this.reactiveVars = new Set;
4504
+ const varName = typeof name === "string" ? name : name.valueOf();
4505
+ this.reactiveVars.add(varName);
4506
+ const exprCode = this.generate(expr, "value");
4507
+ return `const ${varName} = __computed(() => ${exprCode})`;
4508
+ }
4509
+ generateReadonly(head, rest, context, sexpr) {
4510
+ const [name, expr] = rest;
4511
+ const varName = typeof name === "string" ? name : name.valueOf();
4512
+ const exprCode = this.generate(expr, "value");
4513
+ return `const ${varName} = ${exprCode}`;
6281
4514
  }
6282
- generateTemplateForIn(sexpr) {
6283
- const [, vars, iterable, , guard, body] = sexpr;
6284
- const itemVar = Array.isArray(vars) && vars[0] ? typeof vars[0] === "string" ? vars[0] : this.generate(vars[0], "value") : "__item";
6285
- const indexVar = Array.isArray(vars) && vars[1] ? typeof vars[1] === "string" ? vars[1] : "__i" : "__i";
6286
- const iterCode = this.generate(iterable, "value");
6287
- const bodyCode = this.generateTemplateElement(body);
6288
- const guardCode = guard ? `if (!(${this.generate(guard, "value")})) continue; ` : "";
6289
- return `frag(...${iterCode}.map((${itemVar}, ${indexVar}) => ${guardCode ? `{ ${guardCode}return ${bodyCode}; }` : bodyCode}))`;
6290
- }
6291
- generateTemplateForOf(sexpr) {
6292
- const [, vars, object, own, guard, body] = sexpr;
6293
- const keyVar = Array.isArray(vars) && vars[0] ? typeof vars[0] === "string" ? vars[0] : "__k" : "__k";
6294
- const valVar = Array.isArray(vars) && vars[1] ? typeof vars[1] === "string" ? vars[1] : null : null;
6295
- const objCode = this.generate(object, "value");
6296
- const bodyCode = this.generateTemplateElement(body);
6297
- const entries = own ? `Object.entries(${objCode})` : `Object.entries(${objCode})`;
6298
- const destructure = valVar ? `[${keyVar}, ${valVar}]` : `[${keyVar}]`;
6299
- const guardCode = guard ? `if (!(${this.generate(guard, "value")})) continue; ` : "";
6300
- return `frag(...${entries}.map((${destructure}) => ${guardCode ? `{ ${guardCode}return ${bodyCode}; }` : bodyCode}))`;
4515
+ generateEffect(head, rest, context, sexpr) {
4516
+ const [target, body] = rest;
4517
+ this.usesReactivity = true;
4518
+ let bodyCode;
4519
+ if (Array.isArray(body) && body[0] === "block") {
4520
+ const statements = body.slice(1);
4521
+ const stmts = this.withIndent(() => this.formatStatements(statements));
4522
+ bodyCode = `{
4523
+ ${stmts.join(`
4524
+ `)}
4525
+ ${this.indent()}}`;
4526
+ } else if (Array.isArray(body) && (body[0] === "->" || body[0] === "=>")) {
4527
+ const fnCode = this.generate(body, "value");
4528
+ if (target) {
4529
+ const varName = typeof target === "string" ? target : this.generate(target, "value");
4530
+ return `const ${varName} = __effect(${fnCode})`;
4531
+ }
4532
+ return `__effect(${fnCode})`;
4533
+ } else {
4534
+ bodyCode = `{ ${this.generate(body, "value")}; }`;
4535
+ }
4536
+ const effectCode = `__effect(() => ${bodyCode})`;
4537
+ if (target) {
4538
+ const varName = typeof target === "string" ? target : this.generate(target, "value");
4539
+ return `const ${varName} = ${effectCode}`;
4540
+ }
4541
+ return effectCode;
6301
4542
  }
6302
4543
  generateBreak(head, rest, context, sexpr) {
6303
4544
  return "break";
@@ -6890,7 +5131,7 @@ ${this.indent()}}`;
6890
5131
  }
6891
5132
  const [key2, value, operator] = pair;
6892
5133
  let keyCode;
6893
- if (Array.isArray(key2) && key2[0] === "computed") {
5134
+ if (Array.isArray(key2) && key2[0] === "dynamicKey") {
6894
5135
  const expr = key2[1];
6895
5136
  keyCode = `[${this.generate(expr, "value")}]`;
6896
5137
  } else {
@@ -8911,24 +7152,19 @@ ${this.indent()}}`;
8911
7152
  // A minimal, fine-grained reactivity system
8912
7153
  //
8913
7154
  // Reactivity:
8914
- // __signal(value) - Reactive state container
8915
- // __computed(fn) - Derived value (lazy, cached)
7155
+ // __state(value) - Reactive state container
7156
+ // __computed(fn) - Computed value (lazy, cached)
8916
7157
  // __effect(fn) - Side effect that re-runs when dependencies change
8917
7158
  // __batch(fn) - Group multiple updates into one flush
8918
7159
  // __readonly(value) - Immutable value wrapper
8919
7160
  //
8920
- // Context API:
8921
- // setContext(key, value) - Set context in current component
8922
- // getContext(key) - Get context from nearest ancestor
8923
- // hasContext(key) - Check if context exists
8924
- //
8925
7161
  // Error Handling:
8926
- // __catchErrors(fn) - Wrap function to route errors to boundary
8927
- // __handleError(error) - Route error to nearest boundary
7162
+ // __catchErrors(fn) - Wrap function to route errors to handler
7163
+ // __handleError(err) - Route error to handler
8928
7164
  //
8929
7165
  // How reactivity works:
8930
- // - Reading a signal/computed inside an effect tracks it as a dependency
8931
- // - Writing to a signal notifies all subscribers
7166
+ // - Reading a state/computed inside an effect tracks it as a dependency
7167
+ // - Writing to a state notifies all subscribers
8932
7168
  // - Batching defers effect execution until the batch completes
8933
7169
  // ============================================================================
8934
7170
 
@@ -8937,14 +7173,14 @@ let __currentEffect = null; // The effect/computed currently being evaluated
8937
7173
  let __pendingEffects = new Set(); // Effects queued to run
8938
7174
  let __batching = false; // Are we inside a batch()?
8939
7175
 
8940
- // Flush all pending effects (called after signal updates, or at end of batch)
7176
+ // Flush all pending effects (called after state updates, or at end of batch)
8941
7177
  function __flushEffects() {
8942
7178
  const effects = [...__pendingEffects];
8943
7179
  __pendingEffects.clear();
8944
7180
  for (const effect of effects) effect.run();
8945
7181
  }
8946
7182
 
8947
- // Shared primitive coercion (used by signal and computed)
7183
+ // Shared primitive coercion (used by state and computed)
8948
7184
  const __primitiveCoercion = {
8949
7185
  valueOf() { return this.value; },
8950
7186
  toString() { return String(this.value); },
@@ -8952,59 +7188,59 @@ const __primitiveCoercion = {
8952
7188
  };
8953
7189
 
8954
7190
  /**
8955
- * Create a reactive signal (state container)
7191
+ * Create a reactive state container
8956
7192
  * @param {*} initialValue - The initial value
8957
- * @returns {object} Signal with .value getter/setter
7193
+ * @returns {object} State with .value getter/setter
8958
7194
  */
8959
- function __signal(initialValue) {
7195
+ function __state(initialValue) {
8960
7196
  let value = initialValue;
8961
- const subscribers = new Set(); // Effects/computeds that depend on this signal
8962
-
7197
+ const subscribers = new Set(); // Effects/computeds that depend on this state
7198
+
8963
7199
  // State flags
8964
7200
  let notifying = false; // Prevents re-entry during notification
8965
7201
  let locked = false; // Prevents writes (used during SSR/hydration)
8966
- let dead = false; // Signal has been killed (cleanup)
7202
+ let dead = false; // State has been killed (cleanup)
8967
7203
 
8968
- const signal = {
7204
+ const state = {
8969
7205
  get value() {
8970
7206
  if (dead) return value;
8971
- // Track this signal as a dependency of the current effect/computed
7207
+ // Track this state as a dependency of the current effect/computed
8972
7208
  if (__currentEffect) {
8973
7209
  subscribers.add(__currentEffect);
8974
7210
  __currentEffect.dependencies.add(subscribers);
8975
7211
  }
8976
7212
  return value;
8977
7213
  },
8978
-
7214
+
8979
7215
  set value(newValue) {
8980
7216
  // Skip if: dead, locked, same value, or already notifying
8981
7217
  if (dead || locked || newValue === value || notifying) return;
8982
7218
  value = newValue;
8983
7219
  notifying = true;
8984
-
7220
+
8985
7221
  // Notify subscribers: computeds mark dirty, effects get queued
8986
7222
  for (const sub of subscribers) {
8987
7223
  if (sub.markDirty) sub.markDirty(); // Computed
8988
7224
  else __pendingEffects.add(sub); // Effect
8989
7225
  }
8990
-
7226
+
8991
7227
  // Flush immediately unless we're batching
8992
7228
  if (!__batching) __flushEffects();
8993
7229
  notifying = false;
8994
7230
  },
8995
-
7231
+
8996
7232
  read() { return value; }, // Read without tracking
8997
- lock() { locked = true; return signal; }, // Prevent further writes
8998
- free() { subscribers.clear(); return signal; }, // Clear all subscribers
7233
+ lock() { locked = true; return state; }, // Prevent further writes
7234
+ free() { subscribers.clear(); return state; }, // Clear all subscribers
8999
7235
  kill() { dead = true; subscribers.clear(); return value; }, // Cleanup
9000
-
7236
+
9001
7237
  ...__primitiveCoercion
9002
7238
  };
9003
- return signal;
7239
+ return state;
9004
7240
  }
9005
7241
 
9006
7242
  /**
9007
- * Create a computed value (derived state, lazy & cached)
7243
+ * Create a computed value (lazy & cached)
9008
7244
  * @param {function} fn - Function that computes the value
9009
7245
  * @returns {object} Computed with .value getter
9010
7246
  */
@@ -9012,14 +7248,14 @@ function __computed(fn) {
9012
7248
  let value;
9013
7249
  let dirty = true; // Needs recomputation?
9014
7250
  const subscribers = new Set(); // Things that depend on this computed
9015
-
7251
+
9016
7252
  // State flags
9017
7253
  let locked = false; // Prevents recomputation
9018
7254
  let dead = false; // Computed has been killed
9019
7255
 
9020
7256
  const computed = {
9021
- dependencies: new Set(), // Signals/computeds this depends on
9022
-
7257
+ dependencies: new Set(), // States/computeds this depends on
7258
+
9023
7259
  // Called by dependencies when they change
9024
7260
  markDirty() {
9025
7261
  if (dead || locked || dirty) return;
@@ -9030,7 +7266,7 @@ function __computed(fn) {
9030
7266
  else __pendingEffects.add(sub);
9031
7267
  }
9032
7268
  },
9033
-
7269
+
9034
7270
  get value() {
9035
7271
  if (dead) return value;
9036
7272
  // Track this computed as a dependency
@@ -9051,7 +7287,7 @@ function __computed(fn) {
9051
7287
  }
9052
7288
  return value;
9053
7289
  },
9054
-
7290
+
9055
7291
  read() { return value; }, // Return cached value without tracking or recomputing
9056
7292
  lock() { locked = true; computed.value; return computed; }, // Lock after computing
9057
7293
  free() {
@@ -9066,7 +7302,7 @@ function __computed(fn) {
9066
7302
  computed.free();
9067
7303
  return result;
9068
7304
  },
9069
-
7305
+
9070
7306
  ...__primitiveCoercion
9071
7307
  };
9072
7308
  return computed;
@@ -9079,8 +7315,8 @@ function __computed(fn) {
9079
7315
  */
9080
7316
  function __effect(fn) {
9081
7317
  const effect = {
9082
- dependencies: new Set(), // Signals/computeds this effect depends on
9083
-
7318
+ dependencies: new Set(), // States/computeds this effect depends on
7319
+
9084
7320
  run() {
9085
7321
  // Clear old dependencies before re-running
9086
7322
  for (const dep of effect.dependencies) dep.delete(effect);
@@ -9090,13 +7326,13 @@ function __effect(fn) {
9090
7326
  __currentEffect = effect;
9091
7327
  try { fn(); } finally { __currentEffect = prev; }
9092
7328
  },
9093
-
7329
+
9094
7330
  dispose() {
9095
7331
  for (const dep of effect.dependencies) dep.delete(effect);
9096
7332
  effect.dependencies.clear();
9097
7333
  }
9098
7334
  };
9099
-
7335
+
9100
7336
  effect.run(); // Run immediately to establish dependencies
9101
7337
  return () => effect.dispose();
9102
7338
  }
@@ -9127,76 +7363,14 @@ function __readonly(value) {
9127
7363
  }
9128
7364
 
9129
7365
  // ============================================================================
9130
- // Context API
9131
- // Pass data down the component tree without prop drilling
9132
- //
9133
- // Usage:
9134
- // // In parent component constructor or methods:
9135
- // setContext('theme', { dark: true })
9136
- //
9137
- // // In any descendant component:
9138
- // theme = getContext('theme')
9139
- // ============================================================================
9140
-
9141
- let __currentComponent = null; // The component currently being initialized
9142
-
9143
- /**
9144
- * Set a context value in the current component
9145
- * @param {*} key - The context key (usually a string or symbol)
9146
- * @param {*} value - The value to store
9147
- */
9148
- function setContext(key, value) {
9149
- if (!__currentComponent) {
9150
- throw new Error('setContext must be called during component initialization');
9151
- }
9152
- if (!__currentComponent._context) {
9153
- __currentComponent._context = new Map();
9154
- }
9155
- __currentComponent._context.set(key, value);
9156
- }
9157
-
9158
- /**
9159
- * Get a context value from the nearest ancestor that set it
9160
- * @param {*} key - The context key to look up
9161
- * @returns {*} The context value, or undefined if not found
9162
- */
9163
- function getContext(key) {
9164
- let component = __currentComponent;
9165
- while (component) {
9166
- if (component._context && component._context.has(key)) {
9167
- return component._context.get(key);
9168
- }
9169
- component = component._parent;
9170
- }
9171
- return undefined;
9172
- }
9173
-
9174
- /**
9175
- * Check if a context key exists in any ancestor
9176
- * @param {*} key - The context key to check
9177
- * @returns {boolean} True if the key exists
9178
- */
9179
- function hasContext(key) {
9180
- let component = __currentComponent;
9181
- while (component) {
9182
- if (component._context && component._context.has(key)) return true;
9183
- component = component._parent;
9184
- }
9185
- return false;
9186
- }
9187
-
9188
- // ============================================================================
9189
- // Error Boundaries
9190
- // Catch and handle errors in component trees gracefully
9191
- //
9192
- // Usage in component:
9193
- // error: (err) -> console.error "Caught:", err
7366
+ // Error Handling
7367
+ // Catch and handle errors gracefully
9194
7368
  // ============================================================================
9195
7369
 
9196
- let __errorHandler = null; // Current error handler (set by nearest error boundary)
7370
+ let __errorHandler = null; // Current error handler
9197
7371
 
9198
7372
  /**
9199
- * Set the current error handler (called by components with error: handler)
7373
+ * Set the current error handler
9200
7374
  * @param {function} handler - Error handler function
9201
7375
  * @returns {function} Previous handler (for restoration)
9202
7376
  */
@@ -9314,8 +7488,8 @@ function compileToJS(source, options = {}) {
9314
7488
  return new Compiler(options).compileToJS(source);
9315
7489
  }
9316
7490
  // src/browser.js
9317
- var VERSION = "2.5.0";
9318
- var BUILD_DATE = "2026-01-16@05:08:49GMT";
7491
+ var VERSION = "2.7.1";
7492
+ var BUILD_DATE = "2026-02-03@10:57:35GMT";
9319
7493
  var dedent = (s) => {
9320
7494
  const m = s.match(/^[ \t]*(?=\S)/gm);
9321
7495
  const i = Math.min(...(m || []).map((x) => x.length));