rip-lang 3.6.1 → 3.6.2
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.
- package/docs/RIP-TYPES.md +98 -0
- package/docs/dist/rip.browser.js +611 -272
- package/docs/dist/rip.browser.min.js +170 -170
- package/docs/dist/rip.browser.min.js.br +0 -0
- package/docs/index.html +35 -27
- package/package.json +1 -1
- package/src/compiler.js +55 -43
- package/src/components.js +157 -159
- package/src/grammar/grammar.rip +4 -0
- package/src/parser.js +41 -41
- package/src/repl.js +4 -128
- package/src/types.js +416 -35
package/docs/dist/rip.browser.js
CHANGED
|
@@ -208,7 +208,7 @@ function installTypeSupport(Lexer) {
|
|
|
208
208
|
if (isDef || isAlias) {
|
|
209
209
|
if (!token.data)
|
|
210
210
|
token.data = {};
|
|
211
|
-
token.data.typeParams = genTokens
|
|
211
|
+
token.data.typeParams = buildTypeString(genTokens);
|
|
212
212
|
tokens2.splice(i + 1, genTokens.length);
|
|
213
213
|
if (isDef && tokens2[i + 1]?.[0] === "(") {
|
|
214
214
|
tokens2[i + 1][0] = "CALL_START";
|
|
@@ -373,8 +373,10 @@ function collectTypeExpression(tokens, j) {
|
|
|
373
373
|
function buildTypeString(typeTokens) {
|
|
374
374
|
if (typeTokens.length === 0)
|
|
375
375
|
return "";
|
|
376
|
+
if (typeTokens[0]?.[0] === "=>")
|
|
377
|
+
typeTokens.unshift(["", "()"]);
|
|
376
378
|
let typeStr = typeTokens.map((t) => t[1]).join(" ").replace(/\s+/g, " ").trim();
|
|
377
|
-
typeStr = typeStr.replace(/\s*<\s*/g, "<").replace(/\s*>\s*/g, ">").replace(/\s*\[\s*/g, "[").replace(/\s*\]\s*/g, "]").replace(/\s*\(\s*/g, "(").replace(/\s*\)\s*/g, ")").replace(/\s*,\s*/g, ", ");
|
|
379
|
+
typeStr = typeStr.replace(/\s*<\s*/g, "<").replace(/\s*>\s*/g, ">").replace(/\s*\[\s*/g, "[").replace(/\s*\]\s*/g, "]").replace(/\s*\(\s*/g, "(").replace(/\s*\)\s*/g, ")").replace(/\s*,\s*/g, ", ").replace(/\s*=>\s*/g, " => ").replace(/ :: /g, ": ").replace(/:: /g, ": ");
|
|
378
380
|
return typeStr;
|
|
379
381
|
}
|
|
380
382
|
function collectBalancedAngles(tokens, j) {
|
|
@@ -440,9 +442,23 @@ function collectStructuralType(tokens, indentIdx) {
|
|
|
440
442
|
if (tokens[j]?.[1] === ":")
|
|
441
443
|
j++;
|
|
442
444
|
let propTypeTokens = [];
|
|
445
|
+
let typeDepth = 0;
|
|
443
446
|
while (j < tokens.length) {
|
|
444
447
|
let pt = tokens[j];
|
|
445
|
-
if (pt[0] === "
|
|
448
|
+
if (pt[0] === "INDENT") {
|
|
449
|
+
typeDepth++;
|
|
450
|
+
j++;
|
|
451
|
+
continue;
|
|
452
|
+
}
|
|
453
|
+
if (pt[0] === "OUTDENT") {
|
|
454
|
+
if (typeDepth > 0) {
|
|
455
|
+
typeDepth--;
|
|
456
|
+
j++;
|
|
457
|
+
continue;
|
|
458
|
+
}
|
|
459
|
+
break;
|
|
460
|
+
}
|
|
461
|
+
if (pt[0] === "TERMINATOR" && typeDepth === 0)
|
|
446
462
|
break;
|
|
447
463
|
propTypeTokens.push(pt);
|
|
448
464
|
j++;
|
|
@@ -525,12 +541,14 @@ function collectBlockUnion(tokens, startIdx) {
|
|
|
525
541
|
let endIdx = findMatchingOutdent(tokens, indentIdx);
|
|
526
542
|
return { typeText: members.join(" | "), endIdx };
|
|
527
543
|
}
|
|
528
|
-
function emitTypes(tokens) {
|
|
544
|
+
function emitTypes(tokens, sexpr = null) {
|
|
529
545
|
let lines = [];
|
|
530
546
|
let indentLevel = 0;
|
|
531
547
|
let indentStr = " ";
|
|
532
548
|
let indent = () => indentStr.repeat(indentLevel);
|
|
533
549
|
let inClass = false;
|
|
550
|
+
let usesSignal = false;
|
|
551
|
+
let usesComputed = false;
|
|
534
552
|
let emitBlock = (prefix, body, suffix) => {
|
|
535
553
|
if (body.startsWith("{ ") && body.endsWith(" }")) {
|
|
536
554
|
let props = body.slice(2, -2).split("; ").filter((p) => p.trim());
|
|
@@ -546,6 +564,99 @@ function emitTypes(tokens) {
|
|
|
546
564
|
}
|
|
547
565
|
lines.push(`${indent()}${prefix}${body}${suffix}`);
|
|
548
566
|
};
|
|
567
|
+
let collectParams = (tokens2, startIdx) => {
|
|
568
|
+
let params = [];
|
|
569
|
+
let j = startIdx;
|
|
570
|
+
let openTag = tokens2[j]?.[0];
|
|
571
|
+
if (openTag !== "CALL_START" && openTag !== "PARAM_START")
|
|
572
|
+
return { params, endIdx: j };
|
|
573
|
+
let closeTag = openTag === "CALL_START" ? "CALL_END" : "PARAM_END";
|
|
574
|
+
j++;
|
|
575
|
+
let depth = 0;
|
|
576
|
+
while (j < tokens2.length && !(tokens2[j][0] === closeTag && depth === 0)) {
|
|
577
|
+
let tok = tokens2[j];
|
|
578
|
+
if (tok[1] === "," && depth === 0) {
|
|
579
|
+
j++;
|
|
580
|
+
continue;
|
|
581
|
+
}
|
|
582
|
+
if (tok[0] === "{" || tok[0] === "[" || tok[0] === "CALL_START" || tok[0] === "PARAM_START" || tok[0] === "INDEX_START")
|
|
583
|
+
depth++;
|
|
584
|
+
if (tok[0] === "}" || tok[0] === "]" || tok[0] === "CALL_END" || tok[0] === "PARAM_END" || tok[0] === "INDEX_END") {
|
|
585
|
+
depth--;
|
|
586
|
+
j++;
|
|
587
|
+
continue;
|
|
588
|
+
}
|
|
589
|
+
if (tok[0] === "@") {
|
|
590
|
+
j++;
|
|
591
|
+
if (tokens2[j]?.[0] === "PROPERTY" || tokens2[j]?.[0] === "IDENTIFIER") {
|
|
592
|
+
let name = tokens2[j][1];
|
|
593
|
+
let type = tokens2[j].data?.type;
|
|
594
|
+
params.push(type ? `${name}: ${expandSuffixes(type)}` : name);
|
|
595
|
+
j++;
|
|
596
|
+
}
|
|
597
|
+
continue;
|
|
598
|
+
}
|
|
599
|
+
if (tok[0] === "SPREAD" || tok[1] === "...") {
|
|
600
|
+
j++;
|
|
601
|
+
if (tokens2[j]?.[0] === "IDENTIFIER") {
|
|
602
|
+
let name = tokens2[j][1];
|
|
603
|
+
let type = tokens2[j].data?.type;
|
|
604
|
+
params.push(type ? `...${name}: ${expandSuffixes(type)}` : `...${name}: any[]`);
|
|
605
|
+
j++;
|
|
606
|
+
}
|
|
607
|
+
continue;
|
|
608
|
+
}
|
|
609
|
+
if (tok[0] === "{") {
|
|
610
|
+
let pattern = "{";
|
|
611
|
+
j++;
|
|
612
|
+
let d = 1;
|
|
613
|
+
while (j < tokens2.length && d > 0) {
|
|
614
|
+
if (tokens2[j][0] === "{")
|
|
615
|
+
d++;
|
|
616
|
+
if (tokens2[j][0] === "}")
|
|
617
|
+
d--;
|
|
618
|
+
if (d > 0)
|
|
619
|
+
pattern += tokens2[j][1] + (tokens2[j + 1]?.[0] === "}" ? "" : ", ");
|
|
620
|
+
j++;
|
|
621
|
+
}
|
|
622
|
+
pattern += "}";
|
|
623
|
+
let type = tokens2[j - 1]?.data?.type;
|
|
624
|
+
params.push(type ? `${pattern}: ${expandSuffixes(type)}` : pattern);
|
|
625
|
+
continue;
|
|
626
|
+
}
|
|
627
|
+
if (tok[0] === "IDENTIFIER") {
|
|
628
|
+
let paramName = tok[1];
|
|
629
|
+
let paramType = tok.data?.type;
|
|
630
|
+
let hasDefault = false;
|
|
631
|
+
if (tokens2[j + 1]?.[0] === "=") {
|
|
632
|
+
hasDefault = true;
|
|
633
|
+
}
|
|
634
|
+
if (paramType) {
|
|
635
|
+
params.push(`${paramName}${hasDefault ? "?" : ""}: ${expandSuffixes(paramType)}`);
|
|
636
|
+
} else {
|
|
637
|
+
params.push(paramName);
|
|
638
|
+
}
|
|
639
|
+
j++;
|
|
640
|
+
if (hasDefault) {
|
|
641
|
+
j++;
|
|
642
|
+
let dd = 0;
|
|
643
|
+
while (j < tokens2.length) {
|
|
644
|
+
let dt = tokens2[j];
|
|
645
|
+
if (dt[0] === "(" || dt[0] === "[" || dt[0] === "{")
|
|
646
|
+
dd++;
|
|
647
|
+
if (dt[0] === ")" || dt[0] === "]" || dt[0] === "}")
|
|
648
|
+
dd--;
|
|
649
|
+
if (dd === 0 && (dt[1] === "," || dt[0] === "CALL_END"))
|
|
650
|
+
break;
|
|
651
|
+
j++;
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
continue;
|
|
655
|
+
}
|
|
656
|
+
j++;
|
|
657
|
+
}
|
|
658
|
+
return { params, endIdx: j };
|
|
659
|
+
};
|
|
549
660
|
for (let i = 0;i < tokens.length; i++) {
|
|
550
661
|
let t = tokens[i];
|
|
551
662
|
let tag = t[0];
|
|
@@ -557,6 +668,30 @@ function emitTypes(tokens) {
|
|
|
557
668
|
break;
|
|
558
669
|
t = tokens[i];
|
|
559
670
|
tag = t[0];
|
|
671
|
+
if (tag === "DEFAULT") {
|
|
672
|
+
i++;
|
|
673
|
+
if (i >= tokens.length)
|
|
674
|
+
break;
|
|
675
|
+
t = tokens[i];
|
|
676
|
+
tag = t[0];
|
|
677
|
+
if (tag === "IDENTIFIER") {
|
|
678
|
+
lines.push(`${indent()}export default ${t[1]};`);
|
|
679
|
+
}
|
|
680
|
+
continue;
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
if (tag === "IMPORT") {
|
|
684
|
+
let importTokens = [];
|
|
685
|
+
let j = i + 1;
|
|
686
|
+
while (j < tokens.length && tokens[j][0] !== "TERMINATOR") {
|
|
687
|
+
importTokens.push(tokens[j]);
|
|
688
|
+
j++;
|
|
689
|
+
}
|
|
690
|
+
let raw = "import " + importTokens.map((tk) => tk[1]).join(" ");
|
|
691
|
+
raw = raw.replace(/\s+/g, " ").replace(/\s*,\s*/g, ", ").replace(/\{\s*/g, "{ ").replace(/\s*\}/g, " }").trim();
|
|
692
|
+
lines.push(`${indent()}${raw};`);
|
|
693
|
+
i = j;
|
|
694
|
+
continue;
|
|
560
695
|
}
|
|
561
696
|
if (tag === "TYPE_DECL") {
|
|
562
697
|
let data = t.data;
|
|
@@ -651,32 +786,76 @@ function emitTypes(tokens) {
|
|
|
651
786
|
let fnName = nameToken[1];
|
|
652
787
|
let returnType = nameToken.data?.returnType;
|
|
653
788
|
let typeParams = nameToken.data?.typeParams || "";
|
|
654
|
-
let
|
|
655
|
-
let params = [];
|
|
656
|
-
if (tokens[j]?.[0] === "CALL_START") {
|
|
657
|
-
j++;
|
|
658
|
-
while (j < tokens.length && tokens[j][0] !== "CALL_END") {
|
|
659
|
-
if (tokens[j][0] === "IDENTIFIER") {
|
|
660
|
-
let paramName = tokens[j][1];
|
|
661
|
-
let paramType = tokens[j].data?.type;
|
|
662
|
-
if (paramType) {
|
|
663
|
-
params.push(`${paramName}: ${expandSuffixes(paramType)}`);
|
|
664
|
-
} else {
|
|
665
|
-
params.push(paramName);
|
|
666
|
-
}
|
|
667
|
-
}
|
|
668
|
-
j++;
|
|
669
|
-
}
|
|
670
|
-
}
|
|
789
|
+
let { params, endIdx } = collectParams(tokens, i + 2);
|
|
671
790
|
if (returnType || params.some((p) => p.includes(":"))) {
|
|
672
791
|
let exp = exported ? "export " : "";
|
|
673
792
|
let declare = inClass ? "" : exported ? "" : "declare ";
|
|
674
793
|
let ret = returnType ? `: ${expandSuffixes(returnType)}` : "";
|
|
675
794
|
let paramStr = params.join(", ");
|
|
676
|
-
|
|
795
|
+
if (inClass) {
|
|
796
|
+
lines.push(`${indent()}${fnName}${typeParams}(${paramStr})${ret};`);
|
|
797
|
+
} else {
|
|
798
|
+
lines.push(`${indent()}${exp}${declare}function ${fnName}${typeParams}(${paramStr})${ret};`);
|
|
799
|
+
}
|
|
677
800
|
}
|
|
678
801
|
continue;
|
|
679
802
|
}
|
|
803
|
+
if (tag === "{" && inClass) {
|
|
804
|
+
let j = i + 1;
|
|
805
|
+
let braceDepth = 1;
|
|
806
|
+
while (j < tokens.length && braceDepth > 0) {
|
|
807
|
+
let tok = tokens[j];
|
|
808
|
+
if (tok[0] === "{") {
|
|
809
|
+
braceDepth++;
|
|
810
|
+
j++;
|
|
811
|
+
continue;
|
|
812
|
+
}
|
|
813
|
+
if (tok[0] === "}") {
|
|
814
|
+
braceDepth--;
|
|
815
|
+
j++;
|
|
816
|
+
continue;
|
|
817
|
+
}
|
|
818
|
+
if (tok[0] === "TERMINATOR") {
|
|
819
|
+
j++;
|
|
820
|
+
continue;
|
|
821
|
+
}
|
|
822
|
+
if (tok[0] === "PROPERTY" && braceDepth === 1) {
|
|
823
|
+
let methodName = tok[1];
|
|
824
|
+
let returnType = tok.data?.returnType;
|
|
825
|
+
j++;
|
|
826
|
+
if (tokens[j]?.[1] === ":")
|
|
827
|
+
j++;
|
|
828
|
+
let params = [];
|
|
829
|
+
if (tokens[j]?.[0] === "PARAM_START") {
|
|
830
|
+
let result = collectParams(tokens, j);
|
|
831
|
+
params = result.params;
|
|
832
|
+
j = result.endIdx + 1;
|
|
833
|
+
}
|
|
834
|
+
if (tokens[j]?.[0] === "->" || tokens[j]?.[0] === "=>")
|
|
835
|
+
j++;
|
|
836
|
+
if (tokens[j]?.[0] === "INDENT") {
|
|
837
|
+
let d = 1;
|
|
838
|
+
j++;
|
|
839
|
+
while (j < tokens.length && d > 0) {
|
|
840
|
+
if (tokens[j][0] === "INDENT")
|
|
841
|
+
d++;
|
|
842
|
+
if (tokens[j][0] === "OUTDENT")
|
|
843
|
+
d--;
|
|
844
|
+
j++;
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
if (returnType || params.some((p) => p.includes(":"))) {
|
|
848
|
+
let ret = returnType ? `: ${expandSuffixes(returnType)}` : "";
|
|
849
|
+
let paramStr = params.join(", ");
|
|
850
|
+
lines.push(`${indent()}${methodName}(${paramStr})${ret};`);
|
|
851
|
+
}
|
|
852
|
+
continue;
|
|
853
|
+
}
|
|
854
|
+
j++;
|
|
855
|
+
}
|
|
856
|
+
i = j - 1;
|
|
857
|
+
continue;
|
|
858
|
+
}
|
|
680
859
|
if (tag === "INDENT") {
|
|
681
860
|
continue;
|
|
682
861
|
}
|
|
@@ -688,6 +867,31 @@ function emitTypes(tokens) {
|
|
|
688
867
|
}
|
|
689
868
|
continue;
|
|
690
869
|
}
|
|
870
|
+
if (tag === "IDENTIFIER" && !inClass && tokens[i + 1]?.[0] === "=" && (tokens[i + 2]?.[0] === "PARAM_START" || tokens[i + 2]?.[0] === "(")) {
|
|
871
|
+
let fnName = t[1];
|
|
872
|
+
let j = i + 2;
|
|
873
|
+
let { params } = collectParams(tokens, j);
|
|
874
|
+
let k = j;
|
|
875
|
+
let depth = 0;
|
|
876
|
+
while (k < tokens.length) {
|
|
877
|
+
if (tokens[k][0] === "PARAM_START" || tokens[k][0] === "(")
|
|
878
|
+
depth++;
|
|
879
|
+
if (tokens[k][0] === "PARAM_END" || tokens[k][0] === ")")
|
|
880
|
+
depth--;
|
|
881
|
+
if (depth === 0 && (tokens[k][0] === "->" || tokens[k][0] === "=>"))
|
|
882
|
+
break;
|
|
883
|
+
k++;
|
|
884
|
+
}
|
|
885
|
+
let returnType = tokens[k]?.data?.returnType;
|
|
886
|
+
if (returnType || params.some((p) => p.includes(":"))) {
|
|
887
|
+
let exp = exported ? "export " : "";
|
|
888
|
+
let declare = exported ? "" : "declare ";
|
|
889
|
+
let ret = returnType ? `: ${expandSuffixes(returnType)}` : "";
|
|
890
|
+
let paramStr = params.join(", ");
|
|
891
|
+
lines.push(`${indent()}${exp}${declare}function ${fnName}(${paramStr})${ret};`);
|
|
892
|
+
continue;
|
|
893
|
+
}
|
|
894
|
+
}
|
|
691
895
|
if (tag === "IDENTIFIER" && t.data?.type) {
|
|
692
896
|
let varName = t[1];
|
|
693
897
|
let type = expandSuffixes(t.data.type);
|
|
@@ -698,11 +902,33 @@ function emitTypes(tokens) {
|
|
|
698
902
|
if (next[0] === "READONLY_ASSIGN") {
|
|
699
903
|
lines.push(`${indent()}${exp}${declare}const ${varName}: ${type};`);
|
|
700
904
|
} else if (next[0] === "REACTIVE_ASSIGN") {
|
|
905
|
+
usesSignal = true;
|
|
701
906
|
lines.push(`${indent()}${exp}${declare}const ${varName}: Signal<${type}>;`);
|
|
702
907
|
} else if (next[0] === "COMPUTED_ASSIGN") {
|
|
908
|
+
usesComputed = true;
|
|
703
909
|
lines.push(`${indent()}${exp}${declare}const ${varName}: Computed<${type}>;`);
|
|
910
|
+
} else if (next[0] === "REACT_ASSIGN") {
|
|
911
|
+
lines.push(`${indent()}${exp}${declare}const ${varName}: () => void;`);
|
|
704
912
|
} else if (next[0] === "=") {
|
|
705
|
-
|
|
913
|
+
let arrowIdx = i + 2;
|
|
914
|
+
if (tokens[arrowIdx]?.[0] === "PARAM_START") {
|
|
915
|
+
let d = 1, k = arrowIdx + 1;
|
|
916
|
+
while (k < tokens.length && d > 0) {
|
|
917
|
+
if (tokens[k][0] === "PARAM_START")
|
|
918
|
+
d++;
|
|
919
|
+
if (tokens[k][0] === "PARAM_END")
|
|
920
|
+
d--;
|
|
921
|
+
k++;
|
|
922
|
+
}
|
|
923
|
+
arrowIdx = k;
|
|
924
|
+
}
|
|
925
|
+
let arrowToken = tokens[arrowIdx];
|
|
926
|
+
if (arrowToken && (arrowToken[0] === "->" || arrowToken[0] === "=>") && arrowToken.data?.returnType) {
|
|
927
|
+
let returnType = expandSuffixes(arrowToken.data.returnType);
|
|
928
|
+
let { params } = collectParams(tokens, i + 2);
|
|
929
|
+
let paramStr = params.join(", ");
|
|
930
|
+
lines.push(`${indent()}${exp}${declare}function ${varName}(${paramStr}): ${returnType};`);
|
|
931
|
+
} else if (inClass) {
|
|
706
932
|
lines.push(`${indent()}${varName}: ${type};`);
|
|
707
933
|
} else {
|
|
708
934
|
lines.push(`${indent()}${exp}let ${varName}: ${type};`);
|
|
@@ -715,9 +941,30 @@ function emitTypes(tokens) {
|
|
|
715
941
|
}
|
|
716
942
|
}
|
|
717
943
|
}
|
|
944
|
+
let componentVars = new Set;
|
|
945
|
+
if (sexpr) {
|
|
946
|
+
emitComponentTypes(sexpr, lines, indent, indentLevel, componentVars);
|
|
947
|
+
if (componentVars.size > 0) {
|
|
948
|
+
for (let k = lines.length - 1;k >= 0; k--) {
|
|
949
|
+
let match = lines[k].match(/(?:declare |export )*(?:const|let) (\w+)/);
|
|
950
|
+
if (match && componentVars.has(match[1]))
|
|
951
|
+
lines.splice(k, 1);
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
}
|
|
718
955
|
if (lines.length === 0)
|
|
719
956
|
return null;
|
|
720
|
-
|
|
957
|
+
let preamble = [];
|
|
958
|
+
if (usesSignal) {
|
|
959
|
+
preamble.push("interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }");
|
|
960
|
+
}
|
|
961
|
+
if (usesComputed) {
|
|
962
|
+
preamble.push("interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }");
|
|
963
|
+
}
|
|
964
|
+
if (preamble.length > 0) {
|
|
965
|
+
preamble.push("");
|
|
966
|
+
}
|
|
967
|
+
return preamble.concat(lines).join(`
|
|
721
968
|
`) + `
|
|
722
969
|
`;
|
|
723
970
|
}
|
|
@@ -730,6 +977,86 @@ function expandSuffixes(typeStr) {
|
|
|
730
977
|
typeStr = typeStr.replace(/(\w+(?:<[^>]+>)?)\!/g, "NonNullable<$1>");
|
|
731
978
|
return typeStr;
|
|
732
979
|
}
|
|
980
|
+
function emitComponentTypes(sexpr, lines, indent, indentLevel, componentVars) {
|
|
981
|
+
if (!Array.isArray(sexpr))
|
|
982
|
+
return;
|
|
983
|
+
let head = sexpr[0]?.valueOf?.() ?? sexpr[0];
|
|
984
|
+
let exported = false;
|
|
985
|
+
let name = null;
|
|
986
|
+
let compNode = null;
|
|
987
|
+
if (head === "export" && Array.isArray(sexpr[1])) {
|
|
988
|
+
exported = true;
|
|
989
|
+
let inner = sexpr[1];
|
|
990
|
+
let innerHead = inner[0]?.valueOf?.() ?? inner[0];
|
|
991
|
+
if (innerHead === "=" && Array.isArray(inner[2]) && (inner[2][0]?.valueOf?.() ?? inner[2][0]) === "component") {
|
|
992
|
+
name = inner[1]?.valueOf?.() ?? inner[1];
|
|
993
|
+
compNode = inner[2];
|
|
994
|
+
}
|
|
995
|
+
} else if (head === "=" && Array.isArray(sexpr[2]) && (sexpr[2][0]?.valueOf?.() ?? sexpr[2][0]) === "component") {
|
|
996
|
+
name = sexpr[1]?.valueOf?.() ?? sexpr[1];
|
|
997
|
+
compNode = sexpr[2];
|
|
998
|
+
}
|
|
999
|
+
if (name && compNode) {
|
|
1000
|
+
let exp = exported ? "export " : "";
|
|
1001
|
+
let body = compNode[2];
|
|
1002
|
+
let members = Array.isArray(body) && (body[0]?.valueOf?.() ?? body[0]) === "block" ? body.slice(1) : body ? [body] : [];
|
|
1003
|
+
let props = [];
|
|
1004
|
+
let methods = [];
|
|
1005
|
+
for (let member of members) {
|
|
1006
|
+
if (!Array.isArray(member))
|
|
1007
|
+
continue;
|
|
1008
|
+
let mHead = member[0]?.valueOf?.() ?? member[0];
|
|
1009
|
+
if (mHead === "state") {
|
|
1010
|
+
let propName = member[1]?.valueOf?.() ?? member[1];
|
|
1011
|
+
let type = member[1]?.type;
|
|
1012
|
+
props.push(` ${propName}: ${type ? expandSuffixes(type) : "any"};`);
|
|
1013
|
+
componentVars.add(propName);
|
|
1014
|
+
} else if (mHead === "computed") {
|
|
1015
|
+
let propName = member[1]?.valueOf?.() ?? member[1];
|
|
1016
|
+
let type = member[1]?.type;
|
|
1017
|
+
props.push(` readonly ${propName}: ${type ? expandSuffixes(type) : "any"};`);
|
|
1018
|
+
componentVars.add(propName);
|
|
1019
|
+
} else if (mHead === "object") {
|
|
1020
|
+
for (let j = 1;j < member.length; j++) {
|
|
1021
|
+
let entry = member[j];
|
|
1022
|
+
if (!Array.isArray(entry))
|
|
1023
|
+
continue;
|
|
1024
|
+
let methodName = entry[0]?.valueOf?.() ?? entry[0];
|
|
1025
|
+
if (methodName === "render")
|
|
1026
|
+
continue;
|
|
1027
|
+
let fn = entry[1];
|
|
1028
|
+
if (Array.isArray(fn)) {
|
|
1029
|
+
let fnHead = fn[0]?.valueOf?.() ?? fn[0];
|
|
1030
|
+
if (fnHead === "->" || fnHead === "=>") {
|
|
1031
|
+
methods.push(` ${methodName}(): void;`);
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
1035
|
+
} else if (mHead === "render") {
|
|
1036
|
+
continue;
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
lines.push(`${exp}declare class ${name} {`);
|
|
1040
|
+
lines.push(` constructor(props?: Record<string, any>);`);
|
|
1041
|
+
for (let p of props)
|
|
1042
|
+
lines.push(p);
|
|
1043
|
+
for (let m of methods)
|
|
1044
|
+
lines.push(m);
|
|
1045
|
+
lines.push(` mount(target: Element | string): ${name};`);
|
|
1046
|
+
lines.push(` unmount(): void;`);
|
|
1047
|
+
lines.push(`}`);
|
|
1048
|
+
}
|
|
1049
|
+
if (head === "program" || head === "block") {
|
|
1050
|
+
for (let i = 1;i < sexpr.length; i++) {
|
|
1051
|
+
if (Array.isArray(sexpr[i])) {
|
|
1052
|
+
emitComponentTypes(sexpr[i], lines, indent, indentLevel, componentVars);
|
|
1053
|
+
}
|
|
1054
|
+
}
|
|
1055
|
+
}
|
|
1056
|
+
if (head === "export" && Array.isArray(sexpr[1]) && !compNode) {
|
|
1057
|
+
emitComponentTypes(sexpr[1], lines, indent, indentLevel, componentVars);
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
733
1060
|
function generateEnum(head, rest, context) {
|
|
734
1061
|
let [name, body] = rest;
|
|
735
1062
|
let enumName = name?.valueOf?.() ?? name;
|
|
@@ -2349,7 +2676,7 @@ var parserInstance = {
|
|
|
2349
2676
|
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, Component: 28, Render: 29, Throw: 30, Yield: 31, Def: 32, Enum: 33, CodeLine: 34, OperationLine: 35, Assignable: 36, Literal: 37, Parenthetical: 38, Range: 39, Invocation: 40, DoIife: 41, This: 42, Super: 43, MetaProperty: 44, AlphaNumeric: 45, JS: 46, Regex: 47, UNDEFINED: 48, NULL: 49, BOOL: 50, INFINITY: 51, NAN: 52, NUMBER: 53, String: 54, Identifier: 55, IDENTIFIER: 56, Property: 57, PROPERTY: 58, STRING: 59, STRING_START: 60, Interpolations: 61, STRING_END: 62, InterpolationChunk: 63, INTERPOLATION_START: 64, INTERPOLATION_END: 65, INDENT: 66, OUTDENT: 67, REGEX: 68, REGEX_START: 69, REGEX_END: 70, RegexWithIndex: 71, ",": 72, "=": 73, REACTIVE_ASSIGN: 74, COMPUTED_ASSIGN: 75, READONLY_ASSIGN: 76, REACT_ASSIGN: 77, SimpleAssignable: 78, Array: 79, Object: 80, ThisProperty: 81, ".": 82, "?.": 83, INDEX_START: 84, INDEX_END: 85, Slice: 86, ES6_OPTIONAL_INDEX: 87, "{": 88, ObjAssignable: 89, ":": 90, FOR: 91, ForVariables: 92, FOROF: 93, OptComma: 94, "}": 95, WHEN: 96, OWN: 97, AssignList: 98, AssignObj: 99, ObjRestValue: 100, SimpleObjAssignable: 101, "[": 102, "]": 103, "@": 104, "...": 105, ObjSpreadExpr: 106, SUPER: 107, Arguments: 108, DYNAMIC_IMPORT: 109, Elisions: 110, ArgElisionList: 111, OptElisions: 112, ArgElision: 113, Arg: 114, Elision: 115, RangeDots: 116, "..": 117, DEF: 118, CALL_START: 119, ParamList: 120, CALL_END: 121, Block: 122, PARAM_START: 123, PARAM_END: 124, FuncGlyph: 125, "->": 126, "=>": 127, Param: 128, ParamVar: 129, Splat: 130, ES6_OPTIONAL_CALL: 131, ArgList: 132, SimpleArgs: 133, THIS: 134, NEW_TARGET: 135, IMPORT_META: 136, "(": 137, ")": 138, RETURN: 139, THROW: 140, YIELD: 141, FROM: 142, IfBlock: 143, IF: 144, ELSE: 145, UnlessBlock: 146, UNLESS: 147, POST_IF: 148, POST_UNLESS: 149, TRY: 150, Catch: 151, FINALLY: 152, CATCH: 153, SWITCH: 154, Whens: 155, When: 156, LEADING_WHEN: 157, WhileSource: 158, WHILE: 159, UNTIL: 160, Loop: 161, LOOP: 162, FORIN: 163, BY: 164, FORAS: 165, AWAIT: 166, FORASAWAIT: 167, ForValue: 168, CLASS: 169, EXTENDS: 170, ENUM: 171, COMPONENT: 172, ComponentBody: 173, ComponentLine: 174, RENDER: 175, IMPORT: 176, ImportDefaultSpecifier: 177, ImportNamespaceSpecifier: 178, ImportSpecifierList: 179, ImportSpecifier: 180, AS: 181, DEFAULT: 182, IMPORT_ALL: 183, EXPORT: 184, ExportSpecifierList: 185, EXPORT_ALL: 186, ExportSpecifier: 187, UNARY: 188, DO: 189, DO_IIFE: 190, UNARY_MATH: 191, "-": 192, "+": 193, "?": 194, "--": 195, "++": 196, MATH: 197, "**": 198, SHIFT: 199, COMPARE: 200, "&": 201, "^": 202, "|": 203, "||": 204, "??": 205, "&&": 206, "!?": 207, RELATION: 208, "SPACE?": 209, COMPOUND_ASSIGN: 210 },
|
|
2350
2677
|
tokenNames: { 2: "error", 6: "TERMINATOR", 11: "STATEMENT", 46: "JS", 48: "UNDEFINED", 49: "NULL", 50: "BOOL", 51: "INFINITY", 52: "NAN", 53: "NUMBER", 56: "IDENTIFIER", 58: "PROPERTY", 59: "STRING", 60: "STRING_START", 62: "STRING_END", 64: "INTERPOLATION_START", 65: "INTERPOLATION_END", 66: "INDENT", 67: "OUTDENT", 68: "REGEX", 69: "REGEX_START", 70: "REGEX_END", 72: ",", 73: "=", 74: "REACTIVE_ASSIGN", 75: "COMPUTED_ASSIGN", 76: "READONLY_ASSIGN", 77: "REACT_ASSIGN", 82: ".", 83: "?.", 84: "INDEX_START", 85: "INDEX_END", 87: "ES6_OPTIONAL_INDEX", 88: "{", 90: ":", 91: "FOR", 93: "FOROF", 95: "}", 96: "WHEN", 97: "OWN", 102: "[", 103: "]", 104: "@", 105: "...", 107: "SUPER", 109: "DYNAMIC_IMPORT", 117: "..", 118: "DEF", 119: "CALL_START", 121: "CALL_END", 123: "PARAM_START", 124: "PARAM_END", 126: "->", 127: "=>", 131: "ES6_OPTIONAL_CALL", 134: "THIS", 135: "NEW_TARGET", 136: "IMPORT_META", 137: "(", 138: ")", 139: "RETURN", 140: "THROW", 141: "YIELD", 142: "FROM", 144: "IF", 145: "ELSE", 147: "UNLESS", 148: "POST_IF", 149: "POST_UNLESS", 150: "TRY", 152: "FINALLY", 153: "CATCH", 154: "SWITCH", 157: "LEADING_WHEN", 159: "WHILE", 160: "UNTIL", 162: "LOOP", 163: "FORIN", 164: "BY", 165: "FORAS", 166: "AWAIT", 167: "FORASAWAIT", 169: "CLASS", 170: "EXTENDS", 171: "ENUM", 172: "COMPONENT", 175: "RENDER", 176: "IMPORT", 181: "AS", 182: "DEFAULT", 183: "IMPORT_ALL", 184: "EXPORT", 186: "EXPORT_ALL", 188: "UNARY", 189: "DO", 190: "DO_IIFE", 191: "UNARY_MATH", 192: "-", 193: "+", 194: "?", 195: "--", 196: "++", 197: "MATH", 198: "**", 199: "SHIFT", 200: "COMPARE", 201: "&", 202: "^", 203: "|", 204: "||", 205: "??", 206: "&&", 207: "!?", 208: "RELATION", 209: "SPACE?", 210: "COMPOUND_ASSIGN" },
|
|
2351
2678
|
parseTable: (() => {
|
|
2352
|
-
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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 1, 1, 0, 2, 1, 5, -2, 107, 5, 1, 5, 59, 2, 71, -3, -3, -3, -3, -3, 30, 1, 5, 59, 1, 1, 5, 19, 12, 18, 17, 10, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -6, -6, -6, -6, -6, -6, 126, -6, -6, -6, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -7, -7, -7, -7, -7, -7, -7, -7, -7, 14, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 9, 1, 1, -8, -8, -8, -8, -8, -8, -8, -8, -8, 127, 128, 129, 96, 97, 52, 1, 5, 48, 5, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 3, 9, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -13, -13, 131, 105, 106, -13, -13, -13, -13, 134, 135, 136, -13, 137, -13, -13, -13, -13, -13, -13, -13, 132, -13, 138, -13, -13, 133, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 130, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 44, 1, 5, 59, 1, 1, 5, 10, 1, 1, 1, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -14, -14, -14, -14, -14, -14, 139, 140, 141, -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, -14, -14, -14, -14, -14, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 31, 18, 17, -33, -33, -33, -33, -33, -33, -33, -33, -33, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -34, -34, -34, -34, -34, -34, -34, -34, -34, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -35, -35, -35, -35, -35, -35, -35, -35, 142, 143, 144, 145, 146, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -37, -37, -37, -37, -37, -37, -37, -37, -37, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -40, -40, -40, -40, -40, -40, -40, -40, -40, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -43, -43, -43, -43, -43, -43, -43, -43, -43, 18, 6, 49, 1, 10, 1, 5, 7, 1, 1, 7, 14, 2, 1, 15, 1, 3, 4, 1, -173, 151, 104, -173, -173, -173, 153, 154, 152, 99, 156, 155, 150, 147, -173, -173, 148, 149, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 4, 1, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 158, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 159, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 157, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 160, 161, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 163, 164, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 165, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 171, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 172, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 173, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 174, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 45, 14, 1, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 9, 1, 1, 1, 7, 14, 2, 3, 2, 14, 2, 1, 1, 7, 1, 1, 1, 53, 176, 177, 178, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 175, 72, 73, 93, 99, 83, 87, 84, 85, 166, 167, 90, 91, 86, 88, 89, 82, 170, 45, 14, 1, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 9, 1, 1, 1, 7, 14, 2, 3, 2, 14, 2, 1, 1, 7, 1, 1, 1, 53, 176, 177, 178, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 179, 72, 73, 93, 99, 83, 87, 84, 85, 166, 167, 90, 91, 86, 88, 89, 82, 170, 58, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 1, 1, 1, 1, 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, 180, 181, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, 182, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 184, 183, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 185, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 7, 3, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, 186, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, 2, 66, 56, 159, 187, 2, 66, 56, 159, 188, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 14, 39, 16, 1, 23, 1, 1, 7, 4, 5, 5, 2, 25, 37, 2, 192, 151, 104, 153, 154, 152, 99, 189, 190, 83, 155, 194, 191, 193, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 195, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 196, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 88, 1, 5, 8, 1, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, 1, 1, 1, 1, 3, 6, 1, 1, 1, 4, 3, 2, 1, 2, 2, 1, 6, 1, 1, 1, 2, 2, 8, 4, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 10, 1, 10, 1, 3, 1, 1, 2, 3, 20, 2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -302, -302, 176, 177, 178, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -302, 159, -302, 102, 103, -302, 199, 72, 73, 93, -302, 99, -302, -302, -302, -302, -302, 83, -302, 87, -302, 84, 85, -302, -302, 197, 166, -302, 167, 90, 91, 86, 88, 89, 82, -302, -302, -302, -302, -302, -302, -302, -302, -302, 198, 170, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, 1, 66, 200, 2, 66, 56, 159, 201, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 202, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 203, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, 1, 1, 1, 1, 3, 5, 1, 1, 1, 1, 4, 3, 2, 1, 2, 2, 1, 6, 1, 1, 1, 2, 2, 8, 1, 3, 2, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -224, -224, 204, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -224, 205, -224, 102, 103, -224, 53, 52, 72, 73, 93, -224, 99, -224, -224, -224, -224, -224, 83, -224, 87, -224, 84, 85, -224, 66, -224, 166, -224, 167, 90, 91, 86, 88, 89, 82, -224, 69, 64, 65, 206, 54, 94, 55, 95, -224, -224, 56, 60, 57, -224, -224, 58, 98, -224, -224, -224, 49, -224, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, 2, 55, 1, 207, 104, 2, 55, 1, 208, 104, 6, 15, 19, 89, 2, 1, 1, 210, 209, 42, 43, 90, 91, 136, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, 1, 1, 1, 1, 3, 5, 1, 1, 1, 1, 4, 3, 2, 1, 2, 2, 1, 6, 1, 1, 1, 2, 2, 8, 1, 3, 2, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -221, -221, 211, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -221, 212, -221, 102, 103, -221, 53, 52, 72, 73, 93, -221, 99, -221, -221, -221, -221, -221, 83, -221, 87, -221, 84, 85, -221, 66, -221, 166, -221, 167, 90, 91, 86, 88, 89, 82, -221, 69, 64, 65, 54, 94, 55, 95, -221, -221, 56, 60, 57, -221, -221, 58, 98, -221, -221, -221, 49, -221, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, 9, 54, 1, 1, 3, 1, 28, 89, 1, 5, 213, 217, 104, 105, 106, 216, 214, 215, 218, 13, 27, 1, 4, 1, 22, 1, 32, 30, 51, 2, 1, 10, 4, 220, 221, 222, 223, 224, 104, 219, 66, 61, 67, 62, 225, 226, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -87, -87, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -88, -88, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -44, -44, -44, -44, -44, -44, -44, -44, -44, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -45, -45, -45, -45, -45, -45, -45, -45, -45, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -46, -46, -46, -46, -46, -46, -46, -46, -46, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -47, -47, -47, -47, -47, -47, -47, -47, -47, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -48, -48, -48, -48, -48, -48, -48, -48, -48, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, -51, -51, -51, -51, -51, -51, -51, -51, -51, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 227, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 228, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 229, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 235, 102, 103, 236, 53, 52, 72, 73, 93, 99, 59, 83, 230, 87, 240, 84, 85, 231, 232, 234, 237, 233, 66, 42, 43, 90, 91, 239, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 4, 82, 2, 24, 11, 242, 243, 241, 138, 2, 108, 11, 244, 138, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, 52, 1, 5, 51, 1, 1, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -206, -206, 245, 246, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, 1, 82, 247, 1, 82, 248, 54, 11, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 6, 2, 1, 8, 11, 3, 11, 2, 3, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 54, 11, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 6, 2, 1, 8, 11, 3, 11, 2, 3, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 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, -89, -89, -89, -89, -89, -89, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 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, -90, -90, -90, -90, -90, -90, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 249, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 250, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 251, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 252, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 4, 1, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 254, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 159, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 253, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 23, 6, 39, 8, 1, 1, 1, 1, 1, 1, 1, 6, 1, 5, 9, 8, 6, 3, 1, 1, 1, 1, 2, 1, -109, 260, 100, 101, 262, 104, 263, 246, 105, 106, -109, -109, -109, 264, 255, -109, 256, 261, 265, 257, 258, 259, 266, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -64, -64, -64, -64, -64, -64, -64, -64, -64, 45, 14, 1, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 9, 1, 1, 1, 7, 14, 2, 3, 2, 14, 2, 1, 1, 7, 1, 1, 1, 53, 176, 177, 178, 34, 35, 36, 267, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 268, 72, 73, 93, 99, 83, 87, 84, 85, 166, 167, 90, 91, 86, 88, 89, 82, 170, 61, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 4, 6, 1, 10, 1, 3, 1, 1, 2, 3, 11, 11, 1, 1, 1, 1, 1, 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, -54, -54, -54, -54, 53, 1, 5, 53, 1, 2, 2, 1, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 6, 54, 5, 1, 1, 2, 1, 272, 105, 106, 269, 270, 271, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, 2, 1, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, -5, 273, -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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -5, -5, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, -5, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 274, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 275, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 276, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 277, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 278, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 279, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 280, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 281, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 282, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 285, 162, 283, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 284, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 288, 162, 286, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 287, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 291, 162, 289, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 290, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 292, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 293, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 294, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 295, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 296, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 14, 39, 16, 1, 23, 1, 1, 7, 4, 5, 5, 2, 25, 37, 2, 300, 151, 104, 153, 154, 152, 99, 297, 298, 83, 155, 194, 299, 193, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 301, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 302, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 2, 108, 11, 303, 138, 2, 57, 1, 304, 246, 2, 57, 1, 305, 246, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 2, 6, 1, 1, 1, 1, 5, 2, 3, 11, 2, 1, 2, 2, 7, 1, 1, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 306, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 311, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 307, 102, 103, 309, 53, 52, 72, 73, 93, 308, 99, 59, 83, 87, 313, 84, 85, 310, 312, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 84, 314, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 5, 4, 3, 2, 2, 1, 1, 3, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 319, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 318, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 240, 84, 85, 317, 66, 315, 42, 43, 90, 91, 239, 316, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 2, 57, 1, 320, 246, 2, 57, 1, 321, 246, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 322, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 323, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 325, 324, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 326, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 328, 327, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 329, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 331, 330, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 332, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 334, 333, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 335, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 337, 336, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 338, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 9, 6, 60, 1, 5, 22, 1, 8, 18, 3, -217, -217, -217, 340, 341, -217, -217, -217, 339, 6, 6, 60, 1, 5, 49, 3, -174, -174, -174, -174, -174, -174, 7, 6, 60, 1, 5, 1, 48, 3, -178, -178, -178, -178, 342, -178, -178, 15, 6, 49, 1, 10, 1, 5, 7, 1, 1, 7, 14, 2, 17, 3, 5, -181, 151, 104, -181, -181, -181, 153, 154, 152, 99, 156, 155, -181, -181, 343, 11, 6, 60, 1, 5, 1, 20, 28, 3, 39, 2, 2, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, 11, 6, 60, 1, 5, 1, 20, 28, 3, 39, 2, 2, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, 11, 6, 60, 1, 5, 1, 20, 28, 3, 39, 2, 2, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, 11, 6, 60, 1, 5, 1, 20, 28, 3, 39, 2, 2, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, 2, 57, 1, 245, 246, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 319, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 235, 102, 103, 236, 53, 52, 72, 73, 93, 99, 59, 83, 230, 87, 240, 84, 85, 231, 232, 234, 237, 233, 66, 42, 43, 90, 91, 239, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -170, -170, -170, -170, -170, -170, -170, -170, -170, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 7, 1, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 345, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 344, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, 124, 125, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, 118, -364, 120, -364, -364, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -361, -361, -361, -361, -361, -361, -361, -361, -361, 5, 148, 1, 9, 1, 1, 127, 128, 129, 96, 97, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, 124, 125, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, -365, 118, -365, 120, -365, -365, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -362, -362, -362, -362, -362, -362, -362, -362, -362, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -366, -366, -366, -366, -366, -366, -366, -366, -366, -366, -366, -366, -366, -366, -366, -366, -366, -366, -366, 124, 125, -366, -366, -366, -366, -366, -366, -366, -366, -366, 111, -366, -366, -366, -366, -366, -366, 118, -366, 120, -366, -366, 18, 6, 49, 1, 10, 1, 5, 7, 1, 1, 7, 14, 2, 1, 15, 1, 3, 4, 1, -173, 151, 104, -173, -173, -173, 153, 154, 152, 99, 156, 155, 150, 346, -173, -173, 148, 149, 2, 66, 56, 159, 157, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 160, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 163, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 5, 15, 108, 2, 1, 1, 210, 166, 167, 90, 91, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -367, -367, -367, -367, -367, -367, -367, -367, -367, 111, -367, -367, -367, -367, -367, -367, 118, -367, 120, -367, -367, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -368, -368, -368, -368, -368, -368, -368, -368, -368, 111, -368, -368, -368, -368, -368, -368, 118, -368, 120, -368, -368, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, 118, -370, 120, -370, -370, 2, 80, 8, 347, 99, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -372, -372, -86, -86, -372, -372, -372, -372, -86, -86, -86, -86, -86, -86, -86, -86, -372, -86, -372, -372, -372, -372, -372, -372, -372, -372, -86, -372, -372, -86, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -86, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, 10, 54, 5, 1, 22, 1, 1, 3, 21, 11, 12, 131, 105, 106, 134, 135, 136, 137, 132, 138, 133, 3, 82, 1, 1, 139, 140, 141, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -373, -373, -86, -86, -373, -373, -373, -373, -86, -86, -86, -86, -86, -86, -86, -86, -373, -86, -373, -373, -373, -373, -373, -373, -373, -373, -86, -373, -373, -86, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -86, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 350, 348, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 349, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -83, -83, -83, -83, -83, -83, -83, -83, 126, -83, -83, -83, -83, -83, -83, -83, -83, -83, 123, 124, 125, 96, 97, -83, -83, -83, -83, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 351, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 352, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 66, 56, 22, 159, 353, 354, 44, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 2, 1, 1, 6, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, 355, 356, 357, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 4, 93, 70, 2, 2, 359, 358, 360, 361, 11, 55, 1, 23, 1, 1, 7, 4, 10, 2, 25, 39, 151, 104, 153, 154, 152, 99, 362, 156, 155, 194, 193, 11, 55, 1, 23, 1, 1, 7, 4, 10, 2, 25, 39, 151, 104, 153, 154, 152, 99, 363, 156, 155, 194, 193, 3, 66, 56, 42, 159, 364, 365, 5, 72, 21, 70, 2, 2, 366, -300, -300, -300, -300, 6, 72, 1, 20, 70, 2, 2, -298, 367, -298, -298, -298, -298, 22, 66, 25, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 368, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 3, 155, 1, 1, 369, 370, 371, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 372, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 57, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 1, 2, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -306, -306, -86, -86, -306, 159, -306, -306, -86, -86, -86, -86, -86, -86, -86, -86, -306, -86, -306, -306, -306, -306, -306, -306, -306, -306, -86, -306, 373, -306, -86, -306, -306, -306, -306, -306, -306, -306, -306, -306, 374, -306, -306, -86, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, 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, 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, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 1, 1, 1, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 377, 378, 379, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 375, 376, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, 124, 125, -222, -222, -222, -222, -222, -222, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 80, 8, 380, 99, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, 124, 125, -225, -225, -225, -225, -225, -225, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 80, 8, 381, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 382, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 66, 53, 3, 159, 383, 384, 2, 66, 56, 159, 385, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -363, -363, -363, -363, -363, -363, -363, -363, -363, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, 124, 125, -219, -219, -219, -219, -219, -219, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 80, 8, 386, 99, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, 2, 72, 70, 388, 387, 1, 142, 389, 7, 55, 1, 10, 29, 84, 1, 2, 394, 104, 393, 390, 391, 392, 395, 2, 72, 70, -335, -335, 1, 181, 396, 7, 55, 1, 10, 29, 87, 3, 2, 401, 104, 400, 397, 402, 398, 399, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, 1, 73, 403, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 404, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 405, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 142, 406, 2, 6, 132, 107, 407, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 408, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 30, 6, 60, 1, 5, 19, 12, 2, 11, 1, 4, 27, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -199, -199, -199, -199, 126, -199, 313, 409, 312, -199, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 1, 1, 1, 2, 2, 5, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 319, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 236, 53, 52, 72, 73, 93, 99, 59, 83, 410, 87, 240, 84, 85, 412, 411, 66, 42, 43, 90, 91, 239, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 9, 6, 60, 1, 5, 22, 1, 8, 9, 9, -217, -217, -217, 414, 415, -217, -217, 413, -217, 59, 6, 5, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 6, 1, 1, 1, 3, 5, 11, 3, 11, 1, 1, 1, 2, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 416, -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, 5, 6, 60, 1, 5, 31, -145, -145, -145, -145, -145, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 1, 1, 2, 1, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 319, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 235, 102, 103, 236, 53, 52, 72, 73, 93, 99, 59, 83, 87, 240, 84, 85, 418, 417, 234, 237, 233, 66, 42, 43, 90, 91, 239, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 59, 6, 5, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 6, 1, 1, 1, 3, 5, 11, 3, 11, 1, 1, 1, 2, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 5, 6, 60, 1, 5, 31, -150, -150, -150, -150, -150, 6, 6, 60, 1, 5, 31, 18, -200, -200, -200, -200, -200, -200, 6, 6, 60, 1, 5, 31, 18, -201, -201, -201, -201, -201, -201, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 1, 1, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 1, 1, 3, 2, 9, 3, 2, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, -202, 419, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -202, -202, 102, 103, -202, 53, 52, 72, 73, 93, 99, 59, 83, -202, 87, 84, 85, 66, -202, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 2, 57, 1, 420, 246, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 421, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 422, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 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, 2, 57, 1, 423, 246, 2, 57, 1, 424, 246, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 425, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 426, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -254, -254, -254, -254, -254, -254, -254, -254, 126, -254, -254, 427, -254, -254, -254, -254, -254, -254, -254, 124, 125, 96, 97, -254, -254, -254, -254, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -256, -256, -256, -256, -256, -256, -256, -256, 126, -256, -256, 428, -256, -256, -256, -256, -256, -256, -256, 124, 125, 96, 97, -256, -256, -256, -256, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -263, -263, -263, -263, -263, -263, -263, -263, 126, -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, 124, 125, 96, 97, -263, -263, -263, -263, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 6, 6, 60, 1, 5, 18, 5, -114, -114, -114, -114, 429, -114, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 431, 430, -217, -217, -217, 7, 6, 60, 1, 5, 1, 17, 5, -123, -123, -123, -123, 432, -123, -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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 433, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 57, 1, 44, 245, 246, 434, 6, 6, 60, 1, 5, 18, 5, -126, -126, -126, -126, -126, -126, 5, 6, 60, 1, 5, 23, -110, -110, -110, -110, -110, 11, 6, 60, 1, 5, 1, 9, 1, 1, 6, 5, 24, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, 11, 6, 60, 1, 5, 1, 9, 1, 1, 6, 5, 24, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, 11, 6, 60, 1, 5, 1, 9, 1, 1, 6, 5, 24, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, 5, 6, 60, 1, 5, 23, -115, -115, -115, -115, -115, 17, 38, 4, 1, 12, 1, 1, 1, 22, 1, 7, 13, 3, 2, 1, 2, 25, 3, 438, 440, 439, 262, 104, 263, 246, 437, 264, 99, 435, 87, 436, 441, 442, 86, 82, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -39, -39, -39, -39, -39, -39, -39, 443, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -86, -86, 6, 54, 5, 1, 2, 1, 1, 272, 105, 106, 444, 445, 271, 4, 59, 1, 2, 2, -58, -58, -58, -58, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, 1, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 446, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 448, 447, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 4, 59, 1, 2, 2, -63, -63, -63, -63, 5, 1, 5, 59, 2, 71, -4, -4, -4, -4, -4, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, 124, 125, -376, -376, -376, -376, -376, -376, -376, -376, 110, 111, -376, -376, -376, -376, -376, -376, 118, -376, 120, -376, -376, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -377, -377, -377, -377, -377, -377, -377, -377, 110, 111, -377, -377, -377, -377, -377, -377, 118, -377, 120, -377, -377, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -378, -378, -378, -378, -378, -378, -378, -378, -378, 111, -378, -378, -378, -378, -378, -378, 118, -378, 120, -378, -378, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -379, -379, -379, -379, -379, -379, -379, -379, -379, 111, -379, -379, -379, -379, -379, -379, 118, -379, 120, -379, -379, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -380, 124, 125, -380, -380, -380, -380, -380, -380, 109, 108, 110, 111, -380, -380, -380, -380, -380, -380, 118, -380, 120, -380, -380, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -381, 124, 125, -381, -381, -381, -381, -381, -381, 109, 108, 110, 111, 112, -381, -381, -381, -381, -381, 118, -381, 120, 121, -381, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -382, 124, 125, -382, -382, -382, -382, -382, -382, 109, 108, 110, 111, 112, 113, -382, -382, -382, -382, 118, -382, 120, 121, -382, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -383, 124, 125, -383, -383, -383, -383, -383, -383, 109, 108, 110, 111, 112, 113, 114, -383, -383, -383, 118, -383, 120, 121, -383, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -384, 124, 125, -384, -384, -384, -384, -384, -384, 109, 108, 110, 111, 112, 113, 114, 115, -384, -384, 118, -384, 120, 121, -384, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, -386, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -392, -392, -392, -392, -392, -392, 109, 108, 110, 111, 112, 113, 114, 115, 116, -392, 118, 119, 120, 121, -392, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, -388, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -393, -393, -393, -393, -393, -393, -393, -393, 126, -393, -393, -393, -393, -393, -393, -393, -393, -393, 123, 124, 125, 96, 97, -393, -393, -393, -393, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -391, -391, -391, -391, -391, -391, 109, 108, 110, 111, 112, 113, 114, 115, 116, -391, 118, -391, 120, 121, -391, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -394, -394, -394, -394, -394, -394, -394, -394, 126, -394, -394, -394, -394, -394, -394, -394, -394, -394, 123, 124, 125, 96, 97, -394, -394, -394, -394, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -395, 124, 125, -395, -395, -395, -395, -395, -395, 109, 108, 110, 111, 112, -395, -395, -395, -395, -395, 118, -395, 120, -395, -395, 22, 90, 1, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 449, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -236, -236, -236, -236, -236, -236, -236, -236, 126, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, 124, 125, 96, 97, -236, -236, -236, -236, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -238, -238, -238, -238, -238, -238, -238, -238, 126, -238, -238, -238, -238, -238, -238, -238, -238, -238, 123, 124, 125, 96, 97, -238, -238, -238, -238, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 4, 93, 70, 2, 2, 451, 450, 452, 453, 11, 55, 1, 23, 1, 1, 7, 4, 10, 2, 25, 39, 151, 104, 153, 154, 152, 99, 454, 156, 155, 194, 193, 11, 55, 1, 23, 1, 1, 7, 4, 10, 2, 25, 39, 151, 104, 153, 154, 152, 99, 455, 156, 155, 194, 193, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 456, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -235, -235, -235, -235, -235, -235, -235, -235, 126, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, 124, 125, 96, 97, -235, -235, -235, -235, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -237, -237, -237, -237, -237, -237, -237, -237, 126, -237, -237, -237, -237, -237, -237, -237, -237, -237, 123, 124, 125, 96, 97, -237, -237, -237, -237, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 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, -91, -91, -91, -91, -91, -91, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, 25, 85, 6, 14, 11, 1, 31, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 457, 126, 313, 458, 312, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 5, 2, 3, 11, 2, 1, 2, 2, 7, 1, 1, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 459, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 460, 99, 59, 83, 87, 313, 84, 85, 310, 312, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 85, 461, 1, 85, 462, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 7, 1, 1, 8, 1, 1, 1, 1, 4, 3, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 463, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -164, 102, 103, 53, 52, 72, 73, 93, -164, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -46, -46, -46, -46, -46, -46, -46, 464, -46, -46, -46, -67, -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, 55, 11, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 7, 1, 1, 8, 8, 3, 3, 11, 2, 3, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 55, 11, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 7, 1, 1, 8, 8, 3, 3, 11, 2, 3, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 465, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 466, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 468, 467, -217, -217, -217, 5, 6, 60, 1, 5, 49, -194, -194, -194, -194, -194, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 5, 4, 5, 2, 1, 1, 3, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 319, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 318, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 240, 84, 85, 317, 66, 42, 43, 90, 91, 239, 469, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 27, 6, 60, 1, 5, 19, 12, 18, 27, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -199, -199, -199, -199, 126, -199, -199, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, 22, 85, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 470, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 471, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -68, -68, -68, -68, -68, -68, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 472, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 473, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -71, -71, -71, -71, -71, -71, -71, -71, 126, -71, -71, -71, -71, -71, -71, -71, -71, -71, 123, 124, 125, 96, 97, -71, -71, -71, -71, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 474, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 475, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -74, -74, -74, -74, -74, -74, -74, -74, 126, -74, -74, -74, -74, -74, -74, -74, -74, -74, 123, 124, 125, 96, 97, -74, -74, -74, -74, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 476, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 477, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -77, -77, -77, -77, -77, -77, -77, -77, 126, -77, -77, -77, -77, -77, -77, -77, -77, -77, 123, 124, 125, 96, 97, -77, -77, -77, -77, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 478, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 479, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -80, -80, -80, -80, -80, -80, -80, -80, 126, -80, -80, -80, -80, -80, -80, -80, -80, -80, 123, 124, 125, 96, 97, -80, -80, -80, -80, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 480, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 481, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 125, 1, 1, 482, 90, 91, 17, 6, 49, 1, 10, 1, 12, 1, 1, 7, 7, 7, 1, 1, 1, 16, 7, 1, -218, 151, 104, -218, -218, 153, 154, 152, 99, -218, 156, -218, 155, 150, -218, 483, 149, 2, 6, 60, 484, 485, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 486, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 6, 6, 60, 1, 5, 49, 3, -180, -180, -180, -180, -180, -180, 54, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 7, 3, 1, 3, 1, 4, 2, 1, 3, 1, 1, 2, 25, 1, 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, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, 2, 6, 61, 107, 487, 9, 6, 60, 1, 5, 22, 1, 8, 18, 3, -217, -217, -217, 340, 341, -217, -217, -217, 488, 1, 67, 489, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -397, 124, 125, -397, -397, -397, -397, -397, -397, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 490, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 491, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -84, -84, -84, -84, -84, -84, -84, -84, 126, -84, -84, -84, -84, -84, -84, -84, -84, -84, 123, 124, 125, 96, 97, -84, -84, -84, -84, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 492, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 493, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 3, 7, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, 494, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, 2, 66, 56, 159, 495, 6, 55, 1, 10, 14, 8, 34, 496, 104, 159, 497, 99, 498, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 499, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 500, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 501, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 502, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 93, 503, 1, 165, 504, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 505, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 10, 55, 1, 23, 1, 1, 7, 14, 2, 25, 39, 151, 104, 153, 154, 152, 99, 156, 155, 194, 506, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 507, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 155, 1, 1, 508, 370, 371, 4, 67, 78, 11, 1, 509, 510, 511, 371, 3, 67, 78, 12, -250, -250, -250, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 6, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 513, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 512, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 43, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 1, 2, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -304, -304, -304, 159, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 514, -304, -304, -304, 124, 125, -304, -304, -304, -304, -304, -304, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 515, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 2, 6, 61, 517, 516, 2, 6, 61, -312, -312, 23, 6, 61, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -315, -315, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 6, 61, -316, -316, 7, 6, 61, 81, 1, 9, 1, 1, -317, -317, 127, 128, 129, 96, 97, 1, 67, 518, 1, 67, 519, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, 124, 125, -227, -227, -227, -227, -227, -227, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 18, 6, 49, 1, 10, 1, 5, 7, 1, 1, 7, 14, 2, 1, 15, 1, 3, 4, 1, -173, 151, 104, -173, -173, -173, 153, 154, 152, 99, 156, 155, 150, 520, -173, -173, 148, 149, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 1, 67, 521, 3, 54, 5, 1, 522, 105, 106, 3, 88, 90, 5, 524, 523, 218, 3, 54, 5, 1, 525, 105, 106, 1, 142, 526, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 528, 527, -217, -217, -217, 5, 6, 60, 1, 5, 23, -326, -326, -326, -326, -326, 6, 55, 1, 10, 113, 1, 2, 394, 104, 393, 529, 392, 395, 6, 6, 60, 1, 5, 23, 86, -331, -331, -331, -331, -331, 530, 6, 6, 60, 1, 5, 23, 86, -333, -333, -333, -333, -333, 531, 2, 55, 1, 532, 104, 14, 1, 5, 59, 1, 1, 5, 31, 18, 17, 4, 6, 1, 10, 1, -337, -337, -337, -337, -337, -337, -337, -337, -337, 533, -337, -337, -337, -337, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 535, 534, -217, -217, -217, 5, 6, 60, 1, 5, 23, -351, -351, -351, -351, -351, 6, 55, 1, 10, 116, 3, 2, 401, 104, 400, 402, 536, 399, 6, 6, 60, 1, 5, 23, 86, -356, -356, -356, -356, -356, 537, 6, 6, 60, 1, 5, 23, 86, -359, -359, -359, -359, -359, 538, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 540, 539, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 541, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 30, 1, 5, 59, 1, 1, 5, 19, 12, 18, 17, 10, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -346, -346, -346, -346, -346, -346, 126, -346, -346, -346, -346, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 80, 8, 542, 99, 3, 54, 5, 1, 543, 105, 106, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -215, -215, -215, -215, -215, -215, -215, -215, -215, 2, 6, 61, 107, 544, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 545, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 59, 6, 5, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 6, 1, 1, 1, 3, 5, 11, 3, 11, 1, 1, 1, 2, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 416, -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, 5, 6, 60, 1, 5, 31, -151, -151, -151, -151, -151, 2, 66, 37, 547, 546, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 1, 1, 1, 3, 5, 1, 1, 1, 1, 7, 3, 4, 7, 1, 1, 1, 2, 2, 1, 3, 1, 1, 3, 3, 2, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, -218, 319, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -218, -218, 102, 103, 236, 53, 52, 72, 73, 93, 99, 59, -218, 83, -218, 87, 240, 84, 85, 549, 548, 237, 233, 66, -218, 42, 43, 90, 91, 239, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 4, 6, 60, 1, 36, 550, -152, -152, -152, 59, 6, 5, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 6, 1, 1, 1, 3, 5, 11, 3, 11, 1, 1, 1, 2, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 9, 6, 60, 1, 5, 22, 1, 8, 9, 9, -217, -217, -217, 414, 415, -217, -217, 551, -217, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 5, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 319, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 236, 53, 52, 72, 73, 93, 99, 59, 83, 87, 240, 84, 85, 412, 411, 66, 42, 43, 90, 91, 239, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 27, 6, 60, 1, 5, 19, 12, 18, 27, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -186, -186, -186, -186, 126, -186, -186, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, 22, 85, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 552, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 553, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -211, -211, -211, -211, -211, -211, -211, -211, -211, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 7, 3, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 7, 3, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, 554, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 555, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 556, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 557, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 558, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 6, 60, 29, 560, 561, 559, 23, 6, 39, 8, 1, 1, 1, 1, 1, 1, 1, 6, 1, 14, 8, 6, 4, 1, 1, 1, 1, 1, 1, 16, -218, 260, 100, 101, 262, 104, 263, 246, 105, 106, -218, -218, 264, 563, -218, 562, 265, 257, 258, -218, 259, 266, -218, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 564, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 565, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 22, 91, 12, 45, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 126, 566, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 567, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 10, 6, 60, 1, 5, 10, 1, 1, 11, 13, 11, -127, -127, -127, -127, -129, -129, -129, -127, 568, 138, 10, 6, 60, 1, 5, 10, 1, 1, 11, 13, 11, -128, -128, -128, -128, 570, 571, 572, -128, 569, 138, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -130, -130, -130, -130, -130, -130, -130, -130, -130, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -131, -131, -131, -131, -131, -131, -131, -131, -131, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -132, -132, -132, -132, -132, -132, -132, -132, -132, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -133, -133, -133, -133, -133, -133, -133, -133, -133, 4, 82, 2, 24, 11, 242, 243, 573, 138, 2, 108, 11, 574, 138, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, 53, 1, 5, 53, 1, 2, 2, 1, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 4, 59, 1, 2, 2, -59, -59, -59, -59, 2, 6, 59, 107, 575, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 576, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 4, 59, 1, 2, 2, -62, -62, -62, -62, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 577, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 578, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 579, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 580, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 581, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 93, 582, 1, 165, 583, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 584, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 7, 1, 1, 8, 1, 1, 1, 1, 4, 3, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 585, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -162, 102, 103, 53, 52, 72, 73, 93, -162, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 25, 67, 24, 14, 11, 1, 31, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 586, 126, 313, 458, 312, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 1, 67, 587, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, 23, 67, 18, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -163, -163, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 588, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 22, 85, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 589, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 590, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 6, 60, 55, 592, 593, 591, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 1, 1, 1, 8, 1, 1, 1, 1, 7, 3, 4, 7, 1, 1, 1, 2, 2, 5, 4, 3, 2, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, -218, 319, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -218, -218, 102, 103, 53, 52, 72, 73, 93, 99, 59, -218, 83, -218, 87, 240, 84, 85, 594, 66, -218, 42, 43, 90, 91, 239, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 468, 595, -217, -217, -217, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 596, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -69, -69, -69, -69, -69, -69, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 597, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -72, -72, -72, -72, -72, -72, -72, -72, 126, -72, -72, -72, -72, -72, -72, -72, -72, -72, 123, 124, 125, 96, 97, -72, -72, -72, -72, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 598, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -75, -75, -75, -75, -75, -75, -75, -75, 126, -75, -75, -75, -75, -75, -75, -75, -75, -75, 123, 124, 125, 96, 97, -75, -75, -75, -75, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 599, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -78, -78, -78, -78, -78, -78, -78, -78, 126, -78, -78, -78, -78, -78, -78, -78, -78, -78, 123, 124, 125, 96, 97, -78, -78, -78, -78, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 600, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -81, -81, -81, -81, -81, -81, -81, -81, 126, -81, -81, -81, -81, -81, -81, -81, -81, -81, 123, 124, 125, 96, 97, -81, -81, -81, -81, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 601, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 4, 1, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 603, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 159, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 602, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 6, 6, 60, 1, 5, 49, 3, -175, -175, -175, -175, -175, -175, 11, 55, 1, 23, 1, 1, 7, 14, 2, 1, 23, 1, 151, 104, 153, 154, 152, 99, 156, 155, 150, 604, 149, 18, 6, 49, 1, 10, 1, 5, 7, 1, 1, 7, 14, 2, 1, 15, 1, 3, 4, 1, -173, 151, 104, -173, -173, -173, 153, 154, 152, 99, 156, 155, 150, 605, -173, -173, 148, 149, 27, 6, 60, 1, 5, 19, 30, 3, 24, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -179, -179, -179, -179, 126, -179, -179, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 54, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 7, 3, 1, 3, 1, 4, 2, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, 3, 125, 1, 1, 606, 90, 91, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 607, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, 124, 125, -399, -399, -399, -399, -399, -399, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 608, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 66, 56, 159, 609, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, 2, 66, 56, 159, 610, 2, 66, 56, 159, 611, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 3, 7, 1, 3, 1, 1, 2, 25, 1, 4, 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, 25, 66, 25, 5, 26, 26, 1, 9, 1, 1, 4, 28, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 613, 612, 123, 124, 125, 96, 97, 614, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 24, 66, 25, 5, 26, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 616, 615, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 24, 66, 25, 5, 26, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 618, 617, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 24, 66, 25, 5, 26, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 620, 619, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 621, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 622, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 623, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 4, 93, 70, 2, 2, -301, -301, -301, -301, 26, 72, 19, 2, 55, 1, 9, 1, 1, 3, 2, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -299, 126, -299, 123, 124, 125, 96, 97, -299, -299, -299, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 4, 67, 78, 11, 1, 624, 625, 511, 371, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 2, 66, 56, 159, 626, 3, 67, 78, 12, -251, -251, -251, 3, 66, 6, 50, 159, 628, 627, 23, 66, 6, 19, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -203, -203, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 43, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 1, 2, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -308, -308, -308, 159, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, 629, -308, -308, -308, 124, 125, -308, -308, -308, -308, -308, -308, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, 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, 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, 1, 7, 1, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 2, 1, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, -314, 377, 378, 379, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -314, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 630, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 340, 341, -217, -217, 631, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, 1, 142, 632, 6, 55, 1, 10, 113, 1, 2, 394, 104, 393, 633, 392, 395, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, 3, 54, 5, 1, 634, 105, 106, 3, 6, 60, 29, 636, 637, 635, 10, 6, 49, 1, 10, 1, 28, 8, 18, 59, 2, -218, 394, 104, -218, -218, -218, -218, -218, 638, 395, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 528, 639, -217, -217, -217, 2, 55, 1, 640, 104, 2, 55, 1, 641, 104, 1, 142, -336, 3, 54, 5, 1, 642, 105, 106, 3, 6, 60, 29, 644, 645, 643, 10, 6, 49, 1, 10, 1, 28, 8, 18, 61, 5, -218, 401, 104, -218, -218, -218, -218, -218, 402, 646, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 535, 647, -217, -217, -217, 3, 55, 1, 126, 648, 104, 649, 2, 55, 1, 650, 104, 30, 1, 5, 59, 1, 1, 5, 19, 12, 18, 17, 10, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -343, -343, -343, -343, -343, -343, 126, -343, -343, -343, -343, 124, 125, -343, -343, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 651, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 652, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 67, 653, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, 1, 138, 654, 22, 91, 12, 45, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 126, 655, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 1, 1, 2, 1, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 319, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 235, 102, 103, 236, 53, 52, 72, 73, 93, 99, 59, 83, 87, 240, 84, 85, 418, 656, 234, 237, 233, 66, 42, 43, 90, 91, 239, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 5, 6, 60, 1, 5, 31, -146, -146, -146, -146, -146, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 1, 1, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 1, 1, 1, 2, 2, 5, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 319, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -153, -153, 102, 103, 236, 53, 52, 72, 73, 93, 99, 59, 83, -153, 87, 240, 84, 85, 412, 411, 66, 42, 43, 90, 91, 239, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 1, 3, 1, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 319, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 236, 53, 52, 72, 73, 93, 99, 59, 83, 87, 240, 84, 85, 418, 657, 237, 233, 66, 42, 43, 90, 91, 239, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 2, 66, 1, 547, 658, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 659, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 66, 56, 159, 660, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, 124, 125, -255, -255, -255, -255, -255, -255, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -257, -257, -257, -257, -257, -257, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 26, 6, 60, 1, 5, 19, 4, 53, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -116, -116, -116, -116, 661, -116, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 662, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, 17, 45, 8, 1, 1, 1, 1, 1, 1, 1, 21, 8, 10, 1, 1, 1, 2, 1, 260, 100, 101, 262, 104, 263, 246, 105, 106, 264, 563, 663, 265, 257, 258, 259, 266, 23, 6, 39, 8, 1, 1, 1, 1, 1, 1, 1, 6, 1, 5, 9, 8, 6, 3, 1, 1, 1, 1, 2, 1, -109, 260, 100, 101, 262, 104, 263, 246, 105, 106, -109, -109, -109, 264, 563, -109, 664, 261, 265, 257, 258, 259, 266, 5, 6, 60, 1, 5, 23, -111, -111, -111, -111, -111, 6, 6, 60, 1, 5, 18, 5, -114, -114, -114, -114, 665, -114, 26, 6, 60, 1, 5, 19, 4, 53, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -118, -118, -118, -118, 126, -118, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 666, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 6, 6, 60, 1, 5, 18, 5, -124, -124, -124, -124, -124, -124, 22, 91, 12, 45, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 126, 667, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -136, -136, -136, -136, -136, -136, -136, -136, -136, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -137, -137, -137, -137, -137, -137, -137, -137, -137, 2, 57, 1, 668, 246, 2, 57, 1, 669, 246, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 670, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 671, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -134, -134, -134, -134, -134, -134, -134, -134, -134, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -135, -135, -135, -135, -135, -135, -135, -135, -135, 4, 59, 1, 2, 2, -60, -60, -60, -60, 2, 6, 61, 107, 672, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -396, -396, -396, -396, -396, -396, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -281, -281, -281, -281, -281, -281, -281, -281, -281, -281, -281, 673, -281, -281, -281, -281, -281, -281, -281, 124, 125, -281, -281, -281, 674, -281, -281, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, 675, -286, -286, -286, -286, -286, -286, -286, 124, 125, -286, -286, -286, -286, -286, -286, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -290, -290, -290, -290, -290, -290, -290, -290, -290, -290, -290, 676, -290, -290, -290, -290, -290, -290, -290, 124, 125, -290, -290, -290, -290, -290, -290, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, 677, -294, -294, -294, -294, -294, -294, -294, 124, 125, -294, -294, -294, -294, -294, -294, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 678, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 679, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -297, -297, -297, -297, -297, -297, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 67, 18, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -161, -161, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 1, 85, 680, 1, 85, 681, 22, 85, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -66, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 682, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 5, 4, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 319, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 240, 84, 85, 683, 66, 42, 43, 90, 91, 239, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 5, 4, 5, 2, 1, 1, 3, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 319, 238, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 318, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 240, 84, 85, 317, 66, 42, 43, 90, 91, 239, 684, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 5, 6, 60, 1, 5, 49, -195, -195, -195, -195, -195, 3, 6, 60, 1, 592, 593, 685, 1, 85, 686, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -169, -169, -169, -169, -169, -169, -169, -169, -169, 6, 6, 60, 1, 5, 49, 3, -176, -176, -176, -176, -176, -176, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 340, 687, -217, -217, -217, 2, 66, 56, 159, 602, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 7, 3, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 3, 7, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 3, 7, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 688, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 689, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 690, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 691, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 692, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 24, 66, 25, 5, 26, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 694, 693, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 24, 66, 25, 5, 26, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 696, 695, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 2, 66, 56, 159, 697, 1, 67, 698, 4, 6, 61, 78, 12, 699, -252, -252, -252, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 700, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 2, 6, 61, -313, -313, 2, 66, 56, 159, 701, 3, 54, 5, 1, 702, 105, 106, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 528, 703, -217, -217, -217, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, 1, 142, 704, 4, 55, 1, 124, 2, 394, 104, 705, 395, 6, 55, 1, 10, 113, 1, 2, 394, 104, 393, 706, 392, 395, 5, 6, 60, 1, 5, 23, -327, -327, -327, -327, -327, 3, 6, 60, 1, 636, 637, 707, 5, 6, 60, 1, 5, 23, -332, -332, -332, -332, -332, 5, 6, 60, 1, 5, 23, -334, -334, -334, -334, -334, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, 14, 1, 5, 59, 1, 1, 5, 31, 18, 17, 4, 6, 1, 10, 1, -338, -338, -338, -338, -338, -338, -338, -338, -338, 708, -338, -338, -338, -338, 4, 55, 1, 126, 5, 401, 104, 402, 709, 6, 55, 1, 10, 116, 3, 2, 401, 104, 400, 402, 710, 399, 5, 6, 60, 1, 5, 23, -352, -352, -352, -352, -352, 3, 6, 60, 1, 644, 645, 711, 5, 6, 60, 1, 5, 23, -357, -357, -357, -357, -357, 5, 6, 60, 1, 5, 23, -358, -358, -358, -358, -358, 5, 6, 60, 1, 5, 23, -360, -360, -360, -360, -360, 30, 1, 5, 59, 1, 1, 5, 19, 12, 18, 17, 10, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -344, -344, -344, -344, -344, -344, 126, -344, -344, -344, -344, 124, 125, -344, -344, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 712, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 9, 6, 60, 1, 5, 22, 1, 8, 9, 9, -217, -217, -217, 414, 415, -217, -217, 713, -217, 5, 6, 60, 1, 5, 31, -147, -147, -147, -147, -147, 5, 6, 60, 1, 5, 31, -148, -148, -148, -148, -148, 1, 85, 714, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, 14, 39, 16, 1, 23, 1, 1, 7, 4, 5, 5, 2, 25, 37, 2, 300, 151, 104, 153, 154, 152, 99, 715, 716, 83, 155, 194, 299, 193, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 717, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 5, 6, 60, 1, 5, 23, -112, -112, -112, -112, -112, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 431, 718, -217, -217, -217, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 719, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 558, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 720, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 6, 6, 60, 1, 5, 18, 5, -125, -125, -125, -125, -125, -125, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -138, -138, -138, -138, -138, -138, -138, -138, -138, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -139, -139, -139, -139, -139, -139, -139, -139, -139, 22, 85, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 721, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 722, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 65, 723, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 724, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 725, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 726, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 727, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 728, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, 729, -288, -288, -288, -288, -288, -288, -288, 124, 125, -288, -288, -288, -288, -288, -288, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, 730, -292, -292, -292, -292, -292, -292, -292, 124, 125, -292, -292, -292, -292, -292, -292, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 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, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, 1, 85, 731, 5, 6, 60, 1, 5, 49, -196, -196, -196, -196, -196, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 468, 732, -217, -217, -217, 5, 6, 60, 1, 5, 49, -197, -197, -197, -197, -197, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, 3, 6, 60, 1, 484, 485, 733, 24, 66, 25, 31, 26, 1, 9, 1, 1, 4, 28, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 734, 123, 124, 125, 96, 97, 735, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 24, 66, 25, 5, 26, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 737, 736, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 738, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 739, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 740, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 741, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 742, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 67, 743, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 3, 67, 78, 12, -253, -253, -253, 23, 66, 6, 19, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -204, -204, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, 3, 6, 60, 29, 636, 637, 744, 3, 54, 5, 1, 745, 105, 106, 5, 6, 60, 1, 5, 23, -328, -328, -328, -328, -328, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 528, 746, -217, -217, -217, 5, 6, 60, 1, 5, 23, -329, -329, -329, -329, -329, 3, 54, 5, 1, 747, 105, 106, 5, 6, 60, 1, 5, 23, -353, -353, -353, -353, -353, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 535, 748, -217, -217, -217, 5, 6, 60, 1, 5, 23, -354, -354, -354, -354, -354, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 2, 66, 1, 547, 749, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, 4, 93, 70, 2, 2, 750, 450, 452, 453, 11, 55, 1, 23, 1, 1, 7, 4, 10, 2, 25, 39, 151, 104, 153, 154, 152, 99, 751, 156, 155, 194, 193, 5, 6, 60, 1, 5, 23, -117, -117, -117, -117, -117, 3, 6, 60, 1, 560, 561, 752, 26, 6, 60, 1, 5, 19, 4, 53, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -116, -116, -116, -116, 126, -116, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 5, 6, 60, 1, 5, 23, -119, -119, -119, -119, -119, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -140, -140, -140, -140, -140, -140, -140, -140, -140, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 753, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 4, 59, 1, 2, 2, -61, -61, -61, -61, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, 124, 125, -282, -282, -282, 754, -282, -282, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -283, -283, -283, -283, -283, -283, -283, -283, -283, -283, -283, 755, -283, -283, -283, -283, -283, -283, -283, 124, 125, -283, -283, -283, -283, -283, -283, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 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, 124, 125, -287, -287, -287, -287, -287, -287, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -291, -291, 124, 125, -291, -291, -291, -291, -291, -291, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -295, -295, -295, -295, -295, -295, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 756, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 757, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, 3, 6, 60, 1, 592, 593, 758, 6, 6, 60, 1, 5, 49, 3, -177, -177, -177, -177, -177, -177, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 759, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 760, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 761, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 762, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 1, 142, 763, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, 3, 6, 60, 1, 636, 637, 764, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, 3, 6, 60, 1, 644, 645, 765, 5, 6, 60, 1, 5, 31, -149, -149, -149, -149, -149, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 766, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 93, 767, 5, 6, 60, 1, 5, 23, -113, -113, -113, -113, -113, 1, 85, 768, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 769, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 770, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, 124, 125, -289, -289, -289, -289, -289, -289, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -293, -293, -293, -293, -293, -293, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 5, 6, 60, 1, 5, 49, -198, -198, -198, -198, -198, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 771, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 772, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, 3, 54, 5, 1, 773, 105, 106, 5, 6, 60, 1, 5, 23, -330, -330, -330, -330, -330, 5, 6, 60, 1, 5, 23, -355, -355, -355, -355, -355, 43, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 1, 1, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -286, -286, -286, -286, -286, 776, -286, -286, -286, -286, 774, -286, 775, -286, -286, -286, -286, -286, -286, -286, 124, 125, -286, -286, -286, -286, -286, -286, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 777, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -141, -141, -141, -141, -141, -141, -141, -141, -141, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, 124, 125, -284, -284, -284, -284, -284, -284, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, 124, 125, -285, -285, -285, -285, -285, -285, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, 1, 95, 778, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 779, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 6, 6, 60, 1, 28, 8, 18, -218, -218, -218, -218, -218, -218, 43, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 1, 1, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -288, -288, -288, -288, -288, 776, -288, -288, -288, -288, 780, -288, 781, -288, -288, -288, -288, -288, -288, -288, 124, 125, -288, -288, -288, -288, -288, -288, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, 43, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 1, 1, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -287, -287, -287, -287, -287, 776, -287, -287, -287, -287, 782, -287, -287, -287, -287, -287, -287, -287, -287, -287, 124, 125, -287, -287, -287, -287, -287, -287, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 1, 95, 783, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 784, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 95, 785, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, 43, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 1, 1, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -289, -289, -289, -289, -289, 776, -289, -289, -289, -289, 786, -289, -289, -289, -289, -289, -289, -289, -289, -289, 124, 125, -289, -289, -289, -289, -289, -289, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, 1, 95, 787, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107], t = [], p = 0, n, o, k, a;
|
|
2679
|
+
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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 1, 1, 0, 2, 1, 5, -2, 107, 5, 1, 5, 59, 2, 71, -3, -3, -3, -3, -3, 30, 1, 5, 59, 1, 1, 5, 19, 12, 18, 17, 10, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -6, -6, -6, -6, -6, -6, 126, -6, -6, -6, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -7, -7, -7, -7, -7, -7, -7, -7, -7, 14, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 9, 1, 1, -8, -8, -8, -8, -8, -8, -8, -8, -8, 127, 128, 129, 96, 97, 52, 1, 5, 48, 5, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 3, 9, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -13, -13, 131, 105, 106, -13, -13, -13, -13, 134, 135, 136, -13, 137, -13, -13, -13, -13, -13, -13, -13, 132, -13, 138, -13, -13, 133, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 130, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 44, 1, 5, 59, 1, 1, 5, 10, 1, 1, 1, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -14, -14, -14, -14, -14, -14, 139, 140, 141, -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, -14, -14, -14, -14, -14, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 59, 1, 1, 5, 31, 18, 17, -33, -33, -33, -33, -33, -33, -33, -33, -33, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -34, -34, -34, -34, -34, -34, -34, -34, -34, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -35, -35, -35, -35, -35, -35, -35, -35, 142, 143, 144, 145, 146, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -37, -37, -37, -37, -37, -37, -37, -37, -37, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -40, -40, -40, -40, -40, -40, -40, -40, -40, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -43, -43, -43, -43, -43, -43, -43, -43, -43, 18, 6, 49, 1, 10, 1, 5, 7, 1, 1, 7, 14, 2, 1, 15, 1, 3, 4, 1, -173, 151, 104, -173, -173, -173, 153, 154, 152, 99, 156, 155, 150, 147, -173, -173, 148, 149, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 4, 1, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 158, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 159, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 157, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 160, 161, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 163, 164, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 165, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 171, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 172, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 173, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 174, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 45, 14, 1, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 9, 1, 1, 1, 7, 14, 2, 3, 2, 14, 2, 1, 1, 7, 1, 1, 1, 53, 176, 177, 178, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 175, 72, 73, 93, 99, 83, 87, 84, 85, 166, 167, 90, 91, 86, 88, 89, 82, 170, 45, 14, 1, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 9, 1, 1, 1, 7, 14, 2, 3, 2, 14, 2, 1, 1, 7, 1, 1, 1, 53, 176, 177, 178, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 179, 72, 73, 93, 99, 83, 87, 84, 85, 166, 167, 90, 91, 86, 88, 89, 82, 170, 58, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 1, 1, 1, 1, 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, 180, 181, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, 182, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 184, 183, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 185, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 7, 3, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, 186, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, 2, 66, 56, 159, 187, 2, 66, 56, 159, 188, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 14, 39, 16, 1, 23, 1, 1, 7, 4, 5, 5, 2, 25, 37, 2, 192, 151, 104, 153, 154, 152, 99, 189, 190, 83, 155, 194, 191, 193, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 195, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 196, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 88, 1, 5, 8, 1, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, 1, 1, 1, 1, 3, 6, 1, 1, 1, 4, 3, 2, 1, 2, 2, 1, 6, 1, 1, 1, 2, 2, 8, 4, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 10, 1, 10, 1, 3, 1, 1, 2, 3, 20, 2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -302, -302, 176, 177, 178, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -302, 159, -302, 102, 103, -302, 199, 72, 73, 93, -302, 99, -302, -302, -302, -302, -302, 83, -302, 87, -302, 84, 85, -302, -302, 197, 166, -302, 167, 90, 91, 86, 88, 89, 82, -302, -302, -302, -302, -302, -302, -302, -302, -302, 198, 170, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, 1, 66, 200, 2, 66, 56, 159, 201, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 202, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 203, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, 1, 1, 1, 1, 3, 5, 1, 1, 1, 1, 4, 3, 2, 1, 2, 2, 1, 6, 1, 1, 1, 2, 2, 8, 1, 3, 2, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -224, -224, 204, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -224, 205, -224, 102, 103, -224, 53, 52, 72, 73, 93, -224, 99, -224, -224, -224, -224, -224, 83, -224, 87, -224, 84, 85, -224, 66, -224, 166, -224, 167, 90, 91, 86, 88, 89, 82, -224, 69, 64, 65, 206, 54, 94, 55, 95, -224, -224, 56, 60, 57, -224, -224, 58, 98, -224, -224, -224, 49, -224, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, 2, 55, 1, 207, 104, 2, 55, 1, 208, 104, 6, 15, 19, 89, 2, 1, 1, 210, 209, 42, 43, 90, 91, 136, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, 1, 1, 1, 1, 3, 5, 1, 1, 1, 1, 4, 3, 2, 1, 2, 2, 1, 6, 1, 1, 1, 2, 2, 8, 1, 3, 2, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -221, -221, 211, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -221, 212, -221, 102, 103, -221, 53, 52, 72, 73, 93, -221, 99, -221, -221, -221, -221, -221, 83, -221, 87, -221, 84, 85, -221, 66, -221, 166, -221, 167, 90, 91, 86, 88, 89, 82, -221, 69, 64, 65, 54, 94, 55, 95, -221, -221, 56, 60, 57, -221, -221, 58, 98, -221, -221, -221, 49, -221, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, 9, 54, 1, 1, 3, 1, 28, 89, 1, 5, 213, 217, 104, 105, 106, 216, 214, 215, 218, 60, 14, 1, 3, 1, 1, 1, 6, 1, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 14, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 32, 2, 1, 10, 4, 4, 176, 177, 225, 226, 227, 228, 220, 221, 222, 223, 231, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 224, 104, 105, 106, 102, 103, 53, 232, 72, 73, 93, 219, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 61, 67, 62, 229, 230, 170, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -87, -87, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -88, -88, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -44, -44, -44, -44, -44, -44, -44, -44, -44, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -45, -45, -45, -45, -45, -45, -45, -45, -45, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -46, -46, -46, -46, -46, -46, -46, -46, -46, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -47, -47, -47, -47, -47, -47, -47, -47, -47, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -48, -48, -48, -48, -48, -48, -48, -48, -48, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, -51, -51, -51, -51, -51, -51, -51, -51, -51, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 233, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 234, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 235, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 241, 102, 103, 242, 53, 52, 72, 73, 93, 99, 59, 83, 236, 87, 246, 84, 85, 237, 238, 240, 243, 239, 66, 42, 43, 90, 91, 245, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 4, 82, 2, 24, 11, 248, 249, 247, 138, 2, 108, 11, 250, 138, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, 52, 1, 5, 51, 1, 1, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -206, -206, 251, 252, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, 1, 82, 253, 1, 82, 254, 54, 11, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 6, 2, 1, 8, 11, 3, 11, 2, 3, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 54, 11, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 6, 2, 1, 8, 11, 3, 11, 2, 3, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 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, -89, -89, -89, -89, -89, -89, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 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, -90, -90, -90, -90, -90, -90, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 255, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 256, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 257, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 258, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 4, 1, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 260, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 159, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 259, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 23, 6, 39, 8, 1, 1, 1, 1, 1, 1, 1, 6, 1, 5, 9, 8, 6, 3, 1, 1, 1, 1, 2, 1, -109, 266, 100, 101, 268, 104, 269, 252, 105, 106, -109, -109, -109, 270, 261, -109, 262, 267, 271, 263, 264, 265, 272, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -64, -64, -64, -64, -64, -64, -64, -64, -64, 45, 14, 1, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 9, 1, 1, 1, 7, 14, 2, 3, 2, 14, 2, 1, 1, 7, 1, 1, 1, 53, 176, 177, 178, 34, 35, 36, 273, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 232, 72, 73, 93, 99, 83, 87, 84, 85, 166, 167, 90, 91, 86, 88, 89, 82, 170, 61, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 4, 6, 1, 10, 1, 3, 1, 1, 2, 3, 11, 11, 1, 1, 1, 1, 1, 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, -54, -54, -54, -54, 53, 1, 5, 53, 1, 2, 2, 1, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 6, 54, 5, 1, 1, 2, 1, 277, 105, 106, 274, 275, 276, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, 2, 1, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, -5, 278, -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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -5, -5, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, -5, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 279, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 280, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 281, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 282, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 283, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 284, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 285, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 286, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 287, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 290, 162, 288, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 289, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 293, 162, 291, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 292, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 296, 162, 294, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 295, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 297, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 298, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 299, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 300, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 301, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 14, 39, 16, 1, 23, 1, 1, 7, 4, 5, 5, 2, 25, 37, 2, 305, 151, 104, 153, 154, 152, 99, 302, 303, 83, 155, 194, 304, 193, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 306, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 307, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 2, 108, 11, 308, 138, 2, 57, 1, 309, 252, 2, 57, 1, 310, 252, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 2, 6, 1, 1, 1, 1, 5, 2, 3, 11, 2, 1, 2, 2, 7, 1, 1, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 311, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 316, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 312, 102, 103, 314, 53, 52, 72, 73, 93, 313, 99, 59, 83, 87, 318, 84, 85, 315, 317, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 84, 319, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 5, 4, 3, 2, 2, 1, 1, 3, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 324, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 323, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 246, 84, 85, 322, 66, 320, 42, 43, 90, 91, 245, 321, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 2, 57, 1, 325, 252, 2, 57, 1, 326, 252, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 327, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 328, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 330, 329, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 331, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 333, 332, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 334, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 336, 335, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 337, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 339, 338, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 340, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 342, 341, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 343, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 9, 6, 60, 1, 5, 22, 1, 8, 18, 3, -217, -217, -217, 345, 346, -217, -217, -217, 344, 6, 6, 60, 1, 5, 49, 3, -174, -174, -174, -174, -174, -174, 7, 6, 60, 1, 5, 1, 48, 3, -178, -178, -178, -178, 347, -178, -178, 15, 6, 49, 1, 10, 1, 5, 7, 1, 1, 7, 14, 2, 17, 3, 5, -181, 151, 104, -181, -181, -181, 153, 154, 152, 99, 156, 155, -181, -181, 348, 11, 6, 60, 1, 5, 1, 20, 28, 3, 39, 2, 2, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, 11, 6, 60, 1, 5, 1, 20, 28, 3, 39, 2, 2, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, 11, 6, 60, 1, 5, 1, 20, 28, 3, 39, 2, 2, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, 11, 6, 60, 1, 5, 1, 20, 28, 3, 39, 2, 2, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, 2, 57, 1, 251, 252, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 324, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 241, 102, 103, 242, 53, 52, 72, 73, 93, 99, 59, 83, 236, 87, 246, 84, 85, 237, 238, 240, 243, 239, 66, 42, 43, 90, 91, 245, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -170, -170, -170, -170, -170, -170, -170, -170, -170, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 7, 1, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 350, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 349, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, 118, -368, 120, -368, -368, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -365, -365, -365, -365, -365, -365, -365, -365, -365, 5, 148, 1, 9, 1, 1, 127, 128, 129, 96, 97, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, 118, -369, 120, -369, -369, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -366, -366, -366, -366, -366, -366, -366, -366, -366, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -370, -370, -370, -370, -370, -370, -370, -370, -370, 111, -370, -370, -370, -370, -370, -370, 118, -370, 120, -370, -370, 18, 6, 49, 1, 10, 1, 5, 7, 1, 1, 7, 14, 2, 1, 15, 1, 3, 4, 1, -173, 151, 104, -173, -173, -173, 153, 154, 152, 99, 156, 155, 150, 351, -173, -173, 148, 149, 2, 66, 56, 159, 157, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 160, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 163, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 5, 15, 108, 2, 1, 1, 210, 166, 167, 90, 91, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -371, -371, -371, -371, -371, -371, -371, -371, -371, 111, -371, -371, -371, -371, -371, -371, 118, -371, 120, -371, -371, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -372, -372, -372, -372, -372, -372, -372, -372, -372, 111, -372, -372, -372, -372, -372, -372, 118, -372, 120, -372, -372, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, 118, -374, 120, -374, -374, 2, 80, 8, 352, 99, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -376, -376, -86, -86, -376, -376, -376, -376, -86, -86, -86, -86, -86, -86, -86, -86, -376, -86, -376, -376, -376, -376, -376, -376, -376, -376, -86, -376, -376, -86, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -86, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, 10, 54, 5, 1, 22, 1, 1, 3, 21, 11, 12, 131, 105, 106, 134, 135, 136, 137, 132, 138, 133, 3, 82, 1, 1, 139, 140, 141, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -377, -377, -86, -86, -377, -377, -377, -377, -86, -86, -86, -86, -86, -86, -86, -86, -377, -86, -377, -377, -377, -377, -377, -377, -377, -377, -86, -377, -377, -86, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -86, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 355, 353, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 354, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -83, -83, -83, -83, -83, -83, -83, -83, 126, -83, -83, -83, -83, -83, -83, -83, -83, -83, 123, 124, 125, 96, 97, -83, -83, -83, -83, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 356, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 357, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 66, 56, 22, 159, 358, 359, 44, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 2, 1, 1, 6, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, 360, 361, 362, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 4, 93, 70, 2, 2, 364, 363, 365, 366, 11, 55, 1, 23, 1, 1, 7, 4, 10, 2, 25, 39, 151, 104, 153, 154, 152, 99, 367, 156, 155, 194, 193, 11, 55, 1, 23, 1, 1, 7, 4, 10, 2, 25, 39, 151, 104, 153, 154, 152, 99, 368, 156, 155, 194, 193, 3, 66, 56, 42, 159, 369, 370, 5, 72, 21, 70, 2, 2, 371, -300, -300, -300, -300, 6, 72, 1, 20, 70, 2, 2, -298, 372, -298, -298, -298, -298, 22, 66, 25, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 373, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 3, 155, 1, 1, 374, 375, 376, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 377, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 57, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 1, 2, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -306, -306, -86, -86, -306, 159, -306, -306, -86, -86, -86, -86, -86, -86, -86, -86, -306, -86, -306, -306, -306, -306, -306, -306, -306, -306, -86, -306, 378, -306, -86, -306, -306, -306, -306, -306, -306, -306, -306, -306, 379, -306, -306, -86, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, 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, 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, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 1, 1, 1, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 382, 383, 384, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 380, 381, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, 124, 125, -222, -222, -222, -222, -222, -222, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 80, 8, 385, 99, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, 124, 125, -225, -225, -225, -225, -225, -225, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 80, 8, 386, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 387, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 66, 53, 3, 159, 388, 389, 2, 66, 56, 159, 390, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -367, -367, -367, -367, -367, -367, -367, -367, -367, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, -404, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, 124, 125, -219, -219, -219, -219, -219, -219, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 80, 8, 391, 99, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, 2, 72, 70, 393, 392, 1, 142, 394, 7, 55, 1, 10, 29, 84, 1, 2, 399, 104, 398, 395, 396, 397, 400, 2, 72, 70, -335, -335, 1, 181, 401, 26, 6, 39, 8, 1, 1, 1, 1, 1, 1, 1, 6, 1, 5, 9, 8, 6, 3, 1, 1, 1, 1, 2, 1, 77, 3, 2, -109, 266, 100, 101, 406, 104, 269, 252, 105, 106, 405, -109, -109, 270, 261, 402, 262, 267, 271, 263, 264, 265, 272, 407, 403, 404, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -89, -89, -89, -89, -89, -89, -89, -89, 408, -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, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 409, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 410, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 142, 411, 54, 1, 5, 53, 1, 5, 1, 1, 5, 2, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -35, -35, -35, -35, -35, -35, -35, -35, 143, 144, 145, 146, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -86, -86, 2, 6, 132, 107, 412, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 413, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 30, 6, 60, 1, 5, 19, 12, 2, 11, 1, 4, 27, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -199, -199, -199, -199, 126, -199, 318, 414, 317, -199, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 1, 1, 1, 2, 2, 5, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 324, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 242, 53, 52, 72, 73, 93, 99, 59, 83, 415, 87, 246, 84, 85, 417, 416, 66, 42, 43, 90, 91, 245, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 9, 6, 60, 1, 5, 22, 1, 8, 9, 9, -217, -217, -217, 419, 420, -217, -217, 418, -217, 59, 6, 5, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 6, 1, 1, 1, 3, 5, 11, 3, 11, 1, 1, 1, 2, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 421, -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, 5, 6, 60, 1, 5, 31, -145, -145, -145, -145, -145, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 1, 1, 2, 1, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 324, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 241, 102, 103, 242, 53, 52, 72, 73, 93, 99, 59, 83, 87, 246, 84, 85, 423, 422, 240, 243, 239, 66, 42, 43, 90, 91, 245, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 59, 6, 5, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 6, 1, 1, 1, 3, 5, 11, 3, 11, 1, 1, 1, 2, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 5, 6, 60, 1, 5, 31, -150, -150, -150, -150, -150, 6, 6, 60, 1, 5, 31, 18, -200, -200, -200, -200, -200, -200, 6, 6, 60, 1, 5, 31, 18, -201, -201, -201, -201, -201, -201, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 1, 1, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 1, 1, 3, 2, 9, 3, 2, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, -202, 424, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -202, -202, 102, 103, -202, 53, 52, 72, 73, 93, 99, 59, 83, -202, 87, 84, 85, 66, -202, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 2, 57, 1, 425, 252, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 426, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 427, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 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, 2, 57, 1, 428, 252, 2, 57, 1, 429, 252, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 430, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 431, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -254, -254, -254, -254, -254, -254, -254, -254, 126, -254, -254, 432, -254, -254, -254, -254, -254, -254, -254, 124, 125, 96, 97, -254, -254, -254, -254, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -256, -256, -256, -256, -256, -256, -256, -256, 126, -256, -256, 433, -256, -256, -256, -256, -256, -256, -256, 124, 125, 96, 97, -256, -256, -256, -256, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -263, -263, -263, -263, -263, -263, -263, -263, 126, -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, 124, 125, 96, 97, -263, -263, -263, -263, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 6, 6, 60, 1, 5, 18, 5, -114, -114, -114, -114, 434, -114, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 436, 435, -217, -217, -217, 7, 6, 60, 1, 5, 1, 17, 5, -123, -123, -123, -123, 437, -123, -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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 438, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 57, 1, 44, 251, 252, 439, 6, 6, 60, 1, 5, 18, 5, -126, -126, -126, -126, -126, -126, 5, 6, 60, 1, 5, 23, -110, -110, -110, -110, -110, 11, 6, 60, 1, 5, 1, 9, 1, 1, 6, 5, 24, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, 11, 6, 60, 1, 5, 1, 9, 1, 1, 6, 5, 24, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, 11, 6, 60, 1, 5, 1, 9, 1, 1, 6, 5, 24, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, 5, 6, 60, 1, 5, 23, -115, -115, -115, -115, -115, 17, 38, 4, 1, 12, 1, 1, 1, 22, 1, 7, 13, 3, 2, 1, 2, 25, 3, 443, 445, 444, 268, 104, 269, 252, 442, 270, 99, 440, 87, 441, 446, 447, 86, 82, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -39, -39, -39, -39, -39, -39, -39, 448, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, 6, 54, 5, 1, 2, 1, 1, 277, 105, 106, 449, 450, 276, 4, 59, 1, 2, 2, -58, -58, -58, -58, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, 1, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 451, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 453, 452, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 4, 59, 1, 2, 2, -63, -63, -63, -63, 5, 1, 5, 59, 2, 71, -4, -4, -4, -4, -4, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -380, 124, 125, -380, -380, -380, -380, -380, -380, -380, -380, 110, 111, -380, -380, -380, -380, -380, -380, 118, -380, 120, -380, -380, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -381, 124, 125, -381, -381, -381, -381, -381, -381, -381, -381, 110, 111, -381, -381, -381, -381, -381, -381, 118, -381, 120, -381, -381, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -382, 124, 125, -382, -382, -382, -382, -382, -382, -382, -382, -382, 111, -382, -382, -382, -382, -382, -382, 118, -382, 120, -382, -382, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -383, 124, 125, -383, -383, -383, -383, -383, -383, -383, -383, -383, 111, -383, -383, -383, -383, -383, -383, 118, -383, 120, -383, -383, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -384, 124, 125, -384, -384, -384, -384, -384, -384, 109, 108, 110, 111, -384, -384, -384, -384, -384, -384, 118, -384, 120, -384, -384, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -385, 124, 125, -385, -385, -385, -385, -385, -385, 109, 108, 110, 111, 112, -385, -385, -385, -385, -385, 118, -385, 120, 121, -385, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -386, 124, 125, -386, -386, -386, -386, -386, -386, 109, 108, 110, 111, 112, 113, -386, -386, -386, -386, 118, -386, 120, 121, -386, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -387, -387, -387, -387, -387, -387, 109, 108, 110, 111, 112, 113, 114, -387, -387, -387, 118, -387, 120, 121, -387, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -388, 124, 125, -388, -388, -388, -388, -388, -388, 109, 108, 110, 111, 112, 113, 114, 115, -388, -388, 118, -388, 120, 121, -388, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -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, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -396, -396, -396, -396, -396, -396, 109, 108, 110, 111, 112, 113, 114, 115, 116, -396, 118, 119, 120, 121, -396, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -397, -397, -397, -397, -397, -397, -397, -397, 126, -397, -397, -397, -397, -397, -397, -397, -397, -397, 123, 124, 125, 96, 97, -397, -397, -397, -397, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, -394, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -395, 124, 125, -395, -395, -395, -395, -395, -395, 109, 108, 110, 111, 112, 113, 114, 115, 116, -395, 118, -395, 120, 121, -395, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -398, -398, -398, -398, -398, -398, -398, -398, 126, -398, -398, -398, -398, -398, -398, -398, -398, -398, 123, 124, 125, 96, 97, -398, -398, -398, -398, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, 124, 125, -399, -399, -399, -399, -399, -399, 109, 108, 110, 111, 112, -399, -399, -399, -399, -399, 118, -399, 120, -399, -399, 22, 90, 1, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 454, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -236, -236, -236, -236, -236, -236, -236, -236, 126, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, 124, 125, 96, 97, -236, -236, -236, -236, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -238, -238, -238, -238, -238, -238, -238, -238, 126, -238, -238, -238, -238, -238, -238, -238, -238, -238, 123, 124, 125, 96, 97, -238, -238, -238, -238, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 4, 93, 70, 2, 2, 456, 455, 457, 458, 11, 55, 1, 23, 1, 1, 7, 4, 10, 2, 25, 39, 151, 104, 153, 154, 152, 99, 459, 156, 155, 194, 193, 11, 55, 1, 23, 1, 1, 7, 4, 10, 2, 25, 39, 151, 104, 153, 154, 152, 99, 460, 156, 155, 194, 193, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 461, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -235, -235, -235, -235, -235, -235, -235, -235, 126, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, 124, 125, 96, 97, -235, -235, -235, -235, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -237, -237, -237, -237, -237, -237, -237, -237, 126, -237, -237, -237, -237, -237, -237, -237, -237, -237, 123, 124, 125, 96, 97, -237, -237, -237, -237, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 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, -91, -91, -91, -91, -91, -91, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, 25, 85, 6, 14, 11, 1, 31, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 462, 126, 318, 463, 317, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 5, 2, 3, 11, 2, 1, 2, 2, 7, 1, 1, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 464, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 465, 99, 59, 83, 87, 318, 84, 85, 315, 317, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 85, 466, 1, 85, 467, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 7, 1, 1, 8, 1, 1, 1, 1, 4, 3, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 468, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -164, 102, 103, 53, 52, 72, 73, 93, -164, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -46, -46, -46, -46, -46, -46, -46, 469, -46, -46, -46, -67, -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, 55, 11, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 7, 1, 1, 8, 8, 3, 3, 11, 2, 3, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 55, 11, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 7, 1, 1, 8, 8, 3, 3, 11, 2, 3, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 470, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 471, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 473, 472, -217, -217, -217, 5, 6, 60, 1, 5, 49, -194, -194, -194, -194, -194, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 5, 4, 5, 2, 1, 1, 3, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 324, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 323, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 246, 84, 85, 322, 66, 42, 43, 90, 91, 245, 474, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 27, 6, 60, 1, 5, 19, 12, 18, 27, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -199, -199, -199, -199, 126, -199, -199, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, 22, 85, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 475, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 476, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -68, -68, -68, -68, -68, -68, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 477, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 478, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -71, -71, -71, -71, -71, -71, -71, -71, 126, -71, -71, -71, -71, -71, -71, -71, -71, -71, 123, 124, 125, 96, 97, -71, -71, -71, -71, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 479, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 480, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -74, -74, -74, -74, -74, -74, -74, -74, 126, -74, -74, -74, -74, -74, -74, -74, -74, -74, 123, 124, 125, 96, 97, -74, -74, -74, -74, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 481, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 482, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -77, -77, -77, -77, -77, -77, -77, -77, 126, -77, -77, -77, -77, -77, -77, -77, -77, -77, 123, 124, 125, 96, 97, -77, -77, -77, -77, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 483, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 484, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -80, -80, -80, -80, -80, -80, -80, -80, 126, -80, -80, -80, -80, -80, -80, -80, -80, -80, 123, 124, 125, 96, 97, -80, -80, -80, -80, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 485, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 486, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 125, 1, 1, 487, 90, 91, 17, 6, 49, 1, 10, 1, 12, 1, 1, 7, 7, 7, 1, 1, 1, 16, 7, 1, -218, 151, 104, -218, -218, 153, 154, 152, 99, -218, 156, -218, 155, 150, -218, 488, 149, 2, 6, 60, 489, 490, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 491, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 6, 6, 60, 1, 5, 49, 3, -180, -180, -180, -180, -180, -180, 54, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 7, 3, 1, 3, 1, 4, 2, 1, 3, 1, 1, 2, 25, 1, 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, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, 2, 6, 61, 107, 492, 9, 6, 60, 1, 5, 22, 1, 8, 18, 3, -217, -217, -217, 345, 346, -217, -217, -217, 493, 1, 67, 494, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, -401, 124, 125, -401, -401, -401, -401, -401, -401, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 495, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 496, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -84, -84, -84, -84, -84, -84, -84, -84, 126, -84, -84, -84, -84, -84, -84, -84, -84, -84, 123, 124, 125, 96, 97, -84, -84, -84, -84, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 497, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 498, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 3, 7, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, 499, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, 2, 66, 56, 159, 500, 6, 55, 1, 10, 14, 8, 34, 501, 104, 159, 502, 99, 503, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 504, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 505, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 506, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 507, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 93, 508, 1, 165, 509, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 510, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 10, 55, 1, 23, 1, 1, 7, 14, 2, 25, 39, 151, 104, 153, 154, 152, 99, 156, 155, 194, 511, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 512, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 155, 1, 1, 513, 375, 376, 4, 67, 78, 11, 1, 514, 515, 516, 376, 3, 67, 78, 12, -250, -250, -250, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 6, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 518, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 517, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 43, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 1, 2, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -304, -304, -304, 159, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 519, -304, -304, -304, 124, 125, -304, -304, -304, -304, -304, -304, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 520, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 2, 6, 61, 522, 521, 2, 6, 61, -312, -312, 23, 6, 61, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -315, -315, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 6, 61, -316, -316, 7, 6, 61, 81, 1, 9, 1, 1, -317, -317, 127, 128, 129, 96, 97, 1, 67, 523, 1, 67, 524, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, 124, 125, -227, -227, -227, -227, -227, -227, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 18, 6, 49, 1, 10, 1, 5, 7, 1, 1, 7, 14, 2, 1, 15, 1, 3, 4, 1, -173, 151, 104, -173, -173, -173, 153, 154, 152, 99, 156, 155, 150, 525, -173, -173, 148, 149, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 1, 67, 526, 3, 54, 5, 1, 527, 105, 106, 3, 88, 90, 5, 529, 528, 218, 3, 54, 5, 1, 530, 105, 106, 1, 142, 531, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 533, 532, -217, -217, -217, 5, 6, 60, 1, 5, 23, -326, -326, -326, -326, -326, 6, 55, 1, 10, 113, 1, 2, 399, 104, 398, 534, 397, 400, 6, 6, 60, 1, 5, 23, 86, -331, -331, -331, -331, -331, 535, 6, 6, 60, 1, 5, 23, 86, -333, -333, -333, -333, -333, 536, 2, 55, 1, 537, 104, 14, 1, 5, 59, 1, 1, 5, 31, 18, 17, 4, 6, 1, 10, 1, -337, -337, -337, -337, -337, -337, -337, -337, -337, 538, -337, -337, -337, -337, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 540, 539, -217, -217, -217, 5, 6, 60, 1, 5, 23, -355, -355, -355, -355, -355, 6, 55, 1, 10, 116, 3, 2, 542, 104, 405, 407, 541, 404, 12, 6, 60, 1, 5, 1, 9, 1, 1, 6, 5, 24, 62, -360, -360, -360, -360, -120, -120, -120, -120, -120, -360, -120, 543, 6, 6, 60, 1, 5, 23, 86, -363, -363, -363, -363, -363, 544, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 546, 545, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 547, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 30, 1, 5, 59, 1, 1, 5, 19, 12, 18, 17, 10, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -350, -350, -350, -350, -350, -350, 126, -350, -350, -350, -350, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 80, 8, 548, 99, 3, 54, 5, 1, 549, 105, 106, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -215, -215, -215, -215, -215, -215, -215, -215, -215, 2, 6, 61, 107, 550, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 551, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 59, 6, 5, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 6, 1, 1, 1, 3, 5, 11, 3, 11, 1, 1, 1, 2, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 421, -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, 5, 6, 60, 1, 5, 31, -151, -151, -151, -151, -151, 2, 66, 37, 553, 552, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 1, 1, 1, 3, 5, 1, 1, 1, 1, 7, 3, 4, 7, 1, 1, 1, 2, 2, 1, 3, 1, 1, 3, 3, 2, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, -218, 324, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -218, -218, 102, 103, 242, 53, 52, 72, 73, 93, 99, 59, -218, 83, -218, 87, 246, 84, 85, 555, 554, 243, 239, 66, -218, 42, 43, 90, 91, 245, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 4, 6, 60, 1, 36, 556, -152, -152, -152, 59, 6, 5, 35, 2, 1, 1, 1, 1, 1, 3, 3, 1, 6, 1, 1, 1, 3, 5, 11, 3, 11, 1, 1, 1, 2, 2, 9, 5, 3, 1, 7, 1, 1, 1, 2, 1, 1, 3, 3, 3, 4, 5, 1, 2, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 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, 9, 6, 60, 1, 5, 22, 1, 8, 9, 9, -217, -217, -217, 419, 420, -217, -217, 557, -217, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 5, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 324, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 242, 53, 52, 72, 73, 93, 99, 59, 83, 87, 246, 84, 85, 417, 416, 66, 42, 43, 90, 91, 245, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 27, 6, 60, 1, 5, 19, 12, 18, 27, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -186, -186, -186, -186, 126, -186, -186, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, 22, 85, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 558, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 559, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, -211, -211, -211, -211, -211, -211, -211, -211, -211, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 7, 3, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 7, 3, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, 560, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 561, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 562, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 563, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 564, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 6, 60, 29, 566, 567, 565, 23, 6, 39, 8, 1, 1, 1, 1, 1, 1, 1, 6, 1, 14, 8, 6, 4, 1, 1, 1, 1, 1, 1, 16, -218, 266, 100, 101, 268, 104, 269, 252, 105, 106, -218, -218, 270, 569, -218, 568, 271, 263, 264, -218, 265, 272, -218, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 570, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 571, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 22, 91, 12, 45, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 126, 572, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 573, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 10, 6, 60, 1, 5, 10, 1, 1, 11, 13, 11, -127, -127, -127, -127, -129, -129, -129, -127, 574, 138, 10, 6, 60, 1, 5, 10, 1, 1, 11, 13, 11, -128, -128, -128, -128, 576, 577, 578, -128, 575, 138, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -130, -130, -130, -130, -130, -130, -130, -130, -130, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -131, -131, -131, -131, -131, -131, -131, -131, -131, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -132, -132, -132, -132, -132, -132, -132, -132, -132, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -133, -133, -133, -133, -133, -133, -133, -133, -133, 4, 82, 2, 24, 11, 248, 249, 579, 138, 2, 108, 11, 580, 138, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, 53, 1, 5, 53, 1, 2, 2, 1, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 4, 59, 1, 2, 2, -59, -59, -59, -59, 2, 6, 59, 107, 581, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 582, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 4, 59, 1, 2, 2, -62, -62, -62, -62, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 583, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 584, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 585, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 586, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 587, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 93, 588, 1, 165, 589, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 590, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 7, 1, 1, 8, 1, 1, 1, 1, 4, 3, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 591, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -162, 102, 103, 53, 52, 72, 73, 93, -162, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 25, 67, 24, 14, 11, 1, 31, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 592, 126, 318, 463, 317, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 1, 67, 593, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, 23, 67, 18, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -163, -163, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 594, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 22, 85, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 595, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 596, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 3, 6, 60, 55, 598, 599, 597, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 1, 1, 1, 8, 1, 1, 1, 1, 7, 3, 4, 7, 1, 1, 1, 2, 2, 5, 4, 3, 2, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, -218, 324, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -218, -218, 102, 103, 53, 52, 72, 73, 93, 99, 59, -218, 83, -218, 87, 246, 84, 85, 600, 66, -218, 42, 43, 90, 91, 245, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 473, 601, -217, -217, -217, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 602, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -69, -69, -69, -69, -69, -69, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 603, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -72, -72, -72, -72, -72, -72, -72, -72, 126, -72, -72, -72, -72, -72, -72, -72, -72, -72, 123, 124, 125, 96, 97, -72, -72, -72, -72, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 604, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -75, -75, -75, -75, -75, -75, -75, -75, 126, -75, -75, -75, -75, -75, -75, -75, -75, -75, 123, 124, 125, 96, 97, -75, -75, -75, -75, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 605, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -78, -78, -78, -78, -78, -78, -78, -78, 126, -78, -78, -78, -78, -78, -78, -78, -78, -78, 123, 124, 125, 96, 97, -78, -78, -78, -78, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 606, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -81, -81, -81, -81, -81, -81, -81, -81, 126, -81, -81, -81, -81, -81, -81, -81, -81, -81, 123, 124, 125, 96, 97, -81, -81, -81, -81, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 607, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 4, 1, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 609, 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, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 159, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 608, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 6, 6, 60, 1, 5, 49, 3, -175, -175, -175, -175, -175, -175, 11, 55, 1, 23, 1, 1, 7, 14, 2, 1, 23, 1, 151, 104, 153, 154, 152, 99, 156, 155, 150, 610, 149, 18, 6, 49, 1, 10, 1, 5, 7, 1, 1, 7, 14, 2, 1, 15, 1, 3, 4, 1, -173, 151, 104, -173, -173, -173, 153, 154, 152, 99, 156, 155, 150, 611, -173, -173, 148, 149, 27, 6, 60, 1, 5, 19, 30, 3, 24, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -179, -179, -179, -179, 126, -179, -179, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 54, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 7, 3, 1, 3, 1, 4, 2, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, 3, 125, 1, 1, 612, 90, 91, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 613, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, 124, 125, -403, -403, -403, -403, -403, -403, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 614, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 66, 56, 159, 615, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, 2, 66, 56, 159, 616, 2, 66, 56, 159, 617, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 3, 7, 1, 3, 1, 1, 2, 25, 1, 4, 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, 25, 66, 25, 5, 26, 26, 1, 9, 1, 1, 4, 28, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 619, 618, 123, 124, 125, 96, 97, 620, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 24, 66, 25, 5, 26, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 622, 621, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 24, 66, 25, 5, 26, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 624, 623, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 24, 66, 25, 5, 26, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 626, 625, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 627, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 628, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 629, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 4, 93, 70, 2, 2, -301, -301, -301, -301, 26, 72, 19, 2, 55, 1, 9, 1, 1, 3, 2, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -299, 126, -299, 123, 124, 125, 96, 97, -299, -299, -299, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 4, 67, 78, 11, 1, 630, 631, 516, 376, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 2, 66, 56, 159, 632, 3, 67, 78, 12, -251, -251, -251, 3, 66, 6, 50, 159, 634, 633, 23, 66, 6, 19, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -203, -203, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 43, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 1, 2, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -308, -308, -308, 159, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, 635, -308, -308, -308, 124, 125, -308, -308, -308, -308, -308, -308, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, 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, 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, 1, 7, 1, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 2, 1, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, -314, 382, 383, 384, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -314, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 42, 43, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 636, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 345, 346, -217, -217, 637, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, 1, 142, 638, 6, 55, 1, 10, 113, 1, 2, 399, 104, 398, 639, 397, 400, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, 3, 54, 5, 1, 640, 105, 106, 3, 6, 60, 29, 642, 643, 641, 10, 6, 49, 1, 10, 1, 28, 8, 18, 59, 2, -218, 399, 104, -218, -218, -218, -218, -218, 644, 400, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 533, 645, -217, -217, -217, 2, 55, 1, 646, 104, 2, 55, 1, 647, 104, 1, 142, -336, 3, 54, 5, 1, 648, 105, 106, 3, 6, 60, 29, 650, 651, 649, 10, 6, 49, 1, 10, 1, 28, 8, 18, 61, 5, -218, 542, 104, -218, -218, -218, -218, -218, 407, 652, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 540, 653, -217, -217, -217, 6, 6, 60, 1, 5, 23, 86, -360, -360, -360, -360, -360, 543, 3, 55, 1, 126, 654, 104, 655, 2, 55, 1, 656, 104, 30, 1, 5, 59, 1, 1, 5, 19, 12, 18, 17, 10, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -343, -343, -343, -343, -343, -343, 126, -343, -343, -343, -343, 124, 125, -343, -343, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 657, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 658, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 67, 659, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -352, -352, -352, -352, -352, -352, -352, -352, -352, -352, -352, -352, -352, 1, 138, 660, 22, 91, 12, 45, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 126, 661, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 1, 1, 2, 1, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 324, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 241, 102, 103, 242, 53, 52, 72, 73, 93, 99, 59, 83, 87, 246, 84, 85, 423, 662, 240, 243, 239, 66, 42, 43, 90, 91, 245, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 5, 6, 60, 1, 5, 31, -146, -146, -146, -146, -146, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 1, 1, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 1, 1, 1, 2, 2, 5, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 324, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, -153, -153, 102, 103, 242, 53, 52, 72, 73, 93, 99, 59, 83, -153, 87, 246, 84, 85, 417, 416, 66, 42, 43, 90, 91, 245, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 3, 5, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 1, 3, 1, 1, 3, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 324, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 242, 53, 52, 72, 73, 93, 99, 59, 83, 87, 246, 84, 85, 423, 663, 243, 239, 66, 42, 43, 90, 91, 245, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 2, 66, 1, 553, 664, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 665, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 2, 66, 56, 159, 666, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, 124, 125, -255, -255, -255, -255, -255, -255, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -257, -257, -257, -257, -257, -257, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 26, 6, 60, 1, 5, 19, 4, 53, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -116, -116, -116, -116, 667, -116, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 668, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, 17, 45, 8, 1, 1, 1, 1, 1, 1, 1, 21, 8, 10, 1, 1, 1, 2, 1, 266, 100, 101, 268, 104, 269, 252, 105, 106, 270, 569, 669, 271, 263, 264, 265, 272, 23, 6, 39, 8, 1, 1, 1, 1, 1, 1, 1, 6, 1, 5, 9, 8, 6, 3, 1, 1, 1, 1, 2, 1, -109, 266, 100, 101, 268, 104, 269, 252, 105, 106, -109, -109, -109, 270, 569, -109, 670, 267, 271, 263, 264, 265, 272, 5, 6, 60, 1, 5, 23, -111, -111, -111, -111, -111, 6, 6, 60, 1, 5, 18, 5, -114, -114, -114, -114, 671, -114, 26, 6, 60, 1, 5, 19, 4, 53, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -118, -118, -118, -118, 126, -118, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 672, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 6, 6, 60, 1, 5, 18, 5, -124, -124, -124, -124, -124, -124, 22, 91, 12, 45, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 126, 673, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -136, -136, -136, -136, -136, -136, -136, -136, -136, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -137, -137, -137, -137, -137, -137, -137, -137, -137, 2, 57, 1, 674, 252, 2, 57, 1, 675, 252, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 676, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 677, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -134, -134, -134, -134, -134, -134, -134, -134, -134, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -135, -135, -135, -135, -135, -135, -135, -135, -135, 4, 59, 1, 2, 2, -60, -60, -60, -60, 2, 6, 61, 107, 678, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, -400, 124, 125, -400, -400, -400, -400, -400, -400, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -281, -281, -281, -281, -281, -281, -281, -281, -281, -281, -281, 679, -281, -281, -281, -281, -281, -281, -281, 124, 125, -281, -281, -281, 680, -281, -281, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, 681, -286, -286, -286, -286, -286, -286, -286, 124, 125, -286, -286, -286, -286, -286, -286, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -290, -290, -290, -290, -290, -290, -290, -290, -290, -290, -290, 682, -290, -290, -290, -290, -290, -290, -290, 124, 125, -290, -290, -290, -290, -290, -290, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, 683, -294, -294, -294, -294, -294, -294, -294, 124, 125, -294, -294, -294, -294, -294, -294, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 684, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 685, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -297, -297, -297, -297, -297, -297, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 67, 18, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -161, -161, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 1, 85, 686, 1, 85, 687, 22, 85, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -66, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 688, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 51, 1, 5, 53, 1, 5, 1, 1, 3, 2, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 5, 4, 5, 2, 1, 1, 3, 4, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 324, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 246, 84, 85, 689, 66, 42, 43, 90, 91, 245, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 1, 2, 2, 5, 4, 5, 2, 1, 1, 3, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 324, 244, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 323, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 246, 84, 85, 322, 66, 42, 43, 90, 91, 245, 690, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 44, 45, 68, 46, 47, 48, 50, 51, 5, 6, 60, 1, 5, 49, -195, -195, -195, -195, -195, 3, 6, 60, 1, 598, 599, 691, 1, 85, 692, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 9, 1, 5, 59, 1, 1, 5, 31, 18, 17, -169, -169, -169, -169, -169, -169, -169, -169, -169, 6, 6, 60, 1, 5, 49, 3, -176, -176, -176, -176, -176, -176, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 345, 693, -217, -217, -217, 2, 66, 56, 159, 608, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, -402, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 7, 3, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 3, 7, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 3, 7, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 694, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 695, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 696, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 697, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 698, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 24, 66, 25, 5, 26, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 700, 699, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 24, 66, 25, 5, 26, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 702, 701, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 2, 66, 56, 159, 703, 1, 67, 704, 4, 6, 61, 78, 12, 705, -252, -252, -252, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 706, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 2, 6, 61, -313, -313, 2, 66, 56, 159, 707, 3, 54, 5, 1, 708, 105, 106, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 533, 709, -217, -217, -217, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, 1, 142, 710, 4, 55, 1, 124, 2, 399, 104, 711, 400, 6, 55, 1, 10, 113, 1, 2, 399, 104, 398, 712, 397, 400, 5, 6, 60, 1, 5, 23, -327, -327, -327, -327, -327, 3, 6, 60, 1, 642, 643, 713, 5, 6, 60, 1, 5, 23, -332, -332, -332, -332, -332, 5, 6, 60, 1, 5, 23, -334, -334, -334, -334, -334, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, 14, 1, 5, 59, 1, 1, 5, 31, 18, 17, 4, 6, 1, 10, 1, -338, -338, -338, -338, -338, -338, -338, -338, -338, 714, -338, -338, -338, -338, 4, 55, 1, 126, 5, 542, 104, 407, 715, 6, 55, 1, 10, 116, 3, 2, 542, 104, 405, 407, 716, 404, 5, 6, 60, 1, 5, 23, -356, -356, -356, -356, -356, 3, 6, 60, 1, 650, 651, 717, 5, 6, 60, 1, 5, 23, -361, -361, -361, -361, -361, 5, 6, 60, 1, 5, 23, -362, -362, -362, -362, -362, 5, 6, 60, 1, 5, 23, -364, -364, -364, -364, -364, 30, 1, 5, 59, 1, 1, 5, 19, 12, 18, 17, 10, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -344, -344, -344, -344, -344, -344, 126, -344, -344, -344, -344, 124, 125, -344, -344, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 718, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -351, -351, -351, -351, -351, -351, -351, -351, -351, -351, -351, -351, -351, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 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, 9, 6, 60, 1, 5, 22, 1, 8, 9, 9, -217, -217, -217, 419, 420, -217, -217, 719, -217, 5, 6, 60, 1, 5, 31, -147, -147, -147, -147, -147, 5, 6, 60, 1, 5, 31, -148, -148, -148, -148, -148, 1, 85, 720, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, 14, 39, 16, 1, 23, 1, 1, 7, 4, 5, 5, 2, 25, 37, 2, 305, 151, 104, 153, 154, 152, 99, 721, 722, 83, 155, 194, 304, 193, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 723, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 5, 6, 60, 1, 5, 23, -112, -112, -112, -112, -112, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 436, 724, -217, -217, -217, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 2, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 725, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 564, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 726, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 6, 6, 60, 1, 5, 18, 5, -125, -125, -125, -125, -125, -125, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -138, -138, -138, -138, -138, -138, -138, -138, -138, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -139, -139, -139, -139, -139, -139, -139, -139, -139, 22, 85, 6, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 727, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 728, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 65, 729, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 730, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 731, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 732, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 733, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 734, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, 735, -288, -288, -288, -288, -288, -288, -288, 124, 125, -288, -288, -288, -288, -288, -288, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, 736, -292, -292, -292, -292, -292, -292, -292, 124, 125, -292, -292, -292, -292, -292, -292, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 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, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, 1, 85, 737, 5, 6, 60, 1, 5, 49, -196, -196, -196, -196, -196, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 473, 738, -217, -217, -217, 5, 6, 60, 1, 5, 49, -197, -197, -197, -197, -197, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, 3, 6, 60, 1, 489, 490, 739, 24, 66, 25, 31, 26, 1, 9, 1, 1, 4, 28, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 740, 123, 124, 125, 96, 97, 741, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 24, 66, 25, 5, 26, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 743, 742, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 744, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 745, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 746, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 747, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 748, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 67, 749, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 3, 67, 78, 12, -253, -253, -253, 23, 66, 6, 19, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -204, -204, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, 3, 6, 60, 29, 642, 643, 750, 3, 54, 5, 1, 751, 105, 106, 5, 6, 60, 1, 5, 23, -328, -328, -328, -328, -328, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 533, 752, -217, -217, -217, 5, 6, 60, 1, 5, 23, -329, -329, -329, -329, -329, 3, 54, 5, 1, 753, 105, 106, 5, 6, 60, 1, 5, 23, -357, -357, -357, -357, -357, 8, 6, 60, 1, 5, 22, 1, 8, 18, -217, -217, -217, 540, 754, -217, -217, -217, 5, 6, 60, 1, 5, 23, -358, -358, -358, -358, -358, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 2, 66, 1, 553, 755, 50, 1, 5, 53, 1, 5, 1, 1, 5, 10, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, 4, 93, 70, 2, 2, 756, 455, 457, 458, 11, 55, 1, 23, 1, 1, 7, 4, 10, 2, 25, 39, 151, 104, 153, 154, 152, 99, 757, 156, 155, 194, 193, 5, 6, 60, 1, 5, 23, -117, -117, -117, -117, -117, 3, 6, 60, 1, 566, 567, 758, 26, 6, 60, 1, 5, 19, 4, 53, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -116, -116, -116, -116, 126, -116, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 5, 6, 60, 1, 5, 23, -119, -119, -119, -119, -119, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -140, -140, -140, -140, -140, -140, -140, -140, -140, 22, 67, 24, 57, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 759, 126, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 4, 59, 1, 2, 2, -61, -61, -61, -61, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, 124, 125, -282, -282, -282, 760, -282, -282, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -283, -283, -283, -283, -283, -283, -283, -283, -283, -283, -283, 761, -283, -283, -283, -283, -283, -283, -283, 124, 125, -283, -283, -283, -283, -283, -283, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 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, 124, 125, -287, -287, -287, -287, -287, -287, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, -291, -291, 124, 125, -291, -291, -291, -291, -291, -291, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -295, -295, -295, -295, -295, -295, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 762, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 763, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 59, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 3, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, 3, 6, 60, 1, 598, 599, 764, 6, 6, 60, 1, 5, 49, 3, -177, -177, -177, -177, -177, -177, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 765, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 766, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 767, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 768, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 1, 142, 769, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, 3, 6, 60, 1, 642, 643, 770, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, 3, 6, 60, 1, 650, 651, 771, 5, 6, 60, 1, 5, 31, -149, -149, -149, -149, -149, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 772, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 93, 773, 5, 6, 60, 1, 5, 23, -113, -113, -113, -113, -113, 1, 85, 774, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 775, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 776, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, 124, 125, -289, -289, -289, -289, -289, -289, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 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, 124, 125, -293, -293, -293, -293, -293, -293, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 5, 6, 60, 1, 5, 49, -198, -198, -198, -198, -198, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 777, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 23, 66, 25, 31, 26, 1, 9, 1, 1, 32, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 159, 126, 778, 123, 124, 125, 96, 97, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, 3, 54, 5, 1, 779, 105, 106, 5, 6, 60, 1, 5, 23, -330, -330, -330, -330, -330, 5, 6, 60, 1, 5, 23, -359, -359, -359, -359, -359, 43, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 1, 1, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -286, -286, -286, -286, -286, 782, -286, -286, -286, -286, 780, -286, 781, -286, -286, -286, -286, -286, -286, -286, 124, 125, -286, -286, -286, -286, -286, -286, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 783, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 9, 6, 60, 1, 5, 10, 1, 1, 11, 24, -141, -141, -141, -141, -141, -141, -141, -141, -141, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, 124, 125, -284, -284, -284, -284, -284, -284, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 42, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, 124, 125, -285, -285, -285, -285, -285, -285, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 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, 41, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 2, 1, 7, 2, 12, 4, 3, 14, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -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, 13, 1, 5, 59, 1, 1, 5, 31, 18, 17, 10, 1, 10, 1, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, 1, 95, 784, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 785, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 6, 6, 60, 1, 28, 8, 18, -218, -218, -218, -218, -218, -218, 43, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 1, 1, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -288, -288, -288, -288, -288, 782, -288, -288, -288, -288, 786, -288, 787, -288, -288, -288, -288, -288, -288, -288, 124, 125, -288, -288, -288, -288, -288, -288, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, 43, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 1, 1, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -287, -287, -287, -287, -287, 782, -287, -287, -287, -287, 788, -287, -287, -287, -287, -287, -287, -287, -287, -287, 124, 125, -287, -287, -287, -287, -287, -287, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 1, 95, 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, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 8, 1, 8, 1, 1, 1, 1, 7, 3, 11, 2, 3, 2, 9, 5, 2, 1, 1, 7, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 4, 4, 1, 1, 1, 1, 4, 3, 2, 1, 3, 1, 8, 4, 1, 1, 1, 1, 1, 2, 1, 790, 162, 29, 30, 31, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 34, 35, 36, 37, 38, 39, 40, 41, 74, 75, 76, 77, 78, 79, 80, 81, 100, 101, 92, 104, 105, 106, 102, 103, 53, 52, 72, 73, 93, 99, 59, 83, 87, 84, 85, 66, 166, 167, 90, 91, 86, 88, 89, 82, 69, 64, 65, 54, 94, 55, 95, 56, 60, 57, 96, 97, 58, 98, 49, 61, 67, 62, 63, 70, 71, 168, 169, 170, 46, 47, 48, 50, 51, 1, 95, 791, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, 43, 1, 5, 59, 1, 1, 5, 13, 5, 1, 2, 1, 1, 1, 7, 2, 12, 4, 3, 14, 10, 1, 9, 1, 1, 3, 1, 1, 2, 25, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -289, -289, -289, -289, -289, 782, -289, -289, -289, -289, 792, -289, -289, -289, -289, -289, -289, -289, -289, -289, 124, 125, -289, -289, -289, -289, -289, -289, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, 1, 95, 793, 55, 1, 5, 53, 1, 5, 1, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 2, 2, 1, 7, 2, 12, 2, 2, 3, 7, 7, 10, 1, 10, 1, 3, 1, 1, 2, 25, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107], t = [], p = 0, n, o, k, a;
|
|
2353
2680
|
while (p < d.length) {
|
|
2354
2681
|
n = d[p++];
|
|
2355
2682
|
o = {};
|
|
@@ -2363,7 +2690,7 @@ var parserInstance = {
|
|
|
2363
2690
|
}
|
|
2364
2691
|
return t;
|
|
2365
2692
|
})(),
|
|
2366
|
-
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, 8, 1, 8, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 45, 1, 45, 1, 55, 1, 57, 1, 54, 1, 54, 3, 61, 1, 61, 2, 63, 3, 63, 5, 63, 2, 63, 1, 47, 1, 47, 3, 71, 3, 71, 1, 17, 3, 17, 4, 17, 5, 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, 36, 1, 36, 1, 36, 1, 78, 1, 78, 1, 78, 3, 78, 3, 78, 4, 78, 6, 78, 4, 78, 6, 78, 4, 78, 5, 78, 7, 78, 3, 78, 3, 78, 4, 78, 6, 80, 10, 80, 12, 80, 11, 80, 13, 80, 4, 98, 0, 98, 1, 98, 3, 98, 4, 98, 6, 99, 1, 99, 1, 99, 3, 99, 5, 99, 3, 99, 5, 101, 1, 101, 1, 101, 1, 89, 1, 89, 3, 89, 4, 89, 1, 100, 2, 100, 2, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 2, 106, 2, 106, 2, 106, 2, 106, 3, 106, 3, 106, 4, 106, 6, 79, 2, 79, 3, 79, 4, 111, 1, 111, 3, 111, 4, 111, 4, 111, 6, 113, 1, 113, 2, 112, 1, 112, 2, 110, 1, 110, 2, 115, 1, 115, 2, 116, 1, 116, 1, 39, 5, 86, 3, 86, 2, 86, 2, 86, 1, 32, 6, 32, 3, 15, 5, 15, 2, 34, 5, 34, 2, 125, 1, 125, 1, 120, 0, 120, 1, 120, 3, 120, 4, 120, 6, 128, 1, 128, 3, 128, 2, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 130, 2, 40, 2, 40, 2, 40, 3, 40, 2, 40, 2, 108, 2, 108, 4, 132, 1, 132, 3, 132, 4, 132, 4, 132, 6, 114, 1, 114, 1, 114, 1, 114, 1, 133, 1, 133, 3, 42, 1, 42, 1, 81, 2, 43, 3, 43, 4, 43, 6, 44, 3, 44, 3, 122, 2, 122, 3, 38, 3, 38, 5, 94, 0, 94, 1, 10, 2, 10, 4, 10, 1, 30, 2, 30, 4, 31, 1, 31, 2, 31, 4, 31, 3, 143, 3, 143, 5, 146, 3, 146, 5, 22, 1, 22, 3, 22, 1, 22, 3, 22, 3, 22, 3, 22, 3, 23, 2, 23, 3, 23, 4, 23, 5, 151, 3, 151, 3, 151, 2, 26, 5, 26, 7, 26, 4, 26, 6, 155, 1, 155, 2, 156, 3, 156, 4, 158, 2, 158, 4, 158, 2, 158, 4, 24, 2, 24, 2, 24, 2, 24, 1, 161, 2, 161, 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, 5, 25, 7, 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, 5, 25, 7, 25, 3, 25, 5, 168, 1, 168, 3, 92, 1, 92, 3, 27, 1, 27, 2, 27, 3, 27, 4, 27, 2, 27, 3, 27, 4, 27, 5, 33, 3, 28, 4, 173, 1, 173, 3, 173, 2, 174, 1, 174, 1, 174, 1, 29, 2, 12, 2, 12, 4, 12, 4, 12, 5, 12, 7, 12, 6, 12, 9, 179, 1, 179, 3, 179, 4, 179, 4, 179, 6, 180, 1, 180, 3, 180, 1, 180, 3, 177, 1, 178, 3, 13, 3, 13, 5, 13, 2, 13, 2, 13, 2, 13, 2, 13, 4, 13, 5, 13, 6, 13, 3, 13, 5, 13, 4, 13, 5, 13, 7, 185, 1, 185, 3, 185, 4, 185, 4, 185, 6, 187, 1, 187, 3, 187, 3, 187, 1, 187, 3, 35, 2, 35, 2, 35, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 4, 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, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 3, 16, 5, 16, 4, 41, 2],
|
|
2693
|
+
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, 8, 1, 8, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 45, 1, 45, 1, 55, 1, 57, 1, 54, 1, 54, 3, 61, 1, 61, 2, 63, 3, 63, 5, 63, 2, 63, 1, 47, 1, 47, 3, 71, 3, 71, 1, 17, 3, 17, 4, 17, 5, 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, 36, 1, 36, 1, 36, 1, 78, 1, 78, 1, 78, 3, 78, 3, 78, 4, 78, 6, 78, 4, 78, 6, 78, 4, 78, 5, 78, 7, 78, 3, 78, 3, 78, 4, 78, 6, 80, 10, 80, 12, 80, 11, 80, 13, 80, 4, 98, 0, 98, 1, 98, 3, 98, 4, 98, 6, 99, 1, 99, 1, 99, 3, 99, 5, 99, 3, 99, 5, 101, 1, 101, 1, 101, 1, 89, 1, 89, 3, 89, 4, 89, 1, 100, 2, 100, 2, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 2, 106, 2, 106, 2, 106, 2, 106, 3, 106, 3, 106, 4, 106, 6, 79, 2, 79, 3, 79, 4, 111, 1, 111, 3, 111, 4, 111, 4, 111, 6, 113, 1, 113, 2, 112, 1, 112, 2, 110, 1, 110, 2, 115, 1, 115, 2, 116, 1, 116, 1, 39, 5, 86, 3, 86, 2, 86, 2, 86, 1, 32, 6, 32, 3, 15, 5, 15, 2, 34, 5, 34, 2, 125, 1, 125, 1, 120, 0, 120, 1, 120, 3, 120, 4, 120, 6, 128, 1, 128, 3, 128, 2, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 130, 2, 40, 2, 40, 2, 40, 3, 40, 2, 40, 2, 108, 2, 108, 4, 132, 1, 132, 3, 132, 4, 132, 4, 132, 6, 114, 1, 114, 1, 114, 1, 114, 1, 133, 1, 133, 3, 42, 1, 42, 1, 81, 2, 43, 3, 43, 4, 43, 6, 44, 3, 44, 3, 122, 2, 122, 3, 38, 3, 38, 5, 94, 0, 94, 1, 10, 2, 10, 4, 10, 1, 30, 2, 30, 4, 31, 1, 31, 2, 31, 4, 31, 3, 143, 3, 143, 5, 146, 3, 146, 5, 22, 1, 22, 3, 22, 1, 22, 3, 22, 3, 22, 3, 22, 3, 23, 2, 23, 3, 23, 4, 23, 5, 151, 3, 151, 3, 151, 2, 26, 5, 26, 7, 26, 4, 26, 6, 155, 1, 155, 2, 156, 3, 156, 4, 158, 2, 158, 4, 158, 2, 158, 4, 24, 2, 24, 2, 24, 2, 24, 1, 161, 2, 161, 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, 5, 25, 7, 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, 5, 25, 7, 25, 3, 25, 5, 168, 1, 168, 3, 92, 1, 92, 3, 27, 1, 27, 2, 27, 3, 27, 4, 27, 2, 27, 3, 27, 4, 27, 5, 33, 3, 28, 4, 173, 1, 173, 3, 173, 2, 174, 1, 174, 1, 174, 1, 29, 2, 12, 2, 12, 4, 12, 4, 12, 5, 12, 7, 12, 6, 12, 9, 179, 1, 179, 3, 179, 4, 179, 4, 179, 6, 180, 1, 180, 3, 180, 1, 180, 3, 177, 1, 178, 3, 13, 3, 13, 5, 13, 2, 13, 2, 13, 2, 13, 2, 13, 4, 13, 5, 13, 6, 13, 2, 13, 2, 13, 2, 13, 2, 13, 3, 13, 5, 13, 4, 13, 5, 13, 7, 185, 1, 185, 3, 185, 4, 185, 4, 185, 6, 187, 1, 187, 3, 187, 3, 187, 1, 187, 3, 35, 2, 35, 2, 35, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, 16, 4, 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, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 3, 16, 5, 16, 4, 41, 2],
|
|
2367
2694
|
ruleActions: (rule, vals, locs, shared) => {
|
|
2368
2695
|
const $ = vals;
|
|
2369
2696
|
const $0 = vals.length - 1;
|
|
@@ -2384,7 +2711,7 @@ var parserInstance = {
|
|
|
2384
2711
|
case 300:
|
|
2385
2712
|
case 312:
|
|
2386
2713
|
case 326:
|
|
2387
|
-
case
|
|
2714
|
+
case 355:
|
|
2388
2715
|
return [$[$0]];
|
|
2389
2716
|
case 4:
|
|
2390
2717
|
case 111:
|
|
@@ -2393,7 +2720,7 @@ var parserInstance = {
|
|
|
2393
2720
|
case 204:
|
|
2394
2721
|
case 313:
|
|
2395
2722
|
case 327:
|
|
2396
|
-
case
|
|
2723
|
+
case 356:
|
|
2397
2724
|
return [...$[$0 - 2], $[$0]];
|
|
2398
2725
|
case 5:
|
|
2399
2726
|
case 60:
|
|
@@ -2490,8 +2817,8 @@ var parserInstance = {
|
|
|
2490
2817
|
case 331:
|
|
2491
2818
|
case 333:
|
|
2492
2819
|
case 335:
|
|
2493
|
-
case
|
|
2494
|
-
case
|
|
2820
|
+
case 360:
|
|
2821
|
+
case 363:
|
|
2495
2822
|
return $[$0];
|
|
2496
2823
|
case 47:
|
|
2497
2824
|
return "undefined";
|
|
@@ -2508,7 +2835,7 @@ var parserInstance = {
|
|
|
2508
2835
|
case 193:
|
|
2509
2836
|
case 197:
|
|
2510
2837
|
case 329:
|
|
2511
|
-
case
|
|
2838
|
+
case 358:
|
|
2512
2839
|
return $[$0 - 2];
|
|
2513
2840
|
case 62:
|
|
2514
2841
|
return "";
|
|
@@ -2596,13 +2923,13 @@ var parserInstance = {
|
|
|
2596
2923
|
case 176:
|
|
2597
2924
|
case 196:
|
|
2598
2925
|
case 328:
|
|
2599
|
-
case
|
|
2926
|
+
case 357:
|
|
2600
2927
|
return [...$[$0 - 3], $[$0]];
|
|
2601
2928
|
case 113:
|
|
2602
2929
|
case 177:
|
|
2603
2930
|
case 198:
|
|
2604
2931
|
case 330:
|
|
2605
|
-
case
|
|
2932
|
+
case 359:
|
|
2606
2933
|
return [...$[$0 - 5], ...$[$0 - 2]];
|
|
2607
2934
|
case 114:
|
|
2608
2935
|
return [$[$0], $[$0], null];
|
|
@@ -2657,11 +2984,11 @@ var parserInstance = {
|
|
|
2657
2984
|
case 160:
|
|
2658
2985
|
return [$[$0 - 2], $[$0 - 3], $[$0 - 1]];
|
|
2659
2986
|
case 161:
|
|
2660
|
-
case
|
|
2661
|
-
case
|
|
2662
|
-
case
|
|
2663
|
-
case
|
|
2664
|
-
case
|
|
2987
|
+
case 382:
|
|
2988
|
+
case 384:
|
|
2989
|
+
case 385:
|
|
2990
|
+
case 399:
|
|
2991
|
+
case 401:
|
|
2665
2992
|
return [$[$0 - 1], $[$0 - 2], $[$0]];
|
|
2666
2993
|
case 162:
|
|
2667
2994
|
return [$[$0], $[$0 - 1], null];
|
|
@@ -2757,9 +3084,9 @@ var parserInstance = {
|
|
|
2757
3084
|
return ["try", $[$0 - 3], $[$0 - 2], $[$0]];
|
|
2758
3085
|
case 243:
|
|
2759
3086
|
case 244:
|
|
2760
|
-
case
|
|
2761
|
-
case
|
|
2762
|
-
case
|
|
3087
|
+
case 365:
|
|
3088
|
+
case 368:
|
|
3089
|
+
case 370:
|
|
2763
3090
|
return [$[$0 - 1], $[$0]];
|
|
2764
3091
|
case 245:
|
|
2765
3092
|
return [null, $[$0]];
|
|
@@ -2861,9 +3188,9 @@ var parserInstance = {
|
|
|
2861
3188
|
case 301:
|
|
2862
3189
|
case 332:
|
|
2863
3190
|
case 334:
|
|
2864
|
-
case
|
|
2865
|
-
case
|
|
2866
|
-
case
|
|
3191
|
+
case 361:
|
|
3192
|
+
case 362:
|
|
3193
|
+
case 364:
|
|
2867
3194
|
return [$[$0 - 2], $[$0]];
|
|
2868
3195
|
case 302:
|
|
2869
3196
|
return ["class", null, null];
|
|
@@ -2909,6 +3236,10 @@ var parserInstance = {
|
|
|
2909
3236
|
case 340:
|
|
2910
3237
|
case 341:
|
|
2911
3238
|
case 342:
|
|
3239
|
+
case 346:
|
|
3240
|
+
case 347:
|
|
3241
|
+
case 348:
|
|
3242
|
+
case 349:
|
|
2912
3243
|
return ["export", $[$0]];
|
|
2913
3244
|
case 343:
|
|
2914
3245
|
return ["export", ["=", $[$0 - 2], $[$0]]];
|
|
@@ -2916,71 +3247,71 @@ var parserInstance = {
|
|
|
2916
3247
|
return ["export", ["=", $[$0 - 3], $[$0]]];
|
|
2917
3248
|
case 345:
|
|
2918
3249
|
return ["export", ["=", $[$0 - 4], $[$0 - 1]]];
|
|
2919
|
-
case
|
|
3250
|
+
case 350:
|
|
2920
3251
|
return ["export-default", $[$0]];
|
|
2921
|
-
case
|
|
3252
|
+
case 351:
|
|
2922
3253
|
return ["export-default", $[$0 - 1]];
|
|
2923
|
-
case
|
|
3254
|
+
case 352:
|
|
2924
3255
|
return ["export-all", $[$0]];
|
|
2925
|
-
case
|
|
3256
|
+
case 353:
|
|
2926
3257
|
return ["export-from", "{}", $[$0]];
|
|
2927
|
-
case
|
|
3258
|
+
case 354:
|
|
2928
3259
|
return ["export-from", $[$0 - 4], $[$0]];
|
|
2929
|
-
case
|
|
2930
|
-
case 363:
|
|
2931
|
-
case 365:
|
|
2932
|
-
case 400:
|
|
2933
|
-
return ["do-iife", $[$0]];
|
|
3260
|
+
case 366:
|
|
2934
3261
|
case 367:
|
|
3262
|
+
case 369:
|
|
3263
|
+
case 404:
|
|
3264
|
+
return ["do-iife", $[$0]];
|
|
3265
|
+
case 371:
|
|
2935
3266
|
return ["-", $[$0]];
|
|
2936
|
-
case
|
|
3267
|
+
case 372:
|
|
2937
3268
|
return ["+", $[$0]];
|
|
2938
|
-
case
|
|
3269
|
+
case 373:
|
|
2939
3270
|
return ["?", $[$0 - 1]];
|
|
2940
|
-
case
|
|
3271
|
+
case 374:
|
|
2941
3272
|
return ["await", $[$0]];
|
|
2942
|
-
case
|
|
3273
|
+
case 375:
|
|
2943
3274
|
return ["await", $[$0 - 1]];
|
|
2944
|
-
case
|
|
3275
|
+
case 376:
|
|
2945
3276
|
return ["--", $[$0], false];
|
|
2946
|
-
case
|
|
3277
|
+
case 377:
|
|
2947
3278
|
return ["++", $[$0], false];
|
|
2948
|
-
case
|
|
3279
|
+
case 378:
|
|
2949
3280
|
return ["--", $[$0 - 1], true];
|
|
2950
|
-
case
|
|
3281
|
+
case 379:
|
|
2951
3282
|
return ["++", $[$0 - 1], true];
|
|
2952
|
-
case
|
|
3283
|
+
case 380:
|
|
2953
3284
|
return ["+", $[$0 - 2], $[$0]];
|
|
2954
|
-
case
|
|
3285
|
+
case 381:
|
|
2955
3286
|
return ["-", $[$0 - 2], $[$0]];
|
|
2956
|
-
case 379:
|
|
2957
|
-
return ["**", $[$0 - 2], $[$0]];
|
|
2958
|
-
case 382:
|
|
2959
|
-
return ["&", $[$0 - 2], $[$0]];
|
|
2960
3287
|
case 383:
|
|
2961
|
-
return ["
|
|
2962
|
-
case 384:
|
|
2963
|
-
return ["|", $[$0 - 2], $[$0]];
|
|
2964
|
-
case 385:
|
|
3288
|
+
return ["**", $[$0 - 2], $[$0]];
|
|
2965
3289
|
case 386:
|
|
3290
|
+
return ["&", $[$0 - 2], $[$0]];
|
|
2966
3291
|
case 387:
|
|
3292
|
+
return ["^", $[$0 - 2], $[$0]];
|
|
2967
3293
|
case 388:
|
|
3294
|
+
return ["|", $[$0 - 2], $[$0]];
|
|
2968
3295
|
case 389:
|
|
2969
3296
|
case 390:
|
|
2970
|
-
return ["control", $[$0 - 1], $[$0 - 2], $[$0]];
|
|
2971
3297
|
case 391:
|
|
2972
|
-
return ["&&", $[$0 - 2], $[$0]];
|
|
2973
3298
|
case 392:
|
|
2974
|
-
return ["||", $[$0 - 2], $[$0]];
|
|
2975
3299
|
case 393:
|
|
2976
|
-
return ["??", $[$0 - 2], $[$0]];
|
|
2977
3300
|
case 394:
|
|
2978
|
-
return ["
|
|
3301
|
+
return ["control", $[$0 - 1], $[$0 - 2], $[$0]];
|
|
3302
|
+
case 395:
|
|
3303
|
+
return ["&&", $[$0 - 2], $[$0]];
|
|
2979
3304
|
case 396:
|
|
2980
|
-
return ["
|
|
3305
|
+
return ["||", $[$0 - 2], $[$0]];
|
|
3306
|
+
case 397:
|
|
3307
|
+
return ["??", $[$0 - 2], $[$0]];
|
|
2981
3308
|
case 398:
|
|
3309
|
+
return ["!?", $[$0 - 2], $[$0]];
|
|
3310
|
+
case 400:
|
|
3311
|
+
return ["?:", $[$0 - 4], $[$0 - 2], $[$0]];
|
|
3312
|
+
case 402:
|
|
2982
3313
|
return [$[$0 - 3], $[$0 - 4], $[$0 - 1]];
|
|
2983
|
-
case
|
|
3314
|
+
case 403:
|
|
2984
3315
|
return [$[$0 - 2], $[$0 - 3], $[$0]];
|
|
2985
3316
|
}
|
|
2986
3317
|
},
|
|
@@ -3111,7 +3442,7 @@ var parse = parser.parse.bind(parser);
|
|
|
3111
3442
|
// src/components.js
|
|
3112
3443
|
var BIND_PREFIX = "__bind_";
|
|
3113
3444
|
var BIND_SUFFIX = "__";
|
|
3114
|
-
var LIFECYCLE_HOOKS = new Set(["
|
|
3445
|
+
var LIFECYCLE_HOOKS = new Set(["beforeMount", "mounted", "updated", "beforeUnmount", "unmounted"]);
|
|
3115
3446
|
function extractInputType(pairs) {
|
|
3116
3447
|
for (const pair of pairs) {
|
|
3117
3448
|
if (!Array.isArray(pair))
|
|
@@ -3134,6 +3465,11 @@ function getMemberName(target) {
|
|
|
3134
3465
|
}
|
|
3135
3466
|
function installComponentSupport(CodeGenerator) {
|
|
3136
3467
|
const proto = CodeGenerator.prototype;
|
|
3468
|
+
proto.localizeVar = function(line) {
|
|
3469
|
+
let result = line.replace(/this\.(_el\d+|_t\d+|_anchor\d+|_frag\d+|_slot\d+|_c\d+|_inst\d+|_empty\d+)/g, "$1");
|
|
3470
|
+
result = result.replace(/\bthis\./g, "ctx.");
|
|
3471
|
+
return result;
|
|
3472
|
+
};
|
|
3137
3473
|
proto.isHtmlTag = function(name) {
|
|
3138
3474
|
const tagPart = name.split("#")[0];
|
|
3139
3475
|
return TEMPLATE_TAGS.has(tagPart.toLowerCase());
|
|
@@ -3359,192 +3695,192 @@ ${blockFactoriesCode}return ${lines.join(`
|
|
|
3359
3695
|
throw new Error("render blocks can only be used inside a component");
|
|
3360
3696
|
};
|
|
3361
3697
|
proto.buildRender = function(body) {
|
|
3362
|
-
this.
|
|
3363
|
-
this.
|
|
3364
|
-
this.
|
|
3365
|
-
this.
|
|
3366
|
-
this.
|
|
3367
|
-
this.
|
|
3698
|
+
this._elementCount = 0;
|
|
3699
|
+
this._textCount = 0;
|
|
3700
|
+
this._blockCount = 0;
|
|
3701
|
+
this._createLines = [];
|
|
3702
|
+
this._setupLines = [];
|
|
3703
|
+
this._blockFactories = [];
|
|
3368
3704
|
const statements = Array.isArray(body) && body[0] === "block" ? body.slice(1) : [body];
|
|
3369
3705
|
let rootVar;
|
|
3370
3706
|
if (statements.length === 0) {
|
|
3371
3707
|
rootVar = "null";
|
|
3372
3708
|
} else if (statements.length === 1) {
|
|
3373
|
-
rootVar = this.
|
|
3709
|
+
rootVar = this.generateNode(statements[0]);
|
|
3374
3710
|
} else {
|
|
3375
3711
|
rootVar = this.newElementVar("frag");
|
|
3376
|
-
this.
|
|
3712
|
+
this._createLines.push(`${rootVar} = document.createDocumentFragment();`);
|
|
3377
3713
|
for (const stmt of statements) {
|
|
3378
|
-
const childVar = this.
|
|
3379
|
-
this.
|
|
3714
|
+
const childVar = this.generateNode(stmt);
|
|
3715
|
+
this._createLines.push(`${rootVar}.appendChild(${childVar});`);
|
|
3380
3716
|
}
|
|
3381
3717
|
}
|
|
3382
3718
|
return {
|
|
3383
|
-
createLines: this.
|
|
3384
|
-
setupLines: this.
|
|
3385
|
-
blockFactories: this.
|
|
3719
|
+
createLines: this._createLines,
|
|
3720
|
+
setupLines: this._setupLines,
|
|
3721
|
+
blockFactories: this._blockFactories,
|
|
3386
3722
|
rootVar
|
|
3387
3723
|
};
|
|
3388
3724
|
};
|
|
3389
3725
|
proto.newBlockVar = function() {
|
|
3390
|
-
return `create_block_${this.
|
|
3726
|
+
return `create_block_${this._blockCount++}`;
|
|
3391
3727
|
};
|
|
3392
3728
|
proto.newElementVar = function(hint = "el") {
|
|
3393
|
-
return `this._${hint}${this.
|
|
3729
|
+
return `this._${hint}${this._elementCount++}`;
|
|
3394
3730
|
};
|
|
3395
3731
|
proto.newTextVar = function() {
|
|
3396
|
-
return `this._t${this.
|
|
3732
|
+
return `this._t${this._textCount++}`;
|
|
3397
3733
|
};
|
|
3398
|
-
proto.
|
|
3734
|
+
proto.generateNode = function(sexpr) {
|
|
3399
3735
|
if (typeof sexpr === "string" || sexpr instanceof String) {
|
|
3400
3736
|
const str = sexpr.valueOf();
|
|
3401
3737
|
if (str.startsWith('"') || str.startsWith("'") || str.startsWith("`")) {
|
|
3402
3738
|
const textVar2 = this.newTextVar();
|
|
3403
|
-
this.
|
|
3739
|
+
this._createLines.push(`${textVar2} = document.createTextNode(${str});`);
|
|
3404
3740
|
return textVar2;
|
|
3405
3741
|
}
|
|
3406
3742
|
if (this.reactiveMembers && this.reactiveMembers.has(str)) {
|
|
3407
3743
|
const textVar2 = this.newTextVar();
|
|
3408
|
-
this.
|
|
3409
|
-
this.
|
|
3744
|
+
this._createLines.push(`${textVar2} = document.createTextNode('');`);
|
|
3745
|
+
this._setupLines.push(`__effect(() => { ${textVar2}.data = this.${str}.value; });`);
|
|
3410
3746
|
return textVar2;
|
|
3411
3747
|
}
|
|
3412
3748
|
const elVar = this.newElementVar();
|
|
3413
|
-
this.
|
|
3749
|
+
this._createLines.push(`${elVar} = document.createElement('${str}');`);
|
|
3414
3750
|
return elVar;
|
|
3415
3751
|
}
|
|
3416
3752
|
if (!Array.isArray(sexpr)) {
|
|
3417
3753
|
const commentVar = this.newElementVar("c");
|
|
3418
|
-
this.
|
|
3754
|
+
this._createLines.push(`${commentVar} = document.createComment('unknown');`);
|
|
3419
3755
|
return commentVar;
|
|
3420
3756
|
}
|
|
3421
3757
|
const [head, ...rest] = sexpr;
|
|
3422
3758
|
const headStr = typeof head === "string" ? head : head instanceof String ? head.valueOf() : null;
|
|
3423
3759
|
if (headStr && this.isComponent(headStr)) {
|
|
3424
|
-
return this.
|
|
3760
|
+
return this.generateChildComponent(headStr, rest);
|
|
3425
3761
|
}
|
|
3426
3762
|
if (headStr && this.isHtmlTag(headStr)) {
|
|
3427
|
-
return this.
|
|
3763
|
+
return this.generateTag(headStr, [], rest);
|
|
3428
3764
|
}
|
|
3429
3765
|
if (headStr === ".") {
|
|
3430
3766
|
const [, obj, prop] = sexpr;
|
|
3431
3767
|
if (obj === "this" && typeof prop === "string") {
|
|
3432
3768
|
if (this.reactiveMembers && this.reactiveMembers.has(prop)) {
|
|
3433
3769
|
const textVar3 = this.newTextVar();
|
|
3434
|
-
this.
|
|
3435
|
-
this.
|
|
3770
|
+
this._createLines.push(`${textVar3} = document.createTextNode('');`);
|
|
3771
|
+
this._setupLines.push(`__effect(() => { ${textVar3}.data = this.${prop}.value; });`);
|
|
3436
3772
|
return textVar3;
|
|
3437
3773
|
}
|
|
3438
3774
|
if (this.componentMembers && this.componentMembers.has(prop)) {
|
|
3439
3775
|
const slotVar = this.newElementVar("slot");
|
|
3440
|
-
this.
|
|
3776
|
+
this._createLines.push(`${slotVar} = this.${prop} instanceof Node ? this.${prop} : (this.${prop} != null ? document.createTextNode(String(this.${prop})) : document.createComment(''));`);
|
|
3441
3777
|
return slotVar;
|
|
3442
3778
|
}
|
|
3443
3779
|
}
|
|
3444
3780
|
const { tag, classes } = this.collectTemplateClasses(sexpr);
|
|
3445
3781
|
if (tag && this.isHtmlTag(tag)) {
|
|
3446
|
-
return this.
|
|
3782
|
+
return this.generateTag(tag, classes, []);
|
|
3447
3783
|
}
|
|
3448
3784
|
const textVar2 = this.newTextVar();
|
|
3449
3785
|
const exprCode2 = this.generateInComponent(sexpr, "value");
|
|
3450
|
-
this.
|
|
3786
|
+
this._createLines.push(`${textVar2} = document.createTextNode(String(${exprCode2}));`);
|
|
3451
3787
|
return textVar2;
|
|
3452
3788
|
}
|
|
3453
3789
|
if (Array.isArray(head)) {
|
|
3454
3790
|
if (Array.isArray(head[0]) && head[0][0] === "." && (head[0][2] === "__cx__" || head[0][2] instanceof String && head[0][2].valueOf() === "__cx__")) {
|
|
3455
3791
|
const tag2 = typeof head[0][1] === "string" ? head[0][1] : head[0][1].valueOf();
|
|
3456
3792
|
const classExprs = head.slice(1);
|
|
3457
|
-
return this.
|
|
3793
|
+
return this.generateDynamicTag(tag2, classExprs, rest);
|
|
3458
3794
|
}
|
|
3459
3795
|
const { tag, classes } = this.collectTemplateClasses(head);
|
|
3460
3796
|
if (tag && this.isHtmlTag(tag)) {
|
|
3461
3797
|
if (classes.length === 1 && classes[0] === "__cx__") {
|
|
3462
|
-
return this.
|
|
3798
|
+
return this.generateDynamicTag(tag, rest, []);
|
|
3463
3799
|
}
|
|
3464
|
-
return this.
|
|
3800
|
+
return this.generateTag(tag, classes, rest);
|
|
3465
3801
|
}
|
|
3466
3802
|
}
|
|
3467
3803
|
if (headStr === "->" || headStr === "=>") {
|
|
3468
|
-
return this.
|
|
3804
|
+
return this.generateTemplateBlock(rest[1]);
|
|
3469
3805
|
}
|
|
3470
3806
|
if (headStr === "if") {
|
|
3471
|
-
return this.
|
|
3807
|
+
return this.generateConditional(sexpr);
|
|
3472
3808
|
}
|
|
3473
3809
|
if (headStr === "for" || headStr === "for-in" || headStr === "for-of" || headStr === "for-as") {
|
|
3474
|
-
return this.
|
|
3810
|
+
return this.generateTemplateLoop(sexpr);
|
|
3475
3811
|
}
|
|
3476
3812
|
const textVar = this.newTextVar();
|
|
3477
3813
|
const exprCode = this.generateInComponent(sexpr, "value");
|
|
3478
3814
|
if (this.hasReactiveDeps(sexpr)) {
|
|
3479
|
-
this.
|
|
3480
|
-
this.
|
|
3815
|
+
this._createLines.push(`${textVar} = document.createTextNode('');`);
|
|
3816
|
+
this._setupLines.push(`__effect(() => { ${textVar}.data = ${exprCode}; });`);
|
|
3481
3817
|
} else {
|
|
3482
|
-
this.
|
|
3818
|
+
this._createLines.push(`${textVar} = document.createTextNode(String(${exprCode}));`);
|
|
3483
3819
|
}
|
|
3484
3820
|
return textVar;
|
|
3485
3821
|
};
|
|
3486
|
-
proto.
|
|
3822
|
+
proto.generateTag = function(tag, classes, args) {
|
|
3487
3823
|
const elVar = this.newElementVar();
|
|
3488
|
-
this.
|
|
3824
|
+
this._createLines.push(`${elVar} = document.createElement('${tag}');`);
|
|
3489
3825
|
if (classes.length > 0) {
|
|
3490
|
-
this.
|
|
3826
|
+
this._createLines.push(`${elVar}.className = '${classes.join(" ")}';`);
|
|
3491
3827
|
}
|
|
3492
3828
|
for (const arg of args) {
|
|
3493
3829
|
if (Array.isArray(arg) && (arg[0] === "->" || arg[0] === "=>")) {
|
|
3494
3830
|
const block = arg[2];
|
|
3495
3831
|
if (Array.isArray(block) && block[0] === "block") {
|
|
3496
3832
|
for (const child of block.slice(1)) {
|
|
3497
|
-
const childVar = this.
|
|
3498
|
-
this.
|
|
3833
|
+
const childVar = this.generateNode(child);
|
|
3834
|
+
this._createLines.push(`${elVar}.appendChild(${childVar});`);
|
|
3499
3835
|
}
|
|
3500
3836
|
} else if (block) {
|
|
3501
|
-
const childVar = this.
|
|
3502
|
-
this.
|
|
3837
|
+
const childVar = this.generateNode(block);
|
|
3838
|
+
this._createLines.push(`${elVar}.appendChild(${childVar});`);
|
|
3503
3839
|
}
|
|
3504
3840
|
} else if (Array.isArray(arg) && arg[0] === "object") {
|
|
3505
|
-
this.
|
|
3841
|
+
this.generateAttributes(elVar, arg);
|
|
3506
3842
|
} else if (typeof arg === "string") {
|
|
3507
3843
|
const textVar = this.newTextVar();
|
|
3508
3844
|
if (arg.startsWith('"') || arg.startsWith("'") || arg.startsWith("`")) {
|
|
3509
|
-
this.
|
|
3845
|
+
this._createLines.push(`${textVar} = document.createTextNode(${arg});`);
|
|
3510
3846
|
} else if (this.reactiveMembers && this.reactiveMembers.has(arg)) {
|
|
3511
|
-
this.
|
|
3512
|
-
this.
|
|
3847
|
+
this._createLines.push(`${textVar} = document.createTextNode('');`);
|
|
3848
|
+
this._setupLines.push(`__effect(() => { ${textVar}.data = this.${arg}.value; });`);
|
|
3513
3849
|
} else if (this.componentMembers && this.componentMembers.has(arg)) {
|
|
3514
|
-
this.
|
|
3850
|
+
this._createLines.push(`${textVar} = document.createTextNode(String(this.${arg}));`);
|
|
3515
3851
|
} else {
|
|
3516
|
-
this.
|
|
3852
|
+
this._createLines.push(`${textVar} = document.createTextNode(String(${arg}));`);
|
|
3517
3853
|
}
|
|
3518
|
-
this.
|
|
3854
|
+
this._createLines.push(`${elVar}.appendChild(${textVar});`);
|
|
3519
3855
|
} else if (arg instanceof String) {
|
|
3520
3856
|
const val = arg.valueOf();
|
|
3521
3857
|
const textVar = this.newTextVar();
|
|
3522
3858
|
if (val.startsWith('"') || val.startsWith("'") || val.startsWith("`")) {
|
|
3523
|
-
this.
|
|
3859
|
+
this._createLines.push(`${textVar} = document.createTextNode(${val});`);
|
|
3524
3860
|
} else if (this.reactiveMembers && this.reactiveMembers.has(val)) {
|
|
3525
|
-
this.
|
|
3526
|
-
this.
|
|
3861
|
+
this._createLines.push(`${textVar} = document.createTextNode('');`);
|
|
3862
|
+
this._setupLines.push(`__effect(() => { ${textVar}.data = this.${val}.value; });`);
|
|
3527
3863
|
} else {
|
|
3528
|
-
this.
|
|
3864
|
+
this._createLines.push(`${textVar} = document.createTextNode(String(${val}));`);
|
|
3529
3865
|
}
|
|
3530
|
-
this.
|
|
3866
|
+
this._createLines.push(`${elVar}.appendChild(${textVar});`);
|
|
3531
3867
|
} else if (arg) {
|
|
3532
|
-
const childVar = this.
|
|
3533
|
-
this.
|
|
3868
|
+
const childVar = this.generateNode(arg);
|
|
3869
|
+
this._createLines.push(`${elVar}.appendChild(${childVar});`);
|
|
3534
3870
|
}
|
|
3535
3871
|
}
|
|
3536
3872
|
return elVar;
|
|
3537
3873
|
};
|
|
3538
|
-
proto.
|
|
3874
|
+
proto.generateDynamicTag = function(tag, classExprs, children) {
|
|
3539
3875
|
const elVar = this.newElementVar();
|
|
3540
|
-
this.
|
|
3876
|
+
this._createLines.push(`${elVar} = document.createElement('${tag}');`);
|
|
3541
3877
|
if (classExprs.length > 0) {
|
|
3542
3878
|
const classArgs = classExprs.map((e) => this.generateInComponent(e, "value")).join(", ");
|
|
3543
3879
|
const hasReactive = classExprs.some((e) => this.hasReactiveDeps(e));
|
|
3544
3880
|
if (hasReactive) {
|
|
3545
|
-
this.
|
|
3881
|
+
this._setupLines.push(`__effect(() => { ${elVar}.className = __cx__(${classArgs}); });`);
|
|
3546
3882
|
} else {
|
|
3547
|
-
this.
|
|
3883
|
+
this._createLines.push(`${elVar}.className = __cx__(${classArgs});`);
|
|
3548
3884
|
}
|
|
3549
3885
|
}
|
|
3550
3886
|
for (const arg of children) {
|
|
@@ -3554,42 +3890,42 @@ ${blockFactoriesCode}return ${lines.join(`
|
|
|
3554
3890
|
const blockHead = Array.isArray(block) ? block[0] instanceof String ? block[0].valueOf() : block[0] : null;
|
|
3555
3891
|
if (blockHead === "block") {
|
|
3556
3892
|
for (const child of block.slice(1)) {
|
|
3557
|
-
const childVar = this.
|
|
3558
|
-
this.
|
|
3893
|
+
const childVar = this.generateNode(child);
|
|
3894
|
+
this._createLines.push(`${elVar}.appendChild(${childVar});`);
|
|
3559
3895
|
}
|
|
3560
3896
|
} else if (block) {
|
|
3561
|
-
const childVar = this.
|
|
3562
|
-
this.
|
|
3897
|
+
const childVar = this.generateNode(block);
|
|
3898
|
+
this._createLines.push(`${elVar}.appendChild(${childVar});`);
|
|
3563
3899
|
}
|
|
3564
3900
|
} else if (Array.isArray(arg) && arg[0] === "object") {
|
|
3565
|
-
this.
|
|
3901
|
+
this.generateAttributes(elVar, arg);
|
|
3566
3902
|
} else if (typeof arg === "string" || arg instanceof String) {
|
|
3567
3903
|
const textVar = this.newTextVar();
|
|
3568
3904
|
const argStr = arg.valueOf();
|
|
3569
3905
|
if (argStr.startsWith('"') || argStr.startsWith("'") || argStr.startsWith("`")) {
|
|
3570
|
-
this.
|
|
3906
|
+
this._createLines.push(`${textVar} = document.createTextNode(${argStr});`);
|
|
3571
3907
|
} else if (this.reactiveMembers && this.reactiveMembers.has(argStr)) {
|
|
3572
|
-
this.
|
|
3573
|
-
this.
|
|
3908
|
+
this._createLines.push(`${textVar} = document.createTextNode('');`);
|
|
3909
|
+
this._setupLines.push(`__effect(() => { ${textVar}.data = this.${argStr}.value; });`);
|
|
3574
3910
|
} else {
|
|
3575
|
-
this.
|
|
3911
|
+
this._createLines.push(`${textVar} = document.createTextNode(${this.generateInComponent(arg, "value")});`);
|
|
3576
3912
|
}
|
|
3577
|
-
this.
|
|
3913
|
+
this._createLines.push(`${elVar}.appendChild(${textVar});`);
|
|
3578
3914
|
} else {
|
|
3579
|
-
const childVar = this.
|
|
3580
|
-
this.
|
|
3915
|
+
const childVar = this.generateNode(arg);
|
|
3916
|
+
this._createLines.push(`${elVar}.appendChild(${childVar});`);
|
|
3581
3917
|
}
|
|
3582
3918
|
}
|
|
3583
3919
|
return elVar;
|
|
3584
3920
|
};
|
|
3585
|
-
proto.
|
|
3921
|
+
proto.generateAttributes = function(elVar, objExpr) {
|
|
3586
3922
|
const inputType = extractInputType(objExpr.slice(1));
|
|
3587
3923
|
for (let i = 1;i < objExpr.length; i++) {
|
|
3588
3924
|
let [key, value] = objExpr[i];
|
|
3589
3925
|
if (Array.isArray(key) && key[0] === "." && key[1] === "this") {
|
|
3590
3926
|
const eventName = key[2];
|
|
3591
3927
|
const handlerCode = this.generateInComponent(value, "value");
|
|
3592
|
-
this.
|
|
3928
|
+
this._createLines.push(`${elVar}.addEventListener('${eventName}', (e) => (${handlerCode})(e));`);
|
|
3593
3929
|
continue;
|
|
3594
3930
|
}
|
|
3595
3931
|
if (typeof key === "string") {
|
|
@@ -3607,58 +3943,58 @@ ${blockFactoriesCode}return ${lines.join(`
|
|
|
3607
3943
|
event = "input";
|
|
3608
3944
|
valueAccessor = inputType === "number" || inputType === "range" ? "e.target.valueAsNumber" : "e.target.value";
|
|
3609
3945
|
}
|
|
3610
|
-
this.
|
|
3611
|
-
this.
|
|
3946
|
+
this._setupLines.push(`__effect(() => { ${elVar}.${prop} = ${valueCode2}; });`);
|
|
3947
|
+
this._createLines.push(`${elVar}.addEventListener('${event}', (e) => ${valueCode2} = ${valueAccessor});`);
|
|
3612
3948
|
continue;
|
|
3613
3949
|
}
|
|
3614
3950
|
const valueCode = this.generateInComponent(value, "value");
|
|
3615
3951
|
if ((key === "value" || key === "checked") && this.hasReactiveDeps(value)) {
|
|
3616
|
-
this.
|
|
3952
|
+
this._setupLines.push(`__effect(() => { ${elVar}.${key} = ${valueCode}; });`);
|
|
3617
3953
|
const event = key === "checked" ? "change" : "input";
|
|
3618
3954
|
const accessor = key === "checked" ? "e.target.checked" : inputType === "number" || inputType === "range" ? "e.target.valueAsNumber" : "e.target.value";
|
|
3619
|
-
this.
|
|
3955
|
+
this._createLines.push(`${elVar}.addEventListener('${event}', (e) => { ${valueCode} = ${accessor}; });`);
|
|
3620
3956
|
continue;
|
|
3621
3957
|
}
|
|
3622
3958
|
if (this.hasReactiveDeps(value)) {
|
|
3623
|
-
this.
|
|
3959
|
+
this._setupLines.push(`__effect(() => { ${elVar}.setAttribute('${key}', ${valueCode}); });`);
|
|
3624
3960
|
} else {
|
|
3625
|
-
this.
|
|
3961
|
+
this._createLines.push(`${elVar}.setAttribute('${key}', ${valueCode});`);
|
|
3626
3962
|
}
|
|
3627
3963
|
}
|
|
3628
3964
|
}
|
|
3629
3965
|
};
|
|
3630
|
-
proto.
|
|
3966
|
+
proto.generateTemplateBlock = function(body) {
|
|
3631
3967
|
if (!Array.isArray(body) || body[0] !== "block") {
|
|
3632
|
-
return this.
|
|
3968
|
+
return this.generateNode(body);
|
|
3633
3969
|
}
|
|
3634
3970
|
const statements = body.slice(1);
|
|
3635
3971
|
if (statements.length === 0) {
|
|
3636
3972
|
const commentVar = this.newElementVar("empty");
|
|
3637
|
-
this.
|
|
3973
|
+
this._createLines.push(`${commentVar} = document.createComment('');`);
|
|
3638
3974
|
return commentVar;
|
|
3639
3975
|
}
|
|
3640
3976
|
if (statements.length === 1) {
|
|
3641
|
-
return this.
|
|
3977
|
+
return this.generateNode(statements[0]);
|
|
3642
3978
|
}
|
|
3643
3979
|
const fragVar = this.newElementVar("frag");
|
|
3644
|
-
this.
|
|
3980
|
+
this._createLines.push(`${fragVar} = document.createDocumentFragment();`);
|
|
3645
3981
|
for (const stmt of statements) {
|
|
3646
|
-
const childVar = this.
|
|
3647
|
-
this.
|
|
3982
|
+
const childVar = this.generateNode(stmt);
|
|
3983
|
+
this._createLines.push(`${fragVar}.appendChild(${childVar});`);
|
|
3648
3984
|
}
|
|
3649
3985
|
return fragVar;
|
|
3650
3986
|
};
|
|
3651
|
-
proto.
|
|
3987
|
+
proto.generateConditional = function(sexpr) {
|
|
3652
3988
|
const [, condition, thenBlock, elseBlock] = sexpr;
|
|
3653
3989
|
const anchorVar = this.newElementVar("anchor");
|
|
3654
|
-
this.
|
|
3990
|
+
this._createLines.push(`${anchorVar} = document.createComment('if');`);
|
|
3655
3991
|
const condCode = this.generateInComponent(condition, "value");
|
|
3656
3992
|
const thenBlockName = this.newBlockVar();
|
|
3657
|
-
this.
|
|
3993
|
+
this.generateConditionBranch(thenBlockName, thenBlock);
|
|
3658
3994
|
let elseBlockName = null;
|
|
3659
3995
|
if (elseBlock) {
|
|
3660
3996
|
elseBlockName = this.newBlockVar();
|
|
3661
|
-
this.
|
|
3997
|
+
this.generateConditionBranch(elseBlockName, elseBlock);
|
|
3662
3998
|
}
|
|
3663
3999
|
const setupLines = [];
|
|
3664
4000
|
setupLines.push(`// Conditional: ${thenBlockName}${elseBlockName ? " / " + elseBlockName : ""}`);
|
|
@@ -3693,25 +4029,21 @@ ${blockFactoriesCode}return ${lines.join(`
|
|
|
3693
4029
|
}
|
|
3694
4030
|
setupLines.push(` });`);
|
|
3695
4031
|
setupLines.push(`}`);
|
|
3696
|
-
this.
|
|
4032
|
+
this._setupLines.push(setupLines.join(`
|
|
3697
4033
|
`));
|
|
3698
4034
|
return anchorVar;
|
|
3699
4035
|
};
|
|
3700
|
-
proto.
|
|
3701
|
-
const savedCreateLines = this.
|
|
3702
|
-
const savedSetupLines = this.
|
|
3703
|
-
this.
|
|
3704
|
-
this.
|
|
3705
|
-
const rootVar = this.
|
|
3706
|
-
const createLines = this.
|
|
3707
|
-
const setupLines = this.
|
|
3708
|
-
this.
|
|
3709
|
-
this.
|
|
3710
|
-
const localizeVar = (line) =>
|
|
3711
|
-
let result = line.replace(/this\.(_el\d+|_t\d+|_anchor\d+|_frag\d+|_slot\d+|_c\d+|_inst\d+|_empty\d+)/g, "$1");
|
|
3712
|
-
result = result.replace(/\bthis\./g, "ctx.");
|
|
3713
|
-
return result;
|
|
3714
|
-
};
|
|
4036
|
+
proto.generateConditionBranch = function(blockName, block) {
|
|
4037
|
+
const savedCreateLines = this._createLines;
|
|
4038
|
+
const savedSetupLines = this._setupLines;
|
|
4039
|
+
this._createLines = [];
|
|
4040
|
+
this._setupLines = [];
|
|
4041
|
+
const rootVar = this.generateTemplateBlock(block);
|
|
4042
|
+
const createLines = this._createLines;
|
|
4043
|
+
const setupLines = this._setupLines;
|
|
4044
|
+
this._createLines = savedCreateLines;
|
|
4045
|
+
this._setupLines = savedSetupLines;
|
|
4046
|
+
const localizeVar = (line) => this.localizeVar(line);
|
|
3715
4047
|
const factoryLines = [];
|
|
3716
4048
|
factoryLines.push(`function ${blockName}(ctx) {`);
|
|
3717
4049
|
const localVars = new Set;
|
|
@@ -3755,14 +4087,14 @@ ${blockFactoriesCode}return ${lines.join(`
|
|
|
3755
4087
|
factoryLines.push(` }`);
|
|
3756
4088
|
factoryLines.push(` };`);
|
|
3757
4089
|
factoryLines.push(`}`);
|
|
3758
|
-
this.
|
|
4090
|
+
this._blockFactories.push(factoryLines.join(`
|
|
3759
4091
|
`));
|
|
3760
4092
|
};
|
|
3761
|
-
proto.
|
|
4093
|
+
proto.generateTemplateLoop = function(sexpr) {
|
|
3762
4094
|
const [head, vars, collection, guard, step, body] = sexpr;
|
|
3763
4095
|
const blockName = this.newBlockVar();
|
|
3764
4096
|
const anchorVar = this.newElementVar("anchor");
|
|
3765
|
-
this.
|
|
4097
|
+
this._createLines.push(`${anchorVar} = document.createComment('for');`);
|
|
3766
4098
|
const varNames = Array.isArray(vars) ? vars : [vars];
|
|
3767
4099
|
const itemVar = varNames[0];
|
|
3768
4100
|
const indexVar = varNames[1] || "i";
|
|
@@ -3786,20 +4118,16 @@ ${blockFactoriesCode}return ${lines.join(`
|
|
|
3786
4118
|
}
|
|
3787
4119
|
}
|
|
3788
4120
|
}
|
|
3789
|
-
const savedCreateLines = this.
|
|
3790
|
-
const savedSetupLines = this.
|
|
3791
|
-
this.
|
|
3792
|
-
this.
|
|
3793
|
-
const itemNode = this.
|
|
3794
|
-
const itemCreateLines = this.
|
|
3795
|
-
const itemSetupLines = this.
|
|
3796
|
-
this.
|
|
3797
|
-
this.
|
|
3798
|
-
const localizeVar = (line) =>
|
|
3799
|
-
let result = line.replace(/this\.(_el\d+|_t\d+|_anchor\d+|_frag\d+|_slot\d+|_c\d+|_inst\d+|_empty\d+)/g, "$1");
|
|
3800
|
-
result = result.replace(/\bthis\./g, "ctx.");
|
|
3801
|
-
return result;
|
|
3802
|
-
};
|
|
4121
|
+
const savedCreateLines = this._createLines;
|
|
4122
|
+
const savedSetupLines = this._setupLines;
|
|
4123
|
+
this._createLines = [];
|
|
4124
|
+
this._setupLines = [];
|
|
4125
|
+
const itemNode = this.generateTemplateBlock(body);
|
|
4126
|
+
const itemCreateLines = this._createLines;
|
|
4127
|
+
const itemSetupLines = this._setupLines;
|
|
4128
|
+
this._createLines = savedCreateLines;
|
|
4129
|
+
this._setupLines = savedSetupLines;
|
|
4130
|
+
const localizeVar = (line) => this.localizeVar(line);
|
|
3803
4131
|
const factoryLines = [];
|
|
3804
4132
|
factoryLines.push(`function ${blockName}(ctx, ${itemVar}, ${indexVar}) {`);
|
|
3805
4133
|
const localVars = new Set;
|
|
@@ -3843,7 +4171,7 @@ ${blockFactoriesCode}return ${lines.join(`
|
|
|
3843
4171
|
factoryLines.push(` }`);
|
|
3844
4172
|
factoryLines.push(` };`);
|
|
3845
4173
|
factoryLines.push(`}`);
|
|
3846
|
-
this.
|
|
4174
|
+
this._blockFactories.push(factoryLines.join(`
|
|
3847
4175
|
`));
|
|
3848
4176
|
const setupLines = [];
|
|
3849
4177
|
setupLines.push(`// Loop: ${blockName}`);
|
|
@@ -3878,19 +4206,19 @@ ${blockFactoriesCode}return ${lines.join(`
|
|
|
3878
4206
|
setupLines.push(` for (const [k, v] of newMap) map.set(k, v);`);
|
|
3879
4207
|
setupLines.push(` });`);
|
|
3880
4208
|
setupLines.push(`}`);
|
|
3881
|
-
this.
|
|
4209
|
+
this._setupLines.push(setupLines.join(`
|
|
3882
4210
|
`));
|
|
3883
4211
|
return anchorVar;
|
|
3884
4212
|
};
|
|
3885
|
-
proto.
|
|
4213
|
+
proto.generateChildComponent = function(componentName, args) {
|
|
3886
4214
|
const instVar = this.newElementVar("inst");
|
|
3887
4215
|
const elVar = this.newElementVar("el");
|
|
3888
4216
|
const { propsCode, childrenSetupLines } = this.buildComponentProps(args);
|
|
3889
|
-
this.
|
|
3890
|
-
this.
|
|
3891
|
-
this.
|
|
4217
|
+
this._createLines.push(`${instVar} = new ${componentName}(${propsCode});`);
|
|
4218
|
+
this._createLines.push(`${elVar} = ${instVar}._create();`);
|
|
4219
|
+
this._setupLines.push(`if (${instVar}._setup) ${instVar}._setup();`);
|
|
3892
4220
|
for (const line of childrenSetupLines) {
|
|
3893
|
-
this.
|
|
4221
|
+
this._setupLines.push(line);
|
|
3894
4222
|
}
|
|
3895
4223
|
return elVar;
|
|
3896
4224
|
};
|
|
@@ -3910,17 +4238,17 @@ ${blockFactoriesCode}return ${lines.join(`
|
|
|
3910
4238
|
} else if (Array.isArray(arg) && (arg[0] === "->" || arg[0] === "=>")) {
|
|
3911
4239
|
const block = arg[2];
|
|
3912
4240
|
if (block) {
|
|
3913
|
-
const savedCreateLines = this.
|
|
3914
|
-
const savedSetupLines = this.
|
|
3915
|
-
this.
|
|
3916
|
-
this.
|
|
3917
|
-
childrenVar = this.
|
|
3918
|
-
const childCreateLines = this.
|
|
3919
|
-
const childSetupLinesCopy = this.
|
|
3920
|
-
this.
|
|
3921
|
-
this.
|
|
4241
|
+
const savedCreateLines = this._createLines;
|
|
4242
|
+
const savedSetupLines = this._setupLines;
|
|
4243
|
+
this._createLines = [];
|
|
4244
|
+
this._setupLines = [];
|
|
4245
|
+
childrenVar = this.generateTemplateBlock(block);
|
|
4246
|
+
const childCreateLines = this._createLines;
|
|
4247
|
+
const childSetupLinesCopy = this._setupLines;
|
|
4248
|
+
this._createLines = savedCreateLines;
|
|
4249
|
+
this._setupLines = savedSetupLines;
|
|
3922
4250
|
for (const line of childCreateLines) {
|
|
3923
|
-
this.
|
|
4251
|
+
this._createLines.push(line);
|
|
3924
4252
|
}
|
|
3925
4253
|
childrenSetupLines.push(...childSetupLinesCopy);
|
|
3926
4254
|
props.push(`children: ${childrenVar}`);
|
|
@@ -4753,46 +5081,49 @@ class CodeGenerator {
|
|
|
4753
5081
|
`;
|
|
4754
5082
|
needsBlank = true;
|
|
4755
5083
|
}
|
|
4756
|
-
|
|
4757
|
-
|
|
5084
|
+
let skip = this.options.skipPreamble;
|
|
5085
|
+
if (!skip) {
|
|
5086
|
+
if (this.helpers.has("slice")) {
|
|
5087
|
+
code += `const slice = [].slice;
|
|
4758
5088
|
`;
|
|
4759
|
-
|
|
4760
|
-
|
|
4761
|
-
|
|
4762
|
-
|
|
5089
|
+
needsBlank = true;
|
|
5090
|
+
}
|
|
5091
|
+
if (this.helpers.has("modulo")) {
|
|
5092
|
+
code += `const modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
|
|
4763
5093
|
`;
|
|
4764
|
-
|
|
4765
|
-
|
|
4766
|
-
|
|
4767
|
-
|
|
5094
|
+
needsBlank = true;
|
|
5095
|
+
}
|
|
5096
|
+
if (this.helpers.has("toSearchable")) {
|
|
5097
|
+
code += `const toSearchable = (v, allowNewlines) => {
|
|
4768
5098
|
`;
|
|
4769
|
-
|
|
5099
|
+
code += ` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
|
|
4770
5100
|
`;
|
|
4771
|
-
|
|
5101
|
+
code += ` if (v == null) return "";
|
|
4772
5102
|
`;
|
|
4773
|
-
|
|
5103
|
+
code += ` if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
|
|
4774
5104
|
`;
|
|
4775
|
-
|
|
5105
|
+
code += ` if (typeof v === "symbol") return v.description || "";
|
|
4776
5106
|
`;
|
|
4777
|
-
|
|
5107
|
+
code += ` if (v instanceof Uint8Array || v instanceof ArrayBuffer) {
|
|
4778
5108
|
`;
|
|
4779
|
-
|
|
5109
|
+
code += ` return new TextDecoder().decode(v instanceof Uint8Array ? v : new Uint8Array(v));
|
|
4780
5110
|
`;
|
|
4781
|
-
|
|
5111
|
+
code += ` }
|
|
4782
5112
|
`;
|
|
4783
|
-
|
|
5113
|
+
code += ` if (Array.isArray(v)) return v.join(",");
|
|
4784
5114
|
`;
|
|
4785
|
-
|
|
5115
|
+
code += ` if (typeof v.toString === "function" && v.toString !== Object.prototype.toString) {
|
|
4786
5116
|
`;
|
|
4787
|
-
|
|
5117
|
+
code += ` try { return v.toString(); } catch { return ""; }
|
|
4788
5118
|
`;
|
|
4789
|
-
|
|
5119
|
+
code += ` }
|
|
4790
5120
|
`;
|
|
4791
|
-
|
|
5121
|
+
code += ` return "";
|
|
4792
5122
|
`;
|
|
4793
|
-
|
|
5123
|
+
code += `};
|
|
4794
5124
|
`;
|
|
4795
|
-
|
|
5125
|
+
needsBlank = true;
|
|
5126
|
+
}
|
|
4796
5127
|
}
|
|
4797
5128
|
let exportsCode = "";
|
|
4798
5129
|
if (exports.length > 0) {
|
|
@@ -4800,7 +5131,7 @@ class CodeGenerator {
|
|
|
4800
5131
|
` + exports.map((s) => this.addSemicolon(s, this.generate(s, "statement"))).join(`
|
|
4801
5132
|
`);
|
|
4802
5133
|
}
|
|
4803
|
-
if (this.usesReactivity && !
|
|
5134
|
+
if (this.usesReactivity && !skip) {
|
|
4804
5135
|
if (typeof globalThis !== "undefined" && globalThis.__rip) {
|
|
4805
5136
|
code += `const { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
|
|
4806
5137
|
`;
|
|
@@ -4809,7 +5140,7 @@ class CodeGenerator {
|
|
|
4809
5140
|
}
|
|
4810
5141
|
needsBlank = true;
|
|
4811
5142
|
}
|
|
4812
|
-
if (this.usesTemplates && !
|
|
5143
|
+
if (this.usesTemplates && !skip) {
|
|
4813
5144
|
if (typeof globalThis !== "undefined" && globalThis.__ripComponent) {
|
|
4814
5145
|
code += `const { isSignal, __pushComponent, __popComponent, setContext, getContext, hasContext, __cx__ } = globalThis.__ripComponent;
|
|
4815
5146
|
`;
|
|
@@ -4818,7 +5149,7 @@ class CodeGenerator {
|
|
|
4818
5149
|
}
|
|
4819
5150
|
needsBlank = true;
|
|
4820
5151
|
}
|
|
4821
|
-
if (this.dataSection !== null && this.dataSection !== undefined) {
|
|
5152
|
+
if (this.dataSection !== null && this.dataSection !== undefined && !skip) {
|
|
4822
5153
|
code += `var DATA;
|
|
4823
5154
|
_setDataSection();
|
|
4824
5155
|
`;
|
|
@@ -5074,7 +5405,7 @@ function _setDataSection() {
|
|
|
5074
5405
|
let isAsync = this.containsAwait(body);
|
|
5075
5406
|
let prefix = isAsync ? "async " : "";
|
|
5076
5407
|
if (!sideEffectOnly) {
|
|
5077
|
-
if (
|
|
5408
|
+
if (this.isBlock(body) && body.length === 2) {
|
|
5078
5409
|
let expr = body[1];
|
|
5079
5410
|
if (!Array.isArray(expr) || expr[0] !== "return") {
|
|
5080
5411
|
return `${prefix}${paramSyntax} => ${this.generate(expr, "value")}`;
|
|
@@ -5139,7 +5470,7 @@ function _setDataSection() {
|
|
|
5139
5470
|
let [target, body] = rest;
|
|
5140
5471
|
this.usesReactivity = true;
|
|
5141
5472
|
let bodyCode;
|
|
5142
|
-
if (
|
|
5473
|
+
if (this.isBlock(body)) {
|
|
5143
5474
|
let stmts = this.withIndent(() => this.formatStatements(body.slice(1)));
|
|
5144
5475
|
bodyCode = `{
|
|
5145
5476
|
${stmts.join(`
|
|
@@ -5231,7 +5562,7 @@ ${this.indent()}}`;
|
|
|
5231
5562
|
loopHeader = `for (let ${idxName} = ${iterCode}.length - 1; ${idxName} >= 0; ${idxName} += ${stepCode}) `;
|
|
5232
5563
|
else
|
|
5233
5564
|
loopHeader = `for (let ${idxName} = 0; ${idxName} < ${iterCode}.length; ${idxName} += ${stepCode}) `;
|
|
5234
|
-
if (
|
|
5565
|
+
if (this.isBlock(body)) {
|
|
5235
5566
|
let stmts = body.slice(1);
|
|
5236
5567
|
this.indentLevel++;
|
|
5237
5568
|
let lines = [];
|
|
@@ -5260,7 +5591,7 @@ ${this.indent()}}`;
|
|
|
5260
5591
|
if (indexVar) {
|
|
5261
5592
|
let iterCode = this.generate(iterable, "value");
|
|
5262
5593
|
let code2 = `for (let ${indexVar} = 0; ${indexVar} < ${iterCode}.length; ${indexVar}++) `;
|
|
5263
|
-
if (
|
|
5594
|
+
if (this.isBlock(body)) {
|
|
5264
5595
|
code2 += `{
|
|
5265
5596
|
`;
|
|
5266
5597
|
this.indentLevel++;
|
|
@@ -5314,7 +5645,7 @@ ${this.indent()}}`;
|
|
|
5314
5645
|
let objCode = this.generate(obj, "value");
|
|
5315
5646
|
let code = `for (const ${keyVar} in ${objCode}) `;
|
|
5316
5647
|
if (own && !valueVar && !guard) {
|
|
5317
|
-
if (
|
|
5648
|
+
if (this.isBlock(body)) {
|
|
5318
5649
|
this.indentLevel++;
|
|
5319
5650
|
let stmts = [`if (!Object.hasOwn(${objCode}, ${keyVar})) continue;`, ...body.slice(1).map((s) => this.addSemicolon(s, this.generate(s, "statement")))];
|
|
5320
5651
|
this.indentLevel--;
|
|
@@ -5326,7 +5657,7 @@ ${this.indent()}}`;
|
|
|
5326
5657
|
return code + `{ if (!Object.hasOwn(${objCode}, ${keyVar})) continue; ${this.generate(body, "statement")}; }`;
|
|
5327
5658
|
}
|
|
5328
5659
|
if (valueVar) {
|
|
5329
|
-
if (
|
|
5660
|
+
if (this.isBlock(body)) {
|
|
5330
5661
|
let stmts = body.slice(1);
|
|
5331
5662
|
this.indentLevel++;
|
|
5332
5663
|
let lines = [];
|
|
@@ -5594,18 +5925,18 @@ ${this.indent()}}`;
|
|
|
5594
5925
|
let needsReturns = context === "value";
|
|
5595
5926
|
let tryCode = "try ";
|
|
5596
5927
|
let tryBlock = rest[0];
|
|
5597
|
-
tryCode += needsReturns &&
|
|
5928
|
+
tryCode += needsReturns && this.isBlock(tryBlock) ? this.generateBlockWithReturns(tryBlock) : this.generate(tryBlock, "statement");
|
|
5598
5929
|
if (rest.length >= 2 && Array.isArray(rest[1]) && rest[1].length === 2 && rest[1][0] !== "block") {
|
|
5599
5930
|
let [param, catchBlock] = rest[1];
|
|
5600
5931
|
tryCode += " catch";
|
|
5601
5932
|
if (param && Array.isArray(param) && (param[0] === "object" || param[0] === "array")) {
|
|
5602
5933
|
tryCode += " (error)";
|
|
5603
5934
|
let destructStmt = `(${this.generate(param, "value")} = error)`;
|
|
5604
|
-
catchBlock =
|
|
5935
|
+
catchBlock = this.isBlock(catchBlock) ? ["block", destructStmt, ...catchBlock.slice(1)] : ["block", destructStmt, catchBlock];
|
|
5605
5936
|
} else if (param) {
|
|
5606
5937
|
tryCode += ` (${param})`;
|
|
5607
5938
|
}
|
|
5608
|
-
tryCode += " " + (needsReturns &&
|
|
5939
|
+
tryCode += " " + (needsReturns && this.isBlock(catchBlock) ? this.generateBlockWithReturns(catchBlock) : this.generate(catchBlock, "statement"));
|
|
5609
5940
|
} else if (rest.length === 2) {
|
|
5610
5941
|
tryCode += " finally " + this.generate(rest[1], "statement");
|
|
5611
5942
|
}
|
|
@@ -5805,7 +6136,7 @@ ${this.indent()}}`;
|
|
|
5805
6136
|
return node.some(hasCtrl);
|
|
5806
6137
|
};
|
|
5807
6138
|
let loopStmts = ["for-in", "for-of", "for-as", "while", "until", "loop"];
|
|
5808
|
-
if (
|
|
6139
|
+
if (this.isBlock(expr)) {
|
|
5809
6140
|
for (let i = 0;i < expr.length - 1; i++) {
|
|
5810
6141
|
let s = expr[i + 1], isLast = i === expr.length - 2;
|
|
5811
6142
|
if (!isLast || hasCtrl(s)) {
|
|
@@ -6229,7 +6560,7 @@ export default ${expr[1]}`;
|
|
|
6229
6560
|
let newVars = new Set([...bodyVars].filter((v) => !this.programVars.has(v) && !this.reactiveVars?.has(v) && !paramNames.has(v)));
|
|
6230
6561
|
let noRetStmts = ["return", "throw", "break", "continue"];
|
|
6231
6562
|
let loopStmts = ["for-in", "for-of", "for-as", "while", "until", "loop"];
|
|
6232
|
-
if (
|
|
6563
|
+
if (this.isBlock(body)) {
|
|
6233
6564
|
let statements = this.unwrapBlock(body);
|
|
6234
6565
|
if (hasExpansionParams && this.expansionAfterParams?.length > 0) {
|
|
6235
6566
|
let extr = this.expansionAfterParams.map((p, i) => {
|
|
@@ -6271,7 +6602,7 @@ export default ${expr[1]}`;
|
|
|
6271
6602
|
}
|
|
6272
6603
|
if (!isConstructor && !sideEffectOnly && isLast && (h === "if" || h === "unless")) {
|
|
6273
6604
|
let [cond, thenB, ...elseB] = stmt.slice(1);
|
|
6274
|
-
let hasMulti = (b) =>
|
|
6605
|
+
let hasMulti = (b) => this.isBlock(b) && b.length > 2;
|
|
6275
6606
|
if (hasMulti(thenB) || elseB.some(hasMulti)) {
|
|
6276
6607
|
code += this.generateIfElseWithEarlyReturns(stmt);
|
|
6277
6608
|
return;
|
|
@@ -6409,7 +6740,7 @@ ${this.indent()}}`;
|
|
|
6409
6740
|
let code = "";
|
|
6410
6741
|
code += this.indent() + `${targetVar} = [];
|
|
6411
6742
|
`;
|
|
6412
|
-
let unwrappedExpr =
|
|
6743
|
+
let unwrappedExpr = this.isBlock(expr) && expr.length === 2 ? expr[1] : expr;
|
|
6413
6744
|
if (iterators.length === 1) {
|
|
6414
6745
|
let [iterType, vars, iterable, stepOrOwn] = iterators[0];
|
|
6415
6746
|
if (iterType === "for-in") {
|
|
@@ -6796,7 +7127,7 @@ ${this.indent()}}`;
|
|
|
6796
7127
|
code += this.indent() + this.generate(s, "statement") + `;
|
|
6797
7128
|
`;
|
|
6798
7129
|
} else if (context === "value") {
|
|
6799
|
-
if (
|
|
7130
|
+
if (this.isBlock(body) && body.length > 2) {
|
|
6800
7131
|
let stmts = body.slice(1);
|
|
6801
7132
|
for (let i = 0;i < stmts.length; i++) {
|
|
6802
7133
|
if (i === stmts.length - 1)
|
|
@@ -6811,7 +7142,7 @@ ${this.indent()}}`;
|
|
|
6811
7142
|
`;
|
|
6812
7143
|
}
|
|
6813
7144
|
} else {
|
|
6814
|
-
if (
|
|
7145
|
+
if (this.isBlock(body) && body.length > 1) {
|
|
6815
7146
|
for (let s of body.slice(1))
|
|
6816
7147
|
code += this.indent() + this.generate(s, "statement") + `;
|
|
6817
7148
|
`;
|
|
@@ -7021,8 +7352,11 @@ ${this.indent()}}`;
|
|
|
7021
7352
|
return branch.slice(1).some((s) => this.hasStatementInBranch(s));
|
|
7022
7353
|
return false;
|
|
7023
7354
|
}
|
|
7355
|
+
isBlock(node) {
|
|
7356
|
+
return Array.isArray(node) && node[0] === "block";
|
|
7357
|
+
}
|
|
7024
7358
|
isMultiStatementBlock(branch) {
|
|
7025
|
-
return
|
|
7359
|
+
return this.isBlock(branch) && branch.length > 2;
|
|
7026
7360
|
}
|
|
7027
7361
|
hasNestedMultiStatement(branch) {
|
|
7028
7362
|
if (!Array.isArray(branch))
|
|
@@ -7471,14 +7805,17 @@ class Compiler {
|
|
|
7471
7805
|
console.log();
|
|
7472
7806
|
}
|
|
7473
7807
|
let dts = null;
|
|
7808
|
+
let typeTokens = null;
|
|
7474
7809
|
if (this.options.types === "emit" || this.options.types === "check" || this.options.types === true) {
|
|
7475
|
-
|
|
7810
|
+
typeTokens = [...tokens];
|
|
7476
7811
|
}
|
|
7477
7812
|
tokens = tokens.filter((t) => t[0] !== "TYPE_DECL");
|
|
7478
7813
|
while (tokens.length > 0 && tokens[0][0] === "TERMINATOR") {
|
|
7479
7814
|
tokens.shift();
|
|
7480
7815
|
}
|
|
7481
7816
|
if (tokens.every((t) => t[0] === "TERMINATOR")) {
|
|
7817
|
+
if (typeTokens)
|
|
7818
|
+
dts = emitTypes(typeTokens, ["program"]);
|
|
7482
7819
|
return { tokens, sexpr: ["program"], code: "", dts, data: dataSection, reactiveVars: {} };
|
|
7483
7820
|
}
|
|
7484
7821
|
parser.lexer = {
|
|
@@ -7520,8 +7857,7 @@ class Compiler {
|
|
|
7520
7857
|
}
|
|
7521
7858
|
let generator = new CodeGenerator({
|
|
7522
7859
|
dataSection,
|
|
7523
|
-
|
|
7524
|
-
skipComponentRuntime: this.options.skipComponentRuntime,
|
|
7860
|
+
skipPreamble: this.options.skipPreamble,
|
|
7525
7861
|
reactiveVars: this.options.reactiveVars,
|
|
7526
7862
|
sourceMap
|
|
7527
7863
|
});
|
|
@@ -7536,6 +7872,9 @@ class Compiler {
|
|
|
7536
7872
|
code += `
|
|
7537
7873
|
//# sourceMappingURL=${this.options.filename}.js.map`;
|
|
7538
7874
|
}
|
|
7875
|
+
if (typeTokens) {
|
|
7876
|
+
dts = emitTypes(typeTokens, sexpr);
|
|
7877
|
+
}
|
|
7539
7878
|
return { tokens, sexpr, code, dts, map, reverseMap, data: dataSection, reactiveVars: generator.reactiveVars };
|
|
7540
7879
|
}
|
|
7541
7880
|
compileToJS(source) {
|
|
@@ -7560,8 +7899,8 @@ function getComponentRuntime() {
|
|
|
7560
7899
|
return new CodeGenerator({}).getComponentRuntime();
|
|
7561
7900
|
}
|
|
7562
7901
|
// src/browser.js
|
|
7563
|
-
var VERSION = "3.6.
|
|
7564
|
-
var BUILD_DATE = "2026-02-11@
|
|
7902
|
+
var VERSION = "3.6.2";
|
|
7903
|
+
var BUILD_DATE = "2026-02-11@06:26:01GMT";
|
|
7565
7904
|
if (typeof globalThis !== "undefined" && !globalThis.__rip) {
|
|
7566
7905
|
new Function(getReactiveRuntime())();
|
|
7567
7906
|
}
|